mdui 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/components/avatar/index.d.ts +4 -2
  2. package/components/avatar/index.js +3 -2
  3. package/components/badge/index.d.ts +4 -2
  4. package/components/badge/index.js +3 -2
  5. package/components/bottom-app-bar/index.d.ts +7 -1
  6. package/components/bottom-app-bar/index.js +5 -6
  7. package/components/button/button-base.d.ts +3 -3
  8. package/components/button/button-base.js +7 -5
  9. package/components/button/index.d.ts +6 -1
  10. package/components/button-icon/index.d.ts +7 -1
  11. package/components/button-icon/index.js +1 -2
  12. package/components/card/index.d.ts +7 -3
  13. package/components/card/index.js +3 -2
  14. package/components/checkbox/index.d.ts +10 -3
  15. package/components/checkbox/index.js +7 -7
  16. package/components/chip/index.d.ts +8 -1
  17. package/components/chip/index.js +3 -4
  18. package/components/circular-progress/index.d.ts +4 -2
  19. package/components/circular-progress/index.js +3 -2
  20. package/components/collapse/collapse-item.d.ts +13 -2
  21. package/components/collapse/collapse-item.js +5 -5
  22. package/components/collapse/collapse.d.ts +10 -2
  23. package/components/collapse/collapse.js +6 -6
  24. package/components/dialog/index.d.ts +9 -2
  25. package/components/dialog/index.js +10 -14
  26. package/components/divider/index.d.ts +4 -2
  27. package/components/divider/index.js +3 -2
  28. package/components/dropdown/index.d.ts +9 -2
  29. package/components/dropdown/index.js +17 -15
  30. package/components/fab/index.d.ts +6 -1
  31. package/components/icon/index.d.ts +4 -2
  32. package/components/icon/index.js +3 -2
  33. package/components/layout/layout-item-base.d.ts +3 -2
  34. package/components/layout/layout-item-base.js +2 -2
  35. package/components/layout/layout-item.d.ts +4 -3
  36. package/components/layout/layout-main.d.ts +4 -2
  37. package/components/layout/layout-main.js +3 -2
  38. package/components/layout/layout.d.ts +4 -2
  39. package/components/layout/layout.js +3 -2
  40. package/components/linear-progress/index.d.ts +4 -2
  41. package/components/linear-progress/index.js +3 -2
  42. package/components/list/list-item-style.js +1 -1
  43. package/components/list/list-item.d.ts +7 -3
  44. package/components/list/list-item.js +3 -2
  45. package/components/list/list-subheader.d.ts +4 -2
  46. package/components/list/list-subheader.js +3 -2
  47. package/components/list/list.d.ts +4 -2
  48. package/components/list/list.js +3 -2
  49. package/components/menu/menu-item.d.ts +11 -3
  50. package/components/menu/menu-item.js +9 -13
  51. package/components/menu/menu.d.ts +5 -2
  52. package/components/menu/menu.js +5 -5
  53. package/components/navigation-bar/navigation-bar-item.d.ts +7 -3
  54. package/components/navigation-bar/navigation-bar-item.js +3 -2
  55. package/components/navigation-bar/navigation-bar.d.ts +8 -1
  56. package/components/navigation-bar/navigation-bar.js +9 -7
  57. package/components/navigation-drawer/index.d.ts +8 -1
  58. package/components/navigation-drawer/index.js +7 -8
  59. package/components/navigation-drawer/style.js +1 -1
  60. package/components/navigation-rail/navigation-rail-item.d.ts +7 -3
  61. package/components/navigation-rail/navigation-rail-item.js +3 -2
  62. package/components/navigation-rail/navigation-rail.d.ts +4 -1
  63. package/components/navigation-rail/navigation-rail.js +4 -2
  64. package/components/radio/radio-group.d.ts +7 -2
  65. package/components/radio/radio-group.js +10 -13
  66. package/components/radio/radio.d.ts +8 -3
  67. package/components/radio/radio.js +4 -4
  68. package/components/range-slider/index.d.ts +9 -3
  69. package/components/range-slider/index.js +6 -2
  70. package/components/ripple/index.d.ts +4 -2
  71. package/components/ripple/index.js +3 -2
  72. package/components/ripple/ripple-mixin.d.ts +1 -1
  73. package/components/ripple/ripple-mixin.js +0 -1
  74. package/components/segmented-button/segmented-button-group-style.js +1 -1
  75. package/components/segmented-button/segmented-button-group.d.ts +6 -2
  76. package/components/segmented-button/segmented-button-group.js +9 -9
  77. package/components/segmented-button/segmented-button.d.ts +6 -1
  78. package/components/select/index.d.ts +11 -3
  79. package/components/select/index.js +5 -5
  80. package/components/slider/index.d.ts +8 -1
  81. package/components/slider/index.js +4 -9
  82. package/components/slider/slider-base.d.ts +7 -3
  83. package/components/slider/slider-base.js +27 -8
  84. package/components/snackbar/index.d.ts +9 -2
  85. package/components/snackbar/index.js +10 -10
  86. package/components/switch/index.d.ts +10 -3
  87. package/components/switch/index.js +7 -7
  88. package/components/tabs/tab-panel.d.ts +4 -2
  89. package/components/tabs/tab-panel.js +3 -2
  90. package/components/tabs/tab.d.ts +7 -3
  91. package/components/tabs/tab.js +3 -2
  92. package/components/tabs/tabs.d.ts +5 -2
  93. package/components/tabs/tabs.js +7 -4
  94. package/components/text-field/index.d.ts +11 -3
  95. package/components/text-field/index.js +12 -12
  96. package/components/tooltip/index.d.ts +9 -2
  97. package/components/tooltip/index.js +17 -15
  98. package/components/top-app-bar/top-app-bar-title.d.ts +4 -2
  99. package/components/top-app-bar/top-app-bar-title.js +3 -2
  100. package/components/top-app-bar/top-app-bar.d.ts +7 -1
  101. package/components/top-app-bar/top-app-bar.js +5 -6
  102. package/custom-elements.json +2954 -2891
  103. package/html-data.zh-cn.json +439 -439
  104. package/mdui.esm.js +8 -8
  105. package/mdui.global.js +8 -8
  106. package/package.json +3 -2
  107. package/web-types.zh-cn.json +765 -765
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
2
2
  import '../icon.js';
3
3
  import type { CSSResultGroup, TemplateResult } from 'lit';
4
4
  /**
@@ -15,7 +15,7 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
15
15
  *
16
16
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
17
17
  */
18
- export declare class Avatar extends LitElement {
18
+ export declare class Avatar extends MduiElement<AvatarEventMap> {
19
19
  static styles: CSSResultGroup;
20
20
  /**
21
21
  * 头像的图片地址
@@ -42,6 +42,8 @@ export declare class Avatar extends LitElement {
42
42
  private readonly hasSlotController;
43
43
  protected render(): TemplateResult;
44
44
  }
45
+ export interface AvatarEventMap {
46
+ }
45
47
  declare global {
46
48
  interface HTMLElementTagNameMap {
47
49
  'mdui-avatar': Avatar;
@@ -1,8 +1,9 @@
1
1
  import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
2
+ import { html } from 'lit';
3
3
  import { customElement, property } from 'lit/decorators.js';
4
4
  import { ifDefined } from 'lit/directives/if-defined.js';
5
5
  import { styleMap } from 'lit/directives/style-map.js';
6
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
6
7
  import { HasSlotController } from '@mdui/shared/controllers/has-slot.js';
7
8
  import { nothingTemplate } from '@mdui/shared/helpers/template.js';
8
9
  import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
@@ -22,7 +23,7 @@ import { style } from './style.js';
22
23
  *
23
24
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
24
25
  */
25
- let Avatar = class Avatar extends LitElement {
26
+ let Avatar = class Avatar extends MduiElement {
26
27
  constructor() {
27
28
  super(...arguments);
28
29
  this.hasSlotController = new HasSlotController(this, '[default]');
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
2
2
  import type { CSSResultGroup, TemplateResult } from 'lit';
3
3
  /**
4
4
  * @summary 徽标组件
@@ -11,7 +11,7 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
11
11
  *
12
12
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
13
13
  */
14
- export declare class Badge extends LitElement {
14
+ export declare class Badge extends MduiElement<BadgeEventMap> {
15
15
  static styles: CSSResultGroup;
16
16
  /**
17
17
  * 徽标形状。可选值为:
@@ -21,6 +21,8 @@ export declare class Badge extends LitElement {
21
21
  variant: /*小型徽标,不显示文字*/ 'small' | /*大型徽标,会显示文字*/ 'large';
22
22
  protected render(): TemplateResult;
23
23
  }
24
+ export interface BadgeEventMap {
25
+ }
24
26
  declare global {
25
27
  interface HTMLElementTagNameMap {
26
28
  'mdui-badge': Badge;
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
2
+ import { html } from 'lit';
3
3
  import { customElement, property } from 'lit/decorators.js';
4
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
4
5
  import { nothingTemplate } from '@mdui/shared/helpers/template.js';
5
6
  import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
6
7
  import { style } from './style.js';
@@ -15,7 +16,7 @@ import { style } from './style.js';
15
16
  *
16
17
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
17
18
  */
18
- let Badge = class Badge extends LitElement {
19
+ let Badge = class Badge extends MduiElement {
19
20
  constructor() {
20
21
  super(...arguments);
21
22
  /**
@@ -27,7 +27,7 @@ declare const BottomAppBar_base: import("@open-wc/dedupe-mixin").Constructor<imp
27
27
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
28
28
  * @cssprop --z-index - 组件的 CSS 的 `z-index` 值
29
29
  */
30
- export declare class BottomAppBar extends BottomAppBar_base {
30
+ export declare class BottomAppBar extends BottomAppBar_base<BottomAppBarEventMap> {
31
31
  static styles: CSSResultGroup;
32
32
  /**
33
33
  * 是否隐藏
@@ -52,6 +52,12 @@ export declare class BottomAppBar extends BottomAppBar_base {
52
52
  */
53
53
  protected runScrollThreshold(isScrollingUp: boolean): void;
54
54
  }
55
+ export interface BottomAppBarEventMap {
56
+ show: CustomEvent<void>;
57
+ shown: CustomEvent<void>;
58
+ hide: CustomEvent<void>;
59
+ hidden: CustomEvent<void>;
60
+ }
55
61
  declare global {
56
62
  interface HTMLElementTagNameMap {
57
63
  'mdui-bottom-app-bar': BottomAppBar;
@@ -2,7 +2,6 @@ import { __decorate } from "tslib";
2
2
  import { html } from 'lit';
3
3
  import { customElement, property } from 'lit/decorators.js';
4
4
  import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
5
- import { emit } from '@mdui/shared/helpers/event.js';
6
5
  import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
7
6
  import { ScrollBehaviorMixin } from '@mdui/shared/mixins/scrollBehavior.js';
8
7
  import { LayoutItemBase } from '../layout/layout-item-base.js';
@@ -53,7 +52,7 @@ let BottomAppBar = class BottomAppBar extends ScrollBehaviorMixin(LayoutItemBase
53
52
  super.firstUpdated(_changedProperties);
54
53
  this.addEventListener('transitionend', (event) => {
55
54
  if (event.target === this) {
56
- emit(this, this.hide ? 'hidden' : 'shown');
55
+ this.emit(this.hide ? 'hidden' : 'shown');
57
56
  }
58
57
  });
59
58
  }
@@ -67,15 +66,15 @@ let BottomAppBar = class BottomAppBar extends ScrollBehaviorMixin(LayoutItemBase
67
66
  runScrollThreshold(isScrollingUp) {
68
67
  // 向下滚动
69
68
  if (!isScrollingUp && !this.hide) {
70
- const requestHide = emit(this, 'hide');
71
- if (!requestHide.defaultPrevented) {
69
+ const eventProceeded = this.emit('hide', { cancelable: true });
70
+ if (eventProceeded) {
72
71
  this.hide = true;
73
72
  }
74
73
  }
75
74
  // 向上滚动
76
75
  if (isScrollingUp && this.hide) {
77
- const requestShow = emit(this, 'show');
78
- if (!requestShow.defaultPrevented) {
76
+ const eventProceeded = this.emit('show', { cancelable: true });
77
+ if (eventProceeded) {
79
78
  this.hide = false;
80
79
  }
81
80
  }
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
2
2
  import '../circular-progress.js';
3
3
  import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
4
4
  type RenderButtonOptions = {
@@ -8,8 +8,8 @@ type RenderButtonOptions = {
8
8
  content?: TemplateResult | TemplateResult[];
9
9
  tabindex?: number;
10
10
  };
11
- declare const ButtonBase_base: import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/anchor.js").AnchorMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof LitElement;
12
- export declare class ButtonBase extends ButtonBase_base {
11
+ declare const ButtonBase_base: import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/anchor.js").AnchorMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof MduiElement;
12
+ export declare class ButtonBase<E> extends ButtonBase_base<E> {
13
13
  static styles: CSSResultGroup;
14
14
  /**
15
15
  * 是否禁用
@@ -1,11 +1,11 @@
1
1
  import { __decorate } from "tslib";
2
- import { LitElement, html } from 'lit';
2
+ import { html } from 'lit';
3
3
  import { property } from 'lit/decorators.js';
4
4
  import { ifDefined } from 'lit/directives/if-defined.js';
5
5
  import cc from 'classcat';
6
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
6
7
  import { FormController } from '@mdui/shared/controllers/form.js';
7
8
  import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
8
- import { emit } from '@mdui/shared/helpers/event.js';
9
9
  import { nothingTemplate } from '@mdui/shared/helpers/template.js';
10
10
  import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
11
11
  import { AnchorMixin } from '@mdui/shared/mixins/anchor.js';
@@ -13,7 +13,7 @@ import { FocusableMixin } from '@mdui/shared/mixins/focusable.js';
13
13
  import '../circular-progress.js';
14
14
  import { RippleMixin } from '../ripple/ripple-mixin.js';
15
15
  import { buttonBaseStyle } from './button-base-style.js';
16
- export class ButtonBase extends AnchorMixin(RippleMixin(FocusableMixin(LitElement))) {
16
+ export class ButtonBase extends AnchorMixin(RippleMixin(FocusableMixin(MduiElement))) {
17
17
  constructor() {
18
18
  super(...arguments);
19
19
  /**
@@ -92,7 +92,8 @@ export class ButtonBase extends AnchorMixin(RippleMixin(FocusableMixin(LitElemen
92
92
  if (this.isButton()) {
93
93
  const valid = this.focusElement.checkValidity();
94
94
  if (!valid) {
95
- emit(this, 'invalid', {
95
+ // @ts-ignore
96
+ this.emit('invalid', {
96
97
  bubbles: false,
97
98
  cancelable: true,
98
99
  composed: false,
@@ -111,7 +112,8 @@ export class ButtonBase extends AnchorMixin(RippleMixin(FocusableMixin(LitElemen
111
112
  if (this.isButton()) {
112
113
  const invalid = !this.focusElement.reportValidity();
113
114
  if (invalid) {
114
- emit(this, 'invalid', {
115
+ // @ts-ignore
116
+ this.emit('invalid', {
115
117
  bubbles: false,
116
118
  cancelable: true,
117
119
  composed: false,
@@ -25,7 +25,7 @@ import type { TemplateResult, CSSResultGroup } from 'lit';
25
25
  *
26
26
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
27
27
  */
28
- export declare class Button extends ButtonBase {
28
+ export declare class Button extends ButtonBase<ButtonEventMap> {
29
29
  static styles: CSSResultGroup;
30
30
  /**
31
31
  * 按钮形状。可选值为:
@@ -57,6 +57,11 @@ export declare class Button extends ButtonBase {
57
57
  private renderEndIcon;
58
58
  private renderInner;
59
59
  }
60
+ export interface ButtonEventMap {
61
+ focus: FocusEvent;
62
+ blur: FocusEvent;
63
+ invalid: CustomEvent<void>;
64
+ }
60
65
  declare global {
61
66
  interface HTMLElementTagNameMap {
62
67
  'mdui-button': Button;
@@ -24,7 +24,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
24
24
  *
25
25
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
26
26
  */
27
- export declare class ButtonIcon extends ButtonBase {
27
+ export declare class ButtonIcon extends ButtonBase<ButtonIconEventMap> {
28
28
  static styles: CSSResultGroup;
29
29
  /**
30
30
  * 图标按钮的形状。可选值为:
@@ -59,6 +59,12 @@ export declare class ButtonIcon extends ButtonBase {
59
59
  protected render(): TemplateResult;
60
60
  private renderIcon;
61
61
  }
62
+ export interface ButtonIconEventMap {
63
+ focus: FocusEvent;
64
+ blur: FocusEvent;
65
+ change: CustomEvent<void>;
66
+ invalid: CustomEvent<void>;
67
+ }
62
68
  declare global {
63
69
  interface HTMLElementTagNameMap {
64
70
  'mdui-button-icon': ButtonIcon;
@@ -5,7 +5,6 @@ import { createRef, ref } from 'lit/directives/ref.js';
5
5
  import { HasSlotController } from '@mdui/shared/controllers/has-slot.js';
6
6
  import { watch } from '@mdui/shared/decorators/watch.js';
7
7
  import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
8
- import { emit } from '@mdui/shared/helpers/event.js';
9
8
  import { nothingTemplate } from '@mdui/shared/helpers/template.js';
10
9
  import { ButtonBase } from '../button/button-base.js';
11
10
  import '../icon.js';
@@ -59,7 +58,7 @@ let ButtonIcon = class ButtonIcon extends ButtonBase {
59
58
  return this.rippleRef.value;
60
59
  }
61
60
  onSelectedChange() {
62
- emit(this, 'change');
61
+ this.emit('change');
63
62
  }
64
63
  firstUpdated(changedProperties) {
65
64
  super.firstUpdated(changedProperties);
@@ -1,7 +1,7 @@
1
- import { LitElement } from 'lit';
1
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
2
2
  import type { Ripple } from '../ripple/index.js';
3
3
  import type { TemplateResult, CSSResultGroup } from 'lit';
4
- declare const Card_base: import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/anchor.js").AnchorMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof LitElement;
4
+ declare const Card_base: import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/anchor.js").AnchorMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof MduiElement;
5
5
  /**
6
6
  * @summary 卡片组件
7
7
  *
@@ -16,7 +16,7 @@ declare const Card_base: import("@open-wc/dedupe-mixin").Constructor<import("@md
16
16
  *
17
17
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
18
18
  */
19
- export declare class Card extends Card_base {
19
+ export declare class Card extends Card_base<CardEventMap> {
20
20
  static styles: CSSResultGroup;
21
21
  /**
22
22
  * 卡片形状。可选值为:
@@ -41,6 +41,10 @@ export declare class Card extends Card_base {
41
41
  protected get focusDisabled(): boolean;
42
42
  protected render(): TemplateResult;
43
43
  }
44
+ export interface CardEventMap {
45
+ focus: FocusEvent;
46
+ blur: FocusEvent;
47
+ }
44
48
  declare global {
45
49
  interface HTMLElementTagNameMap {
46
50
  'mdui-card': Card;
@@ -1,7 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
- import { LitElement, html } from 'lit';
2
+ import { html } from 'lit';
3
3
  import { customElement, property } from 'lit/decorators.js';
4
4
  import { createRef, ref } from 'lit/directives/ref.js';
5
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
5
6
  import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
6
7
  import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
7
8
  import { AnchorMixin } from '@mdui/shared/mixins/anchor.js';
@@ -22,7 +23,7 @@ import { style } from './style.js';
22
23
  *
23
24
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
24
25
  */
25
- let Card = class Card extends AnchorMixin(RippleMixin(FocusableMixin(LitElement))) {
26
+ let Card = class Card extends AnchorMixin(RippleMixin(FocusableMixin(MduiElement))) {
26
27
  constructor() {
27
28
  super(...arguments);
28
29
  /**
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
2
2
  import '@mdui/shared/icons/check-box-outline-blank.js';
3
3
  import '@mdui/shared/icons/check-box.js';
4
4
  import '@mdui/shared/icons/indeterminate-check-box.js';
@@ -6,7 +6,7 @@ import '../icon.js';
6
6
  import type { Ripple } from '../ripple/index.js';
7
7
  import type { FormControl } from '@mdui/jq/shared/form.js';
8
8
  import type { TemplateResult, CSSResultGroup } from 'lit';
9
- declare const Checkbox_base: import("@open-wc/dedupe-mixin").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof LitElement;
9
+ declare const Checkbox_base: import("@open-wc/dedupe-mixin").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof MduiElement;
10
10
  /**
11
11
  * @summary 复选框组件
12
12
  *
@@ -31,7 +31,7 @@ declare const Checkbox_base: import("@open-wc/dedupe-mixin").Constructor<import(
31
31
  * @csspart indeterminate-icon - 不确定状态图标
32
32
  * @csspart label - 文本
33
33
  */
34
- export declare class Checkbox extends Checkbox_base implements FormControl {
34
+ export declare class Checkbox extends Checkbox_base<CheckboxEventMap> implements FormControl {
35
35
  static styles: CSSResultGroup;
36
36
  /**
37
37
  * 是否为禁用状态
@@ -122,6 +122,13 @@ export declare class Checkbox extends Checkbox_base implements FormControl {
122
122
  */
123
123
  private onChange;
124
124
  }
125
+ export interface CheckboxEventMap {
126
+ focus: FocusEvent;
127
+ blur: FocusEvent;
128
+ change: CustomEvent<void>;
129
+ input: Event;
130
+ invalid: CustomEvent<void>;
131
+ }
125
132
  declare global {
126
133
  interface HTMLElementTagNameMap {
127
134
  'mdui-checkbox': Checkbox;
@@ -1,15 +1,15 @@
1
1
  import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
2
+ import { html } from 'lit';
3
3
  import { customElement, property, state } from 'lit/decorators.js';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
5
  import { ifDefined } from 'lit/directives/if-defined.js';
6
6
  import { live } from 'lit/directives/live.js';
7
7
  import { createRef, ref } from 'lit/directives/ref.js';
8
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
8
9
  import { FormController, formResets } from '@mdui/shared/controllers/form.js';
9
10
  import { defaultValue } from '@mdui/shared/decorators/default-value.js';
10
11
  import { watch } from '@mdui/shared/decorators/watch.js';
11
12
  import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
12
- import { emit } from '@mdui/shared/helpers/event.js';
13
13
  import '@mdui/shared/icons/check-box-outline-blank.js';
14
14
  import '@mdui/shared/icons/check-box.js';
15
15
  import '@mdui/shared/icons/indeterminate-check-box.js';
@@ -42,7 +42,7 @@ import { style } from './style.js';
42
42
  * @csspart indeterminate-icon - 不确定状态图标
43
43
  * @csspart label - 文本
44
44
  */
45
- let Checkbox = class Checkbox extends RippleMixin(FocusableMixin(LitElement)) {
45
+ let Checkbox = class Checkbox extends RippleMixin(FocusableMixin(MduiElement)) {
46
46
  constructor() {
47
47
  super(...arguments);
48
48
  /**
@@ -131,7 +131,7 @@ let Checkbox = class Checkbox extends RippleMixin(FocusableMixin(LitElement)) {
131
131
  checkValidity() {
132
132
  const valid = this.inputRef.value.checkValidity();
133
133
  if (!valid) {
134
- emit(this, 'invalid', {
134
+ this.emit('invalid', {
135
135
  bubbles: false,
136
136
  cancelable: true,
137
137
  composed: false,
@@ -147,13 +147,13 @@ let Checkbox = class Checkbox extends RippleMixin(FocusableMixin(LitElement)) {
147
147
  reportValidity() {
148
148
  this.invalid = !this.inputRef.value.reportValidity();
149
149
  if (this.invalid) {
150
- const requestInvalid = emit(this, 'invalid', {
150
+ const eventProceeded = this.emit('invalid', {
151
151
  bubbles: false,
152
152
  cancelable: true,
153
153
  composed: false,
154
154
  });
155
155
  // 调用了 preventDefault() 时,隐藏默认的表单错误提示
156
- if (requestInvalid.defaultPrevented) {
156
+ if (!eventProceeded) {
157
157
  this.blur();
158
158
  this.focus();
159
159
  }
@@ -184,7 +184,7 @@ let Checkbox = class Checkbox extends RippleMixin(FocusableMixin(LitElement)) {
184
184
  onChange() {
185
185
  this.checked = this.inputRef.value.checked;
186
186
  this.indeterminate = false;
187
- emit(this, 'change');
187
+ this.emit('change');
188
188
  }
189
189
  };
190
190
  Checkbox.styles = [componentStyle, style];
@@ -33,7 +33,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
33
33
  *
34
34
  * @cssprop --shape-corner - 组件的圆角大小。可以指定一个具体的像素值;但更推荐[引用设计令牌](/docs/2/styles/design-tokens#shape-corner)
35
35
  */
36
- export declare class Chip extends ButtonBase {
36
+ export declare class Chip extends ButtonBase<ChipEventMap> {
37
37
  static styles: CSSResultGroup;
38
38
  /**
39
39
  * 纸片形状。可选值为:
@@ -95,6 +95,13 @@ export declare class Chip extends ButtonBase {
95
95
  private renderDeleteIcon;
96
96
  private renderInner;
97
97
  }
98
+ export interface ChipEventMap {
99
+ focus: FocusEvent;
100
+ blur: FocusEvent;
101
+ invalid: CustomEvent<void>;
102
+ change: CustomEvent<void>;
103
+ delete: CustomEvent<void>;
104
+ }
98
105
  declare global {
99
106
  interface HTMLElementTagNameMap {
100
107
  'mdui-chip': Chip;
@@ -6,7 +6,6 @@ import cc from 'classcat';
6
6
  import { HasSlotController } from '@mdui/shared/controllers/has-slot.js';
7
7
  import { watch } from '@mdui/shared/decorators/watch.js';
8
8
  import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
9
- import { emit } from '@mdui/shared/helpers/event.js';
10
9
  import { nothingTemplate } from '@mdui/shared/helpers/template.js';
11
10
  import '@mdui/shared/icons/check.js';
12
11
  import '@mdui/shared/icons/clear.js';
@@ -79,7 +78,7 @@ let Chip = class Chip extends ButtonBase {
79
78
  return this.rippleRef.value;
80
79
  }
81
80
  onSelectedChange() {
82
- emit(this, 'change');
81
+ this.emit('change');
83
82
  }
84
83
  firstUpdated(changedProperties) {
85
84
  super.firstUpdated(changedProperties);
@@ -134,7 +133,7 @@ let Chip = class Chip extends ButtonBase {
134
133
  }
135
134
  // 按下 Delete 或 BackSpace 键时,触发 delete 事件
136
135
  if (this.deletable && ['Delete', 'Backspace'].includes(event.key)) {
137
- emit(this, 'delete');
136
+ this.emit('delete');
138
137
  }
139
138
  }
140
139
  /**
@@ -142,7 +141,7 @@ let Chip = class Chip extends ButtonBase {
142
141
  */
143
142
  onDelete(event) {
144
143
  event.stopPropagation();
145
- emit(this, 'delete');
144
+ this.emit('delete');
146
145
  }
147
146
  renderIcon() {
148
147
  if (this.loading) {
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
2
2
  import type { CSSResultGroup, TemplateResult } from 'lit';
3
3
  /**
4
4
  * @summary 圆形进度指示器组件
@@ -7,7 +7,7 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
7
7
  * <mdui-circular-progress></mdui-circular-progress>
8
8
  * ```
9
9
  */
10
- export declare class CircularProgress extends LitElement {
10
+ export declare class CircularProgress extends MduiElement<CircularProgressEventMap> {
11
11
  static styles: CSSResultGroup;
12
12
  /**
13
13
  * 进度指示器的最大值,默认为 1
@@ -21,6 +21,8 @@ export declare class CircularProgress extends LitElement {
21
21
  private renderDeterminate;
22
22
  private renderInDeterminate;
23
23
  }
24
+ export interface CircularProgressEventMap {
25
+ }
24
26
  declare global {
25
27
  interface HTMLElementTagNameMap {
26
28
  'mdui-circular-progress': CircularProgress;
@@ -1,8 +1,9 @@
1
1
  import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
2
+ import { html } from 'lit';
3
3
  import { customElement, property } from 'lit/decorators.js';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
5
  import { isUndefined } from '@mdui/jq/shared/helper.js';
6
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
6
7
  import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
7
8
  import { style } from './style.js';
8
9
  /**
@@ -12,7 +13,7 @@ import { style } from './style.js';
12
13
  * <mdui-circular-progress></mdui-circular-progress>
13
14
  * ```
14
15
  */
15
- let CircularProgress = class CircularProgress extends LitElement {
16
+ let CircularProgress = class CircularProgress extends MduiElement {
16
17
  constructor() {
17
18
  super(...arguments);
18
19
  /**
@@ -1,5 +1,5 @@
1
- import { LitElement } from 'lit';
2
1
  import '@mdui/jq/methods/height.js';
2
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
3
3
  import type { JQ } from '@mdui/jq/shared/core.js';
4
4
  import type { CSSResultGroup, TemplateResult, PropertyValues } from 'lit';
5
5
  /**
@@ -23,7 +23,7 @@ import type { CSSResultGroup, TemplateResult, PropertyValues } from 'lit';
23
23
  * @csspart header - 折叠面板的头部内容
24
24
  * @csspart body - 折叠面板的正文内容
25
25
  */
26
- export declare class CollapseItem extends LitElement {
26
+ export declare class CollapseItem extends MduiElement<CollapseItemEventMap> {
27
27
  static styles: CSSResultGroup;
28
28
  /**
29
29
  * 该折叠面板项的值
@@ -55,3 +55,14 @@ export declare class CollapseItem extends LitElement {
55
55
  private onTransitionEnd;
56
56
  private updateBodyHeight;
57
57
  }
58
+ export interface CollapseItemEventMap {
59
+ open: CustomEvent<void>;
60
+ opened: CustomEvent<void>;
61
+ close: CustomEvent<void>;
62
+ closed: CustomEvent<void>;
63
+ }
64
+ declare global {
65
+ interface HTMLElementTagNameMap {
66
+ 'mdui-collapse-item': CollapseItem;
67
+ }
68
+ }
@@ -1,13 +1,13 @@
1
1
  import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
2
+ import { html } from 'lit';
3
3
  import { customElement, property, state } from 'lit/decorators.js';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
5
  import { createRef, ref } from 'lit/directives/ref.js';
6
6
  import { $ } from '@mdui/jq/$.js';
7
7
  import '@mdui/jq/methods/height.js';
8
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
8
9
  import { watch } from '@mdui/shared/decorators/watch.js';
9
10
  import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
10
- import { emit } from '@mdui/shared/helpers/event.js';
11
11
  import { uniqueId } from '@mdui/shared/helpers/uniqueId.js';
12
12
  import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
13
13
  import { collapseItemStyle } from './collapse-item-style.js';
@@ -32,7 +32,7 @@ import { collapseItemStyle } from './collapse-item-style.js';
32
32
  * @csspart header - 折叠面板的头部内容
33
33
  * @csspart body - 折叠面板的正文内容
34
34
  */
35
- let CollapseItem = class CollapseItem extends LitElement {
35
+ let CollapseItem = class CollapseItem extends MduiElement {
36
36
  constructor() {
37
37
  super(...arguments);
38
38
  /**
@@ -59,7 +59,7 @@ let CollapseItem = class CollapseItem extends LitElement {
59
59
  }
60
60
  else {
61
61
  this.state = this.active ? 'open' : 'close';
62
- emit(this, this.state);
62
+ this.emit(this.state);
63
63
  this.updateBodyHeight();
64
64
  }
65
65
  }
@@ -76,7 +76,7 @@ let CollapseItem = class CollapseItem extends LitElement {
76
76
  onTransitionEnd(event) {
77
77
  if (event.target === this.bodyRef.value) {
78
78
  this.state = this.active ? 'opened' : 'closed';
79
- emit(this, this.state);
79
+ this.emit(this.state);
80
80
  this.updateBodyHeight();
81
81
  }
82
82
  }
@@ -1,5 +1,5 @@
1
- import { LitElement } from 'lit';
2
1
  import '@mdui/jq/methods/is.js';
2
+ import { MduiElement } from '@mdui/shared/base/mdui-element.js';
3
3
  import type { CSSResultGroup, TemplateResult } from 'lit';
4
4
  /**
5
5
  * @summary 折叠面板组件。需与 `<mdui-collapse-item>` 组件配合使用
@@ -15,7 +15,7 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
15
15
  *
16
16
  * @slot - `<mdui-collapse-item>` 组件
17
17
  */
18
- export declare class Collapse extends LitElement {
18
+ export declare class Collapse extends MduiElement<CollapseEventMap> {
19
19
  static styles: CSSResultGroup;
20
20
  /**
21
21
  * 是否为手风琴模式
@@ -47,3 +47,11 @@ export declare class Collapse extends LitElement {
47
47
  private onSlotChange;
48
48
  private updateItems;
49
49
  }
50
+ export interface CollapseEventMap {
51
+ change: CustomEvent<void>;
52
+ }
53
+ declare global {
54
+ interface HTMLElementTagNameMap {
55
+ 'mdui-collapse': Collapse;
56
+ }
57
+ }