UNPKG

@stories-js/core

Version:

Stories web components to build stories

5 lines 8.65 kB
/*! * (C) StoriesJS https://storiesjs.org - GPL-2.0 License */ import{r as registerInstance,i as createEvent,h,c as Host,g as getElement}from"./index-49238f69.js";import{h as hasShadowDom,i as inheritAttributes}from"./helpers-77bcaf88.js";import{c as createColorClasses,h as hostContext}from"./utils-c1c54ef8.js";var buttonCss=':host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--stories-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--stories-color-primary, #3880ff);--color:var(--stories-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--stories-color-primary, #3880ff);--background:transparent;--color:var(--stories-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--stories-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;display:block;position:relative;width:100%;height:100%;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted(stories-icon){font-size:1.4em;pointer-events:none}::slotted(stories-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(stories-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(stories-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(stories-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(stories-icon[slot=icon-only]){font-size:1.8em}stories-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.stories-activated){color:var(--color-activated)}:host(.stories-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.stories-focused){color:var(--color-focused)}:host(.stories-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.stories-color) .button-native{background:var(--stories-color-base);color:var(--stories-color-contrast)}:host(.button-outline.stories-color) .button-native{border-color:var(--stories-color-base);background:transparent;color:var(--stories-color-base)}:host(.button-clear.stories-color) .button-native{background:transparent;color:var(--stories-color-base)}:host(.in-toolbar:not(.stories-color):not(.in-toolbar-color)) .button-native{color:var(--stories-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.stories-color):not(.in-toolbar-color)) .button-native{border-color:var(--stories-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.stories-color):not(.in-toolbar-color)) .button-native{background:var(--stories-toolbar-color, var(--background));color:var(--stories-toolbar-background, var(--color))}';var Button=function(){function t(t){var o=this;registerInstance(this,t);this.storiesFocus=createEvent(this,"storiesFocus",7);this.storiesBlur=createEvent(this,"storiesBlur",7);this.storiesClick=createEvent(this,"storiesClick",7);this.inItem=false;this.inListHeader=false;this.inToolbar=false;this.inheritedAttributes={};this.buttonType="button";this.disabled=false;this.routerDirection="forward";this.type="button";this.strong=false;this.handleClick=function(t){if(o.type==="button"){o.storiesClick.emit()}else if(hasShadowDom(o.el)){var e=o.el.closest("form");if(e){t.preventDefault();var r=document.createElement("button");r.type=o.type;r.style.display="none";e.appendChild(r);r.click();r.remove()}}};this.onFocus=function(){o.storiesFocus.emit()};this.onBlur=function(){o.storiesBlur.emit()}}t.prototype.componentWillLoad=function(){this.inToolbar=!!this.el.closest("stories-buttons");this.inListHeader=!!this.el.closest("stories-list-header");this.inItem=!!this.el.closest("stories-item")||!!this.el.closest("stories-item-divider");this.inheritedAttributes=inheritAttributes(this.el,["aria-label"])};Object.defineProperty(t.prototype,"hasIconOnly",{get:function(){return!!this.el.querySelector('[slot="icon-only"]')},enumerable:false,configurable:true});t.prototype.render=function(){var t;var o=this,e=o.buttonType,r=o.type,i=o.disabled,n=o.target,a=o.size,s=o.href,l=o.color,c=o.expand,d=o.hasIconOnly,b=o.shape,u=o.strong,g=o.inheritedAttributes;var v=a===undefined&&this.inItem?"small":a;var p=s===undefined?"button":"a";var f=p==="button"?{type:r}:{href:s,target:n};var m=this.fill;if(m===undefined){m=this.inToolbar||this.inListHeader?"clear":"solid"}return h(Host,{"aria-disabled":i?"true":null,class:createColorClasses(l,(t={},t[e]=true,t["".concat(e,"-").concat(c)]=c!==undefined,t["".concat(e,"-").concat(v)]=v!==undefined,t["".concat(e,"-").concat(b)]=b!==undefined,t["".concat(e,"-").concat(m)]=true,t["".concat(e,"-strong")]=u,t["in-toolbar"]=hostContext("stories-toolbar",this.el),t["in-toolbar-color"]=hostContext("stories-toolbar[color]",this.el),t["button-has-icon-only"]=d,t["button-disabled"]=i,t["stories-activatable"]=true,t["stories-focusable"]=true,t)),onClick:this.handleClick},h(p,Object.assign({},f,{class:"button-native",disabled:i,onBlur:this.onBlur,onFocus:this.onFocus,part:"native"},g),h("span",{class:"button-inner"},h("slot",{name:"icon-only"}),h("slot",{name:"start"}),h("slot",null),h("slot",{name:"end"}))))};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();Button.style=buttonCss;export{Button as stories_button}; //# sourceMappingURL=stories-button.entry.js.map