{"code":"import { html, LitElement } from '@polymer/lit-element';\r\nimport { bindAttributes } from '../../util/decorators';\r\nimport CSS from './button-css';\r\n/**\r\n * @class Button\r\n * The button element is a styled button with options of\r\n * adding an icon, loading state, and size.\r\n */\r\nexport default bindAttributes((_a = class Button extends LitElement {\r\n        get _icon() {\r\n            return this.shadowRoot.querySelector('zen-icon');\r\n        }\r\n        _render({ icon, size, hollow }) {\r\n            return html `\n            ${CSS}\n            ${icon\r\n                ? html `<zen-icon type=\"${icon}\" size=\"${size}\" color=\"${this._iconColor}\"></zen-icon>`\r\n                : ''}\n            <slot>Submit</slot>\n        `;\r\n        }\r\n        get _iconColor() {\r\n            if (this.hollow && this.color)\r\n                return this.color;\r\n            if (this.hollow && !this.color)\r\n                return 'main';\r\n            return 'white';\r\n        }\r\n    },\r\n    _a._boundAttributes = ['hollow', 'color', 'iconright', 'icon', 'disabled', 'size'],\r\n    _a));\r\nvar _a;\r\n","dts":{"name":"/Users/tristanmatthias/projects/origami/zen/components/Button/Button.d.ts","text":"import Icon from '../Icon/Icon';\r\nimport { TemplateResult } from 'lit-html';\r\nexport interface ButtonProps {\r\n    size?: string;\r\n    icon?: string | boolean;\r\n    iconright?: boolean;\r\n    hollow?: boolean;\r\n    color?: string;\r\n    disabled?: boolean;\r\n    loading?: boolean;\r\n}\r\ndeclare const _default: {\r\n    new (...args: any[]): {\r\n        _propertiesChanged(props: object, changedProps: object, prevProps: object): void;\r\n    };\r\n} & {\r\n    new (): {\r\n        [x: string]: any;\r\n        size?: string | undefined;\r\n        icon?: string | boolean | undefined;\r\n        iconright?: boolean | undefined;\r\n        hollow?: boolean | undefined;\r\n        color?: string | undefined;\r\n        disabled?: boolean | undefined;\r\n        loading?: boolean | undefined;\r\n        readonly _icon: Icon;\r\n        _render({ icon, size, hollow }: ButtonProps): TemplateResult;\r\n        readonly _iconColor: string;\r\n        __renderComplete: any;\r\n        __resolveRenderComplete: any;\r\n        __isInvalid: any;\r\n        __isChanging: any;\r\n        _root?: any;\r\n        ready(): void;\r\n        _firstRendered(): void;\r\n        _createRoot(): Element | DocumentFragment;\r\n        _shouldPropertiesChange(_props: object, _changedProps: object, _prevProps: object): boolean;\r\n        _shouldRender(_props: object, _changedProps: object, _prevProps: object): boolean;\r\n        _propertiesChanged(props: object, changedProps: object, prevProps: object): void;\r\n        _flushProperties(): void;\r\n        _shouldPropertyChange(property: string, value: any, old: any): boolean;\r\n        _applyRender(result: TemplateResult, node: Element | DocumentFragment): void;\r\n        _didRender(_props: object, _changedProps: object, _prevProps: object): void;\r\n        _requestRender(): void;\r\n        _invalidateProperties(): void;\r\n        readonly renderComplete: Promise<any>;\r\n    };\r\n    _boundAttributes: string[];\r\n};\r\nexport default _default;\r\n"}}
