@tylertech/forge 3.5.1 → 3.6.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 (71) hide show
  1. package/custom-elements.json +287 -198
  2. package/dist/checkbox/forge-checkbox.css +1 -0
  3. package/dist/lib.js +27 -19
  4. package/dist/lib.js.map +4 -4
  5. package/dist/radio/forge-radio.css +2 -0
  6. package/dist/switch/forge-switch.css +2 -0
  7. package/dist/vscode.css-custom-data.json +15 -0
  8. package/dist/vscode.html-custom-data.json +32 -47
  9. package/esm/app-bar/profile-button/app-bar-profile-button.js +5 -2
  10. package/esm/avatar/avatar-constants.d.ts +0 -7
  11. package/esm/avatar/avatar-constants.js +1 -10
  12. package/esm/avatar/avatar.d.ts +24 -21
  13. package/esm/avatar/avatar.js +68 -45
  14. package/esm/avatar/index.d.ts +1 -3
  15. package/esm/avatar/index.js +4 -6
  16. package/esm/button/base/base-button-adapter.js +1 -1
  17. package/esm/button-area/button-area.js +1 -1
  18. package/esm/checkbox/checkbox.d.ts +1 -0
  19. package/esm/checkbox/checkbox.js +2 -1
  20. package/esm/dialog/dialog-adapter.d.ts +7 -0
  21. package/esm/dialog/dialog-adapter.js +43 -19
  22. package/esm/dialog/dialog-constants.d.ts +6 -0
  23. package/esm/dialog/dialog-constants.js +6 -2
  24. package/esm/dialog/dialog-core.d.ts +8 -0
  25. package/esm/dialog/dialog-core.js +21 -1
  26. package/esm/dialog/dialog.d.ts +15 -0
  27. package/esm/dialog/dialog.js +14 -1
  28. package/esm/icon-button/icon-button-constants.d.ts +4 -0
  29. package/esm/icon-button/icon-button-constants.js +2 -0
  30. package/esm/icon-button/icon-button-core.d.ts +4 -4
  31. package/esm/icon-button/icon-button-core.js +16 -14
  32. package/esm/icon-button/icon-button.d.ts +32 -29
  33. package/esm/icon-button/icon-button.js +6 -31
  34. package/esm/profile-card/profile-card.js +5 -2
  35. package/esm/radio/radio/radio.d.ts +1 -0
  36. package/esm/radio/radio/radio.js +2 -1
  37. package/esm/split-view/split-view/split-view-adapter.js +1 -0
  38. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  39. package/esm/switch/switch-adapter.d.ts +4 -4
  40. package/esm/switch/switch-adapter.js +5 -5
  41. package/esm/switch/switch-component-delegate.d.ts +7 -0
  42. package/esm/switch/switch-component-delegate.js +15 -0
  43. package/esm/switch/switch-constants.d.ts +10 -0
  44. package/esm/switch/switch-constants.js +5 -0
  45. package/esm/switch/switch-core.d.ts +9 -9
  46. package/esm/switch/switch-core.js +26 -25
  47. package/esm/switch/switch.d.ts +23 -7
  48. package/esm/switch/switch.js +26 -17
  49. package/esm/table/table-utils.js +6 -6
  50. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +0 -5
  51. package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -11
  52. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +0 -3
  53. package/esm/tabs/tab-bar/tab-bar-constants.js +0 -4
  54. package/esm/tabs/tab-bar/tab-bar-core.js +7 -7
  55. package/esm/tabs/tab-bar/tab-bar.d.ts +6 -3
  56. package/esm/tabs/tab-bar/tab-bar.js +6 -3
  57. package/package.json +1 -1
  58. package/sass/button-area/_core.scss +3 -0
  59. package/sass/checkbox/_core.scss +2 -2
  60. package/sass/core/styles/tokens/checkbox/_tokens.scss +1 -0
  61. package/sass/core/styles/tokens/radio/_tokens.scss +1 -0
  62. package/sass/core/styles/tokens/switch/_tokens.scss +1 -0
  63. package/sass/dialog/dialog.scss +5 -0
  64. package/sass/icon-button/icon-button.scss +10 -10
  65. package/sass/radio/radio/_core.scss +2 -2
  66. package/sass/switch/_core.scss +2 -2
  67. package/sass/switch/switch.scss +2 -2
  68. package/esm/avatar/avatar-adapter.d.ts +0 -36
  69. package/esm/avatar/avatar-adapter.js +0 -55
  70. package/esm/avatar/avatar-core.d.ts +0 -38
  71. package/esm/avatar/avatar-core.js +0 -101
@@ -23,6 +23,7 @@
23
23
  --_radio-mark-color: var(--forge-radio-mark-color, var(--_radio-primary-color));
24
24
  --_radio-gap: var(--forge-radio-gap, 0);
25
25
  --_radio-justify: var(--forge-radio-justify, start);
26
+ --_radio-align: var(--forge-radio-align, center);
26
27
  --_radio-direction: var(--forge-radio-direction, initial);
27
28
  --_radio-state-layer-width: var(--forge-radio-state-layer-width, var(--_radio-state-layer-size));
28
29
  --_radio-state-layer-height: var(--forge-radio-state-layer-height, var(--_radio-state-layer-size));
@@ -138,6 +139,7 @@
138
139
  align-items: center;
139
140
  justify-content: center;
140
141
  display: flex;
142
+ flex-shrink: 0;
141
143
  border-radius: var(--_radio-shape);
142
144
  inline-size: var(--_radio-state-layer-width);
143
145
  block-size: var(--_radio-state-layer-height);
@@ -41,6 +41,7 @@
41
41
  --_switch-icon-off-scale: var(--forge-switch-icon-off-scale, var(--_switch-icon-scale));
42
42
  --_switch-gap: var(--forge-switch-gap, 0);
43
43
  --_switch-justify: var(--forge-switch-justify, start);
44
+ --_switch-align: var(--forge-switch-align, center);
44
45
  --_switch-direction: var(--forge-switch-direction, initial);
45
46
  --_switch-state-layer-width: var(--forge-switch-state-layer-width, var(--_switch-state-layer-size));
46
47
  --_switch-state-layer-height: var(--forge-switch-state-layer-height, var(--_switch-state-layer-size));
@@ -76,6 +77,7 @@
76
77
  position: relative;
77
78
  align-items: center;
78
79
  display: flex;
80
+ flex-shrink: 0;
79
81
  block-size: max(var(--_switch-handle-height), var(--_switch-track-height), var(--_switch-current-state-layer-height));
80
82
  cursor: pointer;
81
83
  outline: none;
@@ -637,6 +637,11 @@
637
637
  "description": "How the checkbox and label are distributed along their main axis.",
638
638
  "values": []
639
639
  },
640
+ {
641
+ "name": "--forge-checkbox-align",
642
+ "description": "How the checkbox and label are distributed along their cross axis.",
643
+ "values": []
644
+ },
640
645
  {
641
646
  "name": "--forge-checkbox-direction",
642
647
  "description": "Whether the checkbox and label are arranged along the inline or block axis.",
@@ -3137,6 +3142,11 @@
3137
3142
  "description": "How the switch and label are distributed along their main axis.",
3138
3143
  "values": []
3139
3144
  },
3145
+ {
3146
+ "name": "--forge-switch-align",
3147
+ "description": "How the switch and label are distributed along their cross axis.",
3148
+ "values": []
3149
+ },
3140
3150
  {
3141
3151
  "name": "--forge-switch-direction",
3142
3152
  "description": "Whether the switch and label are arranged along the inline or block axis.",
@@ -4757,6 +4767,11 @@
4757
4767
  "description": "The alignment of the radio button and its label in the inline direction.",
4758
4768
  "values": []
4759
4769
  },
4770
+ {
4771
+ "name": "--forge-radio-align",
4772
+ "description": "The alignment of the radio button and its label in the block direction.",
4773
+ "values": []
4774
+ },
4760
4775
  {
4761
4776
  "name": "--forge-radio-direction",
4762
4777
  "description": "The direction of the radio button and its label.",
@@ -417,7 +417,7 @@
417
417
  },
418
418
  {
419
419
  "name": "forge-checkbox",
420
- "description": "Checkboxes select single values for submission in a form.\n---\n\n\n### **Events:**\n - **change** - Dispatches when the checkbox is checked or unchecked.\n\n### **Methods:**\n - **toggle(force: _boolean_): _void_** - Toggles the checkbox checked or unchecked.\n\n### **CSS Properties:**\n - **--forge-checkbox-background** - The color of the checkbox background when unchecked and not indeterminate. _(default: undefined)_\n- **--forge-checkbox-width** - The inline size of the checkbox. _(default: undefined)_\n- **--forge-checkbox-height** - The block size of the checkbox. _(default: undefined)_\n- **--forge-checkbox-unchecked-border-width** - The width of the checkbox border when unchecked and not indeterminate. _(default: undefined)_\n- **--forge-checkbox-unchecked-border-color** - The color of the checkbox border when unchecked and not indeterminate. _(default: undefined)_\n- **--forge-checkbox-shape** - The shape of the checkbox. _(default: undefined)_\n- **--forge-checkbox-elevation** - The shadow of the checkbox. _(default: undefined)_\n- **--forge-checkbox-gap** - The space between the checkbox and label. _(default: undefined)_\n- **--forge-checkbox-justify** - How the checkbox and label are distributed along their main axis. _(default: undefined)_\n- **--forge-checkbox-direction** - Whether the checkbox and label are arranged along the inline or block axis. _(default: undefined)_\n- **--forge-checkbox-checked-background** - The color of the checkbox background when checked or indeterminate. _(default: undefined)_\n- **--forge-checkbox-checked-border-width** - The width of the checkbox border when checked or indeterminate. _(default: undefined)_\n- **--forge-checkbox-checked-border-color** - The color of the checkbox border when checked or indeterminate. _(default: undefined)_\n- **--forge-checkbox-icon-checked-color** - The color of the checkmark mark. _(default: undefined)_\n- **--forge-checkbox-icon-indeterminate-color** - The color of the indeterminate mark. _(default: undefined)_\n- **--forge-checkbox-icon-stroke-width** - The stroke width of the checkmark and indeterminate marks. _(default: undefined)_\n- **--forge-checkbox-state-layer-width** - The inline size of the state layer. _(default: undefined)_\n- **--forge-checkbox-state-layer-height** - The block size of the state layer. _(default: undefined)_\n- **--forge-checkbox-state-layer-checked-color** - The color of the state layer when checked. _(default: undefined)_\n- **--forge-checkbox-state-layer-unchecked-color** - The color of the state layer when unchecked. _(default: undefined)_\n- **--forge-checkbox-state-layer-shape** - The shape of the state layer. _(default: undefined)_\n- **--forge-checkbox-state-layer-dense-width** - The inline size of the state layer when dense. _(default: undefined)_\n- **--forge-checkbox-state-layer-dense-height** - The block size of the state layer when dense. _(default: undefined)_\n- **--forge-checkbox-disabled-opacity** - The opacity when disabled. _(default: undefined)_\n- **--forge-checkbox-animation-duration** - The duration of animations. _(default: undefined)_\n- **--forge-checkbox-background-animation-timing** - The timing function of the background animations. _(default: undefined)_\n- **--forge-checkbox-icon-animation-timing** - The timing function of the checked and indeterminate icons animations. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - Styles the root element.\n- **background** - Styles the checkbox background element.\n- **checkmark** - Styles the checkmark element.\n- **mixedmark** - Styles the indeterminate mark element.\n- **label** - Styles the label element.\n- **state-layer** - Styles the state layer element.\n- **focus-indicator** - Styles the focus indicator element.",
420
+ "description": "Checkboxes select single values for submission in a form.\n---\n\n\n### **Events:**\n - **change** - Dispatches when the checkbox is checked or unchecked.\n\n### **Methods:**\n - **toggle(force: _boolean_): _void_** - Toggles the checkbox checked or unchecked.\n\n### **CSS Properties:**\n - **--forge-checkbox-background** - The color of the checkbox background when unchecked and not indeterminate. _(default: undefined)_\n- **--forge-checkbox-width** - The inline size of the checkbox. _(default: undefined)_\n- **--forge-checkbox-height** - The block size of the checkbox. _(default: undefined)_\n- **--forge-checkbox-unchecked-border-width** - The width of the checkbox border when unchecked and not indeterminate. _(default: undefined)_\n- **--forge-checkbox-unchecked-border-color** - The color of the checkbox border when unchecked and not indeterminate. _(default: undefined)_\n- **--forge-checkbox-shape** - The shape of the checkbox. _(default: undefined)_\n- **--forge-checkbox-elevation** - The shadow of the checkbox. _(default: undefined)_\n- **--forge-checkbox-gap** - The space between the checkbox and label. _(default: undefined)_\n- **--forge-checkbox-justify** - How the checkbox and label are distributed along their main axis. _(default: undefined)_\n- **--forge-checkbox-align** - How the checkbox and label are distributed along their cross axis. _(default: undefined)_\n- **--forge-checkbox-direction** - Whether the checkbox and label are arranged along the inline or block axis. _(default: undefined)_\n- **--forge-checkbox-checked-background** - The color of the checkbox background when checked or indeterminate. _(default: undefined)_\n- **--forge-checkbox-checked-border-width** - The width of the checkbox border when checked or indeterminate. _(default: undefined)_\n- **--forge-checkbox-checked-border-color** - The color of the checkbox border when checked or indeterminate. _(default: undefined)_\n- **--forge-checkbox-icon-checked-color** - The color of the checkmark mark. _(default: undefined)_\n- **--forge-checkbox-icon-indeterminate-color** - The color of the indeterminate mark. _(default: undefined)_\n- **--forge-checkbox-icon-stroke-width** - The stroke width of the checkmark and indeterminate marks. _(default: undefined)_\n- **--forge-checkbox-state-layer-width** - The inline size of the state layer. _(default: undefined)_\n- **--forge-checkbox-state-layer-height** - The block size of the state layer. _(default: undefined)_\n- **--forge-checkbox-state-layer-checked-color** - The color of the state layer when checked. _(default: undefined)_\n- **--forge-checkbox-state-layer-unchecked-color** - The color of the state layer when unchecked. _(default: undefined)_\n- **--forge-checkbox-state-layer-shape** - The shape of the state layer. _(default: undefined)_\n- **--forge-checkbox-state-layer-dense-width** - The inline size of the state layer when dense. _(default: undefined)_\n- **--forge-checkbox-state-layer-dense-height** - The block size of the state layer when dense. _(default: undefined)_\n- **--forge-checkbox-disabled-opacity** - The opacity when disabled. _(default: undefined)_\n- **--forge-checkbox-animation-duration** - The duration of animations. _(default: undefined)_\n- **--forge-checkbox-background-animation-timing** - The timing function of the background animations. _(default: undefined)_\n- **--forge-checkbox-icon-animation-timing** - The timing function of the checked and indeterminate icons animations. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - Styles the root element.\n- **background** - Styles the checkbox background element.\n- **checkmark** - Styles the checkmark element.\n- **mixedmark** - Styles the indeterminate mark element.\n- **label** - Styles the label element.\n- **state-layer** - Styles the state layer element.\n- **focus-indicator** - Styles the focus indicator element.",
421
421
  "attributes": [
422
422
  {
423
423
  "name": "checked",
@@ -834,6 +834,16 @@
834
834
  "name": "placement",
835
835
  "description": "The placement of the dialog.",
836
836
  "values": [{ "name": "DialogPlacement" }]
837
+ },
838
+ {
839
+ "name": "label",
840
+ "description": "The accessible label of the dialog.",
841
+ "values": []
842
+ },
843
+ {
844
+ "name": "description",
845
+ "description": "The accessible description of the dialog.",
846
+ "values": []
837
847
  }
838
848
  ],
839
849
  "references": []
@@ -1154,56 +1164,26 @@
1154
1164
  },
1155
1165
  {
1156
1166
  "name": "forge-icon-button",
1157
- "description": "Icons buttons are used to trigger an action or event.\n---\n\n\n### **Events:**\n - **click** - Fires when the button is clicked.\n- **forge-icon-button-toggle** - Fires when the icon button is toggled. Only applies in `toggle` mode.\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 icon.\n- **on** - The icon to show when in `toggle` mode when toggled \"on\".\n- **start** - Elements to logically render before the icon.\n- **end** - Elements to logically render after the icon.\n- **badge** - Absolutely positions the element in the top-end corner of the button (typically reserved for badge-like content).\n\n### **CSS Properties:**\n - **--forge-icon-button-display** - The display property of the button. _(default: undefined)_\n- **--forge-icon-button-size** - The height and min-width of the button. _(default: undefined)_\n- **--forge-icon-button-gap** - The gap between the icon content. _(default: undefined)_\n- **--forge-icon-button-icon-color** - The color of the icon. _(default: undefined)_\n- **--forge-icon-button-background-color** - The background color of the button. _(default: undefined)_\n- **--forge-icon-button-icon-size** - The size of the icon. _(default: undefined)_\n- **--forge-icon-button-cursor** - The cursor of the button. _(default: undefined)_\n- **--forge-icon-button-padding** - The inline padding of the button. _(default: undefined)_\n- **--forge-icon-button-border** - The border of the button. _(default: undefined)_\n- **--forge-icon-button-shadow** - The shadow of the button. _(default: undefined)_\n- **--forge-icon-button-transition-duration** - The transition duration of the button. _(default: undefined)_\n- **--forge-icon-button-transition-timing** - The transition timing of the button. _(default: undefined)_\n- **--forge-icon-button-shape** - The shape of the button. _(default: undefined)_\n- **--forge-icon-button-shape-start-start** - The start-start border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-start-end** - The start-end border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-end-start** - The end-start border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-end-end** - The end-end border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-squared** - The squared border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-outlined-border-width** - The border width when in the outlined variant. _(default: undefined)_\n- **--forge-icon-button-outlined-border-style** - The border style when in the outlined variant. _(default: undefined)_\n- **--forge-icon-button-outlined-border-color** - The border color when in the outlined variant. _(default: undefined)_\n- **--forge-icon-button-tonal-icon-color** - The icon color when in the tonal variant. _(default: undefined)_\n- **--forge-icon-button-tonal-background-color** - The background color when in the tonal variant. _(default: undefined)_\n- **--forge-icon-button-filled-icon-color** - The icon color when in the filled variant. _(default: undefined)_\n- **--forge-icon-button-filled-background-color** - The background color when in the filled variant. _(default: undefined)_\n- **--forge-icon-button-raised-shadow** - The shadow when in the raised variant. _(default: undefined)_\n- **--forge-icon-button-raised-hover-shadow** - The shadow when in the raised variant and hovered. _(default: undefined)_\n- **--forge-icon-button-raised-active-shadow** - The shadow when in the raised variant and active. _(default: undefined)_\n- **--forge-icon-button-raised-disabled-shadow** - The shadow when in the raised variant and disabled. _(default: undefined)_\n- **--forge-icon-button-density-small-size** - The size of the button when in the small density. _(default: undefined)_\n- **--forge-icon-button-density-small-padding** - The padding of the button when in the small density. _(default: undefined)_\n- **--forge-icon-button-density-small-icon-size** - The size of the icon when in the small density. _(default: undefined)_\n- **--forge-icon-button-density-medium-size** - The size of the button when in the medium density. _(default: undefined)_\n- **--forge-icon-button-density-medium-padding** - The padding of the button when in the medium density. _(default: undefined)_\n- **--forge-icon-button-density-large-size** - The size of the button when in the large density. _(default: undefined)_\n- **--forge-icon-button-toggle-on-background-color** - The background color of the when in toggle mode and toggled on. _(default: undefined)_\n- **--forge-icon-button-toggle-on-icon-color** - The color of the icon when in toggle mode and toggled on. _(default: undefined)_\n- **--forge-icon-button-outlined-toggle-on-background-color** - The background color when in the outlined variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-outlined-toggle-on-icon-color** - The icon color when in the outlined variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-tonal-toggle-background-color** - The background color when in the tonal variant and toggled. _(default: undefined)_\n- **--forge-icon-button-tonal-toggle-on-background-color** - The background color when in the tonal variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-tonal-toggle-on-icon-color** - The icon color when in the tonal variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-background-color** - The background color when in the filled variant and toggled. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-icon-color** - The icon color when in the filled variant and toggled. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-on-background-color** - The background color when in the filled variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-on-icon-color** - The icon color when in the filled variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-disabled-cursor** - The cursor when the button is disabled. _(default: undefined)_\n- **--forge-icon-button-disabled-opacity** - The opacity when the button is disabled. _(default: undefined)_\n- **--forge-icon-button-popover-icon-padding** - The padding of the popover icon. _(default: undefined)_\n- **--forge-icon-button-focus-indicator-color** - The color of the focus indicator. _(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.",
1167
+ "description": "\n---\n\n\n### **Events:**\n - **click** - Fires when the button is clicked.\n- **forge-icon-button-toggle** - Fires when the icon button is toggled. Only applies in `toggle` mode.\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 icon.\n- **on** - The icon to show when in `toggle` mode when toggled \"on\".\n- **start** - Elements to logically render before the icon.\n- **end** - Elements to logically render after the icon.\n- **badge** - Absolutely positions the element in the top-end corner of the button (typically reserved for badge-like content).\n\n### **CSS Properties:**\n - **--forge-icon-button-display** - The display property of the button. _(default: undefined)_\n- **--forge-icon-button-size** - The height and min-width of the button. _(default: undefined)_\n- **--forge-icon-button-gap** - The gap between the icon content. _(default: undefined)_\n- **--forge-icon-button-icon-color** - The color of the icon. _(default: undefined)_\n- **--forge-icon-button-background-color** - The background color of the button. _(default: undefined)_\n- **--forge-icon-button-icon-size** - The size of the icon. _(default: undefined)_\n- **--forge-icon-button-cursor** - The cursor of the button. _(default: undefined)_\n- **--forge-icon-button-padding** - The inline padding of the button. _(default: undefined)_\n- **--forge-icon-button-border** - The border of the button. _(default: undefined)_\n- **--forge-icon-button-shadow** - The shadow of the button. _(default: undefined)_\n- **--forge-icon-button-transition-duration** - The transition duration of the button. _(default: undefined)_\n- **--forge-icon-button-transition-timing** - The transition timing of the button. _(default: undefined)_\n- **--forge-icon-button-shape** - The shape of the button. _(default: undefined)_\n- **--forge-icon-button-shape-start-start** - The start-start border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-start-end** - The start-end border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-end-start** - The end-start border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-end-end** - The end-end border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-shape-squared** - The squared border-radius of the button. _(default: undefined)_\n- **--forge-icon-button-outlined-border-width** - The border width when in the outlined variant. _(default: undefined)_\n- **--forge-icon-button-outlined-border-style** - The border style when in the outlined variant. _(default: undefined)_\n- **--forge-icon-button-outlined-border-color** - The border color when in the outlined variant. _(default: undefined)_\n- **--forge-icon-button-tonal-icon-color** - The icon color when in the tonal variant. _(default: undefined)_\n- **--forge-icon-button-tonal-background-color** - The background color when in the tonal variant. _(default: undefined)_\n- **--forge-icon-button-filled-icon-color** - The icon color when in the filled variant. _(default: undefined)_\n- **--forge-icon-button-filled-background-color** - The background color when in the filled variant. _(default: undefined)_\n- **--forge-icon-button-raised-shadow** - The shadow when in the raised variant. _(default: undefined)_\n- **--forge-icon-button-raised-hover-shadow** - The shadow when in the raised variant and hovered. _(default: undefined)_\n- **--forge-icon-button-raised-active-shadow** - The shadow when in the raised variant and active. _(default: undefined)_\n- **--forge-icon-button-raised-disabled-shadow** - The shadow when in the raised variant and disabled. _(default: undefined)_\n- **--forge-icon-button-density-small-size** - The size of the button when in the small density. _(default: undefined)_\n- **--forge-icon-button-density-small-padding** - The padding of the button when in the small density. _(default: undefined)_\n- **--forge-icon-button-density-small-icon-size** - The size of the icon when in the small density. _(default: undefined)_\n- **--forge-icon-button-density-medium-size** - The size of the button when in the medium density. _(default: undefined)_\n- **--forge-icon-button-density-medium-padding** - The padding of the button when in the medium density. _(default: undefined)_\n- **--forge-icon-button-density-large-size** - The size of the button when in the large density. _(default: undefined)_\n- **--forge-icon-button-toggle-on-background-color** - The background color of the when in toggle mode and toggled on. _(default: undefined)_\n- **--forge-icon-button-toggle-on-icon-color** - The color of the icon when in toggle mode and toggled on. _(default: undefined)_\n- **--forge-icon-button-outlined-toggle-on-background-color** - The background color when in the outlined variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-outlined-toggle-on-icon-color** - The icon color when in the outlined variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-tonal-toggle-background-color** - The background color when in the tonal variant and toggled. _(default: undefined)_\n- **--forge-icon-button-tonal-toggle-on-background-color** - The background color when in the tonal variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-tonal-toggle-on-icon-color** - The icon color when in the tonal variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-background-color** - The background color when in the filled variant and toggled. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-icon-color** - The icon color when in the filled variant and toggled. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-on-background-color** - The background color when in the filled variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-filled-toggle-on-icon-color** - The icon color when in the filled variant and toggled on. _(default: undefined)_\n- **--forge-icon-button-disabled-cursor** - The cursor when the button is disabled. _(default: undefined)_\n- **--forge-icon-button-disabled-opacity** - The opacity when the button is disabled. _(default: undefined)_\n- **--forge-icon-button-popover-icon-padding** - The padding of the popover icon. _(default: undefined)_\n- **--forge-icon-button-focus-indicator-color** - The color of the focus indicator. _(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.",
1158
1168
  "attributes": [
1159
- {
1160
- "name": "toggle",
1161
- "description": "Whether or not the icon button can be toggled.",
1162
- "values": []
1163
- },
1164
- {
1165
- "name": "on",
1166
- "description": "Whether or not the button is on. Only applies when `toggle` is `true`.",
1167
- "values": []
1168
- },
1169
- {
1170
- "name": "variant",
1171
- "description": "The variant of the button. Valid values are `text`, `outlined`, `filled`, and `raised`.",
1172
- "values": [{ "name": "IconButtonVariant" }]
1173
- },
1174
- {
1175
- "name": "theme",
1176
- "description": "The theme of the button. Valid values are `default`, `primary`, `secondary`, `tertiary`, `success`, `error`, `warning`, `info`.",
1177
- "values": [{ "name": "IconButtonTheme" }]
1178
- },
1179
- {
1180
- "name": "shape",
1181
- "description": "The shape of the button. Valid values are `circular` and `squared`.",
1182
- "values": []
1183
- },
1184
- {
1185
- "name": "density",
1186
- "description": "The density of the button. Valid values are `small`, `medium`, and `large`.",
1187
- "values": [{ "name": "IconButtonDensity" }]
1188
- },
1189
1169
  {
1190
1170
  "name": "type",
1191
- "description": "The type of button. Defaults to `button`. Valid values are `button`, `submit`, and `reset`.",
1171
+ "description": "Sets the type of the button. Possible values are `button`, `submit`, and `reset`.",
1192
1172
  "values": [{ "name": "ButtonType" }]
1193
1173
  },
1194
1174
  {
1195
1175
  "name": "disabled",
1196
- "description": "Whether or not the button is disabled.",
1176
+ "description": "Disables the button.",
1197
1177
  "values": []
1198
1178
  },
1199
1179
  {
1200
1180
  "name": "popover-icon",
1201
- "description": "Whether or not the button shows a built-in popover icon.",
1181
+ "description": "Shows a popover icon on the button.",
1202
1182
  "values": []
1203
1183
  },
1204
1184
  {
1205
1185
  "name": "dense",
1206
- "description": "Whether or not the button is dense.",
1186
+ "description": "Sets the density of the button.",
1207
1187
  "values": []
1208
1188
  },
1209
1189
  {
@@ -1213,7 +1193,7 @@
1213
1193
  },
1214
1194
  {
1215
1195
  "name": "value",
1216
- "description": "The form value of the button.",
1196
+ "description": "The value of the button.",
1217
1197
  "values": []
1218
1198
  }
1219
1199
  ],
@@ -1993,21 +1973,31 @@
1993
1973
  },
1994
1974
  {
1995
1975
  "name": "forge-switch",
1996
- "description": "Switches toggle the state of a single setting on or off.\n---\n\n\n### **Events:**\n - **change** - Dispatches when the switch's value changes.\n- **forge-switch-change** - Dispatches when the switch's value changes.\n\n### **Methods:**\n - **toggle(force: _boolean_): _void_** - Toggles the switch on or off.\n\n### **CSS Properties:**\n - **--forge-theme-primary** - The primary color of the switch. _(default: undefined)_\n- **--forge-theme-on-primary** - The color of elements placed on top of the primary color (the handle icons for example). _(default: undefined)_\n- **--forge-switch-handle-on-color** - The color of the handle in the switch's on state. _(default: undefined)_\n- **--forge-switch-handle-off-color** - The color of the handle in the switch's off state. _(default: undefined)_\n- **--forge-switch-handle-active-on-color** - The color of the handle when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-handle-active-off-color** - The color of the handle when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-handle-size** - The inline and block size of the handle. _(default: undefined)_\n- **--forge-switch-handle-width** - The inline size of the handle. _(default: undefined)_\n- **--forge-switch-handle-height** - The block size of the handle. _(default: undefined)_\n- **--forge-switch-handle-scale** - The scale transformation applied to the handle. _(default: undefined)_\n- **--forge-switch-handle-on-scale** - The scale transformation applied to the handle in the switch's on state. _(default: undefined)_\n- **--forge-switch-handle-off-scale** - The scale transformation applied to the handle in the switch's off state. _(default: undefined)_\n- **--forge-switch-handle-active-scale** - The scale transformation applied to the handle when the switch is active (pressed). _(default: undefined)_\n- **--forge-switch-handle-active-on-scale** - The scale transformation applied to the handle when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-handle-active-off-scale** - The scale transformation applied to the handle when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-handle-shape** - The shape of the handle. _(default: undefined)_\n- **--forge-switch-handle-elevation** - The handle's shadow. _(default: undefined)_\n- **--forge-switch-handle-on-elevation** - The handle's shadow in the switch's on state. _(default: undefined)_\n- **--forge-switch-handle-off-elevation** - The handle's shadow in the switch's off state. _(default: undefined)_\n- **--forge-switch-handle-active-elevation** - The handle's shadow when the switch is active (pressed). _(default: undefined)_\n- **--forge-switch-handle-active-on-elevation** - The handle's shadow when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-handle-active-off-elevation** - The handle's shadow when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-track-on-color** - The color of the track in the switch's on state. _(default: undefined)_\n- **--forge-switch-track-off-color** - The color fo the track in the switch's off state. _(default: undefined)_\n- **--forge-switch-track-active-on-color** - The color of the track when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-track-active-off-color** - The color fo the track when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-track-width** - The inline size of the track. _(default: undefined)_\n- **--forge-switch-track-height** - The block size of the track. _(default: undefined)_\n- **--forge-switch-track-shape** - The shape of the track. _(default: undefined)_\n- **--forge-switch-track-border-width** - The width of the track border. _(default: undefined)_\n- **--forge-switch-track-on-border-width** - The width of the track border in the switch's on state. _(default: undefined)_\n- **--forge-switch-track-off-border-width** - The width of the track border in the switch's off state. _(default: undefined)_\n- **--forge-switch-track-active-on-border-width** - The width of the track border when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-track-active-off-border-width** - The width of the track border when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-track-border-color** - The color of the track border. _(default: undefined)_\n- **--forge-switch-track-on-border-color** - The color of the track border in the switch's on state. _(default: undefined)_\n- **--forge-switch-track-off-border-color** - The color of the track border in the switch's off state. _(default: undefined)_\n- **--forge-switch-track-active-on-border-color** - The color of the track border when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-track-active-off-border-color** - The color of the track border when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-icon-color** - The color of the handle icons. _(default: undefined)_\n- **--forge-switch-icon-on-color** - The color of the handle icon in the switch's on state. _(default: undefined)_\n- **--forge-switch-icon-off-color** - The color of the handle icon in the switch's off state. _(default: undefined)_\n- **--forge-switch-icon-active-on-color** - The color of the handle icon when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-icon-active-off-color** - The color of the handle icon when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-icon-size** - The size of the handle icon. _(default: undefined)_\n- **--forge-switch-icon-on-size** - The size of the handle icon in the switch's on state. _(default: undefined)_\n- **--forge-switch-icon-off-size** - The size of the handle icon in the switch's off state. _(default: undefined)_\n- **--forge-switch-icon-scale** - The scale transformation applied to the handle icons. _(default: undefined)_\n- **--forge-switch-icon-on-scale** - The scale transformation applied to the handle icons in the switch's on state. _(default: undefined)_\n- **--forge-switch-icon-off-scale** - The scale transformation applied to the handle icons in the switch's off state. _(default: undefined)_\n- **--forge-switch-icon-active-on-scale** - The scale transformation applied to the handle icons when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-icon-active-off-scale** - The scale transformation applied to the handle icons when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-gap** - The space between the switch and label. _(default: undefined)_\n- **--forge-switch-justify** - How the switch and label are distributed along their main axis. _(default: undefined)_\n- **--forge-switch-direction** - Whether the switch and label are arranged along the inline or block axis. _(default: undefined)_\n- **--forge-switch-state-layer-size** - The inline and block size of the handle's state layer. _(default: undefined)_\n- **--forge-switch-state-layer-width** - The inline size of the handle's state layer. _(default: undefined)_\n- **--forge-switch-state-layer-height** - The block size of the handle's state layer. _(default: undefined)_\n- **--forge-switch-state-layer-on-color** - The color of the handle's state layer when the switch is in its on state. _(default: undefined)_\n- **--forge-switch-state-layer-off-color** - The color of the handle's state layer when the switch is in its off state. _(default: undefined)_\n- **--forge-switch-state-layer-dense-size** - The inline and block size of the handle's state layer when the dense switch is used. _(default: undefined)_\n- **--forge-switch-state-layer-dense-width** - The inline size of the handle's state layer when the dense switch is used. _(default: undefined)_\n- **--forge-switch-state-layer-dense-height** - The block size of the handle's state layer when the dense switch is used. _(default: undefined)_\n- **--forge-switch-disabled-opacity** - The opacity of the switch when disabled. _(default: undefined)_\n- **--forge-switch-animation-duration** - The duration of animations. _(default: undefined)_\n- **--forge-switch-animation-timing** - The timing function used in most animations. _(default: undefined)_\n- **--forge-switch-active-animation-timing** - The timing function used in active state animations. _(default: undefined)_\n\n### **CSS Parts:**\n - **switch** - Styles the switch container element.\n- **track** - Styles the track element.\n- **handle** - Styles the handle element.\n- **icon-on** - Styles the on icon element.\n- **icon-off** - Styles the off icon element.\n- **label** - Styles the label element.\n- **state-layer** - Styles the state layer root element.\n- **focus-indicator** - Styles the focus indicator root element.",
1976
+ "description": "Switches toggle the state of a single setting on or off.\n---\n\n\n### **Events:**\n - **change** - Dispatches when the switch's value changes.\n- **forge-switch-change** - Dispatches when the switch's value changes.\n\n### **Methods:**\n - **toggle(force: _boolean_): _void_** - Toggles the switch on or off.\n\n### **CSS Properties:**\n - **--forge-theme-primary** - The primary color of the switch. _(default: undefined)_\n- **--forge-theme-on-primary** - The color of elements placed on top of the primary color (the handle icons for example). _(default: undefined)_\n- **--forge-switch-handle-on-color** - The color of the handle in the switch's on state. _(default: undefined)_\n- **--forge-switch-handle-off-color** - The color of the handle in the switch's off state. _(default: undefined)_\n- **--forge-switch-handle-active-on-color** - The color of the handle when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-handle-active-off-color** - The color of the handle when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-handle-size** - The inline and block size of the handle. _(default: undefined)_\n- **--forge-switch-handle-width** - The inline size of the handle. _(default: undefined)_\n- **--forge-switch-handle-height** - The block size of the handle. _(default: undefined)_\n- **--forge-switch-handle-scale** - The scale transformation applied to the handle. _(default: undefined)_\n- **--forge-switch-handle-on-scale** - The scale transformation applied to the handle in the switch's on state. _(default: undefined)_\n- **--forge-switch-handle-off-scale** - The scale transformation applied to the handle in the switch's off state. _(default: undefined)_\n- **--forge-switch-handle-active-scale** - The scale transformation applied to the handle when the switch is active (pressed). _(default: undefined)_\n- **--forge-switch-handle-active-on-scale** - The scale transformation applied to the handle when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-handle-active-off-scale** - The scale transformation applied to the handle when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-handle-shape** - The shape of the handle. _(default: undefined)_\n- **--forge-switch-handle-elevation** - The handle's shadow. _(default: undefined)_\n- **--forge-switch-handle-on-elevation** - The handle's shadow in the switch's on state. _(default: undefined)_\n- **--forge-switch-handle-off-elevation** - The handle's shadow in the switch's off state. _(default: undefined)_\n- **--forge-switch-handle-active-elevation** - The handle's shadow when the switch is active (pressed). _(default: undefined)_\n- **--forge-switch-handle-active-on-elevation** - The handle's shadow when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-handle-active-off-elevation** - The handle's shadow when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-track-on-color** - The color of the track in the switch's on state. _(default: undefined)_\n- **--forge-switch-track-off-color** - The color fo the track in the switch's off state. _(default: undefined)_\n- **--forge-switch-track-active-on-color** - The color of the track when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-track-active-off-color** - The color fo the track when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-track-width** - The inline size of the track. _(default: undefined)_\n- **--forge-switch-track-height** - The block size of the track. _(default: undefined)_\n- **--forge-switch-track-shape** - The shape of the track. _(default: undefined)_\n- **--forge-switch-track-border-width** - The width of the track border. _(default: undefined)_\n- **--forge-switch-track-on-border-width** - The width of the track border in the switch's on state. _(default: undefined)_\n- **--forge-switch-track-off-border-width** - The width of the track border in the switch's off state. _(default: undefined)_\n- **--forge-switch-track-active-on-border-width** - The width of the track border when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-track-active-off-border-width** - The width of the track border when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-track-border-color** - The color of the track border. _(default: undefined)_\n- **--forge-switch-track-on-border-color** - The color of the track border in the switch's on state. _(default: undefined)_\n- **--forge-switch-track-off-border-color** - The color of the track border in the switch's off state. _(default: undefined)_\n- **--forge-switch-track-active-on-border-color** - The color of the track border when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-track-active-off-border-color** - The color of the track border when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-icon-color** - The color of the handle icons. _(default: undefined)_\n- **--forge-switch-icon-on-color** - The color of the handle icon in the switch's on state. _(default: undefined)_\n- **--forge-switch-icon-off-color** - The color of the handle icon in the switch's off state. _(default: undefined)_\n- **--forge-switch-icon-active-on-color** - The color of the handle icon when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-icon-active-off-color** - The color of the handle icon when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-icon-size** - The size of the handle icon. _(default: undefined)_\n- **--forge-switch-icon-on-size** - The size of the handle icon in the switch's on state. _(default: undefined)_\n- **--forge-switch-icon-off-size** - The size of the handle icon in the switch's off state. _(default: undefined)_\n- **--forge-switch-icon-scale** - The scale transformation applied to the handle icons. _(default: undefined)_\n- **--forge-switch-icon-on-scale** - The scale transformation applied to the handle icons in the switch's on state. _(default: undefined)_\n- **--forge-switch-icon-off-scale** - The scale transformation applied to the handle icons in the switch's off state. _(default: undefined)_\n- **--forge-switch-icon-active-on-scale** - The scale transformation applied to the handle icons when the switch is active (pressed) in its on state. _(default: undefined)_\n- **--forge-switch-icon-active-off-scale** - The scale transformation applied to the handle icons when the switch is active (pressed) in its off state. _(default: undefined)_\n- **--forge-switch-gap** - The space between the switch and label. _(default: undefined)_\n- **--forge-switch-justify** - How the switch and label are distributed along their main axis. _(default: undefined)_\n- **--forge-switch-align** - How the switch and label are distributed along their cross axis. _(default: undefined)_\n- **--forge-switch-direction** - Whether the switch and label are arranged along the inline or block axis. _(default: undefined)_\n- **--forge-switch-state-layer-size** - The inline and block size of the handle's state layer. _(default: undefined)_\n- **--forge-switch-state-layer-width** - The inline size of the handle's state layer. _(default: undefined)_\n- **--forge-switch-state-layer-height** - The block size of the handle's state layer. _(default: undefined)_\n- **--forge-switch-state-layer-on-color** - The color of the handle's state layer when the switch is in its on state. _(default: undefined)_\n- **--forge-switch-state-layer-off-color** - The color of the handle's state layer when the switch is in its off state. _(default: undefined)_\n- **--forge-switch-state-layer-dense-size** - The inline and block size of the handle's state layer when the dense switch is used. _(default: undefined)_\n- **--forge-switch-state-layer-dense-width** - The inline size of the handle's state layer when the dense switch is used. _(default: undefined)_\n- **--forge-switch-state-layer-dense-height** - The block size of the handle's state layer when the dense switch is used. _(default: undefined)_\n- **--forge-switch-disabled-opacity** - The opacity of the switch when disabled. _(default: undefined)_\n- **--forge-switch-animation-duration** - The duration of animations. _(default: undefined)_\n- **--forge-switch-animation-timing** - The timing function used in most animations. _(default: undefined)_\n- **--forge-switch-active-animation-timing** - The timing function used in active state animations. _(default: undefined)_\n\n### **CSS Parts:**\n - **switch** - Styles the switch container element.\n- **track** - Styles the track element.\n- **handle** - Styles the handle element.\n- **icon-on** - Styles the on icon element.\n- **icon-off** - Styles the off icon element.\n- **label** - Styles the label element.\n- **state-layer** - Styles the state layer root element.\n- **focus-indicator** - Styles the focus indicator root element.",
1997
1977
  "attributes": [
1978
+ {
1979
+ "name": "checked",
1980
+ "description": "Gets/sets whether the switch is checked or not.",
1981
+ "values": []
1982
+ },
1998
1983
  {
1999
1984
  "name": "on",
2000
- "description": "Gets/sets whether the switch is on or off.",
1985
+ "description": "Alias for `checked` _(deprecated)_. Gets/sets whether the switch is checked or not.",
2001
1986
  "values": []
2002
1987
  },
2003
1988
  {
2004
1989
  "name": "selected",
2005
- "description": "Alias for `on` _(deprecated)_.",
1990
+ "description": "Alias for `checked` _(deprecated)_.",
1991
+ "values": []
1992
+ },
1993
+ {
1994
+ "name": "default-checked",
1995
+ "description": "Gets/sets whether the switch is checked by default.",
2006
1996
  "values": []
2007
1997
  },
2008
1998
  {
2009
1999
  "name": "default-on",
2010
- "description": "Gets/sets whether the switch is on or off by default.",
2000
+ "description": "Alias for `defaultChecked` _(deprecated)_. Gets/sets whether the switch is checked by default.",
2011
2001
  "values": []
2012
2002
  },
2013
2003
  {
@@ -3203,7 +3193,7 @@
3203
3193
  },
3204
3194
  {
3205
3195
  "name": "forge-radio",
3206
- "description": "The Forge Radio component is used to create a form input where only one out of a set of\nvalues should be selected.\n---\n\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot for the label text.\n\n### **CSS Properties:**\n - **--forge-radio-primary-color** - The primary color of the radio button when checked. _(default: undefined)_\n- **--forge-radio-inactive-color** - The color of the radio button when unchecked. _(default: undefined)_\n- **--forge-radio-size** - The size of the radio button in the inline and block directions. _(default: undefined)_\n- **--forge-radio-width** - The width of the radio button. _(default: undefined)_\n- **--forge-radio-height** - The height of the radio button. _(default: undefined)_\n- **--forge-radio-border-width** - The width of the radio button's border. _(default: undefined)_\n- **--forge-radio-unchecked-border-color** - The color of the radio button's border when unchecked. _(default: undefined)_\n- **--forge-radio-checked-border-color** - The color of the radio button's border when checked. _(default: undefined)_\n- **--forge-radio-background** - The background of the radio button. _(default: undefined)_\n- **--forge-radio-shape** - The shape of the radio button. _(default: undefined)_\n- **--forge-radio-mark-size** - The size of the radio button's mark in the inline and block directions. _(default: undefined)_\n- **--forge-radio-mark-width** - The width of the radio button's mark. _(default: undefined)_\n- **--forge-radio-mark-height** - The height of the radio button's mark. _(default: undefined)_\n- **--forge-radio-mark-color** - The color of the radio button's mark. _(default: undefined)_\n- **--forge-radio-gap** - The gap between the radio button and its label. _(default: undefined)_\n- **--forge-radio-justify** - The alignment of the radio button and its label in the inline direction. _(default: undefined)_\n- **--forge-radio-direction** - The direction of the radio button and its label. _(default: undefined)_\n- **--forge-radio-state-layer-size** - The size of the radio button's state layer in the inline and block directions. _(default: undefined)_\n- **--forge-radio-state-layer-width** - The width of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-height** - The height of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-unchecked** - color - The color of the radio button's state layer when unchecked. _(default: undefined)_\n- **--forge-radio-state-layer-checked-color** - The color of the radio button's state layer when checked. _(default: undefined)_\n- **--forge-radio-state-layer-shape** - The shape of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-dense-size** - The size of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-state-layer-dense-width** - The width of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-state-layer-dense-height** - The height of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-disabled-opacity** - The opacity of the radio button when disabled. _(default: undefined)_\n- **--forge-radio-animation-duration** - The duration of the radio button's animations. _(default: undefined)_\n- **--forge-radio-animation-timing-function** - The timing function of the radio button's animations. _(default: undefined)_\n- **--forge-radio-animation-delay** - The delay of the radio button's animations. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - Styles the radio's root element.\n- **background** - Styles the border and background of the radio.\n- **focus-indicator** - Styles the focus indicator of the radio.\n- **state-layer** - Styles the state layer of the radio.",
3196
+ "description": "The Forge Radio component is used to create a form input where only one out of a set of\nvalues should be selected.\n---\n\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot for the label text.\n\n### **CSS Properties:**\n - **--forge-radio-primary-color** - The primary color of the radio button when checked. _(default: undefined)_\n- **--forge-radio-inactive-color** - The color of the radio button when unchecked. _(default: undefined)_\n- **--forge-radio-size** - The size of the radio button in the inline and block directions. _(default: undefined)_\n- **--forge-radio-width** - The width of the radio button. _(default: undefined)_\n- **--forge-radio-height** - The height of the radio button. _(default: undefined)_\n- **--forge-radio-border-width** - The width of the radio button's border. _(default: undefined)_\n- **--forge-radio-unchecked-border-color** - The color of the radio button's border when unchecked. _(default: undefined)_\n- **--forge-radio-checked-border-color** - The color of the radio button's border when checked. _(default: undefined)_\n- **--forge-radio-background** - The background of the radio button. _(default: undefined)_\n- **--forge-radio-shape** - The shape of the radio button. _(default: undefined)_\n- **--forge-radio-mark-size** - The size of the radio button's mark in the inline and block directions. _(default: undefined)_\n- **--forge-radio-mark-width** - The width of the radio button's mark. _(default: undefined)_\n- **--forge-radio-mark-height** - The height of the radio button's mark. _(default: undefined)_\n- **--forge-radio-mark-color** - The color of the radio button's mark. _(default: undefined)_\n- **--forge-radio-gap** - The gap between the radio button and its label. _(default: undefined)_\n- **--forge-radio-justify** - The alignment of the radio button and its label in the inline direction. _(default: undefined)_\n- **--forge-radio-align** - The alignment of the radio button and its label in the block direction. _(default: undefined)_\n- **--forge-radio-direction** - The direction of the radio button and its label. _(default: undefined)_\n- **--forge-radio-state-layer-size** - The size of the radio button's state layer in the inline and block directions. _(default: undefined)_\n- **--forge-radio-state-layer-width** - The width of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-height** - The height of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-unchecked** - color - The color of the radio button's state layer when unchecked. _(default: undefined)_\n- **--forge-radio-state-layer-checked-color** - The color of the radio button's state layer when checked. _(default: undefined)_\n- **--forge-radio-state-layer-shape** - The shape of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-dense-size** - The size of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-state-layer-dense-width** - The width of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-state-layer-dense-height** - The height of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-disabled-opacity** - The opacity of the radio button when disabled. _(default: undefined)_\n- **--forge-radio-animation-duration** - The duration of the radio button's animations. _(default: undefined)_\n- **--forge-radio-animation-timing-function** - The timing function of the radio button's animations. _(default: undefined)_\n- **--forge-radio-animation-delay** - The delay of the radio button's animations. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - Styles the radio's root element.\n- **background** - Styles the border and background of the radio.\n- **focus-indicator** - Styles the focus indicator of the radio.\n- **state-layer** - Styles the state layer of the radio.",
3207
3197
  "attributes": [
3208
3198
  {
3209
3199
  "name": "checked",
@@ -3781,11 +3771,6 @@
3781
3771
  "name": "scroll-buttons",
3782
3772
  "description": "Controls whether scroll buttons are displayed when the tabs overflow their container.",
3783
3773
  "values": []
3784
- },
3785
- {
3786
- "name": "data-aria-label",
3787
- "description": "The ARIA label to forward to the internal tablist element.",
3788
- "values": []
3789
3774
  }
3790
3775
  ],
3791
3776
  "references": []
@@ -10,7 +10,7 @@ import { AppBarProfileButtonCore } from './app-bar-profile-button-core';
10
10
  import { APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';
11
11
  import { ProfileCardComponent } from '../../profile-card';
12
12
  import { IconButtonComponent } from '../../icon-button';
13
- import { AvatarComponent } from '../../avatar';
13
+ 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';
@@ -119,6 +119,9 @@ let AppBarProfileButtonComponent = class AppBarProfileButtonComponent extends Ba
119
119
  return this._core.popupElement;
120
120
  }
121
121
  };
122
+ (() => {
123
+ defineAvatarComponent();
124
+ })();
122
125
  __decorate([
123
126
  coreProperty()
124
127
  ], AppBarProfileButtonComponent.prototype, "fullName", void 0);
@@ -158,7 +161,7 @@ __decorate([
158
161
  AppBarProfileButtonComponent = __decorate([
159
162
  customElement({
160
163
  name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,
161
- dependencies: [PopoverComponent, ProfileCardComponent, IconButtonComponent, AvatarComponent, TooltipComponent]
164
+ dependencies: [PopoverComponent, ProfileCardComponent, IconButtonComponent, TooltipComponent]
162
165
  })
163
166
  ], AppBarProfileButtonComponent);
164
167
  export { AppBarProfileButtonComponent };
@@ -13,11 +13,4 @@ export declare const AVATAR_CONSTANTS: {
13
13
  numbers: {
14
14
  DEFAULT_LETTER_COUNT: number;
15
15
  };
16
- selectors: {
17
- ROOT: string;
18
- DEFAULT_SLOT: string;
19
- };
20
- strings: {
21
- BACKGROUND_VARNAME: string;
22
- };
23
16
  };
@@ -13,17 +13,8 @@ const attributes = {
13
13
  const numbers = {
14
14
  DEFAULT_LETTER_COUNT: 2
15
15
  };
16
- const selectors = {
17
- ROOT: '.forge-avatar',
18
- DEFAULT_SLOT: '.forge-avatar > slot:not([name])'
19
- };
20
- const strings = {
21
- BACKGROUND_VARNAME: '--forge-avatar-background'
22
- };
23
16
  export const AVATAR_CONSTANTS = {
24
17
  elementName,
25
18
  attributes,
26
- numbers,
27
- selectors,
28
- strings
19
+ numbers
29
20
  };
@@ -3,8 +3,8 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { BaseComponent, IBaseComponent } from '../core/base/base-component';
7
- export interface IAvatarComponent extends IBaseComponent {
6
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
7
+ export interface IAvatarComponent extends LitElement {
8
8
  text: string;
9
9
  letterCount: number;
10
10
  imageUrl: string;
@@ -14,23 +14,12 @@ declare global {
14
14
  'forge-avatar': IAvatarComponent;
15
15
  }
16
16
  }
17
+ export declare const AVATAR_TAG_NAME = "forge-avatar";
17
18
  /**
18
19
  * @tag forge-avatar
19
20
  *
20
21
  * @summary Avatars represent an entity via text or image.
21
22
  *
22
- * @description The avatar component allows you to provide text or images to display that represent an entity. By default, the
23
- * avatar will display textual content as single characters (character count is configurable), or display an image or
24
- * icon based on the URL provided to it.
25
- *
26
- * @property {string} [text=""] - The text to display in the avatar.
27
- * @property {number} [letterCount=2] - Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used.
28
- * @property {string} imageUrl - The background image URL to use.
29
- *
30
- * @attribute {string} [text=""] - The text to display in the avatar.
31
- * @attribute {string} [letter-count=2] - Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used.
32
- * @attribute {string} image-url - The background image URL to use.
33
- *
34
23
  * @cssproperty {string} --forge-avatar-background - The background color of the avatar.
35
24
  * @cssproperty {number} --forge-avatar-shape - The border radius of the avatar, defaults to 50%.
36
25
  * @cssproperty {color} --forge-avatar-color - The text color of the avatar.
@@ -44,14 +33,28 @@ declare global {
44
33
  *
45
34
  * @cssclass forge-avatar - The avatar class _(required)_.
46
35
  */
47
- export declare class AvatarComponent extends BaseComponent implements IAvatarComponent {
48
- static get observedAttributes(): string[];
49
- private _core;
50
- constructor();
51
- connectedCallback(): void;
52
- disconnectedCallback(): void;
53
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
36
+ export declare class AvatarComponent extends LitElement implements IAvatarComponent {
37
+ static styles: import("lit").CSSResult;
38
+ /**
39
+ * The text to display in the avatar.
40
+ * @default ''
41
+ * @attribute
42
+ */
54
43
  text: string;
44
+ /**
45
+ * Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used.
46
+ * @default 2
47
+ * @attribute letter-count
48
+ */
55
49
  letterCount: number;
50
+ /**
51
+ * The background image URL to use.
52
+ * @default ''
53
+ * @attribute image-url
54
+ */
56
55
  imageUrl: string;
56
+ private _image;
57
+ willUpdate(changedProperties: PropertyValues<this>): void;
58
+ render(): TemplateResult;
59
+ private _tryLoadImage;
57
60
  }
@@ -4,30 +4,30 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { customElement, attachShadowTemplate, coerceNumber, coreProperty } from '@tylertech/forge-core';
8
- import { AvatarAdapter } from './avatar-adapter';
9
- import { AvatarCore } from './avatar-core';
7
+ import { LitElement, html, nothing, unsafeCSS } from 'lit';
8
+ import { customElement, property, state } from 'lit/decorators.js';
9
+ import { styleMap } from 'lit/directives/style-map.js';
10
+ import { classMap } from 'lit/directives/class-map.js';
10
11
  import { AVATAR_CONSTANTS } from './avatar-constants';
11
- import { BaseComponent } from '../core/base/base-component';
12
- const template = '<template><div class=\"forge-avatar\" aria-hidden=\"true\" part=\"root\"><slot></slot></div></template>';
13
12
  const styles = ':host{display:inline-block}:host([hidden]){display:none}.forge-avatar{--_avatar-size:var(--forge-avatar-size, 40px);--_avatar-background:var(--forge-avatar-background, var(--forge-theme-tertiary, #3d5afe));--_avatar-color:var(--forge-avatar-color, var(--forge-theme-on-tertiary, #ffffff));--_avatar-transition-duration:var(--forge-avatar-transition-duration, var(--forge-animation-duration-short4, 200ms));--_avatar-transition-timing:var(--forge-avatar-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_avatar-shape:var(--forge-avatar-shape, calc(var(--forge-shape-round, 50%) * var(--forge-shape-factor, 1)))}.forge-avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height var(--_avatar-transition-duration) var(--_avatar-transition-timing),width var(--_avatar-transition-duration) var(--_avatar-transition-timing);border-radius:var(--_avatar-shape);box-sizing:border-box;width:var(--_avatar-size);height:var(--_avatar-size);background-color:var(--_avatar-background);background-position:center;background-repeat:no-repeat;background-size:cover;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-subheading2-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-subheading2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading2-font-size-scale, 1)));font-weight:var(--forge-typography-subheading2-font-weight,400);line-height:var(--forge-typography-subheading2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading2-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-subheading2-letter-spacing, normal);text-transform:var(--forge-typography-subheading2-text-transform,inherit);text-decoration:var(--forge-typography-subheading2-text-decoration,inherit);color:var(--_avatar-color)}.forge-avatar--image{background-color:inherit}';
13
+ const charsByLetterCount = (text, count) => {
14
+ if (!text?.trim()) {
15
+ return '';
16
+ }
17
+ if (count === 1) {
18
+ return text[0].toUpperCase();
19
+ }
20
+ else {
21
+ const words = text.match(/\S+/g) ?? [];
22
+ return words.slice(0, count).reduce((prev, curr) => (prev += curr[0].toUpperCase()), '');
23
+ }
24
+ };
25
+ export const AVATAR_TAG_NAME = 'forge-avatar';
14
26
  /**
15
27
  * @tag forge-avatar
16
28
  *
17
29
  * @summary Avatars represent an entity via text or image.
18
30
  *
19
- * @description The avatar component allows you to provide text or images to display that represent an entity. By default, the
20
- * avatar will display textual content as single characters (character count is configurable), or display an image or
21
- * icon based on the URL provided to it.
22
- *
23
- * @property {string} [text=""] - The text to display in the avatar.
24
- * @property {number} [letterCount=2] - Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used.
25
- * @property {string} imageUrl - The background image URL to use.
26
- *
27
- * @attribute {string} [text=""] - The text to display in the avatar.
28
- * @attribute {string} [letter-count=2] - Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used.
29
- * @attribute {string} image-url - The background image URL to use.
30
- *
31
31
  * @cssproperty {string} --forge-avatar-background - The background color of the avatar.
32
32
  * @cssproperty {number} --forge-avatar-shape - The border radius of the avatar, defaults to 50%.
33
33
  * @cssproperty {color} --forge-avatar-color - The text color of the avatar.
@@ -41,47 +41,70 @@ const styles = ':host{display:inline-block}:host([hidden]){display:none}.forge-a
41
41
  *
42
42
  * @cssclass forge-avatar - The avatar class _(required)_.
43
43
  */
44
- let AvatarComponent = class AvatarComponent extends BaseComponent {
45
- static get observedAttributes() {
46
- return [AVATAR_CONSTANTS.attributes.TEXT, AVATAR_CONSTANTS.attributes.LETTER_COUNT, AVATAR_CONSTANTS.attributes.IMAGE_URL];
47
- }
44
+ let AvatarComponent = class AvatarComponent extends LitElement {
48
45
  constructor() {
49
- super();
50
- attachShadowTemplate(this, template, styles);
51
- this._core = new AvatarCore(new AvatarAdapter(this));
46
+ super(...arguments);
47
+ /**
48
+ * The text to display in the avatar.
49
+ * @default ''
50
+ * @attribute
51
+ */
52
+ this.text = '';
53
+ /**
54
+ * Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used.
55
+ * @default 2
56
+ * @attribute letter-count
57
+ */
58
+ this.letterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;
59
+ /**
60
+ * The background image URL to use.
61
+ * @default ''
62
+ * @attribute image-url
63
+ */
64
+ this.imageUrl = '';
52
65
  }
53
- connectedCallback() {
54
- this._core.initialize();
66
+ willUpdate(changedProperties) {
67
+ if (changedProperties.has('imageUrl')) {
68
+ this._tryLoadImage();
69
+ }
55
70
  }
56
- disconnectedCallback() {
57
- this._core.destroy();
71
+ render() {
72
+ return html `
73
+ <div
74
+ aria-hidden="true"
75
+ part="root"
76
+ class=${classMap({ 'forge-avatar': true, 'forge-avatar--image': !!this._image })}
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>
79
+ </div>
80
+ `;
58
81
  }
59
- attributeChangedCallback(name, oldValue, newValue) {
60
- switch (name) {
61
- case AVATAR_CONSTANTS.attributes.TEXT:
62
- this.text = newValue;
63
- break;
64
- case AVATAR_CONSTANTS.attributes.LETTER_COUNT:
65
- this.letterCount = coerceNumber(newValue);
66
- break;
67
- case AVATAR_CONSTANTS.attributes.IMAGE_URL:
68
- this.imageUrl = newValue;
69
- break;
82
+ async _tryLoadImage() {
83
+ if (this.imageUrl) {
84
+ const image = new Image();
85
+ image.onload = () => (this._image = image);
86
+ image.onerror = () => (this._image = undefined);
87
+ image.src = this.imageUrl;
88
+ }
89
+ else {
90
+ this._image = undefined;
70
91
  }
71
92
  }
72
93
  };
94
+ AvatarComponent.styles = unsafeCSS(styles);
73
95
  __decorate([
74
- coreProperty()
96
+ property()
75
97
  ], AvatarComponent.prototype, "text", void 0);
76
98
  __decorate([
77
- coreProperty()
99
+ property({ type: Number, attribute: 'letter-count' })
78
100
  ], AvatarComponent.prototype, "letterCount", void 0);
79
101
  __decorate([
80
- coreProperty()
102
+ property({ type: String, attribute: 'image-url' })
81
103
  ], AvatarComponent.prototype, "imageUrl", void 0);
104
+ __decorate([
105
+ state()
106
+ ], AvatarComponent.prototype, "_image", void 0);
82
107
  AvatarComponent = __decorate([
83
- customElement({
84
- name: AVATAR_CONSTANTS.elementName
85
- })
108
+ customElement(AVATAR_TAG_NAME)
86
109
  ], AvatarComponent);
87
110
  export { AvatarComponent };
@@ -3,8 +3,6 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- export * from './avatar-adapter';
7
- export * from './avatar-constants';
8
- export * from './avatar-core';
9
6
  export * from './avatar';
7
+ export * from './avatar-constants';
10
8
  export declare function defineAvatarComponent(): void;
@@ -3,12 +3,10 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { defineCustomElement } from '@tylertech/forge-core';
7
- import { AvatarComponent } from './avatar';
8
- export * from './avatar-adapter';
9
- export * from './avatar-constants';
10
- export * from './avatar-core';
6
+ import { tryDefine } from '@tylertech/forge-core';
7
+ import { AVATAR_TAG_NAME, AvatarComponent } from './avatar';
11
8
  export * from './avatar';
9
+ export * from './avatar-constants';
12
10
  export function defineAvatarComponent() {
13
- defineCustomElement(AvatarComponent);
11
+ tryDefine(AVATAR_TAG_NAME, AvatarComponent);
14
12
  }
@@ -61,7 +61,7 @@ export class BaseButtonAdapter extends BaseAdapter {
61
61
  if (value) {
62
62
  this._component.removeAttribute('tabindex');
63
63
  }
64
- else {
64
+ else if (!this._component.hasAttribute('tabindex')) {
65
65
  this._component.setAttribute('tabindex', '0');
66
66
  }
67
67
  this._component[setDefaultAria]({ ariaDisabled: value ? 'true' : null });