@stories-js/core
Version:
Stories web components to build stories
5 lines • 9.86 kB
JavaScript
var __awaiter=this&&this.__awaiter||function(e,t,r,o){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function i(e){try{l(o.next(e))}catch(t){n(t)}}function s(e){try{l(o["throw"](e))}catch(t){n(t)}}function l(e){e.done?r(e.value):a(e.value).then(i,s)}l((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},o,a,n,i;return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(e){return function(t){return l([e,t])}}function l(i){if(o)throw new TypeError("Generator is already executing.");while(r)try{if(o=1,a&&(n=i[0]&2?a["return"]:i[0]?a["throw"]||((n=a["return"])&&n.call(a),0):a.next)&&!(n=n.call(a,i[1])).done)return n;if(a=0,n)i=[i[0]&2,n.value];switch(i[0]){case 0:case 1:n=i;break;case 4:r.label++;return{value:i[1],done:false};case 5:r.label++;a=i[1];i=[0];continue;case 7:i=r.ops.pop();r.trys.pop();continue;default:if(!(n=r.trys,n=n.length>0&&n[n.length-1])&&(i[0]===6||i[0]===2)){r=0;continue}if(i[0]===3&&(!n||i[1]>n[0]&&i[1]<n[3])){r.label=i[1];break}if(i[0]===6&&r.label<n[1]){r.label=n[1];n=i;break}if(n&&r.label<n[2]){r.label=n[2];r.ops.push(i);break}if(n[2])r.ops.pop();r.trys.pop();continue}i=t.call(e,r)}catch(s){i=[6,s];a=0}finally{o=n=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};
/*!
* (C) StoriesJS https://storiesjs.org - GPL-2.0 License
*/import{r as registerInstance,i as createEvent,f as forceUpdate,h,c as Host,g as getElement}from"./index-49238f69.js";import{d as debounceEvent,a as raf}from"./helpers-77bcaf88.js";import{c as createColorClasses}from"./utils-c1c54ef8.js";var searchbarCss=":host{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--stories-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.stories-color){color:var(--stories-color-contrast)}:host(.stories-color) .searchbar-input{background:var(--stories-color-base)}:host(.stories-color) .searchbar-clear-button,:host(.stories-color) .searchbar-cancel-button,:host(.stories-color) .searchbar-search-icon{color:inherit}.searchbar-search-icon{color:var(--icon-color);pointer-events:none}.searchbar-input-container{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input::-webkit-search-cancel-button,.searchbar-input::-ms-clear{display:none}.searchbar-cancel-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button>div{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-clear-button{display:block}:host(.searchbar-disabled){cursor:default;opacity:0.4;pointer-events:none}";var Searchbar=function(){function e(e){var t=this;registerInstance(this,e);this.storiesInput=createEvent(this,"storiesInput",7);this.storiesChange=createEvent(this,"storiesChange",7);this.storiesCancel=createEvent(this,"storiesCancel",7);this.storiesClear=createEvent(this,"storiesClear",7);this.storiesBlur=createEvent(this,"storiesBlur",7);this.storiesFocus=createEvent(this,"storiesFocus",7);this.storiesStyle=createEvent(this,"storiesStyle",7);this.shouldAlignLeft=true;this.focused=false;this.cancelButtonIcon="arrow-back-sharp";this.debounce=250;this.disabled=false;this.placeholder="Search";this.showCancelButton="never";this.showClearButton="always";this.type="search";this.value="";this.onClearInput=function(e,r){t.storiesClear.emit();if(e){e.preventDefault();e.stopPropagation()}setTimeout((function(){var e=t.getValue();if(e!==""){t.value="";t.storiesInput.emit();if(r&&!t.focused){t.setFocus()}}}),16*4)};this.onInput=function(e){var r=e.target;if(r){t.value=r.value}t.storiesInput.emit(e)};this.onBlur=function(){t.focused=false;t.storiesBlur.emit();t.positionElements()};this.onFocus=function(){t.focused=true;t.storiesFocus.emit();t.positionElements()}}e.prototype.debounceChanged=function(){this.storiesChange=debounceEvent(this.storiesChange,this.debounce)};e.prototype.valueChanged=function(){var e=this.nativeInput;var t=this.getValue();if(e&&e.value!==t){e.value=t}this.storiesChange.emit({value:t})};e.prototype.showCancelButtonChanged=function(){var e=this;requestAnimationFrame((function(){e.positionElements();forceUpdate(e)}))};e.prototype.connectedCallback=function(){this.emitStyle()};e.prototype.componentDidLoad=function(){this.positionElements();this.debounceChanged()};e.prototype.emitStyle=function(){this.storiesStyle.emit({searchbar:true})};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.nativeInput){this.nativeInput.focus()}return[2]}))}))};e.prototype.getInputElement=function(){return Promise.resolve(this.nativeInput)};e.prototype.positionElements=function(){var e=this.getValue();var t=this.shouldAlignLeft;var r=e.trim()!==""||!!this.focused;this.shouldAlignLeft=r;if(t!==r){this.positionPlaceholder()}};e.prototype.positionPlaceholder=function(){var e=this.nativeInput;if(!e){return}var t=document.dir==="rtl";var r=(this.el.shadowRoot||this.el).querySelector(".searchbar-search-icon");if(this.shouldAlignLeft){e.removeAttribute("style");r.removeAttribute("style")}else{var o=document;var a=o.createElement("span");a.innerText=this.placeholder||"";o.body.appendChild(a);raf((function(){var o=a.offsetWidth;a.remove();var n="calc(50% - "+o/2+"px)";var i="calc(50% - "+(o/2+30)+"px)";if(t){e.style.paddingRight=n;r.style.marginRight=i}else{e.style.paddingLeft=n;r.style.marginLeft=i}}))}};e.prototype.getValue=function(){return this.value||""};e.prototype.hasValue=function(){return this.getValue()!==""};e.prototype.shouldShowClearButton=function(){if(this.showClearButton==="never"||this.showClearButton==="focus"&&!this.focused){return false}return true};e.prototype.render=function(){var e=this;var t=this.clearIcon||"close-sharp";var r=this.searchIcon||"search-sharp";return h(Host,{"aria-disabled":this.disabled?"true":null,class:createColorClasses(this.color,{"searchbar-disabled":this.disabled,"searchbar-has-value":this.hasValue(),"searchbar-left-aligned":this.shouldAlignLeft,"searchbar-has-focus":this.focused,"searchbar-should-show-clear":this.shouldShowClearButton()}),role:"search"},h("div",{class:"searchbar-input-container"},h("input",{ref:function(t){return e.nativeInput=t},"aria-label":"search text",class:"searchbar-input",disabled:this.disabled,inputMode:this.inputmode,onBlur:this.onBlur,onFocus:this.onFocus,onInput:this.onInput,placeholder:this.placeholder,type:this.type,value:this.getValue()}),h("stories-icon",{"aria-hidden":"true",class:"searchbar-search-icon",name:r}),h("button",{"aria-label":"reset",class:"searchbar-clear-button",onMouseDown:function(t){return e.onClearInput(t,true)},onTouchStart:function(t){return e.onClearInput(t,true)},type:"button","no-blur":true},h("stories-icon",{"aria-hidden":"true",class:"searchbar-clear-icon",name:t}))))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{debounce:["debounceChanged"],value:["valueChanged"],showCancelButton:["showCancelButtonChanged"]}},enumerable:false,configurable:true});return e}();Searchbar.style=searchbarCss;export{Searchbar as stories_searchbar};
//# sourceMappingURL=stories-searchbar.entry.js.map