@momentum-design/components 0.54.2 → 0.55.0

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.
@@ -1,6 +1,6 @@
1
1
  import { CSSResult, PropertyValues } from 'lit';
2
2
  import { Component } from '../../models';
3
- import type { PopoverPlacement, PopoverTrigger, PopoverColor } from './popover.types';
3
+ import { PopoverColor, PopoverPlacement, PopoverTrigger } from './popover.types';
4
4
  declare const Popover_base: import("../../utils/mixins/index.types").Constructor<HTMLElement & import("../../utils/mixins/FocusTrapMixin").FocusTrapClassInterface> & typeof Component;
5
5
  /**
6
6
  * Popover component is a lightweight floating UI element that displays additional content when triggered.
@@ -185,6 +185,7 @@ declare class Popover extends Popover_base {
185
185
  ariaDescribedby: string | null;
186
186
  /**
187
187
  * Disable aria-expanded attribute on trigger element.
188
+ * Make sure to set this to false when the popover is interactive.
188
189
  * @default false
189
190
  */
190
191
  disableAriaExpanded: boolean;
@@ -7,16 +7,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ import { arrow, autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom';
10
11
  import { html, nothing } from 'lit';
11
- import { ifDefined } from 'lit/directives/if-defined.js';
12
12
  import { property } from 'lit/decorators.js';
13
- import { computePosition, autoUpdate, offset, flip, shift, arrow, size } from '@floating-ui/dom';
14
- import styles from './popover.styles';
13
+ import { ifDefined } from 'lit/directives/if-defined.js';
15
14
  import { Component } from '../../models';
16
15
  import { FocusTrapMixin } from '../../utils/mixins/FocusTrapMixin';
17
- import { popoverStack } from './popover.stack';
18
- import { DEFAULTS, POPOVER_PLACEMENT, TRIGGER, COLOR } from './popover.constants';
16
+ import { COLOR, DEFAULTS, POPOVER_PLACEMENT, TRIGGER } from './popover.constants';
19
17
  import { PopoverEventManager } from './popover.events';
18
+ import { popoverStack } from './popover.stack';
19
+ import styles from './popover.styles';
20
20
  import { PopoverUtils } from './popover.utils';
21
21
  /**
22
22
  * Popover component is a lightweight floating UI element that displays additional content when triggered.
@@ -203,6 +203,7 @@ class Popover extends FocusTrapMixin(Component) {
203
203
  this.ariaDescribedby = null;
204
204
  /**
205
205
  * Disable aria-expanded attribute on trigger element.
206
+ * Make sure to set this to false when the popover is interactive.
206
207
  * @default false
207
208
  */
208
209
  this.disableAriaExpanded = DEFAULTS.DISABLE_ARIA_EXPANDED;
@@ -397,6 +398,7 @@ class Popover extends FocusTrapMixin(Component) {
397
398
  if (changedProperties.has('visible')) {
398
399
  const oldValue = changedProperties.get('visible') || false;
399
400
  await this.isOpenUpdated(oldValue, this.visible);
401
+ this.utils.updateAriaExpandedAttribute();
400
402
  }
401
403
  if (changedProperties.has('placement')) {
402
404
  this.setAttribute('placement', Object.values(POPOVER_PLACEMENT).includes(this.placement) ? this.placement : DEFAULTS.PLACEMENT);
@@ -425,6 +427,12 @@ class Popover extends FocusTrapMixin(Component) {
425
427
  || changedProperties.has('aria-labelledby')) {
426
428
  this.utils.setupAccessibility();
427
429
  }
430
+ if (changedProperties.has('disableAriaExpanded')) {
431
+ this.utils.updateAriaExpandedAttribute();
432
+ }
433
+ if (changedProperties.has('interactive')) {
434
+ this.utils.updateAriaHasPopupAttribute();
435
+ }
428
436
  }
429
437
  /**
430
438
  * Handles the popover visibility change and position the popover.
@@ -462,12 +470,6 @@ class Popover extends FocusTrapMixin(Component) {
462
470
  if (this.hideOnEscape) {
463
471
  document.addEventListener('keydown', this.onEscapeKeydown);
464
472
  }
465
- if (!this.disableAriaExpanded) {
466
- this.triggerElement.setAttribute('aria-expanded', 'true');
467
- }
468
- if (this.interactive) {
469
- this.triggerElement.setAttribute('aria-haspopup', this.triggerElement.getAttribute('aria-haspopup') || 'dialog');
470
- }
471
473
  PopoverEventManager.onShowPopover(this);
472
474
  }
473
475
  else {
@@ -536,6 +538,7 @@ class Popover extends FocusTrapMixin(Component) {
536
538
  return;
537
539
  Object.assign(popoverContent.style, {
538
540
  maxHeight: `${availableHeight}px`,
541
+ overflowY: 'auto',
539
542
  });
540
543
  },
541
544
  padding: 50,
@@ -677,7 +680,7 @@ __decorate([
677
680
  __metadata("design:type", String)
678
681
  ], Popover.prototype, "appendTo", void 0);
679
682
  __decorate([
680
- property({ type: String, attribute: 'close-button-aria-label' }),
683
+ property({ type: String, attribute: 'close-button-aria-label', reflect: true }),
681
684
  __metadata("design:type", Object)
682
685
  ], Popover.prototype, "closeButtonAriaLabel", void 0);
683
686
  __decorate([
@@ -48,7 +48,6 @@ const styles = css `
48
48
  :host::part(popover-content) {
49
49
  position: relative;
50
50
  padding: 0.75rem;
51
- overflow-y: auto;
52
51
  min-width: max-content;
53
52
  z-index: 9998;
54
53
  max-height: var(--mdc-popover-max-height);
@@ -28,6 +28,14 @@ export declare class PopoverUtils {
28
28
  * Sets up the accessibility attributes for the popover.
29
29
  */
30
30
  setupAccessibility(): void;
31
+ /**
32
+ * Updates the aria-haspopup attribute on the trigger element.
33
+ */
34
+ updateAriaHasPopupAttribute(): void;
35
+ /**
36
+ * Updates the aria-expanded attribute on the trigger element.
37
+ */
38
+ updateAriaExpandedAttribute(): void;
31
39
  /**
32
40
  * Updates the arrow style based on the arrow data and placement.
33
41
  *
@@ -93,6 +93,7 @@ export class PopoverUtils {
93
93
  this.popover.toggleAttribute('aria-modal', this.popover.interactive);
94
94
  }
95
95
  if (this.popover.interactive) {
96
+ this.popover.setAttribute('aria-modal', 'true');
96
97
  if (!this.popover.ariaLabel) {
97
98
  this.popover.ariaLabel = ((_a = this.popover.triggerElement) === null || _a === void 0 ? void 0 : _a.ariaLabel)
98
99
  || ((_b = this.popover.triggerElement) === null || _b === void 0 ? void 0 : _b.textContent)
@@ -102,6 +103,33 @@ export class PopoverUtils {
102
103
  this.popover.ariaLabelledby = ((_c = this.popover.triggerElement) === null || _c === void 0 ? void 0 : _c.id) || '';
103
104
  }
104
105
  }
106
+ else {
107
+ this.popover.removeAttribute('aria-modal');
108
+ }
109
+ }
110
+ /**
111
+ * Updates the aria-haspopup attribute on the trigger element.
112
+ */
113
+ updateAriaHasPopupAttribute() {
114
+ var _a, _b, _c;
115
+ if (this.popover.interactive) {
116
+ (_a = this.popover.triggerElement) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-haspopup', ((_b = this.popover.triggerElement) === null || _b === void 0 ? void 0 : _b.getAttribute('aria-haspopup')) || 'dialog');
117
+ }
118
+ else {
119
+ (_c = this.popover.triggerElement) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-haspopup');
120
+ }
121
+ }
122
+ /**
123
+ * Updates the aria-expanded attribute on the trigger element.
124
+ */
125
+ updateAriaExpandedAttribute() {
126
+ var _a, _b;
127
+ if (this.popover.disableAriaExpanded) {
128
+ (_a = this.popover.triggerElement) === null || _a === void 0 ? void 0 : _a.removeAttribute('aria-expanded');
129
+ }
130
+ else {
131
+ (_b = this.popover.triggerElement) === null || _b === void 0 ? void 0 : _b.setAttribute('aria-expanded', `${this.popover.visible}`);
132
+ }
105
133
  }
106
134
  /**
107
135
  * Updates the arrow style based on the arrow data and placement.
@@ -35,7 +35,7 @@ declare class Select extends Select_base implements AssociatedFormControl {
35
35
  /**
36
36
  * height attribute of the select field. If set,
37
37
  * then a scroll bar will be visible when there more options than the adjusted height.
38
- * @default 'auto'
38
+ * @default auto
39
39
  */
40
40
  height: string;
41
41
  /** @internal */
@@ -50,6 +50,8 @@ declare class Select extends Select_base implements AssociatedFormControl {
50
50
  displayPopover: boolean;
51
51
  /** @internal */
52
52
  activeDescendant: string;
53
+ /** @internal */
54
+ popoverWidth: string;
53
55
  /**
54
56
  * @internal
55
57
  * The native select element
@@ -50,7 +50,7 @@ class Select extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)) {
50
50
  /**
51
51
  * height attribute of the select field. If set,
52
52
  * then a scroll bar will be visible when there more options than the adjusted height.
53
- * @default 'auto'
53
+ * @default auto
54
54
  */
55
55
  this.height = 'auto';
56
56
  /** @internal */
@@ -61,6 +61,8 @@ class Select extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)) {
61
61
  this.displayPopover = false;
62
62
  /** @internal */
63
63
  this.activeDescendant = '';
64
+ /** @internal */
65
+ this.popoverWidth = '100%';
64
66
  }
65
67
  connectedCallback() {
66
68
  super.connectedCallback();
@@ -233,6 +235,7 @@ class Select extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)) {
233
235
  break;
234
236
  case KEYS.ESCAPE:
235
237
  this.closePopover();
238
+ event.stopPropagation();
236
239
  break;
237
240
  case KEYS.HOME:
238
241
  this.setFocusAndTabIndex(0);
@@ -453,7 +456,7 @@ class Select extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)) {
453
456
  placement="${POPOVER_PLACEMENT.BOTTOM_START}"
454
457
  @shown="${this.handlePopoverOpen}"
455
458
  @hidden="${this.handlePopoverClose}"
456
- style="--mdc-popover-max-width: 100%; --mdc-popover-max-height: ${this.height};"
459
+ style="--mdc-popover-max-width: ${this.popoverWidth}; --mdc-popover-max-height: ${this.height};"
457
460
  >
458
461
  <slot @click="${this.handleOptionsClick}"></slot>
459
462
  </mdc-popover>
@@ -511,7 +514,7 @@ __decorate([
511
514
  __metadata("design:type", Object)
512
515
  ], Select.prototype, "readonly", void 0);
513
516
  __decorate([
514
- property({ type: String, attribute: 'height' }),
517
+ property({ type: String }),
515
518
  __metadata("design:type", Object)
516
519
  ], Select.prototype, "height", void 0);
517
520
  __decorate([
@@ -538,6 +541,10 @@ __decorate([
538
541
  state(),
539
542
  __metadata("design:type", Object)
540
543
  ], Select.prototype, "activeDescendant", void 0);
544
+ __decorate([
545
+ state(),
546
+ __metadata("design:type", Object)
547
+ ], Select.prototype, "popoverWidth", void 0);
541
548
  __decorate([
542
549
  query('select'),
543
550
  __metadata("design:type", HTMLInputElement)
@@ -0,0 +1,9 @@
1
+ import ToggleTip from './toggletip.component';
2
+ import '../button';
3
+ import '../screenreaderannouncer';
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ ['mdc-toggletip']: ToggleTip;
7
+ }
8
+ }
9
+ export default ToggleTip;
@@ -0,0 +1,6 @@
1
+ import ToggleTip from './toggletip.component';
2
+ import { TAG_NAME } from './toggletip.constants';
3
+ import '../button';
4
+ import '../screenreaderannouncer';
5
+ ToggleTip.register(TAG_NAME);
6
+ export default ToggleTip;
@@ -0,0 +1,66 @@
1
+ import { CSSResult, PropertyValueMap } from 'lit';
2
+ import Popover from '../popover/popover.component';
3
+ /**
4
+ * A toggletip is triggered by clicking a trigger element.
5
+ *
6
+ * It can contain interactive content and can be closed by
7
+ * clicking outside the toggletip or pressing the escape key.
8
+ *
9
+ * It can have optional close button to close the toggletip.
10
+ *
11
+ * Toggletip component uses `mdc-screenreaderannouncer` internally to
12
+ * announce the toggletip text content with screen readers when the toggletip is shown.
13
+ *
14
+ * `screenreader-announcer-identity` attribute can be used to provide ID of an element
15
+ * in DOM to which announcement elements are added. If not set, a visually hidden
16
+ * div element is created in DOM to which announcement elements are added.
17
+ *
18
+ * Please refer to the `mdc-screenreaderannouncer` component for more details.
19
+ *
20
+ * @dependency mdc-screenreaderannouncer
21
+ * @dependency mdc-button
22
+ *
23
+ * @tagname mdc-toggletip
24
+ *
25
+ * @event shown - (React: onShown) This event is dispatched when the toggletip is shown
26
+ * @event hidden - (React: onHidden) This event is dispatched when the toggletip is hidden
27
+ * @event created - (React: onCreated) This event is dispatched when the toggletip is created (added to the DOM)
28
+ * @event destroyed - (React: onDestroyed) This event is dispatched when the toggletip
29
+ * is destroyed (removed from the DOM)
30
+ *
31
+ * @cssproperty --mdc-toggletip-max-width - The maximum width of the toggletip.
32
+ * @cssproperty --mdc-toggletip-text-color - The text color of the toggletip.
33
+ * @cssproperty --mdc-toggletip-text-color-contrast - The text color of the toggletip
34
+ * when the color is contrast.
35
+ *
36
+ * @slot - Default slot for the toggletip content
37
+ */
38
+ declare class ToggleTip extends Popover {
39
+ private defaultSlotNodes;
40
+ /** @internal */
41
+ currentAnnouncement: string;
42
+ /**
43
+ * Set this attribute with the id of the element in the DOM, to which announcement
44
+ * elements will be appended.
45
+ * If an id is provided, the announcement elements will be appended to this element.
46
+ * If id is not provided, a visually hidden div element will be created in the DOM.
47
+ *
48
+ * Please refer to the `mdc-screenreaderannouncer` component for more details.
49
+ */
50
+ screenreaderAnnouncerIdentity: string;
51
+ connectedCallback(): void;
52
+ /**
53
+ * @returns The text content of all the nodes in the default slot, joined by a space.
54
+ * If there are no nodes, an empty string is returned.
55
+ */
56
+ private getToggleTipText;
57
+ /**
58
+ * Updates the placement attribute if it is not a valid placement.
59
+ * Default placement for toggle tip is top.
60
+ */
61
+ private onPlacementUpdated;
62
+ protected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
63
+ render(): import("lit-html").TemplateResult<1>;
64
+ static styles: Array<CSSResult>;
65
+ }
66
+ export default ToggleTip;
@@ -0,0 +1,131 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { html } from 'lit';
11
+ import { property, queryAssignedNodes, state } from 'lit/decorators.js';
12
+ import Popover from '../popover/popover.component';
13
+ import { POPOVER_PLACEMENT } from '../popover/popover.constants';
14
+ import { DEFAULTS } from './toggletip.constants';
15
+ import styles from './toggletip.styles';
16
+ /**
17
+ * A toggletip is triggered by clicking a trigger element.
18
+ *
19
+ * It can contain interactive content and can be closed by
20
+ * clicking outside the toggletip or pressing the escape key.
21
+ *
22
+ * It can have optional close button to close the toggletip.
23
+ *
24
+ * Toggletip component uses `mdc-screenreaderannouncer` internally to
25
+ * announce the toggletip text content with screen readers when the toggletip is shown.
26
+ *
27
+ * `screenreader-announcer-identity` attribute can be used to provide ID of an element
28
+ * in DOM to which announcement elements are added. If not set, a visually hidden
29
+ * div element is created in DOM to which announcement elements are added.
30
+ *
31
+ * Please refer to the `mdc-screenreaderannouncer` component for more details.
32
+ *
33
+ * @dependency mdc-screenreaderannouncer
34
+ * @dependency mdc-button
35
+ *
36
+ * @tagname mdc-toggletip
37
+ *
38
+ * @event shown - (React: onShown) This event is dispatched when the toggletip is shown
39
+ * @event hidden - (React: onHidden) This event is dispatched when the toggletip is hidden
40
+ * @event created - (React: onCreated) This event is dispatched when the toggletip is created (added to the DOM)
41
+ * @event destroyed - (React: onDestroyed) This event is dispatched when the toggletip
42
+ * is destroyed (removed from the DOM)
43
+ *
44
+ * @cssproperty --mdc-toggletip-max-width - The maximum width of the toggletip.
45
+ * @cssproperty --mdc-toggletip-text-color - The text color of the toggletip.
46
+ * @cssproperty --mdc-toggletip-text-color-contrast - The text color of the toggletip
47
+ * when the color is contrast.
48
+ *
49
+ * @slot - Default slot for the toggletip content
50
+ */
51
+ class ToggleTip extends Popover {
52
+ constructor() {
53
+ super(...arguments);
54
+ /** @internal */
55
+ this.currentAnnouncement = '';
56
+ /**
57
+ * Set this attribute with the id of the element in the DOM, to which announcement
58
+ * elements will be appended.
59
+ * If an id is provided, the announcement elements will be appended to this element.
60
+ * If id is not provided, a visually hidden div element will be created in the DOM.
61
+ *
62
+ * Please refer to the `mdc-screenreaderannouncer` component for more details.
63
+ */
64
+ this.screenreaderAnnouncerIdentity = '';
65
+ }
66
+ connectedCallback() {
67
+ super.connectedCallback();
68
+ this.closeButton = DEFAULTS.CLOSE_BUTTON;
69
+ this.closeButtonAriaLabel = DEFAULTS.CLOSE_BUTTON_ARIA_LABEL;
70
+ this.placement = DEFAULTS.PLACEMENT;
71
+ this.trigger = DEFAULTS.CLICK;
72
+ this.showArrow = DEFAULTS.SHOW_ARROW;
73
+ this.interactive = true;
74
+ this.backdrop = true;
75
+ this.hideOnBlur = true;
76
+ this.hideOnEscape = true;
77
+ this.hideOnOutsideClick = true;
78
+ this.disableAriaExpanded = false;
79
+ this.focusBackToTrigger = true;
80
+ }
81
+ /**
82
+ * @returns The text content of all the nodes in the default slot, joined by a space.
83
+ * If there are no nodes, an empty string is returned.
84
+ */
85
+ getToggleTipText() {
86
+ var _a, _b;
87
+ return ((_b = (_a = this.defaultSlotNodes) === null || _a === void 0 ? void 0 : _a.map((node) => node.textContent).join(' ')) === null || _b === void 0 ? void 0 : _b.trim()) || '';
88
+ }
89
+ /**
90
+ * Updates the placement attribute if it is not a valid placement.
91
+ * Default placement for toggle tip is top.
92
+ */
93
+ onPlacementUpdated() {
94
+ if (!Object.values(POPOVER_PLACEMENT).includes(this.placement)) {
95
+ this.placement = DEFAULTS.PLACEMENT;
96
+ }
97
+ }
98
+ update(changedProperties) {
99
+ super.update(changedProperties);
100
+ if (changedProperties.has('placement')) {
101
+ this.onPlacementUpdated();
102
+ }
103
+ if (changedProperties.has('visible')) {
104
+ this.currentAnnouncement = this.visible ? this.getToggleTipText() : '';
105
+ }
106
+ }
107
+ render() {
108
+ return html `
109
+ ${super.render()}
110
+ <mdc-screenreaderannouncer
111
+ identity="${this.screenreaderAnnouncerIdentity}"
112
+ announcement="${this.currentAnnouncement}"
113
+ delay="300">
114
+ </mdc-screenreaderannouncer>
115
+ `;
116
+ }
117
+ }
118
+ ToggleTip.styles = [...Popover.styles, ...styles];
119
+ __decorate([
120
+ queryAssignedNodes(),
121
+ __metadata("design:type", Array)
122
+ ], ToggleTip.prototype, "defaultSlotNodes", void 0);
123
+ __decorate([
124
+ state(),
125
+ __metadata("design:type", Object)
126
+ ], ToggleTip.prototype, "currentAnnouncement", void 0);
127
+ __decorate([
128
+ property({ type: String, reflect: true, attribute: 'screenreader-announcer-identity' }),
129
+ __metadata("design:type", Object)
130
+ ], ToggleTip.prototype, "screenreaderAnnouncerIdentity", void 0);
131
+ export default ToggleTip;
@@ -0,0 +1,10 @@
1
+ declare const TAG_NAME: "mdc-toggletip";
2
+ declare const DEFAULTS: {
3
+ CLOSE_BUTTON: boolean;
4
+ CLOSE_BUTTON_ARIA_LABEL: string;
5
+ OFFSET: number;
6
+ PLACEMENT: "top";
7
+ CLICK: "click";
8
+ SHOW_ARROW: boolean;
9
+ };
10
+ export { DEFAULTS, TAG_NAME };
@@ -0,0 +1,12 @@
1
+ import utils from '../../utils/tag-name';
2
+ import { POPOVER_PLACEMENT, TRIGGER } from '../popover/popover.constants';
3
+ const TAG_NAME = utils.constructTagName('toggletip');
4
+ const DEFAULTS = {
5
+ CLOSE_BUTTON: true,
6
+ CLOSE_BUTTON_ARIA_LABEL: 'Close',
7
+ OFFSET: 4,
8
+ PLACEMENT: POPOVER_PLACEMENT.TOP,
9
+ CLICK: TRIGGER.CLICK,
10
+ SHOW_ARROW: true,
11
+ };
12
+ export { DEFAULTS, TAG_NAME };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult[];
2
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import { css } from 'lit';
2
+ const styles = css `
3
+ :host {
4
+ --mdc-toggletip-max-width: 400px;
5
+ --mdc-toggletip-text-color: var(--mds-color-theme-text-primary-normal);
6
+ --mdc-toggletip-text-color-contrast: var(--mds-color-theme-inverted-text-primary-normal);
7
+ }
8
+
9
+ :host::part(popover-content) {
10
+ color: var(--mdc-toggletip-text-color);
11
+ min-width: fit-content;
12
+ max-width: var(--mdc-toggletip-max-width);
13
+
14
+ font-size: var(--mds-font-apps-body-midsize-regular-font-size);
15
+ font-weight: var(--mds-font-apps-body-midsize-regular-font-weight);
16
+ line-height: var(--mds-font-apps-body-midsize-regular-line-height);
17
+ text-decoration: var(--mds-font-apps-body-midsize-regular-text-decoration);
18
+ text-transform: var(--mds-font-apps-body-midsize-regular-text-case);
19
+ }
20
+
21
+ :host([color='contrast'])::part(popover-content) {
22
+ color: var(--mdc-toggletip-text-color-contrast);
23
+ }
24
+ `;
25
+ export default [styles];
@@ -0,0 +1,7 @@
1
+ interface Events {
2
+ onShownEvent: Event;
3
+ onHiddenEvent: Event;
4
+ onCreatedEvent: Event;
5
+ onDestroyedEvent: Event;
6
+ }
7
+ export type { Events };
@@ -0,0 +1 @@
1
+ export {};