@fluentui/web-components 3.0.0-alpha.16 → 3.0.0-alpha.18

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 (78) hide show
  1. package/CHANGELOG.json +58 -1
  2. package/CHANGELOG.md +22 -2
  3. package/dist/dts/anchor-button/anchor-button.d.ts +64 -0
  4. package/dist/dts/anchor-button/anchor-button.definition.d.ts +10 -0
  5. package/dist/dts/anchor-button/anchor-button.options.d.ts +46 -0
  6. package/dist/dts/anchor-button/anchor-button.styles.d.ts +1 -0
  7. package/dist/dts/anchor-button/anchor-button.template.d.ts +7 -0
  8. package/dist/dts/anchor-button/define.d.ts +1 -0
  9. package/dist/dts/anchor-button/index.d.ts +4 -0
  10. package/dist/dts/compound-button/compound-button.d.ts +7 -0
  11. package/dist/dts/compound-button/compound-button.definition.d.ts +10 -0
  12. package/dist/dts/compound-button/compound-button.options.d.ts +50 -0
  13. package/dist/dts/compound-button/compound-button.styles.d.ts +1 -0
  14. package/dist/dts/compound-button/compound-button.template.d.ts +13 -0
  15. package/dist/dts/compound-button/define.d.ts +1 -0
  16. package/dist/dts/compound-button/index.d.ts +5 -0
  17. package/dist/dts/index.d.ts +3 -0
  18. package/dist/dts/toggle-button/define.d.ts +1 -0
  19. package/dist/dts/toggle-button/index.d.ts +5 -0
  20. package/dist/dts/toggle-button/toggle-button.d.ts +48 -0
  21. package/dist/dts/toggle-button/toggle-button.definition.d.ts +10 -0
  22. package/dist/dts/toggle-button/toggle-button.options.d.ts +46 -0
  23. package/dist/dts/toggle-button/toggle-button.styles.d.ts +1 -0
  24. package/dist/dts/toggle-button/toggle-button.template.d.ts +7 -0
  25. package/dist/esm/anchor-button/anchor-button.definition.js +21 -0
  26. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -0
  27. package/dist/esm/anchor-button/anchor-button.js +93 -0
  28. package/dist/esm/anchor-button/anchor-button.js.map +1 -0
  29. package/dist/esm/anchor-button/anchor-button.options.js +17 -0
  30. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -0
  31. package/dist/esm/anchor-button/anchor-button.styles.js +11 -0
  32. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -0
  33. package/dist/esm/anchor-button/anchor-button.template.js +7 -0
  34. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -0
  35. package/dist/esm/anchor-button/define.js +4 -0
  36. package/dist/esm/anchor-button/define.js.map +1 -0
  37. package/dist/esm/anchor-button/index.js +5 -0
  38. package/dist/esm/anchor-button/index.js.map +1 -0
  39. package/dist/esm/button/button.styles.js +1 -0
  40. package/dist/esm/button/button.styles.js.map +1 -1
  41. package/dist/esm/compound-button/compound-button.definition.js +21 -0
  42. package/dist/esm/compound-button/compound-button.definition.js.map +1 -0
  43. package/dist/esm/compound-button/compound-button.js +8 -0
  44. package/dist/esm/compound-button/compound-button.js.map +1 -0
  45. package/dist/esm/compound-button/compound-button.options.js +17 -0
  46. package/dist/esm/compound-button/compound-button.options.js.map +1 -0
  47. package/dist/esm/compound-button/compound-button.styles.js +105 -0
  48. package/dist/esm/compound-button/compound-button.styles.js.map +1 -0
  49. package/dist/esm/compound-button/compound-button.template.js +60 -0
  50. package/dist/esm/compound-button/compound-button.template.js.map +1 -0
  51. package/dist/esm/compound-button/define.js +4 -0
  52. package/dist/esm/compound-button/define.js.map +1 -0
  53. package/dist/esm/compound-button/index.js +6 -0
  54. package/dist/esm/compound-button/index.js.map +1 -0
  55. package/dist/esm/image/image.styles.js +4 -1
  56. package/dist/esm/image/image.styles.js.map +1 -1
  57. package/dist/esm/index.js +3 -0
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/toggle-button/define.js +4 -0
  60. package/dist/esm/toggle-button/define.js.map +1 -0
  61. package/dist/esm/toggle-button/index.js +6 -0
  62. package/dist/esm/toggle-button/index.js.map +1 -0
  63. package/dist/esm/toggle-button/toggle-button.definition.js +21 -0
  64. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -0
  65. package/dist/esm/toggle-button/toggle-button.js +99 -0
  66. package/dist/esm/toggle-button/toggle-button.js.map +1 -0
  67. package/dist/esm/toggle-button/toggle-button.options.js +17 -0
  68. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -0
  69. package/dist/esm/toggle-button/toggle-button.styles.js +83 -0
  70. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -0
  71. package/dist/esm/toggle-button/toggle-button.template.js +7 -0
  72. package/dist/esm/toggle-button/toggle-button.template.js.map +1 -0
  73. package/dist/fluent-web-components.api.json +3168 -1471
  74. package/dist/web-components.d.ts +330 -0
  75. package/dist/web-components.js +488 -117
  76. package/dist/web-components.min.js +158 -146
  77. package/docs/api-report.md +173 -0
  78. package/package.json +13 -1
@@ -3758,6 +3758,48 @@ function accordionTemplate() {
3758
3758
  })}></slot></template>`;
3759
3759
  }
3760
3760
 
3761
+ /**
3762
+ * An Anchor Custom HTML Element.
3763
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element }.
3764
+ *
3765
+ * @slot start - Content which can be provided before the anchor content
3766
+ * @slot end - Content which can be provided after the anchor content
3767
+ * @slot - The default slot for anchor content
3768
+ * @csspart control - The anchor element
3769
+ * @csspart content - The element wrapping anchor content
3770
+ *
3771
+ * @public
3772
+ */
3773
+ class FASTAnchor extends FASTElement {}
3774
+ __decorate([attr], FASTAnchor.prototype, "download", void 0);
3775
+ __decorate([attr], FASTAnchor.prototype, "href", void 0);
3776
+ __decorate([attr], FASTAnchor.prototype, "hreflang", void 0);
3777
+ __decorate([attr], FASTAnchor.prototype, "ping", void 0);
3778
+ __decorate([attr], FASTAnchor.prototype, "referrerpolicy", void 0);
3779
+ __decorate([attr], FASTAnchor.prototype, "rel", void 0);
3780
+ __decorate([attr], FASTAnchor.prototype, "target", void 0);
3781
+ __decorate([attr], FASTAnchor.prototype, "type", void 0);
3782
+ __decorate([observable], FASTAnchor.prototype, "defaultSlottedContent", void 0);
3783
+ /**
3784
+ * Includes ARIA states and properties relating to the ARIA link role
3785
+ *
3786
+ * @public
3787
+ */
3788
+ class DelegatesARIALink {}
3789
+ __decorate([attr({
3790
+ attribute: "aria-expanded"
3791
+ })], DelegatesARIALink.prototype, "ariaExpanded", void 0);
3792
+ applyMixins(DelegatesARIALink, ARIAGlobalStatesAndProperties);
3793
+ applyMixins(FASTAnchor, StartEnd, DelegatesARIALink);
3794
+
3795
+ /**
3796
+ * The template for the {@link @microsoft/fast-foundation#(FASTAnchor:class)} component.
3797
+ * @public
3798
+ */
3799
+ function anchorTemplate(options = {}) {
3800
+ return html`<a class="control" part="control" download="${x => x.download}" href="${x => x.href}" hreflang="${x => x.hreflang}" ping="${x => x.ping}" referrerpolicy="${x => x.referrerpolicy}" rel="${x => x.rel}" target="${x => x.target}" type="${x => x.type}" aria-atomic="${x => x.ariaAtomic}" aria-busy="${x => x.ariaBusy}" aria-controls="${x => x.ariaControls}" aria-current="${x => x.ariaCurrent}" aria-describedby="${x => x.ariaDescribedby}" aria-details="${x => x.ariaDetails}" aria-disabled="${x => x.ariaDisabled}" aria-errormessage="${x => x.ariaErrormessage}" aria-expanded="${x => x.ariaExpanded}" aria-flowto="${x => x.ariaFlowto}" aria-haspopup="${x => x.ariaHaspopup}" aria-hidden="${x => x.ariaHidden}" aria-invalid="${x => x.ariaInvalid}" aria-keyshortcuts="${x => x.ariaKeyshortcuts}" aria-label="${x => x.ariaLabel}" aria-labelledby="${x => x.ariaLabelledby}" aria-live="${x => x.ariaLive}" aria-owns="${x => x.ariaOwns}" aria-relevant="${x => x.ariaRelevant}" aria-roledescription="${x => x.ariaRoledescription}" ${ref("control")}>${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</a>`;
3801
+ }
3802
+
3761
3803
  /**
3762
3804
  * Determines the current localization direction of an element.
3763
3805
  *
@@ -4375,7 +4417,7 @@ applyMixins(FASTButton, StartEnd, DelegatesARIAButton);
4375
4417
  * The template for the {@link @microsoft/fast-foundation#(FASTButton:class)} component.
4376
4418
  * @public
4377
4419
  */
4378
- function buttonTemplate(options = {}) {
4420
+ function buttonTemplate$1(options = {}) {
4379
4421
  return html`<button class="control" part="control" ?autofocus="${x => x.autofocus}" ?disabled="${x => x.disabled}" form="${x => x.formId}" formaction="${x => x.formaction}" formenctype="${x => x.formenctype}" formmethod="${x => x.formmethod}" ?formnovalidate="${x => x.formnovalidate}" formtarget="${x => x.formtarget}" name="${x => x.name}" type="${x => x.type}" value="${x => x.value}" aria-atomic="${x => x.ariaAtomic}" aria-busy="${x => x.ariaBusy}" aria-controls="${x => x.ariaControls}" aria-current="${x => x.ariaCurrent}" aria-describedby="${x => x.ariaDescribedby}" aria-details="${x => x.ariaDetails}" aria-disabled="${x => x.ariaDisabled}" aria-errormessage="${x => x.ariaErrormessage}" aria-expanded="${x => x.ariaExpanded}" aria-flowto="${x => x.ariaFlowto}" aria-haspopup="${x => x.ariaHaspopup}" aria-hidden="${x => x.ariaHidden}" aria-invalid="${x => x.ariaInvalid}" aria-keyshortcuts="${x => x.ariaKeyshortcuts}" aria-label="${x => x.ariaLabel}" aria-labelledby="${x => x.ariaLabelledby}" aria-live="${x => x.ariaLive}" aria-owns="${x => x.ariaOwns}" aria-pressed="${x => x.ariaPressed}" aria-relevant="${x => x.ariaRelevant}" aria-roledescription="${x => x.ariaRoledescription}" ${ref("control")}>${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</button>`;
4380
4422
  }
4381
4423
 
@@ -6282,9 +6324,9 @@ function display(displayValue) {
6282
6324
  */
6283
6325
  class Accordion extends FASTAccordion {}
6284
6326
 
6285
- const template$h = accordionTemplate();
6327
+ const template$k = accordionTemplate();
6286
6328
 
6287
- const styles$g = css`
6329
+ const styles$j = css`
6288
6330
  ${display('flex')}
6289
6331
 
6290
6332
  :host{flex-direction:column;width:100%;contain:content}`;
@@ -6304,10 +6346,10 @@ const FluentDesignSystem = Object.freeze({
6304
6346
  * @remarks
6305
6347
  * HTML Element: \<fluent-accordion\>
6306
6348
  */
6307
- const definition$h = Accordion.compose({
6349
+ const definition$k = Accordion.compose({
6308
6350
  name: `${FluentDesignSystem.prefix}-accordion`,
6309
- template: template$h,
6310
- styles: styles$g
6351
+ template: template$k,
6352
+ styles: styles$j
6311
6353
  });
6312
6354
 
6313
6355
  /**
@@ -7127,7 +7169,7 @@ var tokens = /*#__PURE__*/Object.freeze({
7127
7169
  shadow64Brand: shadow64Brand
7128
7170
  });
7129
7171
 
7130
- const styles$f = css`
7172
+ const styles$i = css`
7131
7173
  ${display('block')}
7132
7174
 
7133
7175
  :host{max-width:fit-content;contain:content}.heading{height:44px;display:grid;position:relative;vertical-align:middle;padding-inline:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};grid-template-columns:auto auto 1fr auto}.heading-content{height:100%;display:flex;align-items:center}.button{box-sizing:border-box;appearance:none;border:none;outline:none;text-align:start;cursor:pointer;font-family:inherit;height:44px;color:${colorNeutralForeground1};background:${colorTransparentBackground};line-height:${lineHeightBase300};height:auto;padding:0;font-size:inherit;grid-column:auto / span 2;grid-row:1}.button::before{content:'';position:absolute;inset:0px;cursor:pointer;border-radius:${borderRadiusSmall}}.icon{display:flex;align-items:center;justify-content:center;pointer-events:none;position:relative;height:100%;padding-right:${spacingHorizontalS};grid-column:1 / span 1;grid-row:1}.region{margin:0 ${spacingHorizontalM}}::slotted([slot='start']),::slotted([slot='end']){justify-content:center;align-items:center;padding-right:${spacingHorizontalS};grid-column:2 / span 1;grid-row:1 / span 1}button:focus-visible::after{content:'';position:absolute;inset:0px;cursor:pointer;border-radius:${borderRadiusSmall};outline:none;border:2px solid ${colorStrokeFocus1};box-shadow:inset 0 0 0 1px ${colorStrokeFocus2}}:host([disabled]) .button{color:${colorNeutralForegroundDisabled}}:host([disabled]) svg{filter:invert(89%) sepia(0%) saturate(569%) hue-rotate(155deg) brightness(88%) contrast(87%)}:host([expanded]) .region{display:block}:host([expanded]) .default-collapsed-icon,:host([expanded]) ::slotted([slot='collapsed-icon']),:host(:not([expanded])) .default-expanded-icon,:host(:not([expanded])) ::slotted([slot='expanded-icon']),:host([expanded]) ::slotted([slot='end']),::slotted([slot='start']),.region{display:none}:host([expanded]) ::slotted([slot='start']),:host([expanded]) ::slotted([slot='expanded-icon']),:host(:not([expanded])) ::slotted([slot='collapsed-icon']),::slotted([slot='end']){display:flex}.heading{font-size:${fontSizeBase300};line-height:${lineHeightBase300}}:host([size='small']) .heading{font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']) .heading{font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='extra-large']) .heading{font-size:${fontSizeBase500};line-height:${lineHeightBase500}}:host([expand-icon-position='end']) :slotted(span[slot='start']),:host([expand-icon-position='end']) ::slotted(span[slot='end']){grid-column:1 / span 1;grid-row:1}:host([expand-icon-position='end']) ::slotted(span[slot='start']),:host([expand-icon-position='end']) ::slotted(span[slot='end']){grid-column:1 / span 1;grid-row:1}:host([expand-icon-position='end']) .icon{grid-column:4 / span 1;grid-row:1;display:flex;padding-left:10px;padding-right:0}:host([expand-icon-position='end']) .button{grid-column:2 / span 3;grid-row:1}:host([block]){max-width:100%}:host([expand-icon-position='end']) .heading{grid-template-columns:auto auto 28px}:host([expand-icon-position='end']) .icon{grid-column:5 / span 1}:host([block][expand-icon-position='end']) .heading{grid-template-columns:auto 1fr}:host([block][expand-icon-position='end']) .icon{grid-column:5 / span 1}`;
@@ -7162,7 +7204,7 @@ const chevronDown20Filled = html.partial(`<svg
7162
7204
  * The template for the fluent-accordion component.
7163
7205
  * @public
7164
7206
  */
7165
- const template$g = accordionItemTemplate({
7207
+ const template$j = accordionItemTemplate({
7166
7208
  collapsedIcon: chevronRight20Filled,
7167
7209
  expandedIcon: chevronDown20Filled
7168
7210
  });
@@ -7176,10 +7218,176 @@ const template$g = accordionItemTemplate({
7176
7218
  * @remarks
7177
7219
  * HTML Element: \<fluent-accordion-item\>
7178
7220
  */
7179
- const definition$g = AccordionItem.compose({
7221
+ const definition$j = AccordionItem.compose({
7180
7222
  name: `${FluentDesignSystem.prefix}-accordion-item`,
7181
- template: template$g,
7182
- styles: styles$f
7223
+ template: template$j,
7224
+ styles: styles$i
7225
+ });
7226
+
7227
+ /**
7228
+ * The base class used for constructing a fluent-anchor-button custom element
7229
+ * @public
7230
+ */
7231
+ class AnchorButton extends FASTAnchor {
7232
+ constructor() {
7233
+ super(...arguments);
7234
+ /**
7235
+ * The anchor button has an icon only, no text content
7236
+ *
7237
+ * @public
7238
+ * @remarks
7239
+ * HTML Attribute: icon-only
7240
+ */
7241
+ this.iconOnly = false;
7242
+ /**
7243
+ * The anchor button is disabled
7244
+ *
7245
+ * @public
7246
+ * @remarks
7247
+ * HTML Attribute: disabled-focusable
7248
+ */
7249
+ this.disabled = false;
7250
+ /**
7251
+ * The anchor button is disabled but focusable
7252
+ *
7253
+ * @public
7254
+ * @remarks
7255
+ * HTML Attribute: disabled-focusable
7256
+ */
7257
+ this.disabledFocusable = false;
7258
+ /**
7259
+ * Prevents disabledFocusable click events
7260
+ */
7261
+ this.handleDisabledFocusableClick = e => {
7262
+ if (e && this.disabled || this.disabledFocusable) {
7263
+ e.stopImmediatePropagation();
7264
+ return;
7265
+ }
7266
+ };
7267
+ }
7268
+ disabledChanged(prev, next) {
7269
+ if (this.disabled) {
7270
+ this.setAttribute('aria-disabled', 'true');
7271
+ this.setAttribute('tabindex', '-1');
7272
+ } else {
7273
+ this.removeAttribute('aria-disabled');
7274
+ this.removeAttribute('tabindex');
7275
+ }
7276
+ }
7277
+ disabledFocusableChanged(prev, next) {
7278
+ if (!this.$fastController.isConnected) {
7279
+ return;
7280
+ }
7281
+ if (this.disabledFocusable) {
7282
+ this.setAttribute('aria-disabled', 'true');
7283
+ } else {
7284
+ this.removeAttribute('aria-disabled');
7285
+ }
7286
+ }
7287
+ connectedCallback() {
7288
+ super.connectedCallback();
7289
+ this.addEventListener('click', this.handleDisabledFocusableClick);
7290
+ }
7291
+ disconnectedCallback() {
7292
+ super.disconnectedCallback();
7293
+ this.removeEventListener('click', this.handleDisabledFocusableClick);
7294
+ }
7295
+ }
7296
+ __decorate([attr], AnchorButton.prototype, "appearance", void 0);
7297
+ __decorate([attr], AnchorButton.prototype, "shape", void 0);
7298
+ __decorate([attr], AnchorButton.prototype, "size", void 0);
7299
+ __decorate([attr({
7300
+ attribute: 'icon-only',
7301
+ mode: 'boolean'
7302
+ })], AnchorButton.prototype, "iconOnly", void 0);
7303
+ __decorate([attr({
7304
+ mode: 'boolean'
7305
+ })], AnchorButton.prototype, "disabled", void 0);
7306
+ __decorate([attr({
7307
+ attribute: 'disabled-focusable',
7308
+ mode: 'boolean'
7309
+ })], AnchorButton.prototype, "disabledFocusable", void 0);
7310
+
7311
+ /**
7312
+ * ButtonAppearance constants
7313
+ * @public
7314
+ */
7315
+ const ButtonAppearance = {
7316
+ primary: 'primary',
7317
+ outline: 'outline',
7318
+ subtle: 'subtle',
7319
+ secondary: 'secondary',
7320
+ transparent: 'transparent'
7321
+ };
7322
+ /**
7323
+ * A Button can be square, circular or rounded.
7324
+ * @public
7325
+ */
7326
+ const ButtonShape = {
7327
+ circular: 'circular',
7328
+ rounded: 'rounded',
7329
+ square: 'square'
7330
+ };
7331
+ /**
7332
+ * A Button can be a size of small, medium or large.
7333
+ * @public
7334
+ */
7335
+ const ButtonSize = {
7336
+ small: 'small',
7337
+ medium: 'medium',
7338
+ large: 'large'
7339
+ };
7340
+
7341
+ /**
7342
+ * Anchor Button Appearance constants
7343
+ * @public
7344
+ */
7345
+ const AnchorButtonAppearance = ButtonAppearance;
7346
+ /**
7347
+ * An Anchor Button can be square, circular or rounded.
7348
+ * @public
7349
+ */
7350
+ const AnchorButtonShape = ButtonShape;
7351
+ /**
7352
+ * An Anchor Button can be a size of small, medium or large.
7353
+ * @public
7354
+ */
7355
+ const AnchorButtonSize = ButtonSize;
7356
+
7357
+ /**
7358
+ * The template for the Button component.
7359
+ * @public
7360
+ */
7361
+ const template$i = anchorTemplate();
7362
+
7363
+ // Need to support icon hover styles
7364
+ const styles$h = css`
7365
+ ${display('inline-flex')}
7366
+
7367
+ :host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle}:host .control{display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer}.content{display:inherit}:host(:hover) .control{background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active) .control{background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host .control:focus-visible{border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]) .control{min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS}}:host([size='small']) .control{min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]) .control{min-width:24px;max-width:24px}:host([size='large']) .control{min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]) .control{min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']) .control,:host([shape='circular']) .control:focus-visible{border-radius:${borderRadiusCircular}}:host([shape='square']) .control,:host([shape='square']) .control:focus-visible{border-radius:${borderRadiusNone}}:host([appearance='primary']) .control{background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover) .control{background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover) .control,:host([appearance='primary']:hover:active) .control{border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active) .control{background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']) .control:focus-visible{border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"])) .control,:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover) .control,:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover:active) .control{border-color:transparent}:host([appearance='outline']) .control{background-color:${colorTransparentBackground}}:host([appearance='outline']:hover) .control{background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active) .control{background-color:${colorTransparentBackgroundPressed}}:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"])) .control,:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover) .control,:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover:active) .control{background-color:${colorTransparentBackground}}:host([appearance='subtle']) .control{background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover) .control{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active) .control{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"])) .control,:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover) .control,:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover:active) .control{background-color:${colorTransparentBackground};border-color:transparent}:host([appearance='subtle']:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host([appearance='subtle']:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control{background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) .control{background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active) .control{background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control,:host([appearance='transparent']:hover) .control,:host([appearance='transparent']:hover:active) .control{border-color:transparent}:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"])) .control,:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover) .control,:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover:active) .control{border-color:transparent;background-color:${colorTransparentBackground}}:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable])) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover:active)
7368
+ .control{background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`;
7369
+
7370
+ // Need to support icon hover styles
7371
+ const styles$g = css`
7372
+ ${styles$h}
7373
+
7374
+ .content{text-align:center}`;
7375
+
7376
+ /**
7377
+ * The Fluent Anchor Button Element. Implements {@link @microsoft/fast-foundation#Anchor },
7378
+ * {@link @microsoft/fast-foundation#anchorTemplate}
7379
+ *
7380
+ * @public
7381
+ * @remarks
7382
+ * HTML Element: \<fluent-anchor-button\>
7383
+ */
7384
+ const definition$i = AnchorButton.compose({
7385
+ name: `${FluentDesignSystem.prefix}-anchor-button`,
7386
+ template: template$i,
7387
+ styles: styles$g,
7388
+ shadowOptions: {
7389
+ delegatesFocus: true
7390
+ }
7183
7391
  });
7184
7392
 
7185
7393
  /* TODO: This file is a direct copy of the React Avatar utils */
@@ -7433,7 +7641,7 @@ const defaultIconTemplate = html`<svg width="1em" height="1em" viewBox="0 0 20 2
7433
7641
  function avatarTemplate() {
7434
7642
  return html`<template role="img" data-color=${x => x.generateColor()}><slot>${x => x.name || x.initials ? x.generateInitials() : defaultIconTemplate}</slot><slot name="badge"></slot></template>`;
7435
7643
  }
7436
- const template$f = avatarTemplate();
7644
+ const template$h = avatarTemplate();
7437
7645
 
7438
7646
  const animations = {
7439
7647
  fastOutSlowInMax: curveDecelerateMax,
@@ -7449,7 +7657,7 @@ const animations = {
7449
7657
  /** Avatar styles
7450
7658
  * @public
7451
7659
  */
7452
- const styles$e = css`
7660
+ const styles$f = css`
7453
7661
  ${display('inline-flex')} :host{position:relative;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};font-size:${fontSizeBase300};border-radius:${borderRadiusCircular};color:${colorNeutralForeground3};background-color:${colorNeutralBackground6};contain:layout style}.default-icon,::slotted(svg){width:20px;height:20px;font-size:20px}::slotted(img){box-sizing:border-box;width:100%;height:100%;border-radius:${borderRadiusCircular}}::slotted([slot='badge']){position:absolute;bottom:0;right:0;box-shadow:0 0 0 ${strokeWidthThin} ${colorNeutralBackground1}}:host([size='64']) ::slotted([slot='badge']),:host([size='72']) ::slotted([slot='badge']),:host([size='96']) ::slotted([slot='badge']),:host([size='120']) ::slotted([slot='badge']),:host([size='128']) ::slotted([slot='badge']){box-shadow:0 0 0 ${strokeWidthThick} ${colorNeutralBackground1}}:host([size='16']),:host([size='20']),:host([size='24']){font-size:${fontSizeBase100};font-weight:${fontWeightRegular}}:host([size='16']){width:16px;height:16px}:host([size='20']){width:20px;height:20px}:host([size='24']){width:24px;height:24px}:host([size='16']) .default-icon,:host([size='16']) ::slotted(svg){width:12px;height:12px;font-size:12px}:host([size='20']) .default-icon,:host([size='24']) .default-icon,:host([size='20']) ::slotted(svg),:host([size='24']) ::slotted(svg){width:16px;height:16px;font-size:16px}:host([size='28']){width:28px;height:28px;font-size:${fontSizeBase200}}:host([size='36']){width:36px;height:36px}:host([size='40']){width:40px;height:40px}:host([size='48']),:host([size='56']){font-size:${fontSizeBase400}}:host([size='48']){width:48px;height:48px}:host([size='48']) .default-icon,:host([size='48']) ::slotted(svg){width:24px;height:24px;font-size:24px}:host([size='56']){width:56px;height:56px}:host([size='56']) .default-icon,:host([size='56']) ::slotted(svg){width:28px;height:28px;font-size:28px}:host([size='64']),:host([size='72']),:host([size='96']){font-size:${fontSizeBase500}}:host([size='64']) .default-icon,:host([size='72']) .default-icon,:host([size='64']) ::slotted(svg),:host([size='72']) ::slotted(svg){width:32px;height:32px;font-size:32px}:host([size='64']){width:64px;height:64px}:host([size='72']){width:72px;height:72px}:host([size='96']){width:96px;height:96px}:host([size='96']) .default-icon,:host([size='120']) .default-icon,:host([size='128']) .default-icon,:host([size='96']) ::slotted(svg),:host([size='120']) ::slotted(svg),:host([size='128']) ::slotted(svg){width:48px;height:48px;font-size:48px}:host([size='120']),:host([size='128']){font-size:${fontSizeBase600}}:host([size='120']){width:120px;height:120px}:host([size='128']){width:128px;height:128px}:host([shape='square']){border-radius:${borderRadiusMedium}}:host([shape='square'][size='20']),:host([shape='square'][size='24']){border-radius:${borderRadiusSmall}}:host([shape='square'][size='56']),:host([shape='square'][size='64']),:host([shape='square'][size='72']){border-radius:${borderRadiusLarge}}:host([shape='square'][size='96']),:host([shape='square'][size='120']),:host([shape='square'][size='128']){border-radius:${borderRadiusXLarge}}:host([data-color='brand']){color:${colorNeutralForegroundStaticInverted};background-color:${colorBrandBackgroundStatic}}:host([data-color='dark-red']){color:${colorPaletteDarkRedForeground2};background-color:${colorPaletteDarkRedBackground2}}:host([data-color='cranberry']){color:${colorPaletteCranberryForeground2};background-color:${colorPaletteCranberryBackground2}}:host([data-color='red']){color:${colorPaletteRedForeground2};background-color:${colorPaletteRedBackground2}}:host([data-color='pumpkin']){color:${colorPalettePumpkinForeground2};background-color:${colorPalettePumpkinBackground2}}:host([data-color='peach']){color:${colorPalettePeachForeground2};background-color:${colorPalettePeachBackground2}}:host([data-color='marigold']){color:${colorPaletteMarigoldForeground2};background-color:${colorPaletteMarigoldBackground2}}:host([data-color='gold']){color:${colorPaletteGoldForeground2};background-color:${colorPaletteGoldBackground2}}:host([data-color='brass']){color:${colorPaletteBrassForeground2};background-color:${colorPaletteBrassBackground2}}:host([data-color='brown']){color:${colorPaletteBrownForeground2};background-color:${colorPaletteBrownBackground2}}:host([data-color='forest']){color:${colorPaletteForestForeground2};background-color:${colorPaletteForestBackground2}}:host([data-color='seafoam']){color:${colorPaletteSeafoamForeground2};background-color:${colorPaletteSeafoamBackground2}}:host([data-color='dark-green']){color:${colorPaletteDarkGreenForeground2};background-color:${colorPaletteDarkGreenBackground2}}:host([data-color='light-teal']){color:${colorPaletteLightTealForeground2};background-color:${colorPaletteLightTealBackground2}}:host([data-color='teal']){color:${colorPaletteTealForeground2};background-color:${colorPaletteTealBackground2}}:host([data-color='steel']){color:${colorPaletteSteelForeground2};background-color:${colorPaletteSteelBackground2}}:host([data-color='blue']){color:${colorPaletteBlueForeground2};background-color:${colorPaletteBlueBackground2}}:host([data-color='royal-blue']){color:${colorPaletteRoyalBlueForeground2};background-color:${colorPaletteRoyalBlueBackground2}}:host([data-color='cornflower']){color:${colorPaletteCornflowerForeground2};background-color:${colorPaletteCornflowerBackground2}}:host([data-color='navy']){color:${colorPaletteNavyForeground2};background-color:${colorPaletteNavyBackground2}}:host([data-color='lavender']){color:${colorPaletteLavenderForeground2};background-color:${colorPaletteLavenderBackground2}}:host([data-color='purple']){color:${colorPalettePurpleForeground2};background-color:${colorPalettePurpleBackground2}}:host([data-color='grape']){color:${colorPaletteGrapeForeground2};background-color:${colorPaletteGrapeBackground2}}:host([data-color='lilac']){color:${colorPaletteLilacForeground2};background-color:${colorPaletteLilacBackground2}}:host([data-color='pink']){color:${colorPalettePinkForeground2};background-color:${colorPalettePinkBackground2}}:host([data-color='magenta']){color:${colorPaletteMagentaForeground2};background-color:${colorPaletteMagentaBackground2}}:host([data-color='plum']){color:${colorPalettePlumForeground2};background-color:${colorPalettePlumBackground2}}:host([data-color='beige']){color:${colorPaletteBeigeForeground2};background-color:${colorPaletteBeigeBackground2}}:host([data-color='mink']){color:${colorPaletteMinkForeground2};background-color:${colorPaletteMinkBackground2}}:host([data-color='platinum']){color:${colorPalettePlatinumForeground2};background-color:${colorPalettePlatinumBackground2}}:host([data-color='anchor']){color:${colorPaletteAnchorForeground2};background-color:${colorPaletteAnchorBackground2}}:host([active]){transform:perspective(1px);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{box-shadow:${shadow8};border-style:solid;border-color:${colorBrandBackgroundStatic}}:host([active][appearance='shadow'])::before{border-style:none;border-color:none}:host([active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThick});border-width:${strokeWidthThick}}:host([size='56'][active]:not([appearance='shadow']))::before,:host([size='64'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThicker});border-width:${strokeWidthThicker}}:host([size='72'][active]:not([appearance='shadow']))::before,:host([size='96'][active]:not([appearance='shadow']))::before,:host([size='120'][active]:not([appearance='shadow']))::before,:host([size='128'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThickest});border-width:${strokeWidthThickest}}:host([size='20'][active][appearance])::before,:host([size='24'][active][appearance])::before,:host([size='28'][active][appearance])::before{box-shadow:${shadow4}}:host([size='56'][active][appearance])::before,:host([size='64'][active][appearance])::before{box-shadow:${shadow16}}:host([size='72'][active][appearance])::before,:host([size='96'][active][appearance])::before,:host([size='120'][active][appearance])::before,:host([size='128'][active][appearance])::before{box-shadow:${shadow28}}:host([active][appearance='ring'])::before{box-shadow:none}:host([active='inactive']){opacity:0.8;transform:scale(0.875);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}:host([active='inactive'])::before{margin:0;opacity:0;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}@media screen and (prefers-reduced-motion:reduce){:host([active]){transition-duration:0.01ms}:host([active])::before{transition-duration:0.01ms;transition-delay:0.01ms}}`;
7454
7662
 
7455
7663
  /**
@@ -7459,10 +7667,10 @@ const styles$e = css`
7459
7667
  * @remarks
7460
7668
  * HTML Element: \<fluent-badge\>
7461
7669
  */
7462
- const definition$f = Avatar.compose({
7670
+ const definition$h = Avatar.compose({
7463
7671
  name: `${FluentDesignSystem.prefix}-avatar`,
7464
- template: template$f,
7465
- styles: styles$e
7672
+ template: template$h,
7673
+ styles: styles$f
7466
7674
  });
7467
7675
 
7468
7676
  /**
@@ -7549,7 +7757,7 @@ applyMixins(Badge, StartEnd);
7549
7757
  function badgeTemplate(options = {}) {
7550
7758
  return html` ${startSlotTemplate(options)}<slot>${staticallyCompose(options.defaultContent)}</slot>${endSlotTemplate(options)} `;
7551
7759
  }
7552
- const template$e = badgeTemplate();
7760
+ const template$g = badgeTemplate();
7553
7761
 
7554
7762
  const textPadding = spacingHorizontalXXS;
7555
7763
  const badgeBaseStyles = css.partial`
@@ -7826,7 +8034,7 @@ const badgeTintStyles = css.partial`
7826
8034
  /** Badge styles
7827
8035
  * @public
7828
8036
  */
7829
- const styles$d = css`
8037
+ const styles$e = css`
7830
8038
  :host([shape='square']){border-radius:${borderRadiusNone}}:host([shape='rounded']){border-radius:${borderRadiusMedium}}:host([shape='rounded'][size='tiny']),:host([shape='rounded'][size='extra-small']),:host([shape='rounded'][size='small']){border-radius:${borderRadiusSmall}}${badgeSizeStyles}
7831
8039
  ${badgeFilledStyles}
7832
8040
  ${badgeGhostStyles}
@@ -7844,10 +8052,10 @@ const styles$d = css`
7844
8052
  * @remarks
7845
8053
  * HTML Element: \<fluent-badge\>
7846
8054
  */
7847
- const definition$e = Badge.compose({
8055
+ const definition$g = Badge.compose({
7848
8056
  name: `${FluentDesignSystem.prefix}-badge`,
7849
- template: template$e,
7850
- styles: styles$d
8057
+ template: template$g,
8058
+ styles: styles$e
7851
8059
  });
7852
8060
 
7853
8061
  /**
@@ -7915,60 +8123,84 @@ __decorate([attr({
7915
8123
  })], Button.prototype, "disabledFocusable", void 0);
7916
8124
 
7917
8125
  /**
7918
- * ButtonAppearance constants
8126
+ * The template for the Button component.
7919
8127
  * @public
7920
8128
  */
7921
- const ButtonAppearance = {
7922
- primary: 'primary',
7923
- outline: 'outline',
7924
- subtle: 'subtle',
7925
- secondary: 'secondary',
7926
- transparent: 'transparent'
7927
- };
8129
+ const template$f = buttonTemplate$1();
8130
+
7928
8131
  /**
7929
- * A Button can be square, circular or rounded.
8132
+ * The Fluent Button Element. Implements {@link @microsoft/fast-foundation#Button },
8133
+ * {@link @microsoft/fast-foundation#buttonTemplate}
8134
+ *
7930
8135
  * @public
8136
+ * @remarks
8137
+ * HTML Element: \<fluent-button\>
7931
8138
  */
7932
- const ButtonShape = {
7933
- circular: 'circular',
7934
- rounded: 'rounded',
7935
- square: 'square'
7936
- };
8139
+ const definition$f = Button.compose({
8140
+ name: `${FluentDesignSystem.prefix}-button`,
8141
+ template: template$f,
8142
+ styles: styles$h,
8143
+ shadowOptions: {
8144
+ delegatesFocus: true
8145
+ }
8146
+ });
8147
+
7937
8148
  /**
7938
- * A Button can be a size of small, medium or large.
8149
+ * The base class used for constructing a fluent-compound-button custom element
7939
8150
  * @public
7940
8151
  */
7941
- const ButtonSize = {
7942
- small: 'small',
7943
- medium: 'medium',
7944
- large: 'large'
7945
- };
8152
+ class CompoundButton extends Button {}
8153
+
8154
+ /**
8155
+ * Compound Button Appearance constants
8156
+ * @public
8157
+ */
8158
+ const CompoundButtonAppearance = ButtonAppearance;
8159
+ /**
8160
+ * A Compound Button can be square, circular or rounded.
8161
+ * @public
8162
+ */
8163
+ const CompoundButtonShape = ButtonShape;
8164
+ /**
8165
+ * A Compound Button can be a size of small, medium or large.
8166
+ * @public
8167
+ */
8168
+ const CompoundButtonSize = ButtonSize;
7946
8169
 
8170
+ /**
8171
+ * The template for the Compound Button component.
8172
+ * @public
8173
+ */
8174
+ function buttonTemplate(options = {}) {
8175
+ return html`<button class="control" part="control" ?autofocus="${x => x.autofocus}" ?disabled="${x => x.disabled}" form="${x => x.formId}" formaction="${x => x.formaction}" formenctype="${x => x.formenctype}" formmethod="${x => x.formmethod}" ?formnovalidate="${x => x.formnovalidate}" formtarget="${x => x.formtarget}" name="${x => x.name}" type="${x => x.type}" value="${x => x.value}" aria-atomic="${x => x.ariaAtomic}" aria-busy="${x => x.ariaBusy}" aria-controls="${x => x.ariaControls}" aria-current="${x => x.ariaCurrent}" aria-describedby="${x => x.ariaDescribedby}" aria-details="${x => x.ariaDetails}" aria-disabled="${x => x.ariaDisabled}" aria-errormessage="${x => x.ariaErrormessage}" aria-expanded="${x => x.ariaExpanded}" aria-flowto="${x => x.ariaFlowto}" aria-haspopup="${x => x.ariaHaspopup}" aria-hidden="${x => x.ariaHidden}" aria-invalid="${x => x.ariaInvalid}" aria-keyshortcuts="${x => x.ariaKeyshortcuts}" aria-label="${x => x.ariaLabel}" aria-labelledby="${x => x.ariaLabelledby}" aria-live="${x => x.ariaLive}" aria-owns="${x => x.ariaOwns}" aria-pressed="${x => x.ariaPressed}" aria-relevant="${x => x.ariaRelevant}" aria-roledescription="${x => x.ariaRoledescription}" ${ref('control')}>${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted('defaultSlottedContent')}></slot><slot name="description"></slot></span>${endSlotTemplate(options)}</button>`;
8176
+ }
7947
8177
  /**
7948
8178
  * The template for the Button component.
7949
8179
  * @public
7950
8180
  */
7951
- const template$d = buttonTemplate();
8181
+ const template$e = buttonTemplate();
7952
8182
 
7953
8183
  // Need to support icon hover styles
7954
- const styles$c = css`
7955
- ${display('inline-flex')}
8184
+ const styles$d = css`
8185
+ ${styles$h}
7956
8186
 
7957
- :host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style}:host .control{display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer}.content{display:inherit}:host(:hover) .control{background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active) .control{background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host .control:focus-visible{border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]) .control{min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS}}:host([size='small']) .control{min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]) .control{min-width:24px;max-width:24px}:host([size='large']) .control{min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]) .control{min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']) .control,:host([shape='circular']) .control:focus-visible{border-radius:${borderRadiusCircular}}:host([shape='square']) .control,:host([shape='square']) .control:focus-visible{border-radius:${borderRadiusNone}}:host([appearance='primary']) .control{background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover) .control{background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover) .control,:host([appearance='primary']:hover:active) .control{border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active) .control{background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']) .control:focus-visible{border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"])) .control,:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover) .control,:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover:active) .control{border-color:transparent}:host([appearance='outline']) .control{background-color:${colorTransparentBackground}}:host([appearance='outline']:hover) .control{background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active) .control{background-color:${colorTransparentBackgroundPressed}}:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"])) .control,:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover) .control,:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover:active) .control{background-color:${colorTransparentBackground}}:host([appearance='subtle']) .control{background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover) .control{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active) .control{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"])) .control,:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover) .control,:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover:active) .control{background-color:${colorTransparentBackground};border-color:transparent}:host([appearance='subtle']:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host([appearance='subtle']:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control{background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) .control{background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active) .control{background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control,:host([appearance='transparent']:hover) .control,:host([appearance='transparent']:hover:active) .control{border-color:transparent}:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"])) .control,:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover) .control,:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover:active) .control{border-color:transparent;background-color:${colorTransparentBackground}}:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable])) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover:active)
7958
- .control{background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`;
8187
+ :host .control,:host(:is([size])) .control{gap:12px;height:auto;padding-top:14px;padding-inline:12px;padding-bottom:16px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}.content{display:flex;flex-direction:column;text-align:start}::slotted([slot='description']){color:${colorNeutralForeground2};line-height:100%;font-size:${fontSizeBase200};font-weight:${fontWeightRegular}}::slotted(svg),:host([size='large']) ::slotted(svg){font-size:40px;height:40px;width:40px}:host(:hover) ::slotted([slot='description']){color:${colorNeutralForeground2Hover}}:host(:active) ::slotted([slot='description']){color:${colorNeutralForeground2Pressed}}:host(:is([appearance='primary'],[appearance='primary']:hover,[appearance='primary']:active))
8188
+ ::slotted([slot='description']){color:${colorNeutralForegroundOnBrand}}:host(:is([appearance='subtle'],[appearance='subtle']:hover,[appearance='subtle']:active))
8189
+ ::slotted([slot='description']),:host([appearance='transparent']) ::slotted([slot='description']){color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) ::slotted([slot='description']){color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:active) ::slotted([slot='description']){color:${colorNeutralForeground2BrandPressed}}:host(:is([disabled],[disabled][appearance],[disabled-focusable],[disabled-focusable][appearance]))
8190
+ ::slotted([slot='description']){color:${colorNeutralForegroundDisabled}}:host([size='small']) .control{padding:8px;padding-bottom:10px}:host([icon-only]) .control{min-width:52px;max-width:52px;padding:${spacingHorizontalSNudge}}:host([icon-only][size='small']) .control{min-width:48px;max-width:48px;padding:${spacingHorizontalXS}}:host([icon-only][size='large']) .control{min-width:56px;max-width:56px;padding:${spacingHorizontalS}}:host([size='large']) .control{padding-top:18px;padding-inline:16px;padding-bottom:20px;font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large']) ::slotted([slot='description']){font-size:${fontSizeBase300}}`;
7959
8191
 
7960
8192
  /**
7961
- * The Fluent Button Element. Implements {@link @microsoft/fast-foundation#Button },
8193
+ * The Fluent Compound Button Element. Implements {@link @microsoft/fast-foundation#Button },
7962
8194
  * {@link @microsoft/fast-foundation#buttonTemplate}
7963
8195
  *
7964
8196
  * @public
7965
8197
  * @remarks
7966
- * HTML Element: \<fluent-button\>
8198
+ * HTML Element: \<fluent-comopund-button\>
7967
8199
  */
7968
- const definition$d = Button.compose({
7969
- name: `${FluentDesignSystem.prefix}-button`,
7970
- template: template$d,
7971
- styles: styles$c,
8200
+ const definition$e = CompoundButton.compose({
8201
+ name: `${FluentDesignSystem.prefix}-compound-button`,
8202
+ template: template$e,
8203
+ styles: styles$d,
7972
8204
  shadowOptions: {
7973
8205
  delegatesFocus: true
7974
8206
  }
@@ -8107,12 +8339,12 @@ function composeTemplate(options = {}) {
8107
8339
  * The template for the Counter Badge component.
8108
8340
  * @public
8109
8341
  */
8110
- const template$c = composeTemplate();
8342
+ const template$d = composeTemplate();
8111
8343
 
8112
8344
  /** Badge styles
8113
8345
  * @public
8114
8346
  */
8115
- const styles$b = css`
8347
+ const styles$c = css`
8116
8348
  :host([shape='rounded']){border-radius:${borderRadiusMedium}}:host([shape='rounded'][size='tiny']),:host([shape='rounded'][size='extra-small']),:host([shape='rounded'][size='small']){border-radius:${borderRadiusSmall}}${badgeSizeStyles}
8117
8349
  ${badgeFilledStyles}
8118
8350
  ${badgeGhostStyles}
@@ -8129,10 +8361,10 @@ const styles$b = css`
8129
8361
  * @remarks
8130
8362
  * HTML Element: \<fluent-counter-badge\>
8131
8363
  */
8132
- const definition$c = CounterBadge.compose({
8364
+ const definition$d = CounterBadge.compose({
8133
8365
  name: `${FluentDesignSystem.prefix}-counter-badge`,
8134
- template: template$c,
8135
- styles: styles$b
8366
+ template: template$d,
8367
+ styles: styles$c
8136
8368
  });
8137
8369
 
8138
8370
  /**
@@ -8174,12 +8406,12 @@ const DividerAppearance = {
8174
8406
  * Template for the Divider component
8175
8407
  * @public
8176
8408
  */
8177
- const template$b = dividerTemplate();
8409
+ const template$c = dividerTemplate();
8178
8410
 
8179
8411
  /** Divider styles
8180
8412
  * @public
8181
8413
  */
8182
- const styles$a = css`
8414
+ const styles$b = css`
8183
8415
  ${display('flex')}
8184
8416
 
8185
8417
  :host{contain:content}:host::after,:host::before{align-self:center;background:${colorNeutralStroke2};box-sizing:border-box;content:'';display:flex;flex-grow:1;height:${strokeWidthThin}}:host([inset]){padding:0 12px}:host ::slotted(*){color:${colorNeutralForeground2};font-family:${fontFamilyBase};font-size:${fontSizeBase200};font-weight:${fontWeightRegular};margin:0;padding:0 12px}:host([align-content='start'])::before,:host([align-content='end'])::after{flex-basis:12px;flex-grow:0;flex-shrink:0}:host([orientation='vertical']){height:100%;min-height:84px}:host([orientation='vertical']):empty{min-height:20px}:host([orientation='vertical']){flex-direction:column;align-items:center}:host([orientation='vertical'][inset])::before{margin-top:12px}:host([orientation='vertical'][inset])::after{margin-bottom:12px}:host([orientation='vertical']):empty::before,:host([orientation='vertical']):empty::after{height:10px;min-height:10px;flex-grow:0}:host([orientation='vertical'])::before,:host([orientation='vertical'])::after{width:${strokeWidthThin};min-height:20px;height:100%}:host([orientation='vertical']) ::slotted(*){display:flex;flex-direction:column;padding:12px 0;line-height:20px}:host([orientation='vertical'][align-content='start'])::before{min-height:8px}:host([orientation='vertical'][align-content='end'])::after{min-height:8px}:host([appearance='strong'])::before,:host([appearance='strong'])::after{background:${colorNeutralStroke1}}:host([appearance='strong']) ::slotted(*){color:${colorNeutralForeground1}}:host([appearance='brand'])::before,:host([appearance='brand'])::after{background:${colorBrandStroke1}}:host([appearance='brand']) ::slotted(*){color:${colorBrandForeground1}}:host([appearance='subtle'])::before,:host([appearance='subtle'])::after{background:${colorNeutralStroke3}}:host([appearance='subtle']) ::slotted(*){color:${colorNeutralForeground3}}`;
@@ -8191,10 +8423,10 @@ const styles$a = css`
8191
8423
  * @remarks
8192
8424
  * HTML Element: \<fluent-divider\>
8193
8425
  */
8194
- const definition$b = Divider.compose({
8426
+ const definition$c = Divider.compose({
8195
8427
  name: `${FluentDesignSystem.prefix}-divider`,
8196
- template: template$b,
8197
- styles: styles$a
8428
+ template: template$c,
8429
+ styles: styles$b
8198
8430
  });
8199
8431
 
8200
8432
  /**
@@ -8239,14 +8471,14 @@ const ImageShape = {
8239
8471
  * Template for the Image component
8240
8472
  * @public
8241
8473
  */
8242
- const template$a = html`<slot></slot>`;
8474
+ const template$b = html`<slot></slot>`;
8243
8475
 
8244
8476
  /** Image styles
8245
8477
  *
8246
8478
  * @public
8247
8479
  */
8248
- const styles$9 = css`
8249
- :host{contain:content}:host ::slotted(img){box-sizing:border-box;min-height:8px;min-width:8px;display:inline-block}:host([block]) ::slotted(img){width:100%;height:auto}:host([bordered]) ::slotted(img){border:${strokeWidthThin} solid ${colorNeutralStroke2}}:host([fit='none']) ::slotted(img){object-fit:none;object-position:top left;height:100%;width:100%}:host([fit='center']) ::slotted(img){object-fit:none;object-position:center;height:100%;width:100%}:host([fit='contain']) ::slotted(img){object-fit:contain;object-position:center;height:100%;width:100%}:host([fit='cover']) ::slotted(img){object-fit:cover;object-position:center;height:100%;width:100%}:host([shadow]) ::slotted(img){box-shadow:${shadow4}}:host([shape='circular']) ::slotted(img){border-radius:${borderRadiusCircular}}`;
8480
+ const styles$a = css`
8481
+ :host{contain:content}:host ::slotted(img){box-sizing:border-box;min-height:8px;min-width:8px;display:inline-block}:host([block]) ::slotted(img){width:100%;height:auto}:host([bordered]) ::slotted(img){border:${strokeWidthThin} solid ${colorNeutralStroke2}}:host([fit='none']) ::slotted(img){object-fit:none;object-position:top left;height:100%;width:100%}:host([fit='center']) ::slotted(img){object-fit:none;object-position:center;height:100%;width:100%}:host([fit='contain']) ::slotted(img){object-fit:contain;object-position:center;height:100%;width:100%}:host([fit='cover']) ::slotted(img){object-fit:cover;object-position:center;height:100%;width:100%}:host([shadow]) ::slotted(img){box-shadow:${shadow4}}:host([shape='circular']) ::slotted(img){border-radius:${borderRadiusCircular}}:host([shape='rounded']) ::slotted(img){border-radius:${borderRadiusMedium}}`;
8250
8482
 
8251
8483
  /**
8252
8484
  * The Fluent Image Element
@@ -8255,10 +8487,10 @@ const styles$9 = css`
8255
8487
  * @remarks
8256
8488
  * HTML Element: \<fluent-image\>
8257
8489
  */
8258
- const definition$a = Image.compose({
8490
+ const definition$b = Image.compose({
8259
8491
  name: `${FluentDesignSystem.prefix}-image`,
8260
- template: template$a,
8261
- styles: styles$9
8492
+ template: template$b,
8493
+ styles: styles$a
8262
8494
  });
8263
8495
 
8264
8496
  /**
@@ -8298,7 +8530,7 @@ __decorate([attr({
8298
8530
  /** Label styles
8299
8531
  * @public
8300
8532
  */
8301
- const styles$8 = css`
8533
+ const styles$9 = css`
8302
8534
  ${display('flex')}
8303
8535
 
8304
8536
  :host{font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-weight:${fontWeightRegular};color:${colorNeutralForeground1}}.asterisk{color:${colorPaletteRedForeground1};margin-left:${spacingHorizontalXS}}:host([size='small']){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']){font-size:${fontSizeBase400};line-height:${lineHeightBase400};font-weight:${fontWeightSemibold}}:host([weight='semibold']){font-weight:${fontWeightSemibold}}:host([disabled]),:host([disabled]) .asterisk{color:${colorNeutralForegroundDisabled}}`;
@@ -8310,7 +8542,7 @@ const styles$8 = css`
8310
8542
  function labelTemplate() {
8311
8543
  return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
8312
8544
  }
8313
- const template$9 = labelTemplate();
8545
+ const template$a = labelTemplate();
8314
8546
 
8315
8547
  /**
8316
8548
  * The Fluent Label Element.
@@ -8320,10 +8552,10 @@ const template$9 = labelTemplate();
8320
8552
  * @remarks
8321
8553
  * HTML Element: \<fluent-label\>
8322
8554
  */
8323
- const definition$9 = Label.compose({
8555
+ const definition$a = Label.compose({
8324
8556
  name: `${FluentDesignSystem.prefix}-label`,
8325
- template: template$9,
8326
- styles: styles$8
8557
+ template: template$a,
8558
+ styles: styles$9
8327
8559
  });
8328
8560
 
8329
8561
  /**
@@ -8352,7 +8584,7 @@ const MenuButtonSize = ButtonSize;
8352
8584
  * The template for the Button component.
8353
8585
  * @public
8354
8586
  */
8355
- const template$8 = buttonTemplate({
8587
+ const template$9 = buttonTemplate$1({
8356
8588
  end: html.partial(`<svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M15.85 7.65c.2.2.2.5 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16c.2-.2.5-.2.7 0Z" fill="currentColor"></path></svg>`)
8357
8589
  });
8358
8590
 
@@ -8364,10 +8596,10 @@ const template$8 = buttonTemplate({
8364
8596
  * @remarks
8365
8597
  * HTML Element: \<fluent-button\>
8366
8598
  */
8367
- const definition$8 = MenuButton.compose({
8599
+ const definition$9 = MenuButton.compose({
8368
8600
  name: `${FluentDesignSystem.prefix}-menu-button`,
8369
- template: template$8,
8370
- styles: styles$c,
8601
+ template: template$9,
8602
+ styles: styles$h,
8371
8603
  shadowOptions: {
8372
8604
  delegatesFocus: true
8373
8605
  }
@@ -8424,7 +8656,7 @@ const ProgressBarValidationState = {
8424
8656
  /** ProgressBar styles
8425
8657
  * @public
8426
8658
  */
8427
- const styles$7 = css`
8659
+ const styles$8 = css`
8428
8660
  ${display('flex')}
8429
8661
 
8430
8662
  :host{align-items:center;height:2px;overflow-x:hidden;border-radius:${borderRadiusMedium};contain:content}:host([thickness='large']),:host([thickness='large']) .progress,:host([thickness='large']) .determinate{height:4px}:host([shape='square']),:host([shape='square']) .progress,:host([shape='square']) .determinate{border-radius:0}:host([validation-state='error']) .determinate{background-color:${colorPaletteRedBackground3}}:host([validation-state='error']) .indeterminate-indicator-1,:host([validation-state='error']) .indeterminate-indicator-2{background:linear-gradient(
@@ -8439,7 +8671,7 @@ const styles$7 = css`
8439
8671
  to right,${colorBrandBackground2} 0%,${colorCompoundBrandBackground} 50%,${colorBrandBackground2}
8440
8672
  );border-radius:${borderRadiusMedium};animation-timing-function:cubic-bezier(0.4,0,0.6,1);width:60%;animation:indeterminate-2 3s infinite}@keyframes indeterminate-1{0%{opacity:1;transform:translateX(-100%)}70%{opacity:1;transform:translateX(300%)}70.01%{opacity:0}100%{opacity:0;transform:translateX(300%)}}@keyframes indeterminate-2{0%{opacity:0;transform:translateX(-150%)}29.99%{opacity:0}30%{opacity:1;transform:translateX(-150%)}100%{transform:translateX(166.66%);opacity:1}}`;
8441
8673
 
8442
- const template$7 = progressTemplate({
8674
+ const template$8 = progressTemplate({
8443
8675
  indeterminateIndicator1: `<span class="indeterminate-indicator-1" part="indeterminate-indicator-1></span>`,
8444
8676
  indeterminateIndicator2: `<span class="indeterminate-indicator-2" part="indeterminate-indicator-2"></span>`
8445
8677
  });
@@ -8452,10 +8684,10 @@ const template$7 = progressTemplate({
8452
8684
  * @remarks
8453
8685
  * HTML Element: \<fluent-progress-bar\>
8454
8686
  */
8455
- const definition$7 = ProgressBar.compose({
8687
+ const definition$8 = ProgressBar.compose({
8456
8688
  name: `${FluentDesignSystem.prefix}-progress-bar`,
8457
- template: template$7,
8458
- styles: styles$7
8689
+ template: template$8,
8690
+ styles: styles$8
8459
8691
  });
8460
8692
 
8461
8693
  /**
@@ -8517,12 +8749,12 @@ const SliderSize = {
8517
8749
  /** Text styles
8518
8750
  * @public
8519
8751
  */
8520
- const styles$6 = css`
8752
+ const styles$7 = css`
8521
8753
  ${display('inline-grid')} :host{--thumb-size:18px;--thumb-padding:3px;--thumb-translate:calc(var(--thumb-size) * -0.5 + var(--track-width) / 2);--track-overhang:-2px;--track-width:4px;--fast-slider-height:calc(var(--thumb-size) * 10);--slider-direction:90deg;align-items:center;box-sizing:border-box;outline:none;cursor:pointer;user-select:none;border-radius:${borderRadiusSmall};touch-action:pan-y;min-width:calc(var(--thumb-size) * 1px);width:100%}:host([size='small']){--thumb-size:14px;--track-width:2px;--thumb-padding:3px}:host([orientation='vertical']){--slider-direction:0deg;height:160px;min-height:var(--thumb-size);touch-action:pan-x;padding:8px 0;width:auto;min-width:auto}:host([disabled]:hover){cursor:initial}:host(:focus-visible){box-shadow:0 0 0 2pt ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}.thumb-cursor:focus{outline:0}.thumb-container{position:absolute;height:var(--thumb-size);width:var(--thumb-size);transition:all 0.2s ease}.thumb-container{transform:translateX(calc(var(--thumb-size) * 0.5)) translateY(calc(var(--thumb-translate) * -1.5))}:host([size='small']) .thumb-container{transform:translateX(calc(var(--thumb-size) * 0.5)) translateY(calc(var(--thumb-translate) * -1.35))}:host([orientation='vertical']) .thumb-container{transform:translateX(calc(var(--thumb-translate) * -1.5)) translateY(calc(var(--thumb-size) * -0.5))}:host([orientation='vertical'][size='small']) .thumb-container{transform:translateX(calc(var(--thumb-translate) * -1.35)) translateY(calc(var(--thumb-size) * -0.5))}.thumb-cursor{height:var(--thumb-size);width:var(--thumb-size);background-color:${colorBrandBackground};border-radius:${borderRadiusCircular};box-shadow:inset 0 0 0 var(--thumb-padding) ${colorNeutralBackground1},0 0 0 1px ${colorNeutralStroke1}}.thumb-cursor:hover{background-color:${colorCompoundBrandBackgroundHover}}.thumb-cursor:active{background-color:${colorCompoundBrandBackgroundPressed}}:host([disabled]) .thumb-cursor{background-color:${colorNeutralForegroundDisabled};box-shadow:inset 0 0 0 var(--thumb-padding) ${colorNeutralBackground1},0 0 0 1px ${colorNeutralStrokeDisabled}}.positioning-region{position:relative;display:grid}:host([orientation='horizontal']) .positioning-region{margin:0 8px;grid-template-rows:var(--thumb-size) var(--thumb-size)}:host([orientation='vertical']) .positioning-region{margin:8px 0;height:100%;grid-template-columns:var(--thumb-size) var(--thumb-size)}.track{align-self:start;position:absolute;background-color:${colorNeutralStrokeAccessible};border-radius:${borderRadiusMedium};overflow:hidden}:host([step]) .track::after{content:'';position:absolute;border-radius:${borderRadiusMedium};width:100%;inset:0 2px;background-image:repeating-linear-gradient(
8522
8754
  var(--slider-direction),#0000 0%,#0000 calc(var(--step-rate) - 1px),${colorNeutralBackground1} calc(var(--step-rate) - 1px),${colorNeutralBackground1} var(--step-rate)
8523
8755
  )}:host([orientation='vertical'][step]) .track::after{inset:-2px 0}:host([disabled]) .track{background-color:${colorNeutralBackgroundDisabled}}:host([orientation='horizontal']) .track{right:var(--track-overhang);left:var(--track-overhang);align-self:start;height:var(--track-width);grid-row:2 / auto}:host([orientation='vertical']) .track{top:var(--track-overhang);bottom:var(--track-overhang);width:var(--track-width);height:100%;grid-column:2 / auto}.track-start{background-color:${colorCompoundBrandBackground};position:absolute;height:100%;left:0;border-radius:${borderRadiusMedium}}:host([disabled]) .track-start{background-color:${colorNeutralForegroundDisabled}}:host(:hover) .track-start{background-color:${colorCompoundBrandBackgroundHover}}:host([disabled]:hover) .track-start{background-color:${colorNeutralForegroundDisabled}}.track-start:active{background-color:${colorCompoundBrandBackgroundPressed}}:host([orientation='vertical']) .track-start{height:auto;width:100%;bottom:0}`;
8524
8756
 
8525
- const template$6 = sliderTemplate({
8757
+ const template$7 = sliderTemplate({
8526
8758
  thumb: `<div class="thumb-cursor" tabindex="0"></div>`
8527
8759
  });
8528
8760
 
@@ -8534,10 +8766,10 @@ const template$6 = sliderTemplate({
8534
8766
  * @remarks
8535
8767
  * HTML Element: \<fluent-slider\>
8536
8768
  */
8537
- const definition$6 = Slider.compose({
8769
+ const definition$7 = Slider.compose({
8538
8770
  name: `${FluentDesignSystem.prefix}-slider`,
8539
- template: template$6,
8540
- styles: styles$6
8771
+ template: template$7,
8772
+ styles: styles$7
8541
8773
  });
8542
8774
 
8543
8775
  /**
@@ -8570,7 +8802,7 @@ const SpinnerSize = {
8570
8802
  huge: 'huge'
8571
8803
  };
8572
8804
 
8573
- const template$5 = progressRingTemplate({
8805
+ const template$6 = progressRingTemplate({
8574
8806
  indeterminateIndicator: `
8575
8807
  <svg class="progress" part="progress" viewBox="0 0 16 16">
8576
8808
  <circle
@@ -8591,7 +8823,7 @@ const template$5 = progressRingTemplate({
8591
8823
  `
8592
8824
  });
8593
8825
 
8594
- const styles$5 = css`
8826
+ const styles$6 = css`
8595
8827
  ${display('flex')}
8596
8828
 
8597
8829
  :host{display:flex;align-items:center;height:32px;width:32px;contain:content}:host([size='tiny']){height:20px;width:20px}:host([size='extra-small']){height:24px;width:24px}:host([size='small']){height:28px;width:28px}:host([size='large']){height:36px;width:36px}:host([size='extra-large']){height:40px;width:40px}:host([size='huge']){height:44px;width:44px}.progress{height:100%;width:100%}.background{fill:none;stroke:${colorBrandStroke2};stroke-width:1.5px}:host([appearance='inverted']) .background{stroke:rgba(255,255,255,0.2)}.determinate{stroke:${colorBrandStroke1};fill:none;stroke-width:1.5px;stroke-linecap:round;transform-origin:50% 50%;transform:rotate(-90deg);transition:all 0.2s ease-in-out}:host([appearance='inverted']) .determinite{stroke:${colorNeutralStrokeOnBrand2}}.indeterminate-indicator-1{stroke:${colorBrandStroke1};fill:none;stroke-width:1.5px;stroke-linecap:round;transform-origin:50% 50%;transform:rotate(-90deg);transition:all 0.2s ease-in-out;animation:spin-infinite 3s cubic-bezier(0.53,0.21,0.29,0.67) infinite}:host([appearance='inverted']) .indeterminate-indicator-1{stroke:${colorNeutralStrokeOnBrand2}}@keyframes spin-infinite{0%{stroke-dasharray:0.01px 43.97px;transform:rotate(0deg)}50%{stroke-dasharray:21.99px 21.99px;transform:rotate(450deg)}100%{stroke-dasharray:0.01px 43.97px;transform:rotate(1080deg)}}`;
@@ -8605,10 +8837,10 @@ const styles$5 = css`
8605
8837
  * @remarks
8606
8838
  * HTML Element: \<fluent-spinner\>
8607
8839
  */
8608
- const definition$5 = Spinner.compose({
8840
+ const definition$6 = Spinner.compose({
8609
8841
  name: `${FluentDesignSystem.prefix}-spinner`,
8610
- template: template$5,
8611
- styles: styles$5
8842
+ template: template$6,
8843
+ styles: styles$6
8612
8844
  });
8613
8845
 
8614
8846
  class Switch extends FASTSwitch {}
@@ -8626,11 +8858,11 @@ const SwitchLabelPosition = {
8626
8858
  before: 'before'
8627
8859
  };
8628
8860
 
8629
- const template$4 = switchTemplate({
8861
+ const template$5 = switchTemplate({
8630
8862
  switch: `<span class="checked-indicator" part="checked-indicator"></span>`
8631
8863
  });
8632
8864
 
8633
- const styles$4 = css`
8865
+ const styles$5 = css`
8634
8866
  ${display('inline-flex')}
8635
8867
 
8636
8868
  :host{align-items:center;flex-direction:row-reverse;outline:none;user-select:none;contain:content}:host([label-position='before']){flex-direction:row}:host([label-position='above']){flex-direction:column;align-items:flex-start}:host([disabled]) .label,:host([readonly]) .label,:host([readonly]) .switch,:host([disabled]) .switch{cursor:not-allowed}.label{position:relative;color:${colorNeutralForeground1};line-height:${lineHeightBase300};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};font-family:${fontFamilyBase};padding:${spacingVerticalXS} ${spacingHorizontalXS};cursor:pointer}.label__hidden{display:none}.switch{display:flex;align-items:center;padding:0 ${spacingHorizontalXXS};box-sizing:border-box;width:40px;height:20px;background-color:${colorTransparentBackground};border:1px solid ${colorNeutralStrokeAccessible};border-radius:${borderRadiusCircular};outline:none;cursor:pointer;margin:${spacingVerticalS} ${spacingHorizontalS}}:host(:hover) .switch{background:none;border-color:${colorNeutralStrokeAccessibleHover}}:host(:active) .switch{border-color:${colorNeutralStrokeAccessiblePressed}}:host([disabled]) .switch,:host([readonly]) .switch{border:1px solid ${colorNeutralStrokeDisabled};background-color:none;pointer:default}:host([aria-checked='true']) .switch{background:${colorCompoundBrandBackground}}:host([aria-checked='true']:hover) .switch{background:${colorCompoundBrandBackgroundHover};border-color:${colorCompoundBrandBackgroundHover}}:host([aria-checked='true']:active) .switch{background:${colorCompoundBrandBackgroundPressed};border-color:${colorCompoundBrandBackgroundPressed}}:host([aria-checked='true'][disabled]) .switch{background:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}.checked-indicator{height:14px;width:14px;border-radius:50%;background-color:${colorNeutralForeground3};transition-duration:${durationNormal};transition-timing-function:${curveEasyEase};transition-property:transform}:host([aria-checked='true']) .checked-indicator{background-color:${colorNeutralForegroundInverted};transform:translateX(20px)}:host([aria-checked='true']:hover) .checked-indicator{background:${colorNeutralForegroundInvertedHover}}:host([aria-checked='true']:active) .checked-indicator{background:${colorNeutralForegroundInvertedPressed}}:host(:hover) .checked-indicator{background-color:${colorNeutralForeground3Hover}}:host(:active) .checked-indicator{background-color:${colorNeutralForeground3Pressed}}:host([disabled]) .checked-indicator,:host([readonly]) .checked-indicator{background:${colorNeutralForegroundDisabled}}:host([aria-checked='true'][disabled]) .checked-indicator{background:${colorNeutralForegroundDisabled}}`;
@@ -8642,10 +8874,10 @@ const styles$4 = css`
8642
8874
  * @remarks
8643
8875
  * HTML Element: \<fluent-switch\>
8644
8876
  */
8645
- const definition$4 = Switch.compose({
8877
+ const definition$5 = Switch.compose({
8646
8878
  name: `${FluentDesignSystem.prefix}-switch`,
8647
- template: template$4,
8648
- styles: styles$4
8879
+ template: template$5,
8880
+ styles: styles$5
8649
8881
  });
8650
8882
 
8651
8883
  const TabsAppearance = {
@@ -8807,17 +9039,17 @@ __decorate([attr({
8807
9039
  })], Tabs.prototype, "disabled", void 0);
8808
9040
  __decorate([attr], Tabs.prototype, "size", void 0);
8809
9041
 
8810
- const template$3 = tabsTemplate({});
9042
+ const template$4 = tabsTemplate({});
8811
9043
 
8812
- const styles$3 = css`
9044
+ const styles$4 = css`
8813
9045
  ${display('grid')}
8814
9046
 
8815
9047
  :host{box-sizing:border-box;font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};color:${colorNeutralForeground2};grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr}:host([disabled]){cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab){pointer-events:none;cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:after){background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab[aria-selected='true'])::after{background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:hover):before{content:unset}:host ::slotted(fluent-tab){border-radius:${borderRadiusMedium}}:host ::slotted(fluent-tab[aria-selected='true'])::before{background-color:${colorNeutralForegroundDisabled}}.tablist{display:grid;grid-template-rows:auto auto;grid-template-columns:auto;position:relative;width:max-content;align-self:end;box-sizing:border-box}::slotted([slot='start']),::slotted([slot='end']){display:flex;align-self:center}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}.tabpanel{grid-row:2;grid-column-start:1;grid-column-end:4;position:relative}:host([orientation='vertical']){grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr}:host([orientation='vertical']) .tablist{grid-row-start:2;grid-row-end:2;display:grid;grid-template-rows:auto;grid-template-columns:auto 1fr;position:relative;width:max-content;justify-self:end;align-self:flex-start;width:100%}:host([orientation='vertical']) .tabpanel{grid-column:2;grid-row-start:1;grid-row-end:4}:host([orientation='vertical']) ::slotted([slot='end']){grid-row:3}:host([appearance='subtle']) ::slotted(fluent-tab:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground1Hover};fill:${colorCompoundBrandForeground1Hover}}:host([appearance='subtle']) ::slotted(fluent-tab:active){background-color:${colorSubtleBackgroundPressed};fill:${colorSubtleBackgroundPressed};color:${colorNeutralForeground1}}:host([size='small']) ::slotted(fluent-tab){font-size:${fontSizeBase300};line-height:${lineHeightBase300};padding:${spacingVerticalSNudge} ${spacingHorizontalSNudge}}:host([size='large']) ::slotted(fluent-tab){font-size:${fontSizeBase400};line-height:${lineHeightBase400};padding:${spacingVerticalL} ${spacingHorizontalMNudge}}:host ::slotted(fluent-tab[data-animate='true'])::after{transition-property:transform;transition-duration:${durationSlow};transition-timing-function:${curveDecelerateMax}}:host ::slotted(fluent-tab)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left;transform:translateX(var(--tabIndicatorOffset)) scaleX(var(--tabIndicatorScale))}:host([orientation='vertical']) ::slotted(fluent-tab)::after{width:${strokeWidthThicker};height:unset;margin-top:unset;transform-origin:top;transform:translateY(var(--tabIndicatorOffset)) scaleY(var(--tabIndicatorScale))}:host ::slotted(fluent-tab)::before{height:${strokeWidthThicker};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;margin-top:auto}:host([orientation='vertical']) ::slotted(fluent-tab)::before{height:unset;width:${strokeWidthThicker};margin-inline-end:auto;transform-origin:top}:host ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left}:host([orientation='vertical']) ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:unset;margin-inline-end:auto;transform-origin:top;width:${strokeWidthThicker}}:host([orientation='vertical']) ::slotted(fluent-tab){align-items:flex-start;grid-column:2;padding-top:${spacingVerticalSNudge};padding-bottom:${spacingVerticalSNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab){padding-top:${spacingVerticalXXS};padding-bottom:${spacingVerticalXXS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab){padding-top:${spacingVerticalS};padding-bottom:${spacingVerticalS}}:host([size='small']) ::slotted(fluent-tab)::after,:host([size='small']) ::slotted(fluent-tab)::before,:host([size='small']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalSNudge};left:${spacingHorizontalSNudge}}:host ::slotted(fluent-tab)::after,:host ::slotted(fluent-tab)::before,:host ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([size='large']) ::slotted(fluent-tab)::after,:host([size='large']) ::slotted(fluent-tab)::before,:host([size='large']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalSNudge};bottom:${spacingVerticalSNudge}}:host([orientation='vertical']) ::slotted(fluent-tab)::after,:host([orientation='vertical']) ::slotted(fluent-tab)::before,:host([orientation='vertical']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalS};bottom:${spacingVerticalS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalMNudge};bottom:${spacingVerticalMNudge}}`;
8816
9048
 
8817
- const definition$3 = Tabs.compose({
9049
+ const definition$4 = Tabs.compose({
8818
9050
  name: `${FluentDesignSystem.prefix}-tabs`,
8819
- template: template$3,
8820
- styles: styles$3
9051
+ template: template$4,
9052
+ styles: styles$4
8821
9053
  });
8822
9054
 
8823
9055
  /**
@@ -8838,32 +9070,32 @@ class Tab extends FASTTab {
8838
9070
  function tabTemplate(options = {}) {
8839
9071
  return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
8840
9072
  }
8841
- const template$2 = tabTemplate({});
9073
+ const template$3 = tabTemplate({});
8842
9074
 
8843
- const styles$2 = css`
9075
+ const styles$3 = css`
8844
9076
  ${display('inline-flex')}
8845
9077
 
8846
9078
  :host{position:relative;flex-direction:column;cursor:pointer;box-sizing:border-box;justify-content:center;line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-size:${fontSizeBase300};color:${colorNeutralForeground2};fill:currentcolor;grid-row:1;padding:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium}}:host .tab-content{display:inline-flex;flex-direction:column;padding:0 2px}:host([aria-selected='true']){color:${colorNeutralForeground1};font-weight:${fontWeightSemibold}}:host .tab-content::after{content:var(--textContent);visibility:hidden;height:0;line-height:${lineHeightBase300};font-weight:${fontWeightSemibold}}:host([aria-selected='true'])::after{background-color:${colorCompoundBrandStroke};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:2}:host([aria-selected='false']:hover)::after{background-color:${colorNeutralStroke1Hover};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:1}:host([aria-selected='true'][disabled])::after{background-color:${colorNeutralForegroundDisabled}}::slotted([slot='start']),::slotted([slot='end']){display:flex}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}:host([disabled]){cursor:not-allowed;fill:${colorNeutralForegroundDisabled};color:${colorNeutralForegroundDisabled}}:host([disabled]:hover)::after{background-color:unset}:host(:focus){outline:none}:host(:focus-visible){border-radius:${borderRadiusSmall};box-shadow:0 0 0 3px ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}`;
8847
9079
 
8848
- const definition$2 = Tab.compose({
9080
+ const definition$3 = Tab.compose({
8849
9081
  name: `${FluentDesignSystem.prefix}-tab`,
8850
- template: template$2,
8851
- styles: styles$2
9082
+ template: template$3,
9083
+ styles: styles$3
8852
9084
  });
8853
9085
 
8854
9086
  class TabPanel extends FASTTabPanel {}
8855
9087
 
8856
- const template$1 = tabPanelTemplate();
9088
+ const template$2 = tabPanelTemplate();
8857
9089
 
8858
- const styles$1 = css`
9090
+ const styles$2 = css`
8859
9091
  ${display('block')}
8860
9092
 
8861
9093
  :host{box-sizing:border-box;padding:${spacingHorizontalM} ${spacingHorizontalMNudge}}`;
8862
9094
 
8863
- const definition$1 = TabPanel.compose({
9095
+ const definition$2 = TabPanel.compose({
8864
9096
  name: `${FluentDesignSystem.prefix}-tab-panel`,
8865
- template: template$1,
8866
- styles: styles$1
9097
+ template: template$2,
9098
+ styles: styles$2
8867
9099
  });
8868
9100
 
8869
9101
  /**
@@ -8997,12 +9229,12 @@ const TextAlign = {
8997
9229
  /**
8998
9230
  * @internal
8999
9231
  */
9000
- const template = html`<slot></slot>`;
9232
+ const template$1 = html`<slot></slot>`;
9001
9233
 
9002
9234
  /** Text styles
9003
9235
  * @public
9004
9236
  */
9005
- const styles = css`
9237
+ const styles$1 = css`
9006
9238
  ${display('inline')}
9007
9239
 
9008
9240
  :host{contain:content}::slotted(*){font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-weight:${fontWeightRegular};text-align:start;white-space:normal;overflow:visible;text-overflow:clip;margin:0;display:inline}:host([nowrap]) ::slotted(*){white-space:nowrap;overflow:hidden}:host([truncate]) ::slotted(*){text-overflow:ellipsis}:host([block]),:host([block]) ::slotted(*){display:block}:host([italic]) ::slotted(*){font-style:italic}:host([underline]) ::slotted(*){text-decoration-line:underline}:host([strikethrough]) ::slotted(*){text-decoration-line:line-through}:host([underline][strikethrough]) ::slotted(*){text-decoration-line:line-through underline}:host([size='100']) ::slotted(*){font-size:${fontSizeBase100};line-height:${lineHeightBase100}}:host([size='200']) ::slotted(*){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='400']) ::slotted(*){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='500']) ::slotted(*){font-size:${fontSizeBase500};line-height:${lineHeightBase500}}:host([size='600']) ::slotted(*){font-size:${fontSizeBase600};line-height:${lineHeightBase600}}:host([size='700']) ::slotted(*){font-size:${fontSizeHero700};line-height:${lineHeightHero700}}:host([size='800']) ::slotted(*){font-size:${fontSizeHero800};line-height:${lineHeightHero800}}:host([size='900']) ::slotted(*){font-size:${fontSizeHero900};line-height:${lineHeightHero900}}:host([size='1000']) ::slotted(*){font-size:${fontSizeHero1000};line-height:${lineHeightHero1000}}:host([font='monospace']) ::slotted(*){font-family:${fontFamilyMonospace}}:host([font='numeric']) ::slotted(*){font-family:${fontFamilyNumeric}}:host([weight='medium']) ::slotted(*){font-weight:${fontWeightMedium}}:host([weight='semibold']) ::slotted(*){font-weight:${fontWeightSemibold}}:host([weight='bold']) ::slotted(*){font-weight:${fontWeightBold}}:host([align='center']) ::slotted(*){text-align:center}:host([align='end']) ::slotted(*){text-align:end}:host([align='justify']) ::slotted(*){text-align:justify}`;
@@ -9015,10 +9247,149 @@ const styles = css`
9015
9247
  * @remarks
9016
9248
  * HTML Element: \<fluent-text\>
9017
9249
  */
9018
- const definition = Text.compose({
9250
+ const definition$1 = Text.compose({
9019
9251
  name: `${FluentDesignSystem.prefix}-text`,
9252
+ template: template$1,
9253
+ styles: styles$1
9254
+ });
9255
+
9256
+ /**
9257
+ * The base class used for constructing a fluent-toggle-button custom element
9258
+ * @public
9259
+ */
9260
+ class ToggleButton extends Button {
9261
+ constructor() {
9262
+ super();
9263
+ /**
9264
+ * Tracks whether the "checked" property has been changed.
9265
+ * This is necessary to provide consistent behavior with
9266
+ * normal input checkboxes
9267
+ */
9268
+ this.dirtyChecked = false;
9269
+ /**
9270
+ * Provides the default checkedness of the input element
9271
+ * Passed down to proxy
9272
+ *
9273
+ * @public
9274
+ * @remarks
9275
+ * HTML Attribute: checked
9276
+ */
9277
+ this.checkedAttribute = false;
9278
+ this.defaultChecked = false;
9279
+ /**
9280
+ * The checked state of the control.
9281
+ *
9282
+ * @public
9283
+ */
9284
+ this.checked = false;
9285
+ /**
9286
+ * The current checkedness of the element. This property serves as a mechanism
9287
+ * to set the `checked` property through both property assignment and the
9288
+ * .setAttribute() method. This is useful for setting the field's checkedness
9289
+ * in UI libraries that bind data through the .setAttribute() API
9290
+ * and don't support IDL attribute binding.
9291
+ */
9292
+ this.currentChecked = false;
9293
+ /**
9294
+ * @internal
9295
+ */
9296
+ this.handleToggleButtonClick = e => {
9297
+ if (!this.disabled && !this.disabledFocusable) {
9298
+ this.checked = !this.checked;
9299
+ }
9300
+ };
9301
+ // Re-initialize dirtyChecked because initialization of other values
9302
+ // causes it to become true
9303
+ this.dirtyChecked = false;
9304
+ }
9305
+ checkedAttributeChanged() {
9306
+ this.defaultChecked = this.checkedAttribute;
9307
+ }
9308
+ defaultCheckedChanged() {
9309
+ if (!this.dirtyChecked) {
9310
+ // Setting this.checked will cause us to enter a dirty state,
9311
+ // but if we are clean when defaultChecked is changed, we want to stay
9312
+ // in a clean state, so reset this.dirtyChecked
9313
+ this.checked = this.defaultChecked;
9314
+ this.dirtyChecked = false;
9315
+ }
9316
+ }
9317
+ checkedChanged(prev, next) {
9318
+ if (!this.dirtyChecked) {
9319
+ this.dirtyChecked = true;
9320
+ }
9321
+ this.currentChecked = this.checked;
9322
+ this.setAttribute('aria-pressed', `${this.currentChecked}`);
9323
+ if (prev !== undefined) {
9324
+ this.$emit('change');
9325
+ }
9326
+ }
9327
+ currentCheckedChanged(prev, next) {
9328
+ this.checked = this.currentChecked;
9329
+ }
9330
+ connectedCallback() {
9331
+ super.connectedCallback();
9332
+ this.addEventListener('click', this.handleToggleButtonClick);
9333
+ }
9334
+ disconnectedCallback() {
9335
+ super.disconnectedCallback();
9336
+ this.removeEventListener('click', this.handleToggleButtonClick);
9337
+ }
9338
+ }
9339
+ __decorate([attr({
9340
+ attribute: 'checked',
9341
+ mode: 'boolean'
9342
+ })], ToggleButton.prototype, "checkedAttribute", void 0);
9343
+ __decorate([observable], ToggleButton.prototype, "defaultChecked", void 0);
9344
+ __decorate([observable], ToggleButton.prototype, "checked", void 0);
9345
+ __decorate([attr({
9346
+ attribute: 'current-checked',
9347
+ mode: 'boolean'
9348
+ })], ToggleButton.prototype, "currentChecked", void 0);
9349
+
9350
+ /**
9351
+ * Toggle Button Appearance constants
9352
+ * @public
9353
+ */
9354
+ const ToggleButtonAppearance = ButtonAppearance;
9355
+ /**
9356
+ * A Toggle Button can be square, circular or rounded.
9357
+ * @public
9358
+ */
9359
+ const ToggleButtonShape = ButtonShape;
9360
+ /**
9361
+ * A Toggle Button can be a size of small, medium or large.
9362
+ * @public
9363
+ */
9364
+ const ToggleButtonSize = ButtonSize;
9365
+
9366
+ /**
9367
+ * The template for the ToggleButton component.
9368
+ * @public
9369
+ */
9370
+ const template = buttonTemplate$1();
9371
+
9372
+ // Need to support icon hover styles
9373
+ const styles = css`
9374
+ ${styles$h}
9375
+
9376
+ :host([aria-pressed="true"]) .control{border-color:${colorNeutralStroke1};background-color:${colorNeutralBackground1Selected};color:${colorNeutralForeground1};border-width:${strokeWidthThin}}:host([aria-pressed='true']:hover) .control{border-color:${colorNeutralStroke1Hover};background-color:${colorNeutralBackground1Hover}}:host([aria-pressed='true']:active) .control{border-color:${colorNeutralStroke1Pressed};background-color:${colorNeutralBackground1Pressed}}:host([aria-pressed='true'][appearance='primary']) .control{border-color:transparent;background-color:${colorBrandBackgroundSelected};color:${colorNeutralForegroundOnBrand}}:host([aria-pressed='true'][appearance='primary']:hover) .control{background-color:${colorBrandBackgroundHover}}:host([aria-pressed='true'][appearance='primary']:active) .control{background-color:${colorBrandBackgroundPressed}}:host([aria-pressed='true'][appearance='subtle']) .control{border-color:transparent;background-color:${colorSubtleBackgroundSelected};color:${colorNeutralForeground2Selected}}:host([aria-pressed='true'][appearance='subtle']:hover) .control{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover}}:host([aria-pressed='true'][appearance='subtle']:active) .control{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed}}:host([aria-pressed='true'][appearance='outline']) .control,:host([aria-pressed='true'][appearance='transparent']) .control{background-color:${colorTransparentBackgroundSelected}}:host([aria-pressed='true'][appearance='outline']:hover) .control,:host([aria-pressed='true'][appearance='transparent']:hover) .control{background-color:${colorTransparentBackgroundHover}}:host([aria-pressed='true'][appearance='outline']:active) .control,:host([aria-pressed='true'][appearance='transparent']:active) .control{background-color:${colorTransparentBackgroundPressed}}:host([aria-pressed='true'][appearance='transparent']) .control{border-color:transparent;color:${colorNeutralForeground2BrandSelected}}:host([aria-pressed='true'][appearance='transparent']:hover) .control{color:${colorNeutralForeground2BrandHover}}:host([aria-pressed='true'][appearance='transparent']:active) .control{color:${colorNeutralForeground2BrandPressed}}`;
9377
+
9378
+ /**
9379
+ * The Fluent Toggle Button Element. Implements {@link @microsoft/fast-foundation#Button },
9380
+ * {@link @microsoft/fast-foundation#buttonTemplate}
9381
+ *
9382
+ * @public
9383
+ * @remarks
9384
+ * HTML Element: \<fluent-toggle-button\>
9385
+ */
9386
+ const definition = ToggleButton.compose({
9387
+ name: `${FluentDesignSystem.prefix}-toggle-button`,
9020
9388
  template,
9021
- styles
9389
+ styles,
9390
+ shadowOptions: {
9391
+ delegatesFocus: true
9392
+ }
9022
9393
  });
9023
9394
 
9024
9395
  const tokenNames = Object.keys(tokens);
@@ -9032,4 +9403,4 @@ const setTheme = theme => {
9032
9403
  }
9033
9404
  };
9034
9405
 
9035
- export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$f as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$e as AvatarStyles, template$f as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$e as BadgeDefinition, BadgeShape, BadgeSize, styles$d as BadgeStyles, template$e as BadgeTemplate, Button, ButtonAppearance, definition$d as ButtonDefinition, ButtonShape, ButtonSize, styles$c as ButtonStyles, template$d as ButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$c as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$b as CounterBadgeStyles, template$c as CounterBadgeTemplate, Divider, DividerAlignContent, DividerAppearance, definition$b as DividerDefinition, DividerOrientation, DividerRole, styles$a as DividerStyles, template$b as DividerTemplate, Image, definition$a as ImageDefinition, ImageFit, ImageShape, styles$9 as ImageStyles, template$a as ImageTemplate, Label, definition$9 as LabelDefinition, styles$8 as LabelStyles, template$9 as LabelTemplate, MenuButton, MenuButtonAppearance, definition$8 as MenuButtonDefinition, MenuButtonShape, MenuButtonSize, styles$c as MenuButtonStyles, template$8 as MenuButtonTemplate, ProgressBar, definition$7 as ProgressBarDefinition, ProgressBarShape, styles$7 as ProgressBarStyles, template$7 as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Slider, definition$6 as SliderDefinition, SliderOrientation, SliderSize, styles$6 as SliderStyles, template$6 as SliderTemplate, Spinner, SpinnerAppearance, definition$5 as SpinnerDefinition, SpinnerSize, styles$5 as SpinnerStyles, template$5 as SpinnerTemplate, Switch, SwitchLabelPosition, Tab, definition$2 as TabDefinition, TabPanel, definition$1 as TabPanelDefinition, styles$1 as TabPanelStyles, template$1 as TabPanelTemplate, styles$2 as TabStyles, template$2 as TabTemplate, Tabs, TabsAppearance, definition$3 as TabsDefinition, TabsOrientation, TabsSize, styles$3 as TabsStyles, template$3 as TabsTemplate, Text, TextAlign, definition as TextDefinition, TextFont, TextSize, styles as TextStyles, template as TextTemplate, TextWeight, definition$h as accordionDefinition, definition$g as accordionItemDefinition, styles$f as accordionItemStyles, template$g as accordionItemTemplate, styles$g as accordionStyles, template$h as accordionTemplate, borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, borderRadiusXLarge, colorBackgroundOverlay, colorBrandBackground, colorBrandBackground2, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandForeground1, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackground3, colorNeutralBackground3Hover, colorNeutralBackground3Pressed, colorNeutralBackground3Selected, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackground4Pressed, colorNeutralBackground4Selected, colorNeutralBackground5, colorNeutralBackground5Hover, colorNeutralBackground5Pressed, colorNeutralBackground5Selected, colorNeutralBackground6, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground1Selected, colorNeutralForeground1Static, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Link, colorNeutralForeground2LinkHover, colorNeutralForeground2LinkPressed, colorNeutralForeground2LinkSelected, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForeground3, colorNeutralForeground3BrandHover, colorNeutralForeground3BrandPressed, colorNeutralForeground3BrandSelected, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForeground3Selected, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInverted2, colorNeutralForegroundInvertedDisabled, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedLink, colorNeutralForegroundInvertedLinkHover, colorNeutralForegroundInvertedLinkPressed, colorNeutralForegroundInvertedLinkSelected, colorNeutralForegroundInvertedPressed, colorNeutralForegroundInvertedSelected, colorNeutralForegroundOnBrand, colorNeutralForegroundStaticInverted, colorNeutralShadowAmbient, colorNeutralShadowAmbientDarker, colorNeutralShadowAmbientLighter, colorNeutralShadowKey, colorNeutralShadowKeyDarker, colorNeutralShadowKeyLighter, colorNeutralStencil1, colorNeutralStencil1Alpha, colorNeutralStencil2, colorNeutralStencil2Alpha, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorNeutralStroke2, colorNeutralStroke3, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeAccessibleSelected, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorPaletteAnchorBackground2, colorPaletteAnchorBorderActive, colorPaletteAnchorForeground2, colorPaletteBeigeBackground2, colorPaletteBeigeBorderActive, colorPaletteBeigeForeground2, colorPaletteBerryBackground1, colorPaletteBerryBackground2, colorPaletteBerryBackground3, colorPaletteBerryBorder1, colorPaletteBerryBorder2, colorPaletteBerryBorderActive, colorPaletteBerryForeground1, colorPaletteBerryForeground2, colorPaletteBerryForeground3, colorPaletteBlueBackground2, colorPaletteBlueBorderActive, colorPaletteBlueForeground2, colorPaletteBrassBackground2, colorPaletteBrassBorderActive, colorPaletteBrassForeground2, colorPaletteBrownBackground2, colorPaletteBrownBorderActive, colorPaletteBrownForeground2, colorPaletteCornflowerBackground2, colorPaletteCornflowerBorderActive, colorPaletteCornflowerForeground2, colorPaletteCranberryBackground2, colorPaletteCranberryBorderActive, colorPaletteCranberryForeground2, colorPaletteDarkGreenBackground2, colorPaletteDarkGreenBorderActive, colorPaletteDarkGreenForeground2, colorPaletteDarkOrangeBackground1, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteDarkOrangeBorder1, colorPaletteDarkOrangeBorder2, colorPaletteDarkOrangeBorderActive, colorPaletteDarkOrangeForeground1, colorPaletteDarkOrangeForeground2, colorPaletteDarkOrangeForeground3, colorPaletteDarkRedBackground2, colorPaletteDarkRedBorderActive, colorPaletteDarkRedForeground2, colorPaletteForestBackground2, colorPaletteForestBorderActive, colorPaletteForestForeground2, colorPaletteGoldBackground2, colorPaletteGoldBorderActive, colorPaletteGoldForeground2, colorPaletteGrapeBackground2, colorPaletteGrapeBorderActive, colorPaletteGrapeForeground2, colorPaletteGreenBackground1, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteGreenBorder1, colorPaletteGreenBorder2, colorPaletteGreenBorderActive, colorPaletteGreenForeground1, colorPaletteGreenForeground2, colorPaletteGreenForeground3, colorPaletteGreenForegroundInverted, colorPaletteLavenderBackground2, colorPaletteLavenderBorderActive, colorPaletteLavenderForeground2, colorPaletteLightGreenBackground1, colorPaletteLightGreenBackground2, colorPaletteLightGreenBackground3, colorPaletteLightGreenBorder1, colorPaletteLightGreenBorder2, colorPaletteLightGreenBorderActive, colorPaletteLightGreenForeground1, colorPaletteLightGreenForeground2, colorPaletteLightGreenForeground3, colorPaletteLightTealBackground2, colorPaletteLightTealBorderActive, colorPaletteLightTealForeground2, colorPaletteLilacBackground2, colorPaletteLilacBorderActive, colorPaletteLilacForeground2, colorPaletteMagentaBackground2, colorPaletteMagentaBorderActive, colorPaletteMagentaForeground2, colorPaletteMarigoldBackground1, colorPaletteMarigoldBackground2, colorPaletteMarigoldBackground3, colorPaletteMarigoldBorder1, colorPaletteMarigoldBorder2, colorPaletteMarigoldBorderActive, colorPaletteMarigoldForeground1, colorPaletteMarigoldForeground2, colorPaletteMarigoldForeground3, colorPaletteMinkBackground2, colorPaletteMinkBorderActive, colorPaletteMinkForeground2, colorPaletteNavyBackground2, colorPaletteNavyBorderActive, colorPaletteNavyForeground2, colorPalettePeachBackground2, colorPalettePeachBorderActive, colorPalettePeachForeground2, colorPalettePinkBackground2, colorPalettePinkBorderActive, colorPalettePinkForeground2, colorPalettePlatinumBackground2, colorPalettePlatinumBorderActive, colorPalettePlatinumForeground2, colorPalettePlumBackground2, colorPalettePlumBorderActive, colorPalettePlumForeground2, colorPalettePumpkinBackground2, colorPalettePumpkinBorderActive, colorPalettePumpkinForeground2, colorPalettePurpleBackground2, colorPalettePurpleBorderActive, colorPalettePurpleForeground2, colorPaletteRedBackground1, colorPaletteRedBackground2, colorPaletteRedBackground3, colorPaletteRedBorder1, colorPaletteRedBorder2, colorPaletteRedBorderActive, colorPaletteRedForeground1, colorPaletteRedForeground2, colorPaletteRedForeground3, colorPaletteRedForegroundInverted, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorPaletteYellowForegroundInverted, colorScrollbarOverlay, colorStrokeFocus1, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundInverted, colorSubtleBackgroundInvertedHover, colorSubtleBackgroundInvertedPressed, colorSubtleBackgroundInvertedSelected, colorSubtleBackgroundLightAlphaHover, colorSubtleBackgroundLightAlphaPressed, colorSubtleBackgroundLightAlphaSelected, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, curveAccelerateMax, curveAccelerateMid, curveAccelerateMin, curveDecelerateMax, curveDecelerateMid, curveDecelerateMin, curveEasyEase, curveEasyEaseMax, curveLinear, definition$4 as definition, durationFast, durationFaster, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, setTheme, shadow16, shadow16Brand, shadow2, shadow28, shadow28Brand, shadow2Brand, shadow4, shadow4Brand, shadow64, shadow64Brand, shadow8, shadow8Brand, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXS, spacingHorizontalXXXL, spacingVerticalL, spacingVerticalM, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXL, spacingVerticalXS, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXXXL, strokeWidthThick, strokeWidthThicker, strokeWidthThickest, strokeWidthThin, styles$4 as switchStyles, template$4 as switchTemplate };
9406
+ export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, AnchorButton, AnchorButtonAppearance, definition$i as AnchorButtonDefinition, AnchorButtonShape, AnchorButtonSize, template$i as AnchorButtonTemplate, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$h as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$f as AvatarStyles, template$h as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$g as BadgeDefinition, BadgeShape, BadgeSize, styles$e as BadgeStyles, template$g as BadgeTemplate, Button, ButtonAppearance, definition$f as ButtonDefinition, ButtonShape, ButtonSize, styles$h as ButtonStyles, template$f as ButtonTemplate, CompoundButton, CompoundButtonAppearance, definition$e as CompoundButtonDefinition, CompoundButtonShape, CompoundButtonSize, styles$d as CompoundButtonStyles, template$e as CompoundButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$d as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$c as CounterBadgeStyles, template$d as CounterBadgeTemplate, Divider, DividerAlignContent, DividerAppearance, definition$c as DividerDefinition, DividerOrientation, DividerRole, styles$b as DividerStyles, template$c as DividerTemplate, Image, definition$b as ImageDefinition, ImageFit, ImageShape, styles$a as ImageStyles, template$b as ImageTemplate, Label, definition$a as LabelDefinition, styles$9 as LabelStyles, template$a as LabelTemplate, MenuButton, MenuButtonAppearance, definition$9 as MenuButtonDefinition, MenuButtonShape, MenuButtonSize, styles$h as MenuButtonStyles, template$9 as MenuButtonTemplate, ProgressBar, definition$8 as ProgressBarDefinition, ProgressBarShape, styles$8 as ProgressBarStyles, template$8 as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Slider, definition$7 as SliderDefinition, SliderOrientation, SliderSize, styles$7 as SliderStyles, template$7 as SliderTemplate, Spinner, SpinnerAppearance, definition$6 as SpinnerDefinition, SpinnerSize, styles$6 as SpinnerStyles, template$6 as SpinnerTemplate, Switch, SwitchLabelPosition, Tab, definition$3 as TabDefinition, TabPanel, definition$2 as TabPanelDefinition, styles$2 as TabPanelStyles, template$2 as TabPanelTemplate, styles$3 as TabStyles, template$3 as TabTemplate, Tabs, TabsAppearance, definition$4 as TabsDefinition, TabsOrientation, TabsSize, styles$4 as TabsStyles, template$4 as TabsTemplate, Text, TextAlign, definition$1 as TextDefinition, TextFont, TextSize, styles$1 as TextStyles, template$1 as TextTemplate, TextWeight, ToggleButton, ToggleButtonAppearance, definition as ToggleButtonDefinition, ToggleButtonShape, ToggleButtonSize, styles as ToggleButtonStyles, template as ToggleButtonTemplate, definition$k as accordionDefinition, definition$j as accordionItemDefinition, styles$i as accordionItemStyles, template$j as accordionItemTemplate, styles$j as accordionStyles, template$k as accordionTemplate, borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, borderRadiusXLarge, colorBackgroundOverlay, colorBrandBackground, colorBrandBackground2, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandForeground1, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackground3, colorNeutralBackground3Hover, colorNeutralBackground3Pressed, colorNeutralBackground3Selected, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackground4Pressed, colorNeutralBackground4Selected, colorNeutralBackground5, colorNeutralBackground5Hover, colorNeutralBackground5Pressed, colorNeutralBackground5Selected, colorNeutralBackground6, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground1Selected, colorNeutralForeground1Static, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Link, colorNeutralForeground2LinkHover, colorNeutralForeground2LinkPressed, colorNeutralForeground2LinkSelected, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForeground3, colorNeutralForeground3BrandHover, colorNeutralForeground3BrandPressed, colorNeutralForeground3BrandSelected, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForeground3Selected, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInverted2, colorNeutralForegroundInvertedDisabled, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedLink, colorNeutralForegroundInvertedLinkHover, colorNeutralForegroundInvertedLinkPressed, colorNeutralForegroundInvertedLinkSelected, colorNeutralForegroundInvertedPressed, colorNeutralForegroundInvertedSelected, colorNeutralForegroundOnBrand, colorNeutralForegroundStaticInverted, colorNeutralShadowAmbient, colorNeutralShadowAmbientDarker, colorNeutralShadowAmbientLighter, colorNeutralShadowKey, colorNeutralShadowKeyDarker, colorNeutralShadowKeyLighter, colorNeutralStencil1, colorNeutralStencil1Alpha, colorNeutralStencil2, colorNeutralStencil2Alpha, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorNeutralStroke2, colorNeutralStroke3, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeAccessibleSelected, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorPaletteAnchorBackground2, colorPaletteAnchorBorderActive, colorPaletteAnchorForeground2, colorPaletteBeigeBackground2, colorPaletteBeigeBorderActive, colorPaletteBeigeForeground2, colorPaletteBerryBackground1, colorPaletteBerryBackground2, colorPaletteBerryBackground3, colorPaletteBerryBorder1, colorPaletteBerryBorder2, colorPaletteBerryBorderActive, colorPaletteBerryForeground1, colorPaletteBerryForeground2, colorPaletteBerryForeground3, colorPaletteBlueBackground2, colorPaletteBlueBorderActive, colorPaletteBlueForeground2, colorPaletteBrassBackground2, colorPaletteBrassBorderActive, colorPaletteBrassForeground2, colorPaletteBrownBackground2, colorPaletteBrownBorderActive, colorPaletteBrownForeground2, colorPaletteCornflowerBackground2, colorPaletteCornflowerBorderActive, colorPaletteCornflowerForeground2, colorPaletteCranberryBackground2, colorPaletteCranberryBorderActive, colorPaletteCranberryForeground2, colorPaletteDarkGreenBackground2, colorPaletteDarkGreenBorderActive, colorPaletteDarkGreenForeground2, colorPaletteDarkOrangeBackground1, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteDarkOrangeBorder1, colorPaletteDarkOrangeBorder2, colorPaletteDarkOrangeBorderActive, colorPaletteDarkOrangeForeground1, colorPaletteDarkOrangeForeground2, colorPaletteDarkOrangeForeground3, colorPaletteDarkRedBackground2, colorPaletteDarkRedBorderActive, colorPaletteDarkRedForeground2, colorPaletteForestBackground2, colorPaletteForestBorderActive, colorPaletteForestForeground2, colorPaletteGoldBackground2, colorPaletteGoldBorderActive, colorPaletteGoldForeground2, colorPaletteGrapeBackground2, colorPaletteGrapeBorderActive, colorPaletteGrapeForeground2, colorPaletteGreenBackground1, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteGreenBorder1, colorPaletteGreenBorder2, colorPaletteGreenBorderActive, colorPaletteGreenForeground1, colorPaletteGreenForeground2, colorPaletteGreenForeground3, colorPaletteGreenForegroundInverted, colorPaletteLavenderBackground2, colorPaletteLavenderBorderActive, colorPaletteLavenderForeground2, colorPaletteLightGreenBackground1, colorPaletteLightGreenBackground2, colorPaletteLightGreenBackground3, colorPaletteLightGreenBorder1, colorPaletteLightGreenBorder2, colorPaletteLightGreenBorderActive, colorPaletteLightGreenForeground1, colorPaletteLightGreenForeground2, colorPaletteLightGreenForeground3, colorPaletteLightTealBackground2, colorPaletteLightTealBorderActive, colorPaletteLightTealForeground2, colorPaletteLilacBackground2, colorPaletteLilacBorderActive, colorPaletteLilacForeground2, colorPaletteMagentaBackground2, colorPaletteMagentaBorderActive, colorPaletteMagentaForeground2, colorPaletteMarigoldBackground1, colorPaletteMarigoldBackground2, colorPaletteMarigoldBackground3, colorPaletteMarigoldBorder1, colorPaletteMarigoldBorder2, colorPaletteMarigoldBorderActive, colorPaletteMarigoldForeground1, colorPaletteMarigoldForeground2, colorPaletteMarigoldForeground3, colorPaletteMinkBackground2, colorPaletteMinkBorderActive, colorPaletteMinkForeground2, colorPaletteNavyBackground2, colorPaletteNavyBorderActive, colorPaletteNavyForeground2, colorPalettePeachBackground2, colorPalettePeachBorderActive, colorPalettePeachForeground2, colorPalettePinkBackground2, colorPalettePinkBorderActive, colorPalettePinkForeground2, colorPalettePlatinumBackground2, colorPalettePlatinumBorderActive, colorPalettePlatinumForeground2, colorPalettePlumBackground2, colorPalettePlumBorderActive, colorPalettePlumForeground2, colorPalettePumpkinBackground2, colorPalettePumpkinBorderActive, colorPalettePumpkinForeground2, colorPalettePurpleBackground2, colorPalettePurpleBorderActive, colorPalettePurpleForeground2, colorPaletteRedBackground1, colorPaletteRedBackground2, colorPaletteRedBackground3, colorPaletteRedBorder1, colorPaletteRedBorder2, colorPaletteRedBorderActive, colorPaletteRedForeground1, colorPaletteRedForeground2, colorPaletteRedForeground3, colorPaletteRedForegroundInverted, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorPaletteYellowForegroundInverted, colorScrollbarOverlay, colorStrokeFocus1, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundInverted, colorSubtleBackgroundInvertedHover, colorSubtleBackgroundInvertedPressed, colorSubtleBackgroundInvertedSelected, colorSubtleBackgroundLightAlphaHover, colorSubtleBackgroundLightAlphaPressed, colorSubtleBackgroundLightAlphaSelected, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, curveAccelerateMax, curveAccelerateMid, curveAccelerateMin, curveDecelerateMax, curveDecelerateMid, curveDecelerateMin, curveEasyEase, curveEasyEaseMax, curveLinear, definition$5 as definition, durationFast, durationFaster, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, setTheme, shadow16, shadow16Brand, shadow2, shadow28, shadow28Brand, shadow2Brand, shadow4, shadow4Brand, shadow64, shadow64Brand, shadow8, shadow8Brand, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXS, spacingHorizontalXXXL, spacingVerticalL, spacingVerticalM, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXL, spacingVerticalXS, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXXXL, strokeWidthThick, strokeWidthThicker, strokeWidthThickest, strokeWidthThin, styles$5 as switchStyles, template$5 as switchTemplate };