@tylertech/forge 3.7.0 → 3.8.0-dev.1

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 (111) hide show
  1. package/custom-elements.json +175 -131
  2. package/dist/button/forge-button.css +3 -2
  3. package/dist/dialog/forge-dialog.css +3 -0
  4. package/dist/lib.js +23 -15
  5. package/dist/lib.js.map +4 -4
  6. package/dist/switch/forge-switch.css +1 -1
  7. package/dist/vscode.html-custom-data.json +9 -30
  8. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +4 -5
  9. package/esm/app-bar/notification-button/app-bar-notification-button.js +6 -3
  10. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  11. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  12. package/esm/avatar/avatar-constants.d.ts +1 -0
  13. package/esm/avatar/avatar-constants.js +1 -0
  14. package/esm/avatar/avatar.d.ts +1 -1
  15. package/esm/avatar/avatar.js +1 -1
  16. package/esm/badge/badge-component-delegate.js +1 -2
  17. package/esm/badge/badge-constants.d.ts +1 -0
  18. package/esm/badge/badge-constants.js +1 -0
  19. package/esm/badge/badge.d.ts +20 -23
  20. package/esm/badge/badge.js +57 -47
  21. package/esm/badge/index.js +3 -3
  22. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +1 -1
  23. package/esm/bottom-sheet/bottom-sheet.d.ts +3 -1
  24. package/esm/button/button.js +1 -1
  25. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +1 -2
  26. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +6 -6
  27. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +6 -6
  28. package/esm/card/card-constants.d.ts +1 -0
  29. package/esm/card/card-constants.js +1 -0
  30. package/esm/card/card.d.ts +12 -13
  31. package/esm/card/card.js +25 -34
  32. package/esm/card/index.js +3 -3
  33. package/esm/checkbox/checkbox.d.ts +5 -1
  34. package/esm/chips/chip/chip-constants.d.ts +1 -1
  35. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  36. package/esm/core/mask/date-input-mask.d.ts +3 -3
  37. package/esm/core/mask/date-input-mask.js +7 -8
  38. package/esm/core/mask/intermediate-time-parser.d.ts +2 -2
  39. package/esm/core/mask/intermediate-time-parser.js +2 -3
  40. package/esm/core/mask/time-input-mask.d.ts +3 -3
  41. package/esm/core/mask/time-input-mask.js +4 -5
  42. package/esm/core/mixins/label/with-label-aware.d.ts +4 -1
  43. package/esm/core/utils/a11y-utils.d.ts +0 -8
  44. package/esm/core/utils/a11y-utils.js +5 -25
  45. package/esm/core/utils/dismissible-stack.d.ts +7 -0
  46. package/esm/core/utils/position-utils.d.ts +1 -2
  47. package/esm/core/utils/position-utils.js +7 -22
  48. package/esm/core/utils/utils.d.ts +8 -0
  49. package/esm/core/utils/utils.js +26 -1
  50. package/esm/date-picker/base/base-date-picker-constants.d.ts +2 -2
  51. package/esm/deprecated/button/deprecated-button.js +1 -1
  52. package/esm/dialog/dialog-core.js +2 -2
  53. package/esm/dialog/dialog.d.ts +2 -0
  54. package/esm/dialog/dialog.js +1 -1
  55. package/esm/expansion-panel/expansion-panel-adapter.d.ts +31 -0
  56. package/esm/expansion-panel/expansion-panel-adapter.js +60 -1
  57. package/esm/expansion-panel/expansion-panel-constants.d.ts +4 -0
  58. package/esm/expansion-panel/expansion-panel-constants.js +4 -1
  59. package/esm/expansion-panel/expansion-panel-core.d.ts +13 -1
  60. package/esm/expansion-panel/expansion-panel-core.js +63 -1
  61. package/esm/expansion-panel/expansion-panel.d.ts +9 -0
  62. package/esm/expansion-panel/expansion-panel.js +14 -0
  63. package/esm/floating-action-button/floating-action-button-constants.d.ts +1 -1
  64. package/esm/icon/icon-constants.d.ts +1 -1
  65. package/esm/icon/icon-registry.d.ts +6 -0
  66. package/esm/icon-button/icon-button-constants.d.ts +1 -1
  67. package/esm/label/label-adapter.js +1 -1
  68. package/esm/list/list-item/list-item.js +1 -1
  69. package/esm/meter/meter/meter.js +2 -1
  70. package/esm/meter/meter-group/meter-group.js +2 -1
  71. package/esm/overlay/base/base-overlay-core.d.ts +3 -3
  72. package/esm/overlay/base/base-overlay.d.ts +3 -3
  73. package/esm/overlay/base/base-overlay.js +11 -1
  74. package/esm/overlay/base/overlay-aware-core.d.ts +3 -3
  75. package/esm/overlay/base/overlay-aware-core.js +2 -1
  76. package/esm/overlay/overlay-adapter.d.ts +2 -2
  77. package/esm/overlay/overlay-adapter.js +6 -14
  78. package/esm/overlay/overlay-constants.d.ts +2 -5
  79. package/esm/overlay/overlay-constants.js +2 -23
  80. package/esm/overlay/overlay-core.d.ts +3 -3
  81. package/esm/overlay/overlay-core.js +13 -3
  82. package/esm/overlay/overlay.d.ts +2 -2
  83. package/esm/overlay/overlay.js +2 -2
  84. package/esm/popover/popover.js +1 -1
  85. package/esm/profile-card/profile-card-core.js +4 -4
  86. package/esm/radio/core/radio-group-manager.d.ts +2 -1
  87. package/esm/radio/radio/radio.d.ts +1 -0
  88. package/esm/split-button/split-button-constants.d.ts +2 -2
  89. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  90. package/esm/stepper/stepper/stepper-constants.d.ts +1 -3
  91. package/esm/switch/switch.d.ts +5 -1
  92. package/esm/switch/switch.js +1 -1
  93. package/esm/table/table-core.js +10 -2
  94. package/esm/table/table-utils.js +8 -4
  95. package/esm/time-picker/time-picker-constants.d.ts +2 -2
  96. package/esm/toast/toast-constants.d.ts +1 -1
  97. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  98. package/package.json +4 -4
  99. package/sass/badge/badge.scss +10 -10
  100. package/sass/button/_core.scss +1 -0
  101. package/sass/calendar/_variables.scss +3 -2
  102. package/sass/card/card.scss +1 -1
  103. package/sass/core/styles/tokens/button/_tokens.scss +2 -2
  104. package/sass/core/styles/tokens/slider/_tokens.scss +10 -4
  105. package/sass/core/styles/tokens/switch/_tokens.scss +1 -1
  106. package/sass/dialog/dialog.scss +8 -0
  107. package/sass/dialog/forge-dialog.scss +4 -0
  108. package/sass/linear-progress/linear-progress.scss +7 -3
  109. package/sass/list/list-item/list-item.scss +1 -1
  110. package/sass/popover/popover.scss +0 -1
  111. package/sass/slider/_core.scss +2 -3
@@ -49,7 +49,7 @@
49
49
  --_switch-state-layer-off-color: var(--forge-switch-state-layer-off-color, var(--_switch-color));
50
50
  --_switch-state-layer-dense-width: var(--forge-switch-state-layer-dense-width, var(--_switch-state-layer-dense-size));
51
51
  --_switch-state-layer-dense-height: var(--forge-switch-state-layer-dense-height, var(--_switch-state-layer-dense-size));
52
- --_switch-disabled-opacity: var(--forge-switch-disabled-opacity, 0.38);
52
+ --_switch-disabled-opacity: var(--forge-switch-disabled-opacity, 0.54);
53
53
  --_switch-handle-active-on-color: var(--forge-switch-handle-active-on-color, var(--_switch-handle-on-color));
54
54
  --_switch-handle-active-off-color: var(--forge-switch-handle-active-off-color, var(--_switch-handle-off-color));
55
55
  --_switch-handle-active-scale: var(--forge-switch-handle-active-scale, 1.2);
@@ -142,29 +142,8 @@
142
142
  },
143
143
  {
144
144
  "name": "forge-badge",
145
- "description": "Badges are non-interactive components used to inform status, counts, or as a descriptive label.\n---\n\n\n### **Slots:**\n - _default_ - Default content placed inside the badge.\n- **start** - Content placed before the default content.\n- **end** - Content placed after the default content.\n\n### **CSS Properties:**\n - **--forge-badge-background** - The background color. _(default: undefined)_\n- **--forge-badge-color** - The text color. _(default: undefined)_\n- **--forge-badge-shape** - The shape radius. _(default: undefined)_\n- **--forge-badge-padding-inline** - The inline padding. _(default: undefined)_\n- **--forge-badge-padding-block** - The block padding. _(default: undefined)_\n- **--forge-badge-border-width** - The border width. _(default: undefined)_\n- **--forge-badge-border-color** - The border color. _(default: undefined)_\n- **--forge-badge-border-style** - The border style. _(default: undefined)_\n- **--forge-badge-gap** - The spacing between the content within the badge. _(default: undefined)_",
146
- "attributes": [
147
- {
148
- "name": "dot",
149
- "description": "When present, the badge will be a small dot without any content visible.",
150
- "values": []
151
- },
152
- {
153
- "name": "theme",
154
- "description": "The theme of the badge.",
155
- "values": [{ "name": "BadgeTheme" }]
156
- },
157
- {
158
- "name": "strong",
159
- "description": "Controls whether the badge will have a stronger visual appearance.",
160
- "values": []
161
- },
162
- {
163
- "name": "hide",
164
- "description": "Controls whether the badge is visible.",
165
- "values": []
166
- }
167
- ],
145
+ "description": "\n---\n\n\n### **Slots:**\n - _default_ - Default content placed inside the badge.\n- **start** - Content placed before the default content.\n- **end** - Content placed after the default content.\n\n### **CSS Properties:**\n - **--forge-badge-background** - The background color. _(default: undefined)_\n- **--forge-badge-color** - The text color. _(default: undefined)_\n- **--forge-badge-shape** - The shape radius. _(default: undefined)_\n- **--forge-badge-padding-inline** - The inline padding. _(default: undefined)_\n- **--forge-badge-padding-block** - The block padding. _(default: undefined)_\n- **--forge-badge-border-width** - The border width. _(default: undefined)_\n- **--forge-badge-border-color** - The border color. _(default: undefined)_\n- **--forge-badge-border-style** - The border style. _(default: undefined)_\n- **--forge-badge-gap** - The spacing between the content within the badge. _(default: undefined)_",
146
+ "attributes": [],
168
147
  "references": []
169
148
  },
170
149
  {
@@ -400,13 +379,8 @@
400
379
  },
401
380
  {
402
381
  "name": "forge-card",
403
- "description": "Cards are used to group related information and actions about a single subject.\n---\n\n\n### **CSS Properties:**\n - **--forge-card-background** - The background color of the card. _(default: undefined)_\n- **--forge-card-height** - The height of the card. _(default: undefined)_\n- **--forge-card-width** - The width of the card. _(default: undefined)_\n- **--forge-card-outline-color** - The outline color of the card. _(default: undefined)_\n- **--forge-card-outline-width** - The outline width of the card. _(default: undefined)_\n- **--forge-card-outline-style** - The outline style of the card. _(default: undefined)_\n- **--forge-card-elevation** - The elevation/shadow of the card. _(default: undefined)_\n- **--forge-card-padding** - The padding of the card. _(default: undefined)_\n- **--forge-card-shape** - The shape (border-radius) of the card. _(default: undefined)_\n- **--forge-card-overflow** - The overflow of the card. _(default: undefined)_\n- **--forge-card-raised-elevation** - The elevation/shadow of the card when raised. _(default: undefined)_\n- **--forge-card-raised-outline-width** - The outline width of the card when raised. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root container element.",
382
+ "description": "\n---\n\n\n### **CSS Properties:**\n - **--forge-card-background** - The background color of the card. _(default: undefined)_\n- **--forge-card-height** - The height of the card. _(default: undefined)_\n- **--forge-card-width** - The width of the card. _(default: undefined)_\n- **--forge-card-outline-color** - The outline color of the card. _(default: undefined)_\n- **--forge-card-outline-width** - The outline width of the card. _(default: undefined)_\n- **--forge-card-outline-style** - The outline style of the card. _(default: undefined)_\n- **--forge-card-elevation** - The elevation/shadow of the card. _(default: undefined)_\n- **--forge-card-padding** - The padding of the card. _(default: undefined)_\n- **--forge-card-shape** - The shape (border-radius) of the card. _(default: undefined)_\n- **--forge-card-overflow** - The overflow of the card. _(default: undefined)_\n- **--forge-card-raised-elevation** - The elevation/shadow of the card when raised. _(default: undefined)_\n- **--forge-card-raised-outline-width** - The outline width of the card when raised. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root container element.",
404
383
  "attributes": [
405
- {
406
- "name": "raised",
407
- "description": "Whether the card has elevation or not.",
408
- "values": []
409
- },
410
384
  {
411
385
  "name": "no-padding",
412
386
  "description": "Removes the default padding from the card.",
@@ -878,6 +852,11 @@
878
852
  "name": "animation-type",
879
853
  "description": "The type of animation to use when opening/closing the panel.",
880
854
  "values": [{ "name": "ExpansionPanelAnimationType" }]
855
+ },
856
+ {
857
+ "name": "trigger",
858
+ "description": "The id of the button that the expansion panel is associated with.",
859
+ "values": []
881
860
  }
882
861
  ],
883
862
  "references": []
@@ -1486,7 +1465,7 @@
1486
1465
  {
1487
1466
  "name": "shift",
1488
1467
  "description": "Whether or not the anchor element should shift along the side of the overlay when scrolling.",
1489
- "values": []
1468
+ "values": [{ "name": "OverlayShiftState" }]
1490
1469
  },
1491
1470
  {
1492
1471
  "name": "flip",
@@ -4,12 +4,11 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { getLightElement, toggleAttribute } from '@tylertech/forge-core';
7
- import { BADGE_CONSTANTS } from '../../badge';
8
7
  import { BaseAdapter } from '../../core/base/base-adapter';
9
- import { ICON_CONSTANTS } from '../../icon';
10
- import { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';
11
8
  import { forwardAttributes } from '../../core/utils/reflect-utils';
9
+ import { ICON_CONSTANTS } from '../../icon';
12
10
  import { ICON_BUTTON_CONSTANTS } from '../../icon-button/icon-button-constants';
11
+ import { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';
13
12
  export class AppBarNotificationButtonAdapter extends BaseAdapter {
14
13
  constructor(component) {
15
14
  super(component);
@@ -19,7 +18,7 @@ export class AppBarNotificationButtonAdapter extends BaseAdapter {
19
18
  }
20
19
  initialize() {
21
20
  this._iconButtonElement = getLightElement(this._component, ICON_BUTTON_CONSTANTS.elementName);
22
- this._badgeElement = getLightElement(this._component, BADGE_CONSTANTS.elementName);
21
+ this._badgeElement = getLightElement(this._component, 'forge-badge');
23
22
  this._iconElement = getLightElement(this._component, ICON_CONSTANTS.elementName);
24
23
  const originalAriaLabelledby = this._iconButtonElement.getAttribute('aria-labelledby');
25
24
  this._forwardObserver = forwardAttributes(this._component, APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.forwardedAttributes, (name, value) => {
@@ -40,7 +39,7 @@ export class AppBarNotificationButtonAdapter extends BaseAdapter {
40
39
  this._badgeElement.dot = dot;
41
40
  }
42
41
  setBadgeTheme(theme) {
43
- toggleAttribute(this._badgeElement, !!theme, BADGE_CONSTANTS.attributes.THEME, theme);
42
+ toggleAttribute(this._badgeElement, !!theme, 'theme', theme);
44
43
  }
45
44
  setBadgeVisible(isVisible) {
46
45
  this._badgeElement.hide = !isVisible;
@@ -4,9 +4,9 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { attachLightTemplate, coerceBoolean, customElement, coreProperty } from '@tylertech/forge-core';
7
+ import { attachLightTemplate, coerceBoolean, coreProperty, customElement } from '@tylertech/forge-core';
8
8
  import { tylIconNotifications } from '@tylertech/tyler-icons/standard';
9
- import { BadgeComponent } from '../../badge';
9
+ import { defineBadgeComponent } from '../../badge';
10
10
  import { BaseComponent } from '../../core/base/base-component';
11
11
  import { IconComponent, IconRegistry } from '../../icon';
12
12
  import { IconButtonComponent } from '../../icon-button';
@@ -76,6 +76,9 @@ let AppBarNotificationButtonComponent = class AppBarNotificationButtonComponent
76
76
  }
77
77
  }
78
78
  };
79
+ (() => {
80
+ defineBadgeComponent();
81
+ })();
79
82
  __decorate([
80
83
  coreProperty()
81
84
  ], AppBarNotificationButtonComponent.prototype, "count", void 0);
@@ -94,7 +97,7 @@ __decorate([
94
97
  AppBarNotificationButtonComponent = __decorate([
95
98
  customElement({
96
99
  name: APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.elementName,
97
- dependencies: [IconButtonComponent, TooltipComponent, BadgeComponent, IconComponent]
100
+ dependencies: [IconButtonComponent, TooltipComponent, IconComponent]
98
101
  })
99
102
  ], AppBarNotificationButtonComponent);
100
103
  export { AppBarNotificationButtonComponent };
@@ -14,7 +14,7 @@ import { defineAvatarComponent } from '../../avatar';
14
14
  import { TooltipComponent } from '../../tooltip';
15
15
  import { BaseComponent } from '../../core/base/base-component';
16
16
  import { PopoverComponent } from '../../popover/popover';
17
- const template = '<template><forge-icon-button><forge-avatar aria-hidden=\"true\"></forge-avatar></forge-icon-button><forge-tooltip type=\"label\" placement=\"bottom\">View profile</forge-tooltip></template>';
17
+ const template = '<template><forge-icon-button><forge-avatar aria-hidden=\"true\"></forge-avatar></forge-icon-button><forge-tooltip type=\"label\" placement=\"bottom-end\">View profile</forge-tooltip></template>';
18
18
  /**
19
19
  * @tag forge-app-bar-profile-button
20
20
  *
@@ -68,8 +68,8 @@ export class AutocompleteAdapter extends BaseAdapter {
68
68
  this.setBusyVisibility(false);
69
69
  this._tryToggleDropdownIconRotation(false);
70
70
  this._inputElement?.removeAttribute('aria-activedescendant');
71
- this._inputElement?.removeAttribute('aria-controls');
72
71
  this._inputElement?.setAttribute('aria-expanded', 'false');
72
+ setAriaControls(this._inputElement);
73
73
  if (!this._listDropdown) {
74
74
  return;
75
75
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ /** @deprecated - These are internal constants that will be removed/moved in the future. Please avoid using them. */
6
7
  export declare const AVATAR_CONSTANTS: {
7
8
  elementName: "forge-avatar";
8
9
  attributes: {
@@ -13,6 +13,7 @@ const attributes = {
13
13
  const numbers = {
14
14
  DEFAULT_LETTER_COUNT: 2
15
15
  };
16
+ /** @deprecated - These are internal constants that will be removed/moved in the future. Please avoid using them. */
16
17
  export const AVATAR_CONSTANTS = {
17
18
  elementName,
18
19
  attributes,
@@ -14,7 +14,7 @@ declare global {
14
14
  'forge-avatar': IAvatarComponent;
15
15
  }
16
16
  }
17
- export declare const AVATAR_TAG_NAME = "forge-avatar";
17
+ export declare const AVATAR_TAG_NAME: keyof HTMLElementTagNameMap;
18
18
  /**
19
19
  * @tag forge-avatar
20
20
  *
@@ -75,7 +75,7 @@ let AvatarComponent = class AvatarComponent extends LitElement {
75
75
  part="root"
76
76
  class=${classMap({ 'forge-avatar': true, 'forge-avatar--image': !!this._image })}
77
77
  style=${this._image ? styleMap({ backgroundImage: `url(${this._image.src})` }) : nothing}>
78
- <slot>${charsByLetterCount(this.text, this.letterCount ?? AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT)}</slot>
78
+ <slot>${this._image ? nothing : charsByLetterCount(this.text, this.letterCount ?? AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT)}</slot>
79
79
  </div>
80
80
  `;
81
81
  }
@@ -4,12 +4,11 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { BaseComponentDelegate } from '../core/delegates/base-component-delegate';
7
- import { BADGE_CONSTANTS } from './badge-constants';
8
7
  export class BadgeComponentDelegate extends BaseComponentDelegate {
9
8
  constructor(config) {
10
9
  super(config);
11
10
  }
12
11
  _build() {
13
- return document.createElement(BADGE_CONSTANTS.elementName);
12
+ return document.createElement('forge-badge');
14
13
  }
15
14
  }
@@ -4,6 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { Theme } from '../constants';
7
+ /** @deprecated - These are internal constants that will be removed/moved in the future. Please avoid using them. */
7
8
  export declare const BADGE_CONSTANTS: {
8
9
  elementName: "forge-badge";
9
10
  attributes: {
@@ -20,6 +20,7 @@ const selectors = {
20
20
  const defaults = {
21
21
  THEME: 'default'
22
22
  };
23
+ /** @deprecated - These are internal constants that will be removed/moved in the future. Please avoid using them. */
23
24
  export const BADGE_CONSTANTS = {
24
25
  elementName,
25
26
  attributes,
@@ -3,9 +3,9 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { BaseComponent, IBaseComponent } from '../core/base/base-component';
6
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
7
7
  import { BadgeTheme } from './badge-constants';
8
- export interface IBadgeComponent extends IBaseComponent {
8
+ export interface IBadgeComponent extends LitElement {
9
9
  dot: boolean;
10
10
  theme: BadgeTheme;
11
11
  strong: boolean;
@@ -16,21 +16,10 @@ declare global {
16
16
  'forge-badge': IBadgeComponent;
17
17
  }
18
18
  }
19
+ export declare const BADGE_TAG_NAME: keyof HTMLElementTagNameMap;
19
20
  /**
20
21
  * @tag forge-badge
21
22
  *
22
- * @summary Badges are non-interactive components used to inform status, counts, or as a descriptive label.
23
- *
24
- * @property {boolean} [dot=false] - Controls whether the badge will be a small dot without any content visible.
25
- * @property {BadgeTheme} [theme="default"] - The theme of the badge.
26
- * @property {boolean} [strong=false] - Controls whether the badge will have a stronger visual appearance.
27
- * @property {boolean} [hide=false] - Controls whether the badge is visible.
28
- *
29
- * @attribute {boolean} [dot=false] - When present, the badge will be a small dot without any content visible.
30
- * @attribute {BadgeTheme} [theme="default"] - The theme of the badge.
31
- * @attribute {boolean} [strong=false] - Controls whether the badge will have a stronger visual appearance.
32
- * @attribute {boolean} [hide=false] - Controls whether the badge is visible.
33
- *
34
23
  * @cssproperty --forge-badge-background - The background color.
35
24
  * @cssproperty --forge-badge-color - The text color.
36
25
  * @cssproperty --forge-badge-shape - The shape radius.
@@ -45,18 +34,26 @@ declare global {
45
34
  * @slot start - Content placed before the default content.
46
35
  * @slot end - Content placed after the default content.
47
36
  *
37
+ * @state dot - The badge is rendered as a dot.
38
+ * @state strong - The badge has a stronger visual appearance.
39
+ * @state hide - The badge is hidden.
40
+ *
48
41
  * @cssclass forge-badge - The badge class _(required)_.
49
42
  * @cssclass forge-badge--dot - Renders the badge as a dot.
50
43
  * @cssclass forge-badge__icon - Styles a child element as an icon.
51
44
  */
52
- export declare class BadgeComponent extends BaseComponent implements IBadgeComponent {
45
+ export declare class BadgeComponent extends LitElement implements IBadgeComponent {
46
+ #private;
47
+ static styles: import("lit").CSSResult;
53
48
  constructor();
54
- get dot(): boolean;
55
- set dot(value: boolean);
56
- get theme(): BadgeTheme;
57
- set theme(value: BadgeTheme);
58
- get strong(): boolean;
59
- set strong(value: boolean);
60
- get hide(): boolean;
61
- set hide(value: boolean);
49
+ /** Controls whether the badge will be a small dot without any content visible. */
50
+ dot: boolean;
51
+ /** The theme of the badge. */
52
+ theme: BadgeTheme;
53
+ /** Controls whether the badge will have a stronger visual appearance. */
54
+ strong: boolean;
55
+ /** Controls whether the badge is visible. */
56
+ hide: boolean;
57
+ willUpdate(changedProperties: PropertyValues<this>): void;
58
+ render(): TemplateResult;
62
59
  }
@@ -3,27 +3,16 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { __decorate } from "tslib";
7
- import { attachShadowTemplate, customElement } from '@tylertech/forge-core';
8
- import { BaseComponent } from '../core/base/base-component';
9
- import { BADGE_CONSTANTS } from './badge-constants';
10
- const template = '<template><div class=\"forge-badge\" part=\"root\"><slot name=\"start\"></slot><div class=\"content\" part=\"content\"><slot></slot></div><slot name=\"end\"></slot></div></template>';
11
- const styles = ':host{display:flex;box-sizing:border-box}:host([hidden]){display:none}.forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000));--_badge-shape:var(--forge-badge-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));--_badge-height:var(--forge-badge-height, 20px);--_badge-min-width:var(--forge-badge-min-width, 0);--_badge-max-width:var(--forge-badge-max-width, auto);--_badge-padding-inline:var(--forge-badge-padding-inline, var(--forge-spacing-xsmall, 8px));--_badge-padding-block:var(--forge-badge-padding-block, 0);--_badge-border-width:var(--forge-badge-border-width, var(--forge-border-thin, 1px));--_badge-border-style:var(--forge-badge-border-style, none);--_badge-border-color:var(--forge-badge-border-color, var(--_badge-color));--_badge-gap:var(--forge-badge-gap, var(--forge-spacing-xsmall, 8px));--_badge-font-weight:var(--forge-badge-font-weight, bold);--_badge-dot-size:var(--forge-badge-dot-size, 8px);--_badge-dot-height:var(--forge-badge-dot-height, var(--_badge-dot-size));--_badge-dot-width:var(--forge-badge-dot-width, var(--_badge-dot-size));--_badge-dot-padding:var(--forge-badge-dot-padding, 0);--_badge-transition-duration:var(--forge-badge-transition-duration, var(--forge-animation-duration-short4, 200ms));--_badge-transition-easing:var(--forge-badge-transition-easing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)))}.forge-badge{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit);background:var(--_badge-background);color:var(--_badge-color);height:var(--_badge-height);min-width:var(--_badge-min-width);max-width:var(--_badge-max-width);border-width:var(--_badge-border-width);border-style:var(--_badge-border-style);border-color:var(--_badge-border-color);display:inline-flex;align-items:center;gap:var(--_badge-gap);border-radius:var(--_badge-shape);padding-inline:var(--_badge-padding-inline);padding-block:var(--_badge-padding-block);overflow:hidden;box-sizing:border-box;pointer-events:none;transition:transform var(--_badge-transition-duration) var(--_badge-transition-easing);font-weight:var(--_badge-font-weight);text-overflow:ellipsis;white-space:nowrap}.forge-badge .content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::slotted(:is([slot=start],[slot=end])){font-size:inherit}:host([hide]) .forge-badge{transform:scale(0)}:host([dot]) .forge-badge{--_badge-height:var(--_badge-dot-height);--_badge-min-width:var(--forge-badge-min-width, auto);padding:var(--_badge-dot-padding);width:var(--_badge-dot-width)}:host([dot]) .forge-badge>slot{display:none}:host([theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary-container, #d1d5ed));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary-container, #222c62))}:host([strong][theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary, #3f51b5));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary, #ffffff))}:host([theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary-container, #fff0c3));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary-container, #8a6804))}:host([strong][theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000))}:host([theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary-container, #d0d7ff));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary-container, #213189))}:host([strong][theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary, #3d5afe));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success-container, #cde0ce));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success-container, #19441b))}:host([strong][theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success, #2e7d32));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success, #ffffff))}:host([theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning-container, #f4d3c2));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning-container, #712700))}:host([strong][theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning, #d14900));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning, #ffffff))}:host(:not([strong]):is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error-container-low, #f6e0e4));--_badge-color:var(--forge-badge-color, var(--forge-theme-error, #b00020))}:host([strong]:is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error, #b00020));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-error, #ffffff))}:host(:not([strong]):is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info-container, #c7daf0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info-container, #0b3768))}:host([strong]:is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info, #1565c0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info, #ffffff))}:host(:not([strong])[theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-container-low, #ebebeb));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-container-low, #000000))}:host([strong][theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-inverse, #333333));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-inverse, #ffffff))}';
6
+ var _BadgeComponent_internals;
7
+ import { __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib";
8
+ import { html, LitElement, unsafeCSS } from 'lit';
9
+ import { customElement, property } from 'lit/decorators.js';
10
+ const styles = ':host{display:flex;box-sizing:border-box}:host([hidden]){display:none}.forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000));--_badge-shape:var(--forge-badge-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));--_badge-height:var(--forge-badge-height, 20px);--_badge-min-width:var(--forge-badge-min-width, 0);--_badge-max-width:var(--forge-badge-max-width, auto);--_badge-padding-inline:var(--forge-badge-padding-inline, var(--forge-spacing-xsmall, 8px));--_badge-padding-block:var(--forge-badge-padding-block, 0);--_badge-border-width:var(--forge-badge-border-width, var(--forge-border-thin, 1px));--_badge-border-style:var(--forge-badge-border-style, none);--_badge-border-color:var(--forge-badge-border-color, var(--_badge-color));--_badge-gap:var(--forge-badge-gap, var(--forge-spacing-xsmall, 8px));--_badge-font-weight:var(--forge-badge-font-weight, bold);--_badge-dot-size:var(--forge-badge-dot-size, 8px);--_badge-dot-height:var(--forge-badge-dot-height, var(--_badge-dot-size));--_badge-dot-width:var(--forge-badge-dot-width, var(--_badge-dot-size));--_badge-dot-padding:var(--forge-badge-dot-padding, 0);--_badge-transition-duration:var(--forge-badge-transition-duration, var(--forge-animation-duration-short4, 200ms));--_badge-transition-easing:var(--forge-badge-transition-easing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)))}.forge-badge{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit);background:var(--_badge-background);color:var(--_badge-color);height:var(--_badge-height);min-width:var(--_badge-min-width);max-width:var(--_badge-max-width);border-width:var(--_badge-border-width);border-style:var(--_badge-border-style);border-color:var(--_badge-border-color);display:inline-flex;align-items:center;gap:var(--_badge-gap);border-radius:var(--_badge-shape);padding-inline:var(--_badge-padding-inline);padding-block:var(--_badge-padding-block);overflow:hidden;box-sizing:border-box;pointer-events:none;transition:transform var(--_badge-transition-duration) var(--_badge-transition-easing);font-weight:var(--_badge-font-weight);text-overflow:ellipsis;white-space:nowrap}.forge-badge .content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::slotted(:is([slot=start],[slot=end])){font-size:inherit}:host(:where([hide],:state(hidden))) .forge-badge{transform:scale(0)}:host(:where([dot],:state(dot))) .forge-badge{--_badge-height:var(--_badge-dot-height);--_badge-min-width:var(--forge-badge-min-width, auto);padding:var(--_badge-dot-padding);width:var(--_badge-dot-width)}:host(:where([dot],:state(dot))) .content>slot{display:none}:host([theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary-container, #d1d5ed));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary-container, #222c62))}:host(:where([strong],:state(strong))[theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary, #3f51b5));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary, #ffffff))}:host([theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary-container, #fff0c3));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary-container, #8a6804))}:host(:where([strong],:state(strong))[theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000))}:host([theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary-container, #d0d7ff));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary-container, #213189))}:host(:where([strong],:state(strong))[theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary, #3d5afe));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success-container, #cde0ce));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success-container, #19441b))}:host(:where([strong],:state(strong))[theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success, #2e7d32));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success, #ffffff))}:host([theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning-container, #f4d3c2));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning-container, #712700))}:host(:where([strong],:state(strong))[theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning, #d14900));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning, #ffffff))}:host(:not(:where([strong],:state(strong))):is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error-container-low, #f6e0e4));--_badge-color:var(--forge-badge-color, var(--forge-theme-error, #b00020))}:host(:where([strong],:state(strong)):is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error, #b00020));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-error, #ffffff))}:host(:not(:where([strong],:state(strong))):is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info-container, #c7daf0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info-container, #0b3768))}:host(:where([strong],:state(strong)):is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info, #1565c0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info, #ffffff))}:host(:not(:where([strong],:state(strong)))[theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-container-low, #ebebeb));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-container-low, #000000))}:host(:where([strong],:state(strong))[theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-inverse, #333333));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-inverse, #ffffff))}';
11
+ import { toggleState } from '../core';
12
+ export const BADGE_TAG_NAME = 'forge-badge';
12
13
  /**
13
14
  * @tag forge-badge
14
15
  *
15
- * @summary Badges are non-interactive components used to inform status, counts, or as a descriptive label.
16
- *
17
- * @property {boolean} [dot=false] - Controls whether the badge will be a small dot without any content visible.
18
- * @property {BadgeTheme} [theme="default"] - The theme of the badge.
19
- * @property {boolean} [strong=false] - Controls whether the badge will have a stronger visual appearance.
20
- * @property {boolean} [hide=false] - Controls whether the badge is visible.
21
- *
22
- * @attribute {boolean} [dot=false] - When present, the badge will be a small dot without any content visible.
23
- * @attribute {BadgeTheme} [theme="default"] - The theme of the badge.
24
- * @attribute {boolean} [strong=false] - Controls whether the badge will have a stronger visual appearance.
25
- * @attribute {boolean} [hide=false] - Controls whether the badge is visible.
26
- *
27
16
  * @cssproperty --forge-badge-background - The background color.
28
17
  * @cssproperty --forge-badge-color - The text color.
29
18
  * @cssproperty --forge-badge-shape - The shape radius.
@@ -38,45 +27,66 @@ const styles = ':host{display:flex;box-sizing:border-box}:host([hidden]){display
38
27
  * @slot start - Content placed before the default content.
39
28
  * @slot end - Content placed after the default content.
40
29
  *
30
+ * @state dot - The badge is rendered as a dot.
31
+ * @state strong - The badge has a stronger visual appearance.
32
+ * @state hide - The badge is hidden.
33
+ *
41
34
  * @cssclass forge-badge - The badge class _(required)_.
42
35
  * @cssclass forge-badge--dot - Renders the badge as a dot.
43
36
  * @cssclass forge-badge__icon - Styles a child element as an icon.
44
37
  */
45
- let BadgeComponent = class BadgeComponent extends BaseComponent {
38
+ let BadgeComponent = class BadgeComponent extends LitElement {
46
39
  constructor() {
47
40
  super();
48
- attachShadowTemplate(this, template, styles);
49
- }
50
- get dot() {
51
- return this.hasAttribute(BADGE_CONSTANTS.attributes.DOT);
52
- }
53
- set dot(value) {
54
- this.toggleAttribute(BADGE_CONSTANTS.attributes.DOT, value);
55
- }
56
- get theme() {
57
- return this.getAttribute(BADGE_CONSTANTS.attributes.THEME) ?? BADGE_CONSTANTS.defaults.THEME;
41
+ _BadgeComponent_internals.set(this, void 0);
42
+ /** Controls whether the badge will be a small dot without any content visible. */
43
+ this.dot = false;
44
+ /** The theme of the badge. */
45
+ this.theme = 'default';
46
+ /** Controls whether the badge will have a stronger visual appearance. */
47
+ this.strong = false;
48
+ /** Controls whether the badge is visible. */
49
+ this.hide = false;
50
+ __classPrivateFieldSet(this, _BadgeComponent_internals, this.attachInternals(), "f");
58
51
  }
59
- set theme(value) {
60
- this.setAttribute(BADGE_CONSTANTS.attributes.THEME, value);
61
- }
62
- get strong() {
63
- return this.hasAttribute(BADGE_CONSTANTS.attributes.STRONG);
64
- }
65
- set strong(value) {
66
- this.toggleAttribute(BADGE_CONSTANTS.attributes.STRONG, value);
67
- }
68
- get hide() {
69
- return this.hasAttribute(BADGE_CONSTANTS.attributes.HIDE);
70
- }
71
- set hide(value) {
72
- if (this.hasAttribute(BADGE_CONSTANTS.attributes.HIDE) !== value) {
73
- this.toggleAttribute(BADGE_CONSTANTS.attributes.HIDE, value);
52
+ willUpdate(changedProperties) {
53
+ if (changedProperties.has('dot')) {
54
+ toggleState(__classPrivateFieldGet(this, _BadgeComponent_internals, "f"), 'dot', this.dot);
74
55
  }
56
+ if (changedProperties.has('strong')) {
57
+ toggleState(__classPrivateFieldGet(this, _BadgeComponent_internals, "f"), 'strong', this.strong);
58
+ }
59
+ if (changedProperties.has('hide')) {
60
+ toggleState(__classPrivateFieldGet(this, _BadgeComponent_internals, "f"), 'hide', this.hide);
61
+ }
62
+ }
63
+ render() {
64
+ return html `
65
+ <div class="forge-badge" part="root">
66
+ <slot name="start"></slot>
67
+ <div class="content" part="content">
68
+ <slot></slot>
69
+ </div>
70
+ <slot name="end"></slot>
71
+ </div>
72
+ `;
75
73
  }
76
74
  };
75
+ _BadgeComponent_internals = new WeakMap();
76
+ BadgeComponent.styles = unsafeCSS(styles);
77
+ __decorate([
78
+ property({ type: Boolean, reflect: true })
79
+ ], BadgeComponent.prototype, "dot", void 0);
80
+ __decorate([
81
+ property({ type: String, reflect: true })
82
+ ], BadgeComponent.prototype, "theme", void 0);
83
+ __decorate([
84
+ property({ type: Boolean, reflect: true })
85
+ ], BadgeComponent.prototype, "strong", void 0);
86
+ __decorate([
87
+ property({ type: Boolean, reflect: true })
88
+ ], BadgeComponent.prototype, "hide", void 0);
77
89
  BadgeComponent = __decorate([
78
- customElement({
79
- name: BADGE_CONSTANTS.elementName
80
- })
90
+ customElement(BADGE_TAG_NAME)
81
91
  ], BadgeComponent);
82
92
  export { BadgeComponent };
@@ -3,11 +3,11 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { defineCustomElement } from '@tylertech/forge-core';
7
- import { BadgeComponent } from './badge';
6
+ import { tryDefine } from '@tylertech/forge-core';
7
+ import { BADGE_TAG_NAME, BadgeComponent } from './badge';
8
8
  export * from './badge-component-delegate';
9
9
  export * from './badge-constants';
10
10
  export * from './badge';
11
11
  export function defineBadgeComponent() {
12
- defineCustomElement(BadgeComponent);
12
+ tryDefine(BADGE_TAG_NAME, BadgeComponent);
13
13
  }
@@ -40,7 +40,7 @@ export declare const BOTTOM_SHEET_CONSTANTS: {
40
40
  FULLSCREEN: string;
41
41
  };
42
42
  defaults: {
43
- mode: DialogMode;
43
+ mode: BottomSheetMode;
44
44
  };
45
45
  };
46
46
  export interface IBottomSheetDragEventData {
@@ -4,8 +4,10 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { BaseComponent, IBaseComponent } from '../core/base/base-component';
7
+ import { IWithDefaultAria } from '../core/mixins/internals/with-default-aria';
8
+ import { IWithElementInternals } from '../core/mixins/internals/with-element-internals';
7
9
  import { BottomSheetMode, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';
8
- export interface IBottomSheetComponent extends IBaseComponent {
10
+ export interface IBottomSheetComponent extends IBaseComponent, IWithDefaultAria, IWithElementInternals {
9
11
  mode: BottomSheetMode;
10
12
  persistent: boolean;
11
13
  open: boolean;
@@ -14,7 +14,7 @@ import { BUTTON_CONSTANTS } from './button-constants';
14
14
  import { ButtonCore } from './button-core';
15
15
  import { BASE_BUTTON_CONSTANTS } from './base/base-button-constants';
16
16
  const template = '<template><div class=\"forge-button\" part=\"root\"><slot name=\"start\"></slot><slot></slot><slot name=\"end\"></slot><forge-focus-indicator target=\":host\" part=\"focus-indicator\"></forge-focus-indicator><forge-state-layer target=\":host\" exportparts=\"surface:state-layer\"></forge-state-layer></div></template>';
17
- const styles = ':host{--_button-display:var(--forge-button-display, inline-flex);--_button-disabled-cursor:var(--forge-button-disabled-cursor, not-allowed)}:host{display:var(--_button-display);position:relative;outline:0;vertical-align:middle;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-primary, #3f51b5));--_button-text-color:var(--forge-button-text-color, var(--_button-primary-color));--_button-disabled-color:var(--forge-button-disabled-color, var(--forge-theme-surface-container, #e0e0e0));--_button-padding:var(--forge-button-padding, var(--forge-spacing-medium, 16px));--_button-justify:var(--forge-button-justify, center);--_button-shape:var(--forge-button-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_button-height:var(--forge-button-height, 36px);--_button-min-width:var(--forge-button-min-width, 64px);--_button-spacing:var(--forge-button-spacing, var(--forge-spacing-xsmall, 8px));--_button-border-width:var(--forge-button-border-width, medium);--_button-border-style:var(--forge-button-border-style, none);--_button-border-color:var(--forge-button-border-color, currentColor);--_button-shape-start-start-radius:var(--forge-button-shape-start-start-radius, var(--_button-shape));--_button-shape-start-end-radius:var(--forge-button-shape-start-end-radius, var(--_button-shape));--_button-shape-end-start-radius:var(--forge-button-shape-end-start-radius, var(--_button-shape));--_button-shape-end-end-radius:var(--forge-button-shape-end-end-radius, var(--_button-shape));--_button-padding-block:var(--forge-button-padding-block, var(--_button-padding));--_button-padding-inline:var(--forge-button-padding-inline, var(--_button-padding));--_button-background:var(--forge-button-background, transparent);--_button-hover-background:var(--forge-button-hover-background, var(--_button-background));--_button-active-background:var(--forge-button-active-background, var(--_button-background));--_button-color:var(--forge-button-color, var(--_button-text-color));--_button-icon-size:var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));--_button-shadow:var(--forge-button-shadow, none);--_button-hover-shadow:var(--forge-button-hover-shadow, none);--_button-active-shadow:var(--forge-button-active-shadow, none);--_button-cursor:var(--forge-button-cursor, pointer);--_button-transition-duration:var(--forge-button-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-transition-timing:var(--forge-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-text-padding-inline:var(--forge-button-text-padding-inline, var(--forge-spacing-xsmall, 8px));--_button-outlined-background:var(--forge-button-outlined-background, transparent);--_button-outlined-color:var(--forge-button-outlined-color, var(--_button-primary-color));--_button-outlined-border-width:var(--forge-button-outlined-border-width, var(--forge-border-thin, 1px));--_button-outlined-border-style:var(--forge-button-outlined-border-style, solid);--_button-outlined-border-color:var(--forge-button-outlined-border-color, var(--_button-primary-color));--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-primary-container, #d1d5ed));--_button-tonal-disabled-background:var(--forge-button-tonal-disabled-background, var(--_button-disabled-color));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-primary-container, #222c62));--_button-tonal-disabled-color:var(--forge-button-tonal-disabled-color, var(--_button-disabled-text-color));--_button-filled-background:var(--forge-button-filled-background, var(--_button-primary-color));--_button-filled-disabled-background:var(--forge-button-filled-disabled-background, var(--_button-disabled-color));--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-primary, #ffffff));--_button-filled-disabled-color:var(--forge-button-filled-disabled-color, var(--_button-disabled-text-color));--_button-raised-background:var(--forge-button-raised-background, var(--_button-primary-color));--_button-raised-disabled-background:var(--forge-button-raised-disabled-background, var(--_button-disabled-color));--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-primary, #ffffff));--_button-raised-disabled-color:var(--forge-button-raised-disabled-color, var(--_button-disabled-text-color));--_button-raised-shadow:var(--forge-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));--_button-raised-hover-shadow:var(--forge-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_button-raised-active-shadow:var(--forge-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));--_button-raised-disabled-shadow:var(--forge-button-raised-disabled-shadow, none);--_button-link-color:var(--forge-button-link-color, var(--_button-primary-color));--_button-link-text-decoration:var(--forge-button-link-text-decoration, underline);--_button-link-height:var(--forge-button-link-height, auto);--_button-link-padding:var(--forge-button-link-padding, 0);--_button-link-line-height:var(--forge-button-link-line-height, normal);--_button-link-width:var(--forge-button-link-width, auto);--_button-link-hover-text-decoration:var(--forge-button-link-hover-text-decoration, none);--_button-link-active-opacity:var(--forge-button-link-active-opacity, 0.65);--_button-link-transition-duration:var(--forge-button-link-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-link-transition-timing:var(--forge-button-link-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-disabled-text-color:var(--forge-button-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_button-disabled-background:var(--forge-button-disabled-background, transparent);--_button-disabled-border-color:var(--forge-button-disabled-border-color, var(--_button-disabled-color));--_button-disabled-shadow:var(--forge-button-disabled-shadow, none);--_button-dense-height:var(--forge-button-dense-height, 24px);--_button-pill-shape:var(--forge-button-pill-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));--_button-pill-padding-inline:var(--forge-button-pill-padding-inline, var(--forge-spacing-small, 12px));--_button-focus-indicator-offset:var(--forge-button-focus-indicator-offset, 4px);--_button-text-focus-indicator-offset:var(--forge-button-text-focus-indicator-offset, 0px);--_button-link-focus-indicator-offset:var(--forge-button-link-focus-indicator-offset, 2px);--_button-popover-icon-transition-duration:var(--forge-button-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-popover-icon-transition-timing:var(--forge-button-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-popover-icon-open-rotation:var(--forge-button-popover-icon-open-rotation, 180deg)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);position:relative;display:var(--_button-display);align-items:center;justify-content:var(--_button-justify);gap:var(--_button-spacing);z-index:0;box-sizing:border-box;min-inline-size:var(--_button-min-width);height:var(--_button-height);inline-size:100%;border-width:var(--_button-border-width);border-style:var(--_button-border-style);border-color:var(--_button-border-color);border-start-start-radius:var(--_button-shape-start-start-radius);border-start-end-radius:var(--_button-shape-start-end-radius);border-end-start-radius:var(--_button-shape-end-start-radius);border-end-end-radius:var(--_button-shape-end-end-radius);padding-block:var(--_button-padding-block);padding-inline:var(--_button-padding-inline);box-shadow:var(--_button-shadow);outline:0;user-select:none;-webkit-appearance:none;vertical-align:middle;text-decoration:none;white-space:nowrap;background:var(--_button-background);color:var(--_button-color);cursor:var(--_button-cursor);transition-property:box-shadow,background;transition-duration:var(--_button-transition-duration);transition-timing-function:var(--_button-transition-timing)}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:hover{--_button-shadow:var(--_button-hover-shadow);background:var(--_button-hover-background)}.forge-button:active{--_button-shadow:var(--_button-active-shadow);background:var(--_button-active-background)}.forge-button ::slotted(:is([slot=start],[slot=end])){font-size:var(--_button-icon-size)}.with-anchor{display:flex;justify-content:stretch;align-items:stretch;padding:0}::slotted(a){display:flex;align-items:center;justify-content:center;gap:var(--_button-spacing);width:100%;padding:var(--_button-padding);color:var(--_button-color);outline:0;border-radius:var(--_button-shape);text-decoration:none;--forge-icon-font-size:var(--_button-icon-size)}:host([variant=link]) ::slotted(a){position:relative;inset:auto}forge-state-layer{--forge-state-layer-color:var(--_button-color)}forge-focus-indicator{--forge-focus-indicator-color:var(--_button-primary-color);--forge-focus-indicator-outward-offset:var(--_button-focus-indicator-offset)}:host([theme=secondary]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-secondary, #ffc107))}:host([theme=secondary][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-secondary-container, #fff0c3));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-secondary-container, #8a6804))}:host([theme=tertiary]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-tertiary, #3d5afe))}:host([theme=tertiary][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-tertiary-container, #d0d7ff));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-tertiary-container, #213189))}:host([theme=success]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-success, #2e7d32))}:host([theme=success][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-success-container, #cde0ce));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-success-container, #19441b))}:host([theme=error]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-error, #b00020))}:host([theme=error][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-error-container, #ecc2c9));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-error-container, #5f0011))}:host([theme=warning]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-warning, #d14900))}:host([theme=warning][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-warning-container, #f4d3c2));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-warning-container, #712700))}:host([theme=info]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-info, #1565c0))}:host([theme=info][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-info-container, #c7daf0));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-info-container, #0b3768))}:host(:where(:not([variant]),[variant=text])) .forge-button{--_button-padding-inline:var(--_button-text-padding-inline)}:host([variant=filled]) .forge-button{--_button-background:var(--_button-filled-background);--_button-color:var(--_button-filled-color)}:host([variant=filled]) forge-state-layer{--forge-state-layer-color:var(--_button-filled-color)}:host([variant=raised]) .forge-button{--_button-background:var(--_button-raised-background);--_button-color:var(--_button-raised-color);--_button-shadow:var(--_button-raised-shadow)}:host([variant=raised]) .forge-button:hover{--_button-shadow:var(--_button-raised-hover-shadow)}:host([variant=raised]) .forge-button:active{--_button-shadow:var(--_button-raised-active-shadow)}:host([variant=raised]) forge-state-layer{--forge-state-layer-color:var(--_button-raised-color)}:host([variant=tonal]) .forge-button{--_button-background:var(--_button-tonal-background);--_button-color:var(--_button-tonal-color)}:host([variant=tonal]) forge-state-layer{--forge-state-layer-color:var(--_button-tonal-color)}:host([variant=outlined]) .forge-button{--_button-background:var(--_button-outlined-background);--_button-color:var(--_button-outlined-color);--_button-border-width:var(--_button-outlined-border-width);--_button-border-style:var(--_button-outlined-border-style);--_button-border-color:var(--_button-outlined-border-color)}:host([variant=link]) .forge-button{--_button-color:var(--_button-link-color);--_button-height:var(--_button-link-height);--_button-padding:var(--_button-link-padding);--_button-focus-indicator-offset:var(--_button-link-focus-indicator-offset);text-decoration:var(--_button-link-text-decoration);line-height:var(--_button-link-line-height);transition:opacity var(--_button-link-transition-duration) var(--_button-link-transition-timing);inline-size:var(--_button-link-width)}:host([variant=link]) .forge-button:hover{text-decoration:var(--_button-link-hover-text-decoration)}:host([variant=link]) .forge-button:active{opacity:var(--_button-link-active-opacity)}:host([full-width]){width:100%}:host([dense]) .forge-button{--_button-height:var(--_button-dense-height)}:host([pill]) .forge-button{--_button-shape:var(--_button-pill-shape);--_button-padding-inline:var(--_button-pill-padding-inline)}:host([pill]) forge-focus-indicator{--forge-focus-indicator-shape:var(--_button-pill-shape)}:host(:not([anchor])[disabled]){cursor:var(--_button-disabled-cursor)}:host(:not([anchor])[disabled]) .forge-button{--_button-background:var(--_button-disabled-background);--_button-color:var(--_button-disabled-text-color);--_button-shadow:var(--_button-disabled-shadow);pointer-events:none}:host(:not([anchor])[variant=outlined][disabled]) .forge-button{--_button-border-color:var(--_button-disabled-border-color)}:host(:not([anchor])[variant=tonal][disabled]) .forge-button{--_button-background:var(--_button-tonal-disabled-background);--_button-color:var(--_button-tonal-disabled-color)}:host(:not([anchor])[variant=filled][disabled]) .forge-button{--_button-background:var(--_button-filled-disabled-background);--_button-color:var(--_button-filled-disabled-color)}:host(:not([anchor])[variant=raised][disabled]) .forge-button{--_button-background:var(--_button-raised-disabled-background);--_button-color:var(--_button-raised-disabled-color);--_button-shadow:var(--_button-raised-disabled-shadow)}:host([popover-icon]) .forge-button__popover-icon{transition:rotate var(--_button-popover-icon-transition-duration) var(--_button-popover-icon-transition-timing)}:host([popover-icon][aria-expanded=true]) .forge-button__popover-icon{rotate:var(--_button-popover-icon-open-rotation)}::slotted(forge-circular-progress){--forge-circular-progress-indicator-color:var(--_button-color);--forge-circular-progress-track-color:transparent;--forge-circular-progress-size:1em}';
17
+ const styles = ':host{--_button-display:var(--forge-button-display, inline-grid);--_button-disabled-cursor:var(--forge-button-disabled-cursor, not-allowed)}:host{display:var(--_button-display);position:relative;outline:0;vertical-align:middle;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-primary, #3f51b5));--_button-text-color:var(--forge-button-text-color, var(--_button-primary-color));--_button-disabled-color:var(--forge-button-disabled-color, var(--forge-theme-surface-container, #e0e0e0));--_button-padding:var(--forge-button-padding, var(--forge-spacing-medium, 16px));--_button-justify:var(--forge-button-justify, center);--_button-shape:var(--forge-button-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_button-height:var(--forge-button-height, 36px);--_button-min-width:var(--forge-button-min-width, 64px);--_button-spacing:var(--forge-button-spacing, var(--forge-spacing-xsmall, 8px));--_button-border-width:var(--forge-button-border-width, medium);--_button-border-style:var(--forge-button-border-style, none);--_button-border-color:var(--forge-button-border-color, currentColor);--_button-shape-start-start-radius:var(--forge-button-shape-start-start-radius, var(--_button-shape));--_button-shape-start-end-radius:var(--forge-button-shape-start-end-radius, var(--_button-shape));--_button-shape-end-start-radius:var(--forge-button-shape-end-start-radius, var(--_button-shape));--_button-shape-end-end-radius:var(--forge-button-shape-end-end-radius, var(--_button-shape));--_button-padding-block:var(--forge-button-padding-block, var(--_button-0));--_button-padding-inline:var(--forge-button-padding-inline, var(--_button-padding));--_button-background:var(--forge-button-background, transparent);--_button-hover-background:var(--forge-button-hover-background, var(--_button-background));--_button-active-background:var(--forge-button-active-background, var(--_button-background));--_button-color:var(--forge-button-color, var(--_button-text-color));--_button-icon-size:var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));--_button-shadow:var(--forge-button-shadow, none);--_button-hover-shadow:var(--forge-button-hover-shadow, none);--_button-active-shadow:var(--forge-button-active-shadow, none);--_button-cursor:var(--forge-button-cursor, pointer);--_button-transition-duration:var(--forge-button-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-transition-timing:var(--forge-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-text-padding-inline:var(--forge-button-text-padding-inline, var(--forge-spacing-xsmall, 8px));--_button-outlined-background:var(--forge-button-outlined-background, transparent);--_button-outlined-color:var(--forge-button-outlined-color, var(--_button-primary-color));--_button-outlined-border-width:var(--forge-button-outlined-border-width, var(--forge-border-thin, 1px));--_button-outlined-border-style:var(--forge-button-outlined-border-style, solid);--_button-outlined-border-color:var(--forge-button-outlined-border-color, var(--_button-primary-color));--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-primary-container, #d1d5ed));--_button-tonal-disabled-background:var(--forge-button-tonal-disabled-background, var(--_button-disabled-color));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-primary-container, #222c62));--_button-tonal-disabled-color:var(--forge-button-tonal-disabled-color, var(--_button-disabled-text-color));--_button-filled-background:var(--forge-button-filled-background, var(--_button-primary-color));--_button-filled-disabled-background:var(--forge-button-filled-disabled-background, var(--_button-disabled-color));--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-primary, #ffffff));--_button-filled-disabled-color:var(--forge-button-filled-disabled-color, var(--_button-disabled-text-color));--_button-raised-background:var(--forge-button-raised-background, var(--_button-primary-color));--_button-raised-disabled-background:var(--forge-button-raised-disabled-background, var(--_button-disabled-color));--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-primary, #ffffff));--_button-raised-disabled-color:var(--forge-button-raised-disabled-color, var(--_button-disabled-text-color));--_button-raised-shadow:var(--forge-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));--_button-raised-hover-shadow:var(--forge-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_button-raised-active-shadow:var(--forge-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));--_button-raised-disabled-shadow:var(--forge-button-raised-disabled-shadow, none);--_button-link-color:var(--forge-button-link-color, var(--_button-primary-color));--_button-link-text-decoration:var(--forge-button-link-text-decoration, underline);--_button-link-height:var(--forge-button-link-height, auto);--_button-link-padding:var(--forge-button-link-padding, 0);--_button-link-line-height:var(--forge-button-link-line-height, normal);--_button-link-width:var(--forge-button-link-width, auto);--_button-link-hover-text-decoration:var(--forge-button-link-hover-text-decoration, none);--_button-link-active-opacity:var(--forge-button-link-active-opacity, 0.65);--_button-link-transition-duration:var(--forge-button-link-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-link-transition-timing:var(--forge-button-link-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-disabled-text-color:var(--forge-button-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_button-disabled-background:var(--forge-button-disabled-background, transparent);--_button-disabled-border-color:var(--forge-button-disabled-border-color, var(--_button-disabled-color));--_button-disabled-shadow:var(--forge-button-disabled-shadow, none);--_button-dense-height:var(--forge-button-dense-height, 24px);--_button-pill-shape:var(--forge-button-pill-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));--_button-pill-padding-inline:var(--forge-button-pill-padding-inline, var(--forge-spacing-small, 12px));--_button-focus-indicator-offset:var(--forge-button-focus-indicator-offset, 4px);--_button-text-focus-indicator-offset:var(--forge-button-text-focus-indicator-offset, 0px);--_button-link-focus-indicator-offset:var(--forge-button-link-focus-indicator-offset, 2px);--_button-popover-icon-transition-duration:var(--forge-button-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-popover-icon-transition-timing:var(--forge-button-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-popover-icon-open-rotation:var(--forge-button-popover-icon-open-rotation, 180deg)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);position:relative;display:var(--_button-display);grid-auto-flow:column;align-items:center;justify-content:var(--_button-justify);gap:var(--_button-spacing);z-index:0;box-sizing:border-box;min-inline-size:var(--_button-min-width);height:var(--_button-height);inline-size:100%;border-width:var(--_button-border-width);border-style:var(--_button-border-style);border-color:var(--_button-border-color);border-start-start-radius:var(--_button-shape-start-start-radius);border-start-end-radius:var(--_button-shape-start-end-radius);border-end-start-radius:var(--_button-shape-end-start-radius);border-end-end-radius:var(--_button-shape-end-end-radius);padding-block:var(--_button-padding-block);padding-inline:var(--_button-padding-inline);box-shadow:var(--_button-shadow);outline:0;user-select:none;-webkit-appearance:none;vertical-align:middle;text-decoration:none;white-space:nowrap;background:var(--_button-background);color:var(--_button-color);cursor:var(--_button-cursor);transition-property:box-shadow,background;transition-duration:var(--_button-transition-duration);transition-timing-function:var(--_button-transition-timing)}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:hover{--_button-shadow:var(--_button-hover-shadow);background:var(--_button-hover-background)}.forge-button:active{--_button-shadow:var(--_button-active-shadow);background:var(--_button-active-background)}.forge-button ::slotted(:is([slot=start],[slot=end])){font-size:var(--_button-icon-size)}.with-anchor{display:flex;justify-content:stretch;align-items:stretch;padding:0}::slotted(a){display:flex;align-items:center;justify-content:center;gap:var(--_button-spacing);width:100%;padding:var(--_button-padding);color:var(--_button-color);outline:0;border-radius:var(--_button-shape);text-decoration:none;--forge-icon-font-size:var(--_button-icon-size)}:host([variant=link]) ::slotted(a){position:relative;inset:auto}forge-state-layer{--forge-state-layer-color:var(--_button-color)}forge-focus-indicator{--forge-focus-indicator-color:var(--_button-primary-color);--forge-focus-indicator-outward-offset:var(--_button-focus-indicator-offset)}:host([theme=secondary]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-secondary, #ffc107))}:host([theme=secondary][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-secondary-container, #fff0c3));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-secondary-container, #8a6804))}:host([theme=tertiary]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-tertiary, #3d5afe))}:host([theme=tertiary][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-tertiary-container, #d0d7ff));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-tertiary-container, #213189))}:host([theme=success]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-success, #2e7d32))}:host([theme=success][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-success-container, #cde0ce));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-success-container, #19441b))}:host([theme=error]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-error, #b00020))}:host([theme=error][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-error-container, #ecc2c9));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-error-container, #5f0011))}:host([theme=warning]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-warning, #d14900))}:host([theme=warning][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-warning-container, #f4d3c2));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-warning-container, #712700))}:host([theme=info]) .forge-button{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-info, #1565c0))}:host([theme=info][variant=filled]) .forge-button{--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info][variant=raised]) .forge-button{--_button-raised-color:var(--forge-button-raised-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info][variant=tonal]) .forge-button{--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-info-container, #c7daf0));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-info-container, #0b3768))}:host(:where(:not([variant]),[variant=text])) .forge-button{--_button-padding-inline:var(--_button-text-padding-inline)}:host([variant=filled]) .forge-button{--_button-background:var(--_button-filled-background);--_button-color:var(--_button-filled-color)}:host([variant=filled]) forge-state-layer{--forge-state-layer-color:var(--_button-filled-color)}:host([variant=raised]) .forge-button{--_button-background:var(--_button-raised-background);--_button-color:var(--_button-raised-color);--_button-shadow:var(--_button-raised-shadow)}:host([variant=raised]) .forge-button:hover{--_button-shadow:var(--_button-raised-hover-shadow)}:host([variant=raised]) .forge-button:active{--_button-shadow:var(--_button-raised-active-shadow)}:host([variant=raised]) forge-state-layer{--forge-state-layer-color:var(--_button-raised-color)}:host([variant=tonal]) .forge-button{--_button-background:var(--_button-tonal-background);--_button-color:var(--_button-tonal-color)}:host([variant=tonal]) forge-state-layer{--forge-state-layer-color:var(--_button-tonal-color)}:host([variant=outlined]) .forge-button{--_button-background:var(--_button-outlined-background);--_button-color:var(--_button-outlined-color);--_button-border-width:var(--_button-outlined-border-width);--_button-border-style:var(--_button-outlined-border-style);--_button-border-color:var(--_button-outlined-border-color)}:host([variant=link]) .forge-button{--_button-color:var(--_button-link-color);--_button-height:var(--_button-link-height);--_button-padding:var(--_button-link-padding);--_button-focus-indicator-offset:var(--_button-link-focus-indicator-offset);text-decoration:var(--_button-link-text-decoration);line-height:var(--_button-link-line-height);transition:opacity var(--_button-link-transition-duration) var(--_button-link-transition-timing);inline-size:var(--_button-link-width)}:host([variant=link]) .forge-button:hover{text-decoration:var(--_button-link-hover-text-decoration)}:host([variant=link]) .forge-button:active{opacity:var(--_button-link-active-opacity)}:host([full-width]){width:100%}:host([dense]) .forge-button{--_button-height:var(--_button-dense-height)}:host([pill]) .forge-button{--_button-shape:var(--_button-pill-shape);--_button-padding-inline:var(--_button-pill-padding-inline)}:host([pill]) forge-focus-indicator{--forge-focus-indicator-shape:var(--_button-pill-shape)}:host(:not([anchor])[disabled]){cursor:var(--_button-disabled-cursor)}:host(:not([anchor])[disabled]) .forge-button{--_button-background:var(--_button-disabled-background);--_button-color:var(--_button-disabled-text-color);--_button-shadow:var(--_button-disabled-shadow);pointer-events:none}:host(:not([anchor])[variant=outlined][disabled]) .forge-button{--_button-border-color:var(--_button-disabled-border-color)}:host(:not([anchor])[variant=tonal][disabled]) .forge-button{--_button-background:var(--_button-tonal-disabled-background);--_button-color:var(--_button-tonal-disabled-color)}:host(:not([anchor])[variant=filled][disabled]) .forge-button{--_button-background:var(--_button-filled-disabled-background);--_button-color:var(--_button-filled-disabled-color)}:host(:not([anchor])[variant=raised][disabled]) .forge-button{--_button-background:var(--_button-raised-disabled-background);--_button-color:var(--_button-raised-disabled-color);--_button-shadow:var(--_button-raised-disabled-shadow)}:host([popover-icon]) .forge-button__popover-icon{transition:rotate var(--_button-popover-icon-transition-duration) var(--_button-popover-icon-transition-timing)}:host([popover-icon][aria-expanded=true]) .forge-button__popover-icon{rotate:var(--_button-popover-icon-open-rotation)}::slotted(forge-circular-progress){--forge-circular-progress-indicator-color:var(--_button-color);--forge-circular-progress-track-color:transparent;--forge-circular-progress-size:1em}';
18
18
  /**
19
19
  * @tag forge-button
20
20
  *
@@ -4,7 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { getShadowElement } from '@tylertech/forge-core';
7
- import { getFormState, getFormValue, getValidationMessage, internals, isFocusable } from '../../constants';
7
+ import { getFormState, getFormValue, getValidationMessage, internals } from '../../constants';
8
8
  import { BaseAdapter } from '../../core/base/base-adapter';
9
9
  import { BUTTON_TOGGLE_CONSTANTS } from '../button-toggle/button-toggle-constants';
10
10
  import { BUTTON_TOGGLE_GROUP_CONSTANTS } from './button-toggle-group-constants';
@@ -31,7 +31,6 @@ export class ButtonToggleGroupAdapter extends BaseAdapter {
31
31
  toggles.filter(t => t !== selectedToggle).forEach(t => (t.selected = false));
32
32
  }
33
33
  setDisabled(value) {
34
- this._component[isFocusable] = !value;
35
34
  const toggles = this._getButtonToggleElements();
36
35
  toggles.forEach(t => (t.disabled = value));
37
36
  }