@tylertech/forge 3.7.0 → 3.8.0-dev.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.
Files changed (112) hide show
  1. package/custom-elements.json +366 -322
  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.css-custom-data.json +20 -20
  8. package/dist/vscode.html-custom-data.json +23 -44
  9. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +4 -5
  10. package/esm/app-bar/notification-button/app-bar-notification-button.js +6 -3
  11. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  12. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  13. package/esm/avatar/avatar-constants.d.ts +1 -0
  14. package/esm/avatar/avatar-constants.js +1 -0
  15. package/esm/avatar/avatar.d.ts +1 -1
  16. package/esm/avatar/avatar.js +1 -1
  17. package/esm/badge/badge-component-delegate.js +1 -2
  18. package/esm/badge/badge-constants.d.ts +1 -0
  19. package/esm/badge/badge-constants.js +1 -0
  20. package/esm/badge/badge.d.ts +20 -23
  21. package/esm/badge/badge.js +57 -47
  22. package/esm/badge/index.js +3 -3
  23. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +1 -1
  24. package/esm/bottom-sheet/bottom-sheet.d.ts +3 -1
  25. package/esm/button/button.js +1 -1
  26. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +1 -2
  27. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +6 -6
  28. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +6 -6
  29. package/esm/card/card-constants.d.ts +1 -0
  30. package/esm/card/card-constants.js +1 -0
  31. package/esm/card/card.d.ts +12 -13
  32. package/esm/card/card.js +25 -34
  33. package/esm/card/index.js +3 -3
  34. package/esm/checkbox/checkbox.d.ts +5 -1
  35. package/esm/chips/chip/chip-constants.d.ts +1 -1
  36. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  37. package/esm/core/mask/date-input-mask.d.ts +3 -3
  38. package/esm/core/mask/date-input-mask.js +7 -8
  39. package/esm/core/mask/intermediate-time-parser.d.ts +2 -2
  40. package/esm/core/mask/intermediate-time-parser.js +2 -3
  41. package/esm/core/mask/time-input-mask.d.ts +3 -3
  42. package/esm/core/mask/time-input-mask.js +4 -5
  43. package/esm/core/mixins/label/with-label-aware.d.ts +4 -1
  44. package/esm/core/utils/a11y-utils.d.ts +0 -8
  45. package/esm/core/utils/a11y-utils.js +5 -25
  46. package/esm/core/utils/dismissible-stack.d.ts +7 -0
  47. package/esm/core/utils/position-utils.d.ts +1 -2
  48. package/esm/core/utils/position-utils.js +7 -22
  49. package/esm/core/utils/utils.d.ts +8 -0
  50. package/esm/core/utils/utils.js +26 -1
  51. package/esm/date-picker/base/base-date-picker-constants.d.ts +2 -2
  52. package/esm/deprecated/button/deprecated-button.js +1 -1
  53. package/esm/dialog/dialog-core.js +2 -2
  54. package/esm/dialog/dialog.d.ts +2 -0
  55. package/esm/dialog/dialog.js +1 -1
  56. package/esm/expansion-panel/expansion-panel-adapter.d.ts +31 -0
  57. package/esm/expansion-panel/expansion-panel-adapter.js +60 -1
  58. package/esm/expansion-panel/expansion-panel-constants.d.ts +4 -0
  59. package/esm/expansion-panel/expansion-panel-constants.js +4 -1
  60. package/esm/expansion-panel/expansion-panel-core.d.ts +13 -1
  61. package/esm/expansion-panel/expansion-panel-core.js +63 -1
  62. package/esm/expansion-panel/expansion-panel.d.ts +9 -0
  63. package/esm/expansion-panel/expansion-panel.js +14 -0
  64. package/esm/floating-action-button/floating-action-button-constants.d.ts +1 -1
  65. package/esm/icon/icon-constants.d.ts +1 -1
  66. package/esm/icon/icon-registry.d.ts +6 -0
  67. package/esm/icon-button/icon-button-constants.d.ts +1 -1
  68. package/esm/label/label-adapter.js +1 -1
  69. package/esm/list/list-item/list-item.js +1 -1
  70. package/esm/meter/meter/meter.js +2 -1
  71. package/esm/meter/meter-group/meter-group.js +2 -1
  72. package/esm/overlay/base/base-overlay-core.d.ts +3 -3
  73. package/esm/overlay/base/base-overlay.d.ts +3 -3
  74. package/esm/overlay/base/base-overlay.js +11 -1
  75. package/esm/overlay/base/overlay-aware-core.d.ts +3 -3
  76. package/esm/overlay/base/overlay-aware-core.js +2 -1
  77. package/esm/overlay/overlay-adapter.d.ts +2 -2
  78. package/esm/overlay/overlay-adapter.js +6 -14
  79. package/esm/overlay/overlay-constants.d.ts +2 -5
  80. package/esm/overlay/overlay-constants.js +2 -23
  81. package/esm/overlay/overlay-core.d.ts +3 -3
  82. package/esm/overlay/overlay-core.js +13 -3
  83. package/esm/overlay/overlay.d.ts +2 -2
  84. package/esm/overlay/overlay.js +2 -2
  85. package/esm/popover/popover.js +1 -1
  86. package/esm/profile-card/profile-card-core.js +4 -4
  87. package/esm/radio/core/radio-group-manager.d.ts +2 -1
  88. package/esm/radio/radio/radio.d.ts +1 -0
  89. package/esm/split-button/split-button-constants.d.ts +2 -2
  90. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  91. package/esm/stepper/stepper/stepper-constants.d.ts +15 -1
  92. package/esm/switch/switch.d.ts +5 -1
  93. package/esm/switch/switch.js +1 -1
  94. package/esm/table/table-core.js +10 -2
  95. package/esm/table/table-utils.js +8 -4
  96. package/esm/time-picker/time-picker-constants.d.ts +2 -2
  97. package/esm/toast/toast-constants.d.ts +1 -1
  98. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  99. package/package.json +4 -4
  100. package/sass/badge/badge.scss +10 -10
  101. package/sass/button/_core.scss +1 -0
  102. package/sass/calendar/_variables.scss +3 -2
  103. package/sass/card/card.scss +1 -1
  104. package/sass/core/styles/tokens/button/_tokens.scss +2 -2
  105. package/sass/core/styles/tokens/slider/_tokens.scss +10 -4
  106. package/sass/core/styles/tokens/switch/_tokens.scss +1 -1
  107. package/sass/dialog/dialog.scss +8 -0
  108. package/sass/dialog/forge-dialog.scss +4 -0
  109. package/sass/linear-progress/linear-progress.scss +7 -3
  110. package/sass/list/list-item/list-item.scss +1 -1
  111. package/sass/popover/popover.scss +0 -1
  112. 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);
@@ -112,6 +112,26 @@
112
112
  "description": "The spacing between the content within the badge.",
113
113
  "values": []
114
114
  },
115
+ {
116
+ "name": "--forge-bottom-sheet-desktop-max-width",
117
+ "description": "The maximum width of the bottom sheet on desktop.",
118
+ "values": []
119
+ },
120
+ {
121
+ "name": "--forge-bottom-sheet-desktop-min-width",
122
+ "description": "The minimum width of the bottom sheet on desktop.",
123
+ "values": []
124
+ },
125
+ {
126
+ "name": "--forge-bottom-sheet-animation-duration",
127
+ "description": "The duration of the bottom sheet animation to fullscreen.",
128
+ "values": []
129
+ },
130
+ {
131
+ "name": "--forge-bottom-sheet-animation-timing",
132
+ "description": "The timing function of the bottom sheet animation to fullscreen.",
133
+ "values": []
134
+ },
115
135
  {
116
136
  "name": "--forge-banner-background",
117
137
  "description": "The background color of the banner.",
@@ -152,26 +172,6 @@
152
172
  "description": "The transition easing function.",
153
173
  "values": []
154
174
  },
155
- {
156
- "name": "--forge-bottom-sheet-desktop-max-width",
157
- "description": "The maximum width of the bottom sheet on desktop.",
158
- "values": []
159
- },
160
- {
161
- "name": "--forge-bottom-sheet-desktop-min-width",
162
- "description": "The minimum width of the bottom sheet on desktop.",
163
- "values": []
164
- },
165
- {
166
- "name": "--forge-bottom-sheet-animation-duration",
167
- "description": "The duration of the bottom sheet animation to fullscreen.",
168
- "values": []
169
- },
170
- {
171
- "name": "--forge-bottom-sheet-animation-timing",
172
- "description": "The timing function of the bottom sheet animation to fullscreen.",
173
- "values": []
174
- },
175
175
  {
176
176
  "name": "--forge-button-primary-color",
177
177
  "description": "The primary color of the button.",
@@ -142,26 +142,32 @@
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)_",
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": [],
147
+ "references": []
148
+ },
149
+ {
150
+ "name": "forge-bottom-sheet",
151
+ "description": "Bottom sheets slide up from the bottom of the screen to reveal more content and/or actions that the user can take.\n---\n\n\n### **Events:**\n - **forge-bottom-sheet-before-close** - Fires before the bottom sheet closes.\n- **forge-bottom-sheet-close** - Fires after the bottom sheet closes.\n- **forge-bottom-sheet-open** - Fires after the bottom sheet opens.\n- **forge-bottom-sheet-drag-start** - Fires when the bottom sheet starts to be dragged.\n- **forge-bottom-sheet-dragged** - Fires when the bottom sheet is dragged.\n- **forge-bottom-sheet-drag-end** - Fires when the bottom sheet drag ends.\n- **forge-bottom-sheet-drag-cancel** - Fires when the bottom sheet drag is cancelled.\n- **forge-bottom-sheet-fullscreen** - Fires when the bottom sheet is toggled to fullscreen.\n\n### **Slots:**\n - _default_ - The content of the bottom sheet. This is a passthrough slot to the dialog surface.\n\n### **CSS Properties:**\n - **--forge-bottom-sheet-desktop-max-width** - The maximum width of the bottom sheet on desktop. _(default: undefined)_\n- **--forge-bottom-sheet-desktop-min-width** - The minimum width of the bottom sheet on desktop. _(default: undefined)_\n- **--forge-bottom-sheet-animation-duration** - The duration of the bottom sheet animation to fullscreen. _(default: undefined)_\n- **--forge-bottom-sheet-animation-timing** - The timing function of the bottom sheet animation to fullscreen. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root element of the bottom sheet.\n- **surface** - The surface element of the bottom sheet within th dialog.",
146
152
  "attributes": [
147
153
  {
148
- "name": "dot",
149
- "description": "When present, the badge will be a small dot without any content visible.",
154
+ "name": "open",
155
+ "description": "Whether the bottom sheet is open.",
150
156
  "values": []
151
157
  },
152
158
  {
153
- "name": "theme",
154
- "description": "The theme of the badge.",
155
- "values": [{ "name": "BadgeTheme" }]
159
+ "name": "mode",
160
+ "description": "The mode of the bottom sheet.",
161
+ "values": [{ "name": "BottomSheetMode" }]
156
162
  },
157
163
  {
158
- "name": "strong",
159
- "description": "Controls whether the badge will have a stronger visual appearance.",
164
+ "name": "persistent",
165
+ "description": "Whether the bottom sheet is persistent.",
160
166
  "values": []
161
167
  },
162
168
  {
163
- "name": "hide",
164
- "description": "Controls whether the badge is visible.",
169
+ "name": "fullscreen",
170
+ "description": "Whether the bottom sheet is fullscreen.",
165
171
  "values": []
166
172
  }
167
173
  ],
@@ -189,33 +195,6 @@
189
195
  ],
190
196
  "references": []
191
197
  },
192
- {
193
- "name": "forge-bottom-sheet",
194
- "description": "Bottom sheets slide up from the bottom of the screen to reveal more content and/or actions that the user can take.\n---\n\n\n### **Events:**\n - **forge-bottom-sheet-before-close** - Fires before the bottom sheet closes.\n- **forge-bottom-sheet-close** - Fires after the bottom sheet closes.\n- **forge-bottom-sheet-open** - Fires after the bottom sheet opens.\n- **forge-bottom-sheet-drag-start** - Fires when the bottom sheet starts to be dragged.\n- **forge-bottom-sheet-dragged** - Fires when the bottom sheet is dragged.\n- **forge-bottom-sheet-drag-end** - Fires when the bottom sheet drag ends.\n- **forge-bottom-sheet-drag-cancel** - Fires when the bottom sheet drag is cancelled.\n- **forge-bottom-sheet-fullscreen** - Fires when the bottom sheet is toggled to fullscreen.\n\n### **Slots:**\n - _default_ - The content of the bottom sheet. This is a passthrough slot to the dialog surface.\n\n### **CSS Properties:**\n - **--forge-bottom-sheet-desktop-max-width** - The maximum width of the bottom sheet on desktop. _(default: undefined)_\n- **--forge-bottom-sheet-desktop-min-width** - The minimum width of the bottom sheet on desktop. _(default: undefined)_\n- **--forge-bottom-sheet-animation-duration** - The duration of the bottom sheet animation to fullscreen. _(default: undefined)_\n- **--forge-bottom-sheet-animation-timing** - The timing function of the bottom sheet animation to fullscreen. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root element of the bottom sheet.\n- **surface** - The surface element of the bottom sheet within th dialog.",
195
- "attributes": [
196
- {
197
- "name": "open",
198
- "description": "Whether the bottom sheet is open.",
199
- "values": []
200
- },
201
- {
202
- "name": "mode",
203
- "description": "The mode of the bottom sheet.",
204
- "values": [{ "name": "BottomSheetMode" }]
205
- },
206
- {
207
- "name": "persistent",
208
- "description": "Whether the bottom sheet is persistent.",
209
- "values": []
210
- },
211
- {
212
- "name": "fullscreen",
213
- "description": "Whether the bottom sheet is fullscreen.",
214
- "values": []
215
- }
216
- ],
217
- "references": []
218
- },
219
198
  {
220
199
  "name": "forge-button",
221
200
  "description": "Buttons represent actions that a user can take.\n---\n\n\n### **Events:**\n - **click** - Fires when the button is clicked.\n\n### **Methods:**\n - **click(): _void_** - Clicks the button.\n- **focus(options: _ExperimentalFocusOptions_): _void_** - Focuses the button.\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot for the label text.\n- **start** - Elements to logically render before the label text.\n- **end** - Elements to logically render after the label text.\n\n### **CSS Properties:**\n - **--forge-button-primary-color** - The primary color of the button. _(default: undefined)_\n- **--forge-button-text-color** - The text color of the button. Inherits from primary color. _(default: undefined)_\n- **--forge-button-disabled-color** - The disabled color of the button. _(default: undefined)_\n- **--forge-button-padding** - The padding of the button. _(default: undefined)_\n- **--forge-button-display** - The display of the button. _(default: undefined)_\n- **--forge-button-justify** - The flex justify of the button. _(default: undefined)_\n- **--forge-button-shape** - The shape of the button. _(default: undefined)_\n- **--forge-button-height** - The height of the button. _(default: undefined)_\n- **--forge-button-min-width** - The min-width of the button. _(default: undefined)_\n- **--forge-button-spacing** - The spacing of the button. _(default: undefined)_\n- **--forge-button-border-width** - The border-width of the button. _(default: undefined)_\n- **--forge-button-border-style** - The border style of the button. _(default: undefined)_\n- **--forge-button-border-color** - The border color of the button. _(default: undefined)_\n- **--forge-button-shape-start-start-radius** - The shape start start radius of the button. _(default: undefined)_\n- **--forge-button-shape-start-end-radius** - The shape start end radius of the button. _(default: undefined)_\n- **--forge-button-shape-end-start-radius** - The shape end start radius of the button. _(default: undefined)_\n- **--forge-button-shape-end-end-radius** - The shape end end radius of the button. _(default: undefined)_\n- **--forge-button-padding-block** - The padding block of the button. _(default: undefined)_\n- **--forge-button-padding-inline** - The padding inline of the button. _(default: undefined)_\n- **--forge-button-background** - The background color of the button. _(default: undefined)_\n- **--forge-button-hover-background** - The background color of the button on hover. _(default: undefined)_\n- **--forge-button-active-background** - The background color of the button on active state. _(default: undefined)_\n- **--forge-button-color** - The text color of the button. _(default: undefined)_\n- **--forge-button-icon-size** - The size of the icon in the button. _(default: undefined)_\n- **--forge-button-shadow** - The shadow of the button. _(default: undefined)_\n- **--forge-button-hover-shadow** - The shadow of the button on hover. _(default: undefined)_\n- **--forge-button-active-shadow** - The shadow of the button on active state. _(default: undefined)_\n- **--forge-button-cursor** - The cursor type of the button. _(default: undefined)_\n- **--forge-button-transition-duration** - The transition duration of the button. _(default: undefined)_\n- **--forge-button-transition-timing** - The transition timing of the button. _(default: undefined)_\n- **--forge-button-text-padding-inline** - The inline padding of the button when using the text variant. _(default: undefined)_\n- **--forge-button-filled-background** - The background color of the filled button. _(default: undefined)_\n- **--forge-button-filled-disabled-background** - The background color of the disabled filled button. _(default: undefined)_\n- **--forge-button-filled-color** - The text color of the filled button. _(default: undefined)_\n- **--forge-button-filled-disabled-color** - The text color of the disabled filled button. _(default: undefined)_\n- **--forge-button-raised-background** - The background color of the raised button. _(default: undefined)_\n- **--forge-button-raised-disabled-background** - The background color of the disabled raised button. _(default: undefined)_\n- **--forge-button-raised-color** - The text color of the raised button. _(default: undefined)_\n- **--forge-button-raised-disabled-color** - The text color of the disabled raised button. _(default: undefined)_\n- **--forge-button-raised-shadow** - The shadow of the raised button. _(default: undefined)_\n- **--forge-button-raised-hover-shadow** - The shadow of the raised button on hover. _(default: undefined)_\n- **--forge-button-raised-active-shadow** - The shadow of the raised button on active state. _(default: undefined)_\n- **--forge-button-raised-disabled-shadow** - The shadow of the disabled raised button. _(default: undefined)_\n- **--forge-button-flat-background** - The background color of the flat button. _(default: undefined)_\n- **--forge-button-flat-disabled-background** - The background color of the disabled flat button. _(default: undefined)_\n- **--forge-button-flat-color** - The text color of the flat button. _(default: undefined)_\n- **--forge-button-flat-disabled-color** - The text color of the disabled flat button. _(default: undefined)_\n- **--forge-button-outlined-background** - The background color of the outlined button. _(default: undefined)_\n- **--forge-button-outlined-color** - The text color of the outlined button. _(default: undefined)_\n- **--forge-button-outlined-border-width** - The border width of the outlined button. _(default: undefined)_\n- **--forge-button-outlined-border-style** - The border style of the outlined button. _(default: undefined)_\n- **--forge-button-outlined-border-color** - The border color of the outlined button. _(default: undefined)_\n- **--forge-button-link-color** - The text color of the link button. _(default: undefined)_\n- **--forge-button-link-text-decoration** - The text decoration of the link button. _(default: undefined)_\n- **--forge-button-link-height** - The height of the link button. _(default: undefined)_\n- **--forge-button-link-padding** - The padding of the link button. _(default: undefined)_\n- **--forge-button-link-line-height** - The line height of the link button. _(default: undefined)_\n- **--forge-button-link-width** - The width of the link button. _(default: undefined)_\n- **--forge-button-link-hover-text-decoration** - The text decoration of the link button on hover. _(default: undefined)_\n- **--forge-button-link-active-opacity** - The opacity of the link button on active state. _(default: undefined)_\n- **--forge-button-link-transition-duration** - The transition duration of the link button. _(default: undefined)_\n- **--forge-button-link-transition-timing** - The transition timing of the link button. _(default: undefined)_\n- **--forge-button-disabled-cursor** - The cursor type of the disabled button. _(default: undefined)_\n- **--forge-button-disabled-text-color** - The text color of the disabled button. _(default: undefined)_\n- **--forge-button-disabled-background** - The background color of the disabled button. _(default: undefined)_\n- **--forge-button-disabled-border-color** - The border color of the disabled button. _(default: undefined)_\n- **--forge-button-disabled-shadow** - The shadow of the disabled button. _(default: undefined)_\n- **--forge-button-dense-height** - The height of the dense button. _(default: undefined)_\n- **--forge-button-pill-shape** - The shape of the pill button. _(default: undefined)_\n- **--forge-button-pill-padding-inline** - The inline padding of the pill button. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root container element.\n- **focus-indicator** - The focus-indicator indicator element.\n- **state-layer** - The state-layer surface element.",
@@ -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;