import { __decorate } from "tslib"; import { html } from 'lit'; import { property } from 'lit/decorators.js'; import { ifDefined } from 'lit/directives/if-defined.js'; import cc from 'classcat'; import { MduiElement } from '@mdui/shared/base/mdui-element.js'; import { FormController } from '@mdui/shared/controllers/form.js'; import { booleanConverter } from '@mdui/shared/helpers/decorator.js'; import { nothingTemplate } from '@mdui/shared/helpers/template.js'; import { componentStyle } from '@mdui/shared/lit-styles/component-style.js'; import { AnchorMixin } from '@mdui/shared/mixins/anchor.js'; import { FocusableMixin } from '@mdui/shared/mixins/focusable.js'; import '../circular-progress.js'; import { RippleMixin } from '../ripple/ripple-mixin.js'; import { buttonBaseStyle } from './button-base-style.js'; export class ButtonBase extends AnchorMixin(RippleMixin(FocusableMixin(MduiElement))) { constructor() { super(...arguments); /** * 是否禁用 */ this.disabled = false; /** * 是否处于加载中状态 */ this.loading = false; /** * 按钮的名称,将与表单数据一起提交。 * * **Note**:仅在未设置 `href` 属性时,此属性才有效。 */ this.name = ''; /** * 按钮的初始值,将与表单数据一起提交。 * * **Note**:仅在未设置 `href` 属性时,此属性才有效。 */ this.value = ''; /** * 按钮的类型。默认类型为 `button`。可选类型包括: * * * `submit`:点击按钮会提交表单数据到服务器 * * `reset`:点击按钮会将表单中的所有字段重置为初始值 * * `button`:此类型的按钮没有默认行为 * * **Note**:仅在未指定 `href` 属性时,此属性才有效。 */ this.type = 'button'; /** * 如果设置了此属性,表单提交时将不执行表单验证。 * * 如果设置了此属性,将覆盖 `