{"version":3,"sources":["jsdelivr-header.js","/npm/@exmg/exmg-button@8.2.4/exmg-button.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCNS,eAAkB,eAClB,SAAY,aACZ,aAAgB,oCAChB,kBAAqB,0CACrB,iBAAoB,yCACpB,aAAgB,qCAChB,eAAkB,iDAClB,WAAc,qDACL,cAAiB,2CAC5B,oBAUP,IAAI,WAAa,cAAyB,WACtC,WAAA,GACI,SAAS,WAKT,KAAK,SAAU,CACnB,CACA,MAAA,GACI,MAAM,EAAU,CACZ,qBAAsB,KAAK,OAC3B,yBAA0B,KAAK,WAC/B,uBAAwB,KAAK,SAC7B,oBAAqB,KAAK,OAExB,EAAe,CACjB,eAAgB,KAAK,QACrB,uBAAuB,GAErB,EAAgB,IAAK,kDAAkD,KAAK,eAClF,OAAO,IAAK;;;4BAGQ,SAAS;qBAChB,KAAK;sBACJ,KAAK,OAAS,KAAK;kBACvB,KAAK;iBACN,KAAK;sBACA,KAAK;uBACJ,KAAK;uBACL,KAAK;uBACL,KAAK;qBACP,KAAK;wBACF,KAAK;;UAEnB,KAAK;uBACQ,SAAS;YACpB,KAAK,OAAS,KAAK,aAAe,EAAgB;4CAClB,KAAK;YACrC,KAAK,MAAQ,KAAK,aAAe,EAAgB;;;UAGnD,KAAK,QAAU,IAAK,uDAAyD;UAC7E,KAAK,SACD,IAAK;;4CAEyB,KAAK;;cAGnC;;KAGV,CACA,qBAAA,CAAsB,GAClB,MAAM,EAAO,KACT,OAAO,oBAAoB,UAAW,GACtC,KAAK,yBAAyB,EAElC,OAAO,iBAAiB,UAAW,GACnC,KAAK,eAAe,WAAW,EACnC,CACA,uBAAA,GACI,KAAK,eAAe,UACxB,CACA,uBAAA,GACI,KAAK,eAAe,YACxB,CACA,uBAAA,GACI,KAAK,eAAe,UACxB,CACA,kBAAA,GACI,KAAK,eAAe,YACxB,CACA,iBAAA,GACI,KAAK,eAAe,UACxB,GAEJ,WAAW,OAAS,CAAC,OAAQ,WAC7B,WAAW,CACP,SAAS,CAAE,KAAM,WAClB,WAAW,UAAW,eAAW,GACpC,WAAW,CACP,SAAS,CAAE,KAAM,UAClB,WAAW,UAAW,gBAAY,GACrC,WAAW,CACP,aAAa,CAAE,SAAS,KACzB,WAAW,UAAW,wBAAyB,MAClD,WAAa,WAAW,CACpB,cAAc,gBACf,mBACM","file":"/npm/@exmg/exmg-button@8.2.4/exmg-button.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@exmg/exmg-button@8.2.4/exmg-button.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { __decorate } from \"tslib\";\r\nimport { html } from 'lit';\r\nimport { property } from 'lit/decorators/property.js';\r\nimport { customElement } from 'lit/decorators/custom-element.js';\r\nimport { eventOptions } from 'lit/decorators/event-options.js';\r\nimport { classMap } from 'lit/directives/class-map.js';\r\nimport { ButtonBase } from '@material/mwc-button/mwc-button-base.js';\r\nimport { styles } from '@material/mwc-button/styles.css.js';\r\nimport { style as newStyles } from './styles/exmg-button-styles-css.js';\r\nimport './exmg-spinner.js';\r\n/**\r\n * exmg-button\r\n *\r\n * Material button including loading (spinner) animation when loading attribute is set to element.\r\n * This button extends the material @material/mwc-button.\r\n *\r\n * @customElement exmg-button\r\n * @extends ButtonBase\r\n */\r\nlet ExmgButton = class ExmgButton extends ButtonBase {\r\n    constructor() {\r\n        super(...arguments);\r\n        /**\r\n         * Whether or not the button is in loading state\r\n         * @type {Boolean}\r\n         */\r\n        this.loading = false;\r\n    }\r\n    render() {\r\n        const classes = {\r\n            'mdc-button--raised': this.raised,\r\n            'mdc-button--unelevated': this.unelevated,\r\n            'mdc-button--outlined': this.outlined,\r\n            'mdc-button--dense': this.dense,\r\n        };\r\n        const loadingClass = {\r\n            'exmg-loading': this.loading,\r\n            'exmg-button-content': true,\r\n        };\r\n        const mdcButtonIcon = html ` <span class=\"material-icons mdc-button__icon\">${this.icon}</span> `;\r\n        return html `\n      <button\n        id=\"button\"\n        class=\"mdc-button ${classMap(classes)}\"\n        ?disabled=\"${this.disabled}\"\n        aria-label=\"${this.label || this.icon}\"\n        @focus=\"${this.handleRippleFocusA}\"\n        @blur=\"${this.handleRippleBlurA}\"\n        @mousedown=\"${this.handleRippleActivateA}\"\n        @mouseenter=\"${this.handleRippleMouseEnterA}\"\n        @mouseleave=\"${this.handleRippleMouseLeaveA}\"\n        @touchstart=\"${this.handleRippleActivateA}\"\n        @touchend=\"${this.handleRippleDeactivateA}\"\n        @touchcancel=\"${this.handleRippleDeactivateA}\"\n      >\n        ${this.renderRipple()}\n        <span class=\"${classMap(loadingClass)}\">\n          ${this.icon && !this.trailingIcon ? mdcButtonIcon : ''}\n          <span class=\"mdc-button__label\">${this.label}</span>\n          ${this.icon && this.trailingIcon ? mdcButtonIcon : ''}\n          <slot></slot>\n        </span>\n        ${this.loading ? html ` <exmg-button-spinner active></exmg-button-spinner> ` : ''}\n        ${this.progress\r\n            ? html `\n              <div class=\"progress-holder\">\n                <progress max=\"100\" value=${this.progress}></progress>\n              </div>\n            `\r\n            : ''}\n      </button>\n    `;\r\n    }\r\n    handleRippleActivateA(evt) {\r\n        const onUp = () => {\r\n            window.removeEventListener('mouseup', onUp);\r\n            this.handleRippleDeactivateA();\r\n        };\r\n        window.addEventListener('mouseup', onUp);\r\n        this.rippleHandlers.startPress(evt);\r\n    }\r\n    handleRippleDeactivateA() {\r\n        this.rippleHandlers.endPress();\r\n    }\r\n    handleRippleMouseEnterA() {\r\n        this.rippleHandlers.startHover();\r\n    }\r\n    handleRippleMouseLeaveA() {\r\n        this.rippleHandlers.endHover();\r\n    }\r\n    handleRippleFocusA() {\r\n        this.rippleHandlers.startFocus();\r\n    }\r\n    handleRippleBlurA() {\r\n        this.rippleHandlers.endFocus();\r\n    }\r\n};\r\nExmgButton.styles = [styles, newStyles];\r\n__decorate([\r\n    property({ type: Boolean })\r\n], ExmgButton.prototype, \"loading\", void 0);\r\n__decorate([\r\n    property({ type: Number })\r\n], ExmgButton.prototype, \"progress\", void 0);\r\n__decorate([\r\n    eventOptions({ passive: true })\r\n], ExmgButton.prototype, \"handleRippleActivateA\", null);\r\nExmgButton = __decorate([\r\n    customElement('exmg-button')\r\n], ExmgButton);\r\nexport { ExmgButton };\r\n"]}