@fluentui/web-components 3.0.0-beta.10 → 3.0.0-beta.12

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 (109) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/dist/dts/button/button.d.ts +173 -90
  3. package/dist/dts/button/button.definition.d.ts +3 -1
  4. package/dist/dts/button/button.options.d.ts +16 -1
  5. package/dist/dts/button/button.styles.d.ts +5 -0
  6. package/dist/dts/button/button.template.d.ts +7 -1
  7. package/dist/dts/form-associated/form-associated.d.ts +0 -74
  8. package/dist/dts/index.d.ts +3 -0
  9. package/dist/dts/toggle-button/toggle-button.d.ts +29 -26
  10. package/dist/dts/toggle-button/toggle-button.styles.d.ts +7 -0
  11. package/dist/dts/utils/behaviors/match-media-stylesheet-behavior.d.ts +124 -0
  12. package/dist/dts/utils/display.d.ts +17 -0
  13. package/dist/dts/utils/index.d.ts +2 -0
  14. package/dist/esm/accordion/accordion.styles.js +1 -1
  15. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  16. package/dist/esm/accordion-item/accordion-item.styles.js +1 -1
  17. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  18. package/dist/esm/anchor-button/anchor-button.styles.js +254 -3
  19. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
  20. package/dist/esm/avatar/avatar.styles.js +1 -1
  21. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  22. package/dist/esm/button/button.definition.js +3 -4
  23. package/dist/esm/button/button.definition.js.map +1 -1
  24. package/dist/esm/button/button.js +233 -126
  25. package/dist/esm/button/button.js.map +1 -1
  26. package/dist/esm/button/button.options.js +10 -0
  27. package/dist/esm/button/button.options.js.map +1 -1
  28. package/dist/esm/button/button.styles.js +52 -55
  29. package/dist/esm/button/button.styles.js.map +1 -1
  30. package/dist/esm/button/button.template.js +13 -39
  31. package/dist/esm/button/button.template.js.map +1 -1
  32. package/dist/esm/checkbox/checkbox.styles.js +1 -1
  33. package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
  34. package/dist/esm/compound-button/compound-button.definition.js +0 -3
  35. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  36. package/dist/esm/compound-button/compound-button.styles.js +7 -7
  37. package/dist/esm/compound-button/compound-button.template.js +3 -39
  38. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  39. package/dist/esm/dialog/dialog.styles.js +1 -1
  40. package/dist/esm/dialog/dialog.styles.js.map +1 -1
  41. package/dist/esm/divider/divider.styles.js +1 -1
  42. package/dist/esm/divider/divider.styles.js.map +1 -1
  43. package/dist/esm/form-associated/form-associated.js.map +1 -1
  44. package/dist/esm/index.js +3 -0
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/label/label.styles.js +1 -1
  47. package/dist/esm/label/label.styles.js.map +1 -1
  48. package/dist/esm/menu-button/menu-button.definition.js +0 -3
  49. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  50. package/dist/esm/menu-button/menu-button.template.js +5 -1
  51. package/dist/esm/menu-button/menu-button.template.js.map +1 -1
  52. package/dist/esm/menu-item/menu-item.styles.js +1 -1
  53. package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
  54. package/dist/esm/menu-list/menu-list.styles.js +1 -1
  55. package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
  56. package/dist/esm/progress-bar/progress-bar.styles.js +1 -1
  57. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  58. package/dist/esm/radio/radio.styles.js +1 -1
  59. package/dist/esm/radio/radio.styles.js.map +1 -1
  60. package/dist/esm/radio-group/radio-group.styles.js +1 -1
  61. package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
  62. package/dist/esm/slider/slider.styles.js +1 -1
  63. package/dist/esm/slider/slider.styles.js.map +1 -1
  64. package/dist/esm/spinner/spinner.styles.js +1 -1
  65. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  66. package/dist/esm/styles/partials/badge.partials.js +1 -1
  67. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  68. package/dist/esm/switch/switch.styles.js +1 -1
  69. package/dist/esm/switch/switch.styles.js.map +1 -1
  70. package/dist/esm/tab/tab.styles.js +1 -1
  71. package/dist/esm/tab/tab.styles.js.map +1 -1
  72. package/dist/esm/tab-panel/tab-panel.styles.js +1 -1
  73. package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
  74. package/dist/esm/tabs/tabs.styles.js +1 -1
  75. package/dist/esm/tabs/tabs.styles.js.map +1 -1
  76. package/dist/esm/text/text.styles.js +1 -1
  77. package/dist/esm/text/text.styles.js.map +1 -1
  78. package/dist/esm/text-input/text-input.styles.js +1 -1
  79. package/dist/esm/text-input/text-input.styles.js.map +1 -1
  80. package/dist/esm/toggle-button/toggle-button.definition.js +0 -3
  81. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  82. package/dist/esm/toggle-button/toggle-button.js +42 -85
  83. package/dist/esm/toggle-button/toggle-button.js.map +1 -1
  84. package/dist/esm/toggle-button/toggle-button.styles.js +31 -26
  85. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
  86. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +142 -0
  87. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +1 -0
  88. package/dist/esm/utils/display.js +15 -0
  89. package/dist/esm/utils/display.js.map +1 -0
  90. package/dist/esm/utils/index.js +2 -0
  91. package/dist/esm/utils/index.js.map +1 -1
  92. package/dist/fluent-web-components.api.json +1213 -771
  93. package/dist/storybook/{284.0946b1fb.iframe.bundle.js → 289.703b1698.iframe.bundle.js} +2 -2
  94. package/dist/storybook/{284.0946b1fb.iframe.bundle.js.LICENSE.txt → 289.703b1698.iframe.bundle.js.LICENSE.txt} +1 -1
  95. package/dist/storybook/iframe.html +1 -1
  96. package/dist/storybook/main.d55b693e.iframe.bundle.js +2 -0
  97. package/dist/storybook/project.json +1 -1
  98. package/dist/web-components.d.ts +407 -219
  99. package/dist/web-components.js +807 -671
  100. package/dist/web-components.min.js +140 -139
  101. package/docs/api-report.md +107 -77
  102. package/package.json +4 -3
  103. package/playwright.config.ts +2 -3
  104. package/tensile.config.js +0 -2
  105. package/dist/dts/button/button.form-associated.d.ts +0 -14
  106. package/dist/esm/button/button.form-associated.js +0 -14
  107. package/dist/esm/button/button.form-associated.js.map +0 -1
  108. package/dist/storybook/main.b9de79ac.iframe.bundle.js +0 -2
  109. /package/dist/storybook/{main.b9de79ac.iframe.bundle.js.LICENSE.txt → main.d55b693e.iframe.bundle.js.LICENSE.txt} +0 -0
@@ -3410,6 +3410,69 @@ const whitespaceFilter = value => {
3410
3410
  return value.nodeType !== Node.TEXT_NODE || !!((_a = value.nodeValue) == null ? void 0 : _a.trim().length);
3411
3411
  };
3412
3412
 
3413
+ const hidden = `:host([hidden]){display:none}`;
3414
+ function display(displayValue) {
3415
+ return `${hidden}:host{display:${displayValue}}`;
3416
+ }
3417
+
3418
+ class MatchMediaBehavior {
3419
+ constructor(query) {
3420
+ this.listenerCache = /* @__PURE__ */new WeakMap();
3421
+ this.query = query;
3422
+ }
3423
+ connectedCallback(controller) {
3424
+ const {
3425
+ query
3426
+ } = this;
3427
+ let listener = this.listenerCache.get(controller);
3428
+ if (!listener) {
3429
+ listener = this.constructListener(controller);
3430
+ this.listenerCache.set(controller, listener);
3431
+ }
3432
+ listener.bind(query)();
3433
+ query.addEventListener("change", listener);
3434
+ }
3435
+ disconnectedCallback(controller) {
3436
+ const listener = this.listenerCache.get(controller);
3437
+ if (listener) {
3438
+ this.query.removeEventListener("change", listener);
3439
+ }
3440
+ }
3441
+ }
3442
+ class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {
3443
+ constructor(query, styles) {
3444
+ super(query);
3445
+ this.styles = styles;
3446
+ }
3447
+ static with(query) {
3448
+ return styles => {
3449
+ return new MatchMediaStyleSheetBehavior(query, styles);
3450
+ };
3451
+ }
3452
+ constructListener(controller) {
3453
+ let attached = false;
3454
+ const styles = this.styles;
3455
+ return function listener() {
3456
+ const {
3457
+ matches
3458
+ } = this;
3459
+ if (matches && !attached) {
3460
+ controller.addStyles(styles);
3461
+ attached = matches;
3462
+ } else if (!matches && attached) {
3463
+ controller.removeStyles(styles);
3464
+ attached = matches;
3465
+ }
3466
+ };
3467
+ }
3468
+ removedCallback(controller) {
3469
+ controller.removeStyles(this.styles);
3470
+ }
3471
+ }
3472
+ const forcedColorsStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia("(forced-colors)"));
3473
+ const darkModeStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia("(prefers-color-scheme: dark)"));
3474
+ const lightModeStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia("(prefers-color-scheme: light)"));
3475
+
3413
3476
  class StartEnd {}
3414
3477
  function endSlotTemplate(options) {
3415
3478
  return html`<slot name="end" ${ref("end")}>${staticallyCompose(options.end)}</slot>`.inline();
@@ -3672,166 +3735,6 @@ function accordionTemplate() {
3672
3735
  }
3673
3736
  const template$s = accordionTemplate();
3674
3737
 
3675
- /**
3676
- * An abstract behavior to react to media queries. Implementations should implement
3677
- * the `constructListener` method to perform some action based on media query changes.
3678
- *
3679
- * @public
3680
- */
3681
- class MatchMediaBehavior {
3682
- /**
3683
- *
3684
- * @param query - The media query to operate from.
3685
- */
3686
- constructor(query) {
3687
- /**
3688
- * The behavior needs to operate on element instances but elements might share a behavior instance.
3689
- * To ensure proper attachment / detachment per instance, we construct a listener for
3690
- * each bind invocation and cache the listeners by element reference.
3691
- */
3692
- this.listenerCache = new WeakMap();
3693
- this.query = query;
3694
- }
3695
- /**
3696
- * Binds the behavior to the element.
3697
- * @param controller - The host controller orchestrating this behavior.
3698
- */
3699
- connectedCallback(controller) {
3700
- const {
3701
- query
3702
- } = this;
3703
- let listener = this.listenerCache.get(controller);
3704
- if (!listener) {
3705
- listener = this.constructListener(controller);
3706
- this.listenerCache.set(controller, listener);
3707
- }
3708
- // Invoke immediately to add if the query currently matches
3709
- listener.bind(query)();
3710
- query.addEventListener("change", listener);
3711
- }
3712
- /**
3713
- * Unbinds the behavior from the element.
3714
- * @param controller - The host controller orchestrating this behavior.
3715
- */
3716
- disconnectedCallback(controller) {
3717
- const listener = this.listenerCache.get(controller);
3718
- if (listener) {
3719
- this.query.removeEventListener("change", listener);
3720
- }
3721
- }
3722
- }
3723
- /**
3724
- * A behavior to add or remove a stylesheet from an element based on a media query. The behavior ensures that
3725
- * styles are applied while the a query matches the environment and that styles are not applied if the query does
3726
- * not match the environment.
3727
- *
3728
- * @public
3729
- */
3730
- class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {
3731
- /**
3732
- * Constructs a {@link MatchMediaStyleSheetBehavior} instance.
3733
- * @param query - The media query to operate from.
3734
- * @param styles - The styles to coordinate with the query.
3735
- */
3736
- constructor(query, styles) {
3737
- super(query);
3738
- this.styles = styles;
3739
- }
3740
- /**
3741
- * Defines a function to construct {@link MatchMediaStyleSheetBehavior | MatchMediaStyleSheetBehaviors} for
3742
- * a provided query.
3743
- * @param query - The media query to operate from.
3744
- *
3745
- * @public
3746
- * @example
3747
- *
3748
- * ```ts
3749
- * import { css } from "@microsoft/fast-element";
3750
- * import { MatchMediaStyleSheetBehavior } from "@microsoft/fast-foundation";
3751
- *
3752
- * const landscapeBehavior = MatchMediaStyleSheetBehavior.with(
3753
- * window.matchMedia("(orientation: landscape)")
3754
- * );
3755
- *
3756
- * const styles = css`
3757
- * :host {
3758
- * width: 200px;
3759
- * height: 400px;
3760
- * }
3761
- * `
3762
- * .withBehaviors(landscapeBehavior(css`
3763
- * :host {
3764
- * width: 400px;
3765
- * height: 200px;
3766
- * }
3767
- * `))
3768
- * ```
3769
- */
3770
- static with(query) {
3771
- return styles => {
3772
- return new MatchMediaStyleSheetBehavior(query, styles);
3773
- };
3774
- }
3775
- /**
3776
- * Constructs a match-media listener for a provided element.
3777
- * @param source - the element for which to attach or detach styles.
3778
- */
3779
- constructListener(controller) {
3780
- let attached = false;
3781
- const styles = this.styles;
3782
- return function listener() {
3783
- const {
3784
- matches
3785
- } = this;
3786
- if (matches && !attached) {
3787
- controller.addStyles(styles);
3788
- attached = matches;
3789
- } else if (!matches && attached) {
3790
- controller.removeStyles(styles);
3791
- attached = matches;
3792
- }
3793
- };
3794
- }
3795
- /**
3796
- * Unbinds the behavior from the element.
3797
- * @param controller - The host controller orchestrating this behavior.
3798
- * @internal
3799
- */
3800
- removedCallback(controller) {
3801
- controller.removeStyles(this.styles);
3802
- }
3803
- }
3804
- /**
3805
- * This can be used to construct a behavior to apply a forced-colors only stylesheet.
3806
- * @public
3807
- */
3808
- const forcedColorsStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia("(forced-colors)"));
3809
- /**
3810
- * This can be used to construct a behavior to apply a prefers color scheme: dark only stylesheet.
3811
- * @public
3812
- */
3813
- MatchMediaStyleSheetBehavior.with(window.matchMedia("(prefers-color-scheme: dark)"));
3814
- /**
3815
- * This can be used to construct a behavior to apply a prefers color scheme: light only stylesheet.
3816
- * @public
3817
- */
3818
- MatchMediaStyleSheetBehavior.with(window.matchMedia("(prefers-color-scheme: light)"));
3819
-
3820
- /**
3821
- * A CSS fragment to set `display: none;` when the host is hidden using the [hidden] attribute.
3822
- * @public
3823
- */
3824
- const hidden = `:host([hidden]){display:none}`;
3825
- /**
3826
- * Applies a CSS display property.
3827
- * Also adds CSS rules to not display the element when the [hidden] attribute is applied to the element.
3828
- * @param display - The CSS display property value
3829
- * @public
3830
- */
3831
- function display(displayValue) {
3832
- return `${hidden}:host{display:${displayValue}}`;
3833
- }
3834
-
3835
3738
  const styles$r = css`
3836
3739
  ${display("flex")}
3837
3740
 
@@ -4779,6 +4682,12 @@ const ButtonType = {
4779
4682
  reset: "reset",
4780
4683
  button: "button"
4781
4684
  };
4685
+ const ButtonFormTarget = {
4686
+ blank: "_blank",
4687
+ self: "_self",
4688
+ parent: "_parent",
4689
+ top: "_top"
4690
+ };
4782
4691
 
4783
4692
  const AnchorButtonAppearance = ButtonAppearance;
4784
4693
  const AnchorButtonShape = ButtonShape;
@@ -4798,19 +4707,14 @@ const template$q = anchorTemplate();
4798
4707
  const styles$p = css`
4799
4708
  ${display("inline-flex")}
4800
4709
 
4801
- :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)
4710
+ :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;text-align:center}: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)
4802
4711
  .control{background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`.withBehaviors(forcedColorsStylesheetBehavior(css`
4803
4712
  :host([appearance='transparent']:hover) .control{border-color:Highlight}`));
4804
4713
 
4805
- const styles$o = css`
4806
- ${styles$p}
4807
-
4808
- .content{text-align:center}`;
4809
-
4810
4714
  const definition$q = AnchorButton.compose({
4811
4715
  name: `${FluentDesignSystem.prefix}-anchor-button`,
4812
4716
  template: template$q,
4813
- styles: styles$o,
4717
+ styles: styles$p,
4814
4718
  shadowOptions: {
4815
4719
  delegatesFocus: true
4816
4720
  }
@@ -4997,13 +4901,13 @@ const animations = {
4997
4901
  normalEase: curveEasyEase,
4998
4902
  nullEasing: curveLinear
4999
4903
  };
5000
- const styles$n = css`
4904
+ const styles$o = css`
5001
4905
  ${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}}`;
5002
4906
 
5003
4907
  const definition$p = Avatar.compose({
5004
4908
  name: `${FluentDesignSystem.prefix}-avatar`,
5005
4909
  template: template$p,
5006
- styles: styles$n
4910
+ styles: styles$o
5007
4911
  });
5008
4912
 
5009
4913
  const BadgeAppearance = {
@@ -5311,7 +5215,7 @@ const badgeTintStyles = css.partial`
5311
5215
  }
5312
5216
  `;
5313
5217
 
5314
- const styles$m = css`
5218
+ const styles$n = css`
5315
5219
  :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}
5316
5220
  ${badgeFilledStyles}
5317
5221
  ${badgeGhostStyles}
@@ -5323,71 +5227,265 @@ const styles$m = css`
5323
5227
  const definition$o = Badge.compose({
5324
5228
  name: `${FluentDesignSystem.prefix}-badge`,
5325
5229
  template: template$o,
5326
- styles: styles$m
5230
+ styles: styles$n
5327
5231
  });
5328
5232
 
5329
- const proxySlotName = "form-associated-proxy";
5330
- const ElementInternalsKey = "ElementInternals";
5331
- const supportsElementInternals = ElementInternalsKey in window && "setFormValue" in window[ElementInternalsKey].prototype;
5332
- const InternalsMap = /* @__PURE__ */new WeakMap();
5333
- function FormAssociated(BaseCtor) {
5334
- const C = class extends BaseCtor {
5335
- constructor(...args) {
5336
- super(...args);
5337
- this.dirtyValue = false;
5338
- this.initialValue = "";
5339
- this.disabled = false;
5340
- this.proxyEventsToBlock = ["change", "click"];
5341
- this.proxyInitialized = false;
5342
- this.required = false;
5343
- this.initialValue = this.initialValue || "";
5344
- if (!this.elementInternals) {
5345
- this.formResetCallback = this.formResetCallback.bind(this);
5346
- }
5233
+ var __defProp$l = Object.defineProperty;
5234
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
5235
+ var __decorateClass$l = (decorators, target, key, kind) => {
5236
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
5237
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5238
+ if (kind && result) __defProp$l(target, key, result);
5239
+ return result;
5240
+ };
5241
+ class Button extends FASTElement {
5242
+ constructor() {
5243
+ super();
5244
+ this.disabledFocusable = false;
5245
+ this.elementInternals = this.attachInternals();
5246
+ this.iconOnly = false;
5247
+ this.elementInternals.role = "button";
5248
+ }
5249
+ disabledFocusableChanged(previous, next) {
5250
+ if (this.$fastController.isConnected) {
5251
+ this.elementInternals.ariaDisabled = `${!!next}`;
5347
5252
  }
5348
- static get formAssociated() {
5349
- return supportsElementInternals;
5253
+ }
5254
+ get form() {
5255
+ return this.elementInternals.form;
5256
+ }
5257
+ get labels() {
5258
+ return Object.freeze(Array.from(this.elementInternals.labels));
5259
+ }
5260
+ typeChanged(previous, next) {
5261
+ var _a, _b, _c;
5262
+ if (next !== ButtonType.submit) {
5263
+ (_a = this.formSubmissionFallbackControl) == null ? void 0 : _a.remove();
5264
+ (_c = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector('slot[name="internal"]')) == null ? void 0 : _c.remove();
5350
5265
  }
5351
- get validity() {
5352
- return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
5266
+ }
5267
+ clickHandler(e) {
5268
+ if (e && this.disabledFocusable) {
5269
+ e.stopImmediatePropagation();
5270
+ return;
5353
5271
  }
5354
- get form() {
5355
- return this.elementInternals ? this.elementInternals.form : this.proxy.form;
5272
+ this.press();
5273
+ return true;
5274
+ }
5275
+ connectedCallback() {
5276
+ super.connectedCallback();
5277
+ this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
5278
+ }
5279
+ createAndInsertFormSubmissionFallbackControl() {
5280
+ var _a, _b, _c, _d, _e, _f, _g, _h;
5281
+ const internalSlot = (_a = this.formSubmissionFallbackControlSlot) != null ? _a : document.createElement("slot");
5282
+ internalSlot.setAttribute("name", "internal");
5283
+ (_b = this.shadowRoot) == null ? void 0 : _b.appendChild(internalSlot);
5284
+ this.formSubmissionFallbackControlSlot = internalSlot;
5285
+ const fallbackControl = (_c = this.formSubmissionFallbackControl) != null ? _c : document.createElement("button");
5286
+ fallbackControl.style.display = "none";
5287
+ fallbackControl.setAttribute("type", "submit");
5288
+ fallbackControl.setAttribute("slot", "internal");
5289
+ if (this.formNoValidate) {
5290
+ fallbackControl.toggleAttribute("formnovalidate", true);
5356
5291
  }
5357
- get validationMessage() {
5358
- return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
5292
+ if ((_d = this.elementInternals.form) == null ? void 0 : _d.id) {
5293
+ fallbackControl.setAttribute("form", this.elementInternals.form.id);
5359
5294
  }
5360
- get willValidate() {
5361
- return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
5295
+ if (this.name) {
5296
+ fallbackControl.setAttribute("name", this.name);
5362
5297
  }
5363
- get labels() {
5364
- if (this.elementInternals) {
5365
- return Object.freeze(Array.from(this.elementInternals.labels));
5366
- } else if (this.proxy instanceof HTMLElement && this.proxy.ownerDocument && this.id) {
5367
- const parentLabels = this.proxy.labels;
5368
- const forLabels = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));
5369
- const labels = parentLabels ? forLabels.concat(Array.from(parentLabels)) : forLabels;
5370
- return Object.freeze(labels);
5371
- } else {
5372
- return emptyArray;
5373
- }
5298
+ if (this.value) {
5299
+ fallbackControl.setAttribute("value", this.value);
5374
5300
  }
5375
- valueChanged(previous, next) {
5376
- this.dirtyValue = true;
5377
- if (this.proxy instanceof HTMLElement) {
5378
- this.proxy.value = this.value;
5379
- }
5380
- this.currentValue = this.value;
5381
- this.setFormValue(this.value);
5382
- this.validate();
5301
+ if (this.formAction) {
5302
+ fallbackControl.setAttribute("formaction", (_e = this.formAction) != null ? _e : "");
5383
5303
  }
5384
- currentValueChanged() {
5385
- this.value = this.currentValue;
5304
+ if (this.formEnctype) {
5305
+ fallbackControl.setAttribute("formenctype", (_f = this.formEnctype) != null ? _f : "");
5386
5306
  }
5387
- initialValueChanged(previous, next) {
5388
- if (!this.dirtyValue) {
5389
- this.value = this.initialValue;
5390
- this.dirtyValue = false;
5307
+ if (this.formMethod) {
5308
+ fallbackControl.setAttribute("formmethod", (_g = this.formMethod) != null ? _g : "");
5309
+ }
5310
+ if (this.formTarget) {
5311
+ fallbackControl.setAttribute("formtarget", (_h = this.formTarget) != null ? _h : "");
5312
+ }
5313
+ this.append(fallbackControl);
5314
+ this.formSubmissionFallbackControl = fallbackControl;
5315
+ }
5316
+ formDisabledCallback(disabled) {
5317
+ this.disabled = disabled;
5318
+ }
5319
+ keypressHandler(e) {
5320
+ if (e && this.disabledFocusable) {
5321
+ e.stopImmediatePropagation();
5322
+ return;
5323
+ }
5324
+ if (e.key === keyEnter || e.key === keySpace) {
5325
+ this.press();
5326
+ return;
5327
+ }
5328
+ return true;
5329
+ }
5330
+ press() {
5331
+ switch (this.type) {
5332
+ case ButtonType.reset:
5333
+ {
5334
+ this.resetForm();
5335
+ break;
5336
+ }
5337
+ case ButtonType.submit:
5338
+ {
5339
+ this.submitForm();
5340
+ break;
5341
+ }
5342
+ }
5343
+ }
5344
+ resetForm() {
5345
+ var _a;
5346
+ (_a = this.elementInternals.form) == null ? void 0 : _a.reset();
5347
+ }
5348
+ submitForm() {
5349
+ var _a;
5350
+ if (!this.elementInternals.form || this.disabled || this.type !== ButtonType.submit) {
5351
+ return;
5352
+ }
5353
+ if (!this.name && !this.formAction && !this.formEnctype && !this.form && !this.formMethod && !this.formNoValidate && !this.formTarget) {
5354
+ this.elementInternals.form.requestSubmit();
5355
+ return;
5356
+ }
5357
+ try {
5358
+ this.elementInternals.setFormValue((_a = this.value) != null ? _a : "");
5359
+ this.elementInternals.form.requestSubmit(this);
5360
+ } catch (e) {
5361
+ this.createAndInsertFormSubmissionFallbackControl();
5362
+ this.elementInternals.setFormValue(null);
5363
+ this.elementInternals.form.requestSubmit(this.formSubmissionFallbackControl);
5364
+ }
5365
+ }
5366
+ }
5367
+ Button.formAssociated = true;
5368
+ __decorateClass$l([attr], Button.prototype, "appearance", 2);
5369
+ __decorateClass$l([attr({
5370
+ mode: "boolean"
5371
+ })], Button.prototype, "autofocus", 2);
5372
+ __decorateClass$l([observable], Button.prototype, "defaultSlottedContent", 2);
5373
+ __decorateClass$l([attr({
5374
+ mode: "boolean"
5375
+ })], Button.prototype, "disabled", 2);
5376
+ __decorateClass$l([attr({
5377
+ attribute: "disabled-focusable",
5378
+ mode: "boolean"
5379
+ })], Button.prototype, "disabledFocusable", 2);
5380
+ __decorateClass$l([attr({
5381
+ attribute: "formaction"
5382
+ })], Button.prototype, "formAction", 2);
5383
+ __decorateClass$l([attr({
5384
+ attribute: "form"
5385
+ })], Button.prototype, "formAttribute", 2);
5386
+ __decorateClass$l([attr({
5387
+ attribute: "formenctype"
5388
+ })], Button.prototype, "formEnctype", 2);
5389
+ __decorateClass$l([attr({
5390
+ attribute: "formmethod"
5391
+ })], Button.prototype, "formMethod", 2);
5392
+ __decorateClass$l([attr({
5393
+ attribute: "formnovalidate",
5394
+ mode: "boolean"
5395
+ })], Button.prototype, "formNoValidate", 2);
5396
+ __decorateClass$l([attr({
5397
+ attribute: "formtarget"
5398
+ })], Button.prototype, "formTarget", 2);
5399
+ __decorateClass$l([attr({
5400
+ attribute: "icon-only",
5401
+ mode: "boolean"
5402
+ })], Button.prototype, "iconOnly", 2);
5403
+ __decorateClass$l([attr], Button.prototype, "name", 2);
5404
+ __decorateClass$l([attr], Button.prototype, "shape", 2);
5405
+ __decorateClass$l([attr], Button.prototype, "size", 2);
5406
+ __decorateClass$l([attr], Button.prototype, "type", 2);
5407
+ __decorateClass$l([attr], Button.prototype, "value", 2);
5408
+ applyMixins(Button, StartEnd);
5409
+
5410
+ function buttonTemplate$1(options = {}) {
5411
+ return html`<template tabindex="${x => x.disabled ? -1 : 0}" @click="${(x, c) => x.clickHandler(c.event)}" @keypress="${(x, c) => x.keypressHandler(c.event)}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</template>`;
5412
+ }
5413
+ const template$n = buttonTemplate$1();
5414
+
5415
+ const styles$m = css`
5416
+ ${display("inline-flex")}
5417
+
5418
+ :host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle;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;user-select:none}.content{display:inherit}:host(:hover){background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active){background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host(: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]){min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS};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]){min-width:24px;max-width:24px}:host([size='large']){min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]){min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']),:host([shape='circular']:focus-visible){border-radius:${borderRadiusCircular}}:host([shape='square']),:host([shape='square']:focus-visible){border-radius:${borderRadiusNone}}:host([appearance='primary']){background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover),:host([appearance='primary']:hover:active){border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active){background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']:focus-visible){border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"])),:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover),:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover:active){border-color:transparent}:host([appearance='outline']){background-color:${colorTransparentBackground}}:host([appearance='outline']:hover){background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active){background-color:${colorTransparentBackgroundPressed}}:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"])),:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover),:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover:active){background-color:${colorTransparentBackground}}:host([appearance='subtle']){background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"])),:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover),:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover:active){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']){background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover){background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active){background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']),:host([appearance='transparent']:hover),:host([appearance='transparent']:hover:active){border-color:transparent}:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"])),:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover),:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover:active){border-color:transparent;background-color:${colorTransparentBackground}}:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable])),:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover),:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover:active){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`.withBehaviors(forcedColorsStylesheetBehavior(css`
5419
+ :host([appearance='transparent']:hover){border-color:Highlight}`));
5420
+
5421
+ const definition$n = Button.compose({
5422
+ name: `${FluentDesignSystem.prefix}-button`,
5423
+ template: template$n,
5424
+ styles: styles$m
5425
+ });
5426
+
5427
+ const proxySlotName = "form-associated-proxy";
5428
+ const ElementInternalsKey = "ElementInternals";
5429
+ const supportsElementInternals = ElementInternalsKey in window && "setFormValue" in window[ElementInternalsKey].prototype;
5430
+ const InternalsMap = /* @__PURE__ */new WeakMap();
5431
+ function FormAssociated(BaseCtor) {
5432
+ const C = class extends BaseCtor {
5433
+ constructor(...args) {
5434
+ super(...args);
5435
+ this.dirtyValue = false;
5436
+ this.initialValue = "";
5437
+ this.disabled = false;
5438
+ this.proxyEventsToBlock = ["change", "click"];
5439
+ this.proxyInitialized = false;
5440
+ this.required = false;
5441
+ this.initialValue = this.initialValue || "";
5442
+ if (!this.elementInternals) {
5443
+ this.formResetCallback = this.formResetCallback.bind(this);
5444
+ }
5445
+ }
5446
+ static get formAssociated() {
5447
+ return supportsElementInternals;
5448
+ }
5449
+ get validity() {
5450
+ return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
5451
+ }
5452
+ get form() {
5453
+ return this.elementInternals ? this.elementInternals.form : this.proxy.form;
5454
+ }
5455
+ get validationMessage() {
5456
+ return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
5457
+ }
5458
+ get willValidate() {
5459
+ return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
5460
+ }
5461
+ get labels() {
5462
+ if (this.elementInternals) {
5463
+ return Object.freeze(Array.from(this.elementInternals.labels));
5464
+ } else if (this.proxy instanceof HTMLElement && this.proxy.ownerDocument && this.id) {
5465
+ const parentLabels = this.proxy.labels;
5466
+ const forLabels = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));
5467
+ const labels = parentLabels ? forLabels.concat(Array.from(parentLabels)) : forLabels;
5468
+ return Object.freeze(labels);
5469
+ } else {
5470
+ return emptyArray;
5471
+ }
5472
+ }
5473
+ valueChanged(previous, next) {
5474
+ this.dirtyValue = true;
5475
+ if (this.proxy instanceof HTMLElement) {
5476
+ this.proxy.value = this.value;
5477
+ }
5478
+ this.currentValue = this.value;
5479
+ this.setFormValue(this.value);
5480
+ this.validate();
5481
+ }
5482
+ currentValueChanged() {
5483
+ this.value = this.currentValue;
5484
+ }
5485
+ initialValueChanged(previous, next) {
5486
+ if (!this.dirtyValue) {
5487
+ this.value = this.initialValue;
5488
+ this.dirtyValue = false;
5391
5489
  }
5392
5490
  }
5393
5491
  disabledChanged(previous, next) {
@@ -5589,158 +5687,6 @@ function CheckableFormAssociated(BaseCtor) {
5589
5687
  return D;
5590
5688
  }
5591
5689
 
5592
- class _Button extends FASTElement {}
5593
- class FormAssociatedButton extends FormAssociated(_Button) {
5594
- constructor() {
5595
- super(...arguments);
5596
- this.proxy = document.createElement("input");
5597
- }
5598
- }
5599
-
5600
- var __defProp$l = Object.defineProperty;
5601
- var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
5602
- var __decorateClass$l = (decorators, target, key, kind) => {
5603
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
5604
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5605
- if (kind && result) __defProp$l(target, key, result);
5606
- return result;
5607
- };
5608
- class Button extends FormAssociatedButton {
5609
- constructor() {
5610
- super(...arguments);
5611
- this.iconOnly = false;
5612
- this.disabledFocusable = false;
5613
- this.handleDisabledFocusableClick = e => {
5614
- if (e && this.disabledFocusable) {
5615
- e.stopImmediatePropagation();
5616
- return;
5617
- }
5618
- };
5619
- this.handleSubmission = () => {
5620
- if (!this.form) {
5621
- return;
5622
- }
5623
- const attached = this.proxy.isConnected;
5624
- if (!attached) {
5625
- this.attachProxy();
5626
- }
5627
- typeof this.form.requestSubmit === "function" ? this.form.requestSubmit(this.proxy) : this.proxy.click();
5628
- if (!attached) {
5629
- this.detachProxy();
5630
- }
5631
- };
5632
- this.handleFormReset = () => {
5633
- var _a;
5634
- (_a = this.form) == null ? void 0 : _a.reset();
5635
- };
5636
- }
5637
- formactionChanged() {
5638
- if (this.proxy instanceof HTMLInputElement) {
5639
- this.proxy.formAction = this.formaction;
5640
- }
5641
- }
5642
- formenctypeChanged() {
5643
- if (this.proxy instanceof HTMLInputElement) {
5644
- this.proxy.formEnctype = this.formenctype;
5645
- }
5646
- }
5647
- formmethodChanged() {
5648
- if (this.proxy instanceof HTMLInputElement) {
5649
- this.proxy.formMethod = this.formmethod;
5650
- }
5651
- }
5652
- formnovalidateChanged() {
5653
- if (this.proxy instanceof HTMLInputElement) {
5654
- this.proxy.formNoValidate = this.formnovalidate;
5655
- }
5656
- }
5657
- formtargetChanged() {
5658
- if (this.proxy instanceof HTMLInputElement) {
5659
- this.proxy.formTarget = this.formtarget;
5660
- }
5661
- }
5662
- typeChanged(previous, next) {
5663
- if (this.proxy instanceof HTMLInputElement) {
5664
- this.proxy.type = this.type;
5665
- }
5666
- next === ButtonType.submit && this.addEventListener("click", this.handleSubmission);
5667
- previous === ButtonType.submit && this.removeEventListener("click", this.handleSubmission);
5668
- next === ButtonType.reset && this.addEventListener("click", this.handleFormReset);
5669
- previous === ButtonType.reset && this.removeEventListener("click", this.handleFormReset);
5670
- }
5671
- disabledFocusableChanged(prev, next) {
5672
- if (!this.$fastController.isConnected) {
5673
- return;
5674
- }
5675
- if (this.disabledFocusable) {
5676
- this.setAttribute("aria-disabled", "true");
5677
- } else {
5678
- this.removeAttribute("aria-disabled");
5679
- }
5680
- }
5681
- validate() {
5682
- super.validate(this.control);
5683
- }
5684
- connectedCallback() {
5685
- super.connectedCallback();
5686
- this.proxy.setAttribute("type", this.type);
5687
- this.addEventListener("click", this.handleDisabledFocusableClick);
5688
- }
5689
- disconnectedCallback() {
5690
- super.disconnectedCallback();
5691
- this.removeEventListener("click", this.handleDisabledFocusableClick);
5692
- }
5693
- }
5694
- __decorateClass$l([attr({
5695
- mode: "boolean"
5696
- })], Button.prototype, "autofocus", 2);
5697
- __decorateClass$l([attr({
5698
- attribute: "form"
5699
- })], Button.prototype, "formId", 2);
5700
- __decorateClass$l([attr], Button.prototype, "formaction", 2);
5701
- __decorateClass$l([attr], Button.prototype, "formenctype", 2);
5702
- __decorateClass$l([attr], Button.prototype, "formmethod", 2);
5703
- __decorateClass$l([attr({
5704
- mode: "boolean"
5705
- })], Button.prototype, "formnovalidate", 2);
5706
- __decorateClass$l([attr], Button.prototype, "formtarget", 2);
5707
- __decorateClass$l([attr], Button.prototype, "type", 2);
5708
- __decorateClass$l([attr], Button.prototype, "appearance", 2);
5709
- __decorateClass$l([attr], Button.prototype, "shape", 2);
5710
- __decorateClass$l([attr], Button.prototype, "size", 2);
5711
- __decorateClass$l([attr({
5712
- attribute: "icon-only",
5713
- mode: "boolean"
5714
- })], Button.prototype, "iconOnly", 2);
5715
- __decorateClass$l([attr({
5716
- attribute: "disabled-focusable",
5717
- mode: "boolean"
5718
- })], Button.prototype, "disabledFocusable", 2);
5719
- __decorateClass$l([observable], Button.prototype, "defaultSlottedContent", 2);
5720
- class DelegatesARIAButton {}
5721
- __decorateClass$l([attr({
5722
- attribute: "aria-expanded"
5723
- })], DelegatesARIAButton.prototype, "ariaExpanded", 2);
5724
- __decorateClass$l([attr({
5725
- attribute: "aria-pressed"
5726
- })], DelegatesARIAButton.prototype, "ariaPressed", 2);
5727
- applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
5728
- applyMixins(Button, StartEnd, DelegatesARIAButton);
5729
-
5730
- function buttonTemplate$1(options = {}) {
5731
- 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>`;
5732
- }
5733
- const template$n = buttonTemplate$1();
5734
-
5735
- const definition$n = Button.compose({
5736
- name: `${FluentDesignSystem.prefix}-button`,
5737
- template: template$n,
5738
- styles: styles$p,
5739
- shadowOptions: {
5740
- delegatesFocus: true
5741
- }
5742
- });
5743
-
5744
5690
  class _Checkbox extends FASTElement {}
5745
5691
  class FormAssociatedCheckbox extends CheckableFormAssociated(_Checkbox) {
5746
5692
  constructor() {
@@ -5848,25 +5794,22 @@ const CompoundButtonShape = ButtonShape;
5848
5794
  const CompoundButtonSize = ButtonSize;
5849
5795
 
5850
5796
  function buttonTemplate(options = {}) {
5851
- 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>`;
5797
+ return html`<template ?disabled="${x => x.disabled}" tabindex="${x => x.disabled ? -1 : 0}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot><slot name="description"></slot></span>${endSlotTemplate(options)}</template>`;
5852
5798
  }
5853
5799
  const template$l = buttonTemplate();
5854
5800
 
5855
5801
  const styles$k = css`
5856
- ${styles$p}
5802
+ ${styles$m}
5857
5803
 
5858
- :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))
5804
+ :host,:host(:is([size])){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))
5859
5805
  ::slotted([slot='description']){color:${colorNeutralForegroundOnBrand}}:host(:is([appearance='subtle'],[appearance='subtle']:hover,[appearance='subtle']:active))
5860
5806
  ::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]))
5861
- ::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}}`;
5807
+ ::slotted([slot='description']){color:${colorNeutralForegroundDisabled}}:host([size='small']){padding:8px;padding-bottom:10px}:host([icon-only]){min-width:52px;max-width:52px;padding:${spacingHorizontalSNudge}}:host([icon-only][size='small']){min-width:48px;max-width:48px;padding:${spacingHorizontalXS}}:host([icon-only][size='large']){min-width:56px;max-width:56px;padding:${spacingHorizontalS}}:host([size='large']){padding-top:18px;padding-inline:16px;padding-bottom:20px;font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large']) ::slotted([slot='description']){font-size:${fontSizeBase300}}`;
5862
5808
 
5863
5809
  const definition$l = CompoundButton.compose({
5864
5810
  name: `${FluentDesignSystem.prefix}-compound-button`,
5865
5811
  template: template$l,
5866
- styles: styles$k,
5867
- shadowOptions: {
5868
- delegatesFocus: true
5869
- }
5812
+ styles: styles$k
5870
5813
  });
5871
5814
 
5872
5815
  var __defProp$j = Object.defineProperty;
@@ -5969,32 +5912,99 @@ const definition$k = CounterBadge.compose({
5969
5912
  });
5970
5913
 
5971
5914
  /*!
5972
- * tabbable 5.2.0
5915
+ * tabbable 6.2.0
5973
5916
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
5974
5917
  */
5975
- var candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details'];
5918
+ // NOTE: separate `:not()` selectors has broader browser support than the newer
5919
+ // `:not([inert], [inert] *)` (Feb 2023)
5920
+ // CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes
5921
+ // the entire query to fail, resulting in no nodes found, which will break a lot
5922
+ // of things... so we have to rely on JS to identify nodes inside an inert container
5923
+ var candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable="false"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];
5976
5924
  var candidateSelector = /* #__PURE__ */candidateSelectors.join(',');
5977
- var matches = typeof Element === 'undefined' ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
5925
+ var NoElement = typeof Element === 'undefined';
5926
+ var matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
5927
+ var getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {
5928
+ var _element$getRootNode;
5929
+ return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);
5930
+ } : function (element) {
5931
+ return element === null || element === void 0 ? void 0 : element.ownerDocument;
5932
+ };
5933
+
5934
+ /**
5935
+ * Determines if a node is inert or in an inert ancestor.
5936
+ * @param {Element} [node]
5937
+ * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to
5938
+ * see if any of them are inert. If false, only `node` itself is considered.
5939
+ * @returns {boolean} True if inert itself or by way of being in an inert ancestor.
5940
+ * False if `node` is falsy.
5941
+ */
5942
+ var isInert = function isInert(node, lookUp) {
5943
+ var _node$getAttribute;
5944
+ if (lookUp === void 0) {
5945
+ lookUp = true;
5946
+ }
5947
+ // CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`
5948
+ // JS API property; we have to check the attribute, which can either be empty or 'true';
5949
+ // if it's `null` (not specified) or 'false', it's an active element
5950
+ var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'inert');
5951
+ var inert = inertAtt === '' || inertAtt === 'true';
5952
+
5953
+ // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`
5954
+ // if it weren't for `matches()` not being a function on shadow roots; the following
5955
+ // code works for any kind of node
5956
+ // CAREFUL: JSDom does not appear to support certain selectors like `:not([inert] *)`
5957
+ // so it likely would not support `:is([inert] *)` either...
5958
+ var result = inert || lookUp && node && isInert(node.parentNode); // recursive
5959
+
5960
+ return result;
5961
+ };
5962
+
5963
+ /**
5964
+ * Determines if a node's content is editable.
5965
+ * @param {Element} [node]
5966
+ * @returns True if it's content-editable; false if it's not or `node` is falsy.
5967
+ */
5978
5968
  var isContentEditable = function isContentEditable(node) {
5979
- return node.contentEditable === 'true';
5980
- };
5981
- var getTabindex = function getTabindex(node) {
5982
- var tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);
5983
- if (!isNaN(tabindexAttr)) {
5984
- return tabindexAttr;
5985
- } // Browsers do not return `tabIndex` correctly for contentEditable nodes;
5986
- // so if they don't have a tabindex attribute specifically set, assume it's 0.
5987
-
5988
- if (isContentEditable(node)) {
5989
- return 0;
5990
- } // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
5991
- // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
5992
- // yet they are still part of the regular tab order; in FF, they get a default
5993
- // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
5994
- // order, consider their tab index to be 0.
5995
-
5996
- if ((node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {
5997
- return 0;
5969
+ var _node$getAttribute2;
5970
+ // CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have
5971
+ // to use the attribute directly to check for this, which can either be empty or 'true';
5972
+ // if it's `null` (not specified) or 'false', it's a non-editable element
5973
+ var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, 'contenteditable');
5974
+ return attValue === '' || attValue === 'true';
5975
+ };
5976
+
5977
+ /**
5978
+ * @private
5979
+ * Determines if the node has an explicitly specified `tabindex` attribute.
5980
+ * @param {HTMLElement} node
5981
+ * @returns {boolean} True if so; false if not.
5982
+ */
5983
+ var hasTabIndex = function hasTabIndex(node) {
5984
+ return !isNaN(parseInt(node.getAttribute('tabindex'), 10));
5985
+ };
5986
+
5987
+ /**
5988
+ * Determine the tab index of a given node.
5989
+ * @param {HTMLElement} node
5990
+ * @returns {number} Tab order (negative, 0, or positive number).
5991
+ * @throws {Error} If `node` is falsy.
5992
+ */
5993
+ var getTabIndex = function getTabIndex(node) {
5994
+ if (!node) {
5995
+ throw new Error('No node provided');
5996
+ }
5997
+ if (node.tabIndex < 0) {
5998
+ // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
5999
+ // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
6000
+ // yet they are still part of the regular tab order; in FF, they get a default
6001
+ // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
6002
+ // order, consider their tab index to be 0.
6003
+ // Also browsers do not return `tabIndex` correctly for contentEditable nodes;
6004
+ // so if they don't have a tabindex attribute specifically set, assume it's 0.
6005
+ if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {
6006
+ return 0;
6007
+ }
5998
6008
  }
5999
6009
  return node.tabIndex;
6000
6010
  };
@@ -6021,7 +6031,7 @@ var isTabbableRadio = function isTabbableRadio(node) {
6021
6031
  if (!node.name) {
6022
6032
  return true;
6023
6033
  }
6024
- var radioScope = node.form || node.ownerDocument;
6034
+ var radioScope = node.form || getRootNode(node);
6025
6035
  var queryRadios = function queryRadios(name) {
6026
6036
  return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
6027
6037
  };
@@ -6046,7 +6056,68 @@ var isRadio = function isRadio(node) {
6046
6056
  var isNonTabbableRadio = function isNonTabbableRadio(node) {
6047
6057
  return isRadio(node) && !isTabbableRadio(node);
6048
6058
  };
6049
- var isHidden = function isHidden(node, displayCheck) {
6059
+
6060
+ // determines if a node is ultimately attached to the window's document
6061
+ var isNodeAttached = function isNodeAttached(node) {
6062
+ var _nodeRoot;
6063
+ // The root node is the shadow root if the node is in a shadow DOM; some document otherwise
6064
+ // (but NOT _the_ document; see second 'If' comment below for more).
6065
+ // If rootNode is shadow root, it'll have a host, which is the element to which the shadow
6066
+ // is attached, and the one we need to check if it's in the document or not (because the
6067
+ // shadow, and all nodes it contains, is never considered in the document since shadows
6068
+ // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
6069
+ // is hidden, or is not in the document itself but is detached, it will affect the shadow's
6070
+ // visibility, including all the nodes it contains). The host could be any normal node,
6071
+ // or a custom element (i.e. web component). Either way, that's the one that is considered
6072
+ // part of the document, not the shadow root, nor any of its children (i.e. the node being
6073
+ // tested).
6074
+ // To further complicate things, we have to look all the way up until we find a shadow HOST
6075
+ // that is attached (or find none) because the node might be in nested shadows...
6076
+ // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
6077
+ // document (per the docs) and while it's a Document-type object, that document does not
6078
+ // appear to be the same as the node's `ownerDocument` for some reason, so it's safer
6079
+ // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
6080
+ // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
6081
+ // node is actually detached.
6082
+ // NOTE: If `nodeRootHost` or `node` happens to be the `document` itself (which is possible
6083
+ // if a tabbable/focusable node was quickly added to the DOM, focused, and then removed
6084
+ // from the DOM as in https://github.com/focus-trap/focus-trap-react/issues/905), then
6085
+ // `ownerDocument` will be `null`, hence the optional chaining on it.
6086
+ var nodeRoot = node && getRootNode(node);
6087
+ var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;
6088
+
6089
+ // in some cases, a detached node will return itself as the root instead of a document or
6090
+ // shadow root object, in which case, we shouldn't try to look further up the host chain
6091
+ var attached = false;
6092
+ if (nodeRoot && nodeRoot !== node) {
6093
+ var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;
6094
+ attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));
6095
+ while (!attached && nodeRootHost) {
6096
+ var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;
6097
+ // since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,
6098
+ // which means we need to get the host's host and check if that parent host is contained
6099
+ // in (i.e. attached to) the document
6100
+ nodeRoot = getRootNode(nodeRootHost);
6101
+ nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;
6102
+ attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));
6103
+ }
6104
+ }
6105
+ return attached;
6106
+ };
6107
+ var isZeroArea = function isZeroArea(node) {
6108
+ var _node$getBoundingClie = node.getBoundingClientRect(),
6109
+ width = _node$getBoundingClie.width,
6110
+ height = _node$getBoundingClie.height;
6111
+ return width === 0 && height === 0;
6112
+ };
6113
+ var isHidden = function isHidden(node, _ref) {
6114
+ var displayCheck = _ref.displayCheck,
6115
+ getShadowRoot = _ref.getShadowRoot;
6116
+ // NOTE: visibility will be `undefined` if node is detached from the document
6117
+ // (see notes about this further down), which means we will consider it visible
6118
+ // (this is legacy behavior from a very long way back)
6119
+ // NOTE: we check this regardless of `displayCheck="none"` because this is a
6120
+ // _visibility_ check, not a _display_ check
6050
6121
  if (getComputedStyle(node).visibility === 'hidden') {
6051
6122
  return true;
6052
6123
  }
@@ -6055,30 +6126,128 @@ var isHidden = function isHidden(node, displayCheck) {
6055
6126
  if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
6056
6127
  return true;
6057
6128
  }
6058
- if (!displayCheck || displayCheck === 'full') {
6059
- while (node) {
6060
- if (getComputedStyle(node).display === 'none') {
6129
+ if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {
6130
+ if (typeof getShadowRoot === 'function') {
6131
+ // figure out if we should consider the node to be in an undisclosed shadow and use the
6132
+ // 'non-zero-area' fallback
6133
+ var originalNode = node;
6134
+ while (node) {
6135
+ var parentElement = node.parentElement;
6136
+ var rootNode = getRootNode(node);
6137
+ if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow
6138
+ ) {
6139
+ // node has an undisclosed shadow which means we can only treat it as a black box, so we
6140
+ // fall back to a non-zero-area test
6141
+ return isZeroArea(node);
6142
+ } else if (node.assignedSlot) {
6143
+ // iterate up slot
6144
+ node = node.assignedSlot;
6145
+ } else if (!parentElement && rootNode !== node.ownerDocument) {
6146
+ // cross shadow boundary
6147
+ node = rootNode.host;
6148
+ } else {
6149
+ // iterate up normal dom
6150
+ node = parentElement;
6151
+ }
6152
+ }
6153
+ node = originalNode;
6154
+ }
6155
+ // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support
6156
+ // (i.e. it does not also presume that all nodes might have undisclosed shadows); or
6157
+ // it might be a falsy value, which means shadow DOM support is disabled
6158
+
6159
+ // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)
6160
+ // now we can just test to see if it would normally be visible or not, provided it's
6161
+ // attached to the main document.
6162
+ // NOTE: We must consider case where node is inside a shadow DOM and given directly to
6163
+ // `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.
6164
+
6165
+ if (isNodeAttached(node)) {
6166
+ // this works wherever the node is: if there's at least one client rect, it's
6167
+ // somehow displayed; it also covers the CSS 'display: contents' case where the
6168
+ // node itself is hidden in place of its contents; and there's no need to search
6169
+ // up the hierarchy either
6170
+ return !node.getClientRects().length;
6171
+ }
6172
+
6173
+ // Else, the node isn't attached to the document, which means the `getClientRects()`
6174
+ // API will __always__ return zero rects (this can happen, for example, if React
6175
+ // is used to render nodes onto a detached tree, as confirmed in this thread:
6176
+ // https://github.com/facebook/react/issues/9117#issuecomment-284228870)
6177
+ //
6178
+ // It also means that even window.getComputedStyle(node).display will return `undefined`
6179
+ // because styles are only computed for nodes that are in the document.
6180
+ //
6181
+ // NOTE: THIS HAS BEEN THE CASE FOR YEARS. It is not new, nor is it caused by tabbable
6182
+ // somehow. Though it was never stated officially, anyone who has ever used tabbable
6183
+ // APIs on nodes in detached containers has actually implicitly used tabbable in what
6184
+ // was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck="none"` mode -- essentially
6185
+ // considering __everything__ to be visible because of the innability to determine styles.
6186
+ //
6187
+ // v6.0.0: As of this major release, the default 'full' option __no longer treats detached
6188
+ // nodes as visible with the 'none' fallback.__
6189
+ if (displayCheck !== 'legacy-full') {
6190
+ return true; // hidden
6191
+ }
6192
+ // else, fallback to 'none' mode and consider the node visible
6193
+ } else if (displayCheck === 'non-zero-area') {
6194
+ // NOTE: Even though this tests that the node's client rect is non-zero to determine
6195
+ // whether it's displayed, and that a detached node will __always__ have a zero-area
6196
+ // client rect, we don't special-case for whether the node is attached or not. In
6197
+ // this mode, we do want to consider nodes that have a zero area to be hidden at all
6198
+ // times, and that includes attached or not.
6199
+ return isZeroArea(node);
6200
+ }
6201
+
6202
+ // visible, as far as we can tell, or per current `displayCheck=none` mode, we assume
6203
+ // it's visible
6204
+ return false;
6205
+ };
6206
+
6207
+ // form fields (nested) inside a disabled fieldset are not focusable/tabbable
6208
+ // unless they are in the _first_ <legend> element of the top-most disabled
6209
+ // fieldset
6210
+ var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
6211
+ if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {
6212
+ var parentNode = node.parentElement;
6213
+ // check if `node` is contained in a disabled <fieldset>
6214
+ while (parentNode) {
6215
+ if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {
6216
+ // look for the first <legend> among the children of the disabled <fieldset>
6217
+ for (var i = 0; i < parentNode.children.length; i++) {
6218
+ var child = parentNode.children.item(i);
6219
+ // when the first <legend> (in document order) is found
6220
+ if (child.tagName === 'LEGEND') {
6221
+ // if its parent <fieldset> is not nested in another disabled <fieldset>,
6222
+ // return whether `node` is a descendant of its first <legend>
6223
+ return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);
6224
+ }
6225
+ }
6226
+ // the disabled <fieldset> containing `node` has no <legend>
6061
6227
  return true;
6062
6228
  }
6063
- node = node.parentElement;
6229
+ parentNode = parentNode.parentElement;
6064
6230
  }
6065
- } else if (displayCheck === 'non-zero-area') {
6066
- var _node$getBoundingClie = node.getBoundingClientRect(),
6067
- width = _node$getBoundingClie.width,
6068
- height = _node$getBoundingClie.height;
6069
- return width === 0 && height === 0;
6070
6231
  }
6232
+
6233
+ // else, node's tabbable/focusable state should not be affected by a fieldset's
6234
+ // enabled/disabled state
6071
6235
  return false;
6072
6236
  };
6073
6237
  var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
6074
- if (node.disabled || isHiddenInput(node) || isHidden(node, options.displayCheck) || /* For a details element with a summary, the summary element gets the focused */
6075
- isDetailsWithSummary(node)) {
6238
+ if (node.disabled ||
6239
+ // we must do an inert look up to filter out any elements inside an inert ancestor
6240
+ // because we're limited in the type of selectors we can use in JSDom (see related
6241
+ // note related to `candidateSelectors`)
6242
+ isInert(node) || isHiddenInput(node) || isHidden(node, options) ||
6243
+ // For a details element with a summary, the summary element gets the focus
6244
+ isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
6076
6245
  return false;
6077
6246
  }
6078
6247
  return true;
6079
6248
  };
6080
6249
  var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
6081
- if (!isNodeMatchingSelectorFocusable(options, node) || isNonTabbableRadio(node) || getTabindex(node) < 0) {
6250
+ if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
6082
6251
  return false;
6083
6252
  }
6084
6253
  return true;
@@ -6298,45 +6467,200 @@ const _Dialog = class extends FASTElement {
6298
6467
  });
6299
6468
  }
6300
6469
  };
6301
- let Dialog = _Dialog;
6302
- __decorateClass$i([observable], Dialog.prototype, "dialog", 2);
6303
- __decorateClass$i([observable], Dialog.prototype, "titleAction", 2);
6304
- __decorateClass$i([observable], Dialog.prototype, "defaultTitleAction", 2);
6305
- __decorateClass$i([attr({
6306
- attribute: "aria-describedby"
6307
- })], Dialog.prototype, "ariaDescribedby", 2);
6308
- __decorateClass$i([attr({
6309
- attribute: "aria-labelledby"
6310
- })], Dialog.prototype, "ariaLabelledby", 2);
6311
- __decorateClass$i([attr({
6312
- attribute: "modal-type"
6313
- })], Dialog.prototype, "modalType", 2);
6314
- __decorateClass$i([attr({
6470
+ let Dialog = _Dialog;
6471
+ __decorateClass$i([observable], Dialog.prototype, "dialog", 2);
6472
+ __decorateClass$i([observable], Dialog.prototype, "titleAction", 2);
6473
+ __decorateClass$i([observable], Dialog.prototype, "defaultTitleAction", 2);
6474
+ __decorateClass$i([attr({
6475
+ attribute: "aria-describedby"
6476
+ })], Dialog.prototype, "ariaDescribedby", 2);
6477
+ __decorateClass$i([attr({
6478
+ attribute: "aria-labelledby"
6479
+ })], Dialog.prototype, "ariaLabelledby", 2);
6480
+ __decorateClass$i([attr({
6481
+ attribute: "modal-type"
6482
+ })], Dialog.prototype, "modalType", 2);
6483
+ __decorateClass$i([attr({
6484
+ mode: "boolean"
6485
+ })], Dialog.prototype, "open", 2);
6486
+ __decorateClass$i([attr({
6487
+ mode: "boolean",
6488
+ attribute: "no-title-action"
6489
+ })], Dialog.prototype, "noTitleAction", 2);
6490
+
6491
+ const dismissed16Regular = html.partial(`
6492
+ <svg
6493
+ fill="currentColor"
6494
+ aria-hidden="true"
6495
+ width="20"
6496
+ height="20"
6497
+ viewBox="0 0 20 20"
6498
+ xmlns="http://www.w3.org/2000/svg"
6499
+ >
6500
+ <path
6501
+ d="m4.09 4.22.06-.07a.5.5 0 0 1 .63-.06l.07.06L10 9.29l5.15-5.14a.5.5 0 0 1 .63-.06l.07.06c.18.17.2.44.06.63l-.06.07L10.71 10l5.14 5.15c.18.17.2.44.06.63l-.06.07a.5.5 0 0 1-.63.06l-.07-.06L10 10.71l-5.15 5.14a.5.5 0 0 1-.63.06l-.07-.06a.5.5 0 0 1-.06-.63l.06-.07L9.29 10 4.15 4.85a.5.5 0 0 1-.06-.63l.06-.07-.06.07Z"
6502
+ fill="currentColor"
6503
+ ></path>
6504
+ </svg>`);
6505
+ const template$j = html`<template ?open="${x => x.open}"><dialog role="${x => x.modalType === DialogModalType.alert ? "alertdialog" : "dialog"}" modal-type="${x => x.modalType}" class="dialog" part="dialog" aria-modal="${x => x.modalType === DialogModalType.modal || x.modalType === DialogModalType.alert ? "true" : void 0}" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @keydown="${(x, c) => x.handleKeydown(c.event)}" @click="${(x, c) => x.handleClick(c.event)}" ${ref("dialog")}><div class="root" part="root"><div class="title" part="title"><slot name="title"></slot><slot ${slotted({
6506
+ property: "titleAction",
6507
+ filter: elements()
6508
+ })} name="title-action"></slot>${when(x => x.modalType === DialogModalType.nonModal && x.titleAction.length === 0 && !x.noTitleAction, html`<fluent-button tabindex="0" part="title-action" class="title-action" appearance="transparent" icon-only @click=${x => x.dismiss()} ${ref("defaultTitleAction")}>${dismissed16Regular}</fluent-button>`)}</div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div></div></dialog></template>`;
6509
+
6510
+ const styles$i = css`
6511
+ ${display("flex")}
6512
+
6513
+ :host{--dialog-backdrop:${colorBackgroundOverlay}}dialog{background:${colorNeutralBackground1};border:${strokeWidthThin} solid ${colorTransparentStroke};z-index:2;margin:auto auto;max-width:100%;width:100vw;border-radius:${borderRadiusXLarge};box-shadow:${shadow64};max-height:100vh;height:fit-content;overflow:unset;position:fixed;inset:0;padding:0}dialog::backdrop{background:var(--dialog-backdrop,rgba(0,0,0,0.4))}.root{box-sizing:border-box;display:flex;flex-direction:column;overflow:unset;max-height:calc(100vh - 48px);padding:${spacingVerticalXXL} ${spacingHorizontalXXL}}.title{font-size:${fontSizeBase500};line-height:${lineHeightBase500};font-weight:${fontWeightSemibold};font-family:${fontFamilyBase};color:${colorNeutralForeground1};margin-bottom:${spacingVerticalS};display:flex;justify-content:space-between;align-items:flex-start;column-gap:8px}.content{vertical-align:top;min-height:32px;color:${colorNeutralForeground1};font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-weight:${fontWeightRegular};font-family:${fontFamilyBase};overflow-y:auto;box-sizing:border-box}.actions{display:flex;grid-column-start:1;flex-direction:column;max-width:100vw;row-gap:${spacingVerticalS};padding-top:${spacingVerticalXXL};justify-self:stretch;width:100%}::slotted([slot='action']){width:100%}@media screen and (min-width:480px){::slotted([slot='action']){width:fit-content}dialog{max-width:600px;width:100%}.actions{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;column-gap:${spacingHorizontalS};padding-top:${spacingVerticalS};box-sizing:border-box}}`;
6514
+
6515
+ const definition$j = Dialog.compose({
6516
+ name: `${FluentDesignSystem.prefix}-dialog`,
6517
+ template: template$j,
6518
+ styles: styles$i
6519
+ });
6520
+
6521
+ const DividerRole = {
6522
+ separator: "separator",
6523
+ presentation: "presentation"
6524
+ };
6525
+ const DividerOrientation = Orientation;
6526
+ const DividerAlignContent = {
6527
+ center: "center",
6528
+ start: "start",
6529
+ end: "end"
6530
+ };
6531
+ const DividerAppearance = {
6532
+ strong: "strong",
6533
+ brand: "brand",
6534
+ subtle: "subtle",
6535
+ default: "default"
6536
+ };
6537
+
6538
+ var __defProp$h = Object.defineProperty;
6539
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
6540
+ var __decorateClass$h = (decorators, target, key, kind) => {
6541
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
6542
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6543
+ if (kind && result) __defProp$h(target, key, result);
6544
+ return result;
6545
+ };
6546
+ class Divider extends FASTElement {
6547
+ constructor() {
6548
+ super(...arguments);
6549
+ this.role = DividerRole.separator;
6550
+ this.orientation = DividerOrientation.horizontal;
6551
+ }
6552
+ }
6553
+ __decorateClass$h([attr], Divider.prototype, "role", 2);
6554
+ __decorateClass$h([attr], Divider.prototype, "orientation", 2);
6555
+ __decorateClass$h([attr({
6556
+ attribute: "align-content"
6557
+ })], Divider.prototype, "alignContent", 2);
6558
+ __decorateClass$h([attr], Divider.prototype, "appearance", 2);
6559
+ __decorateClass$h([attr({
6560
+ mode: "boolean"
6561
+ })], Divider.prototype, "inset", 2);
6562
+
6563
+ function dividerTemplate() {
6564
+ return html`<template role="${x => x.role}" aria-orientation="${x => x.role !== DividerRole.presentation ? x.orientation : void 0}"><slot></slot></template>`;
6565
+ }
6566
+ const template$i = dividerTemplate();
6567
+
6568
+ const styles$h = css`
6569
+ ${display("flex")}
6570
+
6571
+ :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}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
6572
+ :host([appearance='strong'])::before,:host([appearance='strong'])::after,:host([appearance='brand'])::before,:host([appearance='brand'])::after,:host([appearance='subtle'])::before,:host([appearance='subtle'])::after,:host::after,:host::before{background:WindowText;color:WindowText}`));
6573
+
6574
+ const definition$i = Divider.compose({
6575
+ name: `${FluentDesignSystem.prefix}-divider`,
6576
+ template: template$i,
6577
+ styles: styles$h
6578
+ });
6579
+
6580
+ var __defProp$g = Object.defineProperty;
6581
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
6582
+ var __decorateClass$g = (decorators, target, key, kind) => {
6583
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
6584
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6585
+ if (kind && result) __defProp$g(target, key, result);
6586
+ return result;
6587
+ };
6588
+ class Image extends FASTElement {}
6589
+ __decorateClass$g([attr({
6590
+ mode: "boolean"
6591
+ })], Image.prototype, "block", 2);
6592
+ __decorateClass$g([attr({
6593
+ mode: "boolean"
6594
+ })], Image.prototype, "bordered", 2);
6595
+ __decorateClass$g([attr({
6596
+ mode: "boolean"
6597
+ })], Image.prototype, "shadow", 2);
6598
+ __decorateClass$g([attr], Image.prototype, "fit", 2);
6599
+ __decorateClass$g([attr], Image.prototype, "shape", 2);
6600
+
6601
+ const ImageFit = {
6602
+ none: "none",
6603
+ center: "center",
6604
+ contain: "contain",
6605
+ cover: "cover",
6606
+ default: "default"
6607
+ };
6608
+ const ImageShape = {
6609
+ circular: "circular",
6610
+ rounded: "rounded",
6611
+ square: "square"
6612
+ };
6613
+
6614
+ const template$h = html`<slot></slot>`;
6615
+
6616
+ const styles$g = css`
6617
+ :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}}`;
6618
+
6619
+ const definition$h = Image.compose({
6620
+ name: `${FluentDesignSystem.prefix}-image`,
6621
+ template: template$h,
6622
+ styles: styles$g
6623
+ });
6624
+
6625
+ var __defProp$f = Object.defineProperty;
6626
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
6627
+ var __decorateClass$f = (decorators, target, key, kind) => {
6628
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
6629
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6630
+ if (kind && result) __defProp$f(target, key, result);
6631
+ return result;
6632
+ };
6633
+ class Label extends FASTElement {
6634
+ constructor() {
6635
+ super(...arguments);
6636
+ this.disabled = false;
6637
+ this.required = false;
6638
+ }
6639
+ }
6640
+ __decorateClass$f([attr], Label.prototype, "size", 2);
6641
+ __decorateClass$f([attr], Label.prototype, "weight", 2);
6642
+ __decorateClass$f([attr({
6315
6643
  mode: "boolean"
6316
- })], Dialog.prototype, "open", 2);
6317
- __decorateClass$i([attr({
6318
- mode: "boolean",
6319
- attribute: "no-title-action"
6320
- })], Dialog.prototype, "noTitleAction", 2);
6644
+ })], Label.prototype, "disabled", 2);
6645
+ __decorateClass$f([attr({
6646
+ mode: "boolean"
6647
+ })], Label.prototype, "required", 2);
6321
6648
 
6322
- const dismissed16Regular = html.partial(`
6323
- <svg
6324
- fill="currentColor"
6325
- aria-hidden="true"
6326
- width="20"
6327
- height="20"
6328
- viewBox="0 0 20 20"
6329
- xmlns="http://www.w3.org/2000/svg"
6330
- >
6331
- <path
6332
- d="m4.09 4.22.06-.07a.5.5 0 0 1 .63-.06l.07.06L10 9.29l5.15-5.14a.5.5 0 0 1 .63-.06l.07.06c.18.17.2.44.06.63l-.06.07L10.71 10l5.14 5.15c.18.17.2.44.06.63l-.06.07a.5.5 0 0 1-.63.06l-.07-.06L10 10.71l-5.15 5.14a.5.5 0 0 1-.63.06l-.07-.06a.5.5 0 0 1-.06-.63l.06-.07L9.29 10 4.15 4.85a.5.5 0 0 1-.06-.63l.06-.07-.06.07Z"
6333
- fill="currentColor"
6334
- ></path>
6335
- </svg>`);
6336
- const template$j = html`<template ?open="${x => x.open}"><dialog role="${x => x.modalType === DialogModalType.alert ? "alertdialog" : "dialog"}" modal-type="${x => x.modalType}" class="dialog" part="dialog" aria-modal="${x => x.modalType === DialogModalType.modal || x.modalType === DialogModalType.alert ? "true" : void 0}" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @keydown="${(x, c) => x.handleKeydown(c.event)}" @click="${(x, c) => x.handleClick(c.event)}" ${ref("dialog")}><div class="root" part="root"><div class="title" part="title"><slot name="title"></slot><slot ${slotted({
6337
- property: "titleAction",
6338
- filter: elements()
6339
- })} name="title-action"></slot>${when(x => x.modalType === DialogModalType.nonModal && x.titleAction.length === 0 && !x.noTitleAction, html`<fluent-button tabindex="0" part="title-action" class="title-action" appearance="transparent" icon-only @click=${x => x.dismiss()} ${ref("defaultTitleAction")}>${dismissed16Regular}</fluent-button>`)}</div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div></div></dialog></template>`;
6649
+ const styles$f = css`
6650
+ ${display("flex")}
6651
+
6652
+ :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}}`;
6653
+
6654
+ function labelTemplate() {
6655
+ return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
6656
+ }
6657
+ const template$g = labelTemplate();
6658
+
6659
+ const definition$g = Label.compose({
6660
+ name: `${FluentDesignSystem.prefix}-label`,
6661
+ template: template$g,
6662
+ styles: styles$f
6663
+ });
6340
6664
 
6341
6665
  function t(t) {
6342
6666
  return t.split("-")[1];
@@ -7253,161 +7577,6 @@ const z = (t, n, o) => {
7253
7577
  });
7254
7578
  };
7255
7579
 
7256
- const styles$i = css`
7257
- ${display("flex")}
7258
-
7259
- :host{--dialog-backdrop:${colorBackgroundOverlay}}dialog{background:${colorNeutralBackground1};border:${strokeWidthThin} solid ${colorTransparentStroke};z-index:2;margin:auto auto;max-width:100%;width:100vw;border-radius:${borderRadiusXLarge};box-shadow:${shadow64};max-height:100vh;height:fit-content;overflow:unset;position:fixed;inset:0;padding:0}dialog::backdrop{background:var(--dialog-backdrop,rgba(0,0,0,0.4))}.root{box-sizing:border-box;display:flex;flex-direction:column;overflow:unset;max-height:calc(100vh - 48px);padding:${spacingVerticalXXL} ${spacingHorizontalXXL}}.title{font-size:${fontSizeBase500};line-height:${lineHeightBase500};font-weight:${fontWeightSemibold};font-family:${fontFamilyBase};color:${colorNeutralForeground1};margin-bottom:${spacingVerticalS};display:flex;justify-content:space-between;align-items:flex-start;column-gap:8px}.content{vertical-align:top;min-height:32px;color:${colorNeutralForeground1};font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-weight:${fontWeightRegular};font-family:${fontFamilyBase};overflow-y:auto;box-sizing:border-box}.actions{display:flex;grid-column-start:1;flex-direction:column;max-width:100vw;row-gap:${spacingVerticalS};padding-top:${spacingVerticalXXL};justify-self:stretch;width:100%}::slotted([slot='action']){width:100%}@media screen and (min-width:480px){::slotted([slot='action']){width:fit-content}dialog{max-width:600px;width:100%}.actions{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;column-gap:${spacingHorizontalS};padding-top:${spacingVerticalS};box-sizing:border-box}}`;
7260
-
7261
- const definition$j = Dialog.compose({
7262
- name: `${FluentDesignSystem.prefix}-dialog`,
7263
- template: template$j,
7264
- styles: styles$i
7265
- });
7266
-
7267
- const DividerRole = {
7268
- separator: "separator",
7269
- presentation: "presentation"
7270
- };
7271
- const DividerOrientation = Orientation;
7272
- const DividerAlignContent = {
7273
- center: "center",
7274
- start: "start",
7275
- end: "end"
7276
- };
7277
- const DividerAppearance = {
7278
- strong: "strong",
7279
- brand: "brand",
7280
- subtle: "subtle",
7281
- default: "default"
7282
- };
7283
-
7284
- var __defProp$h = Object.defineProperty;
7285
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
7286
- var __decorateClass$h = (decorators, target, key, kind) => {
7287
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
7288
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7289
- if (kind && result) __defProp$h(target, key, result);
7290
- return result;
7291
- };
7292
- class Divider extends FASTElement {
7293
- constructor() {
7294
- super(...arguments);
7295
- this.role = DividerRole.separator;
7296
- this.orientation = DividerOrientation.horizontal;
7297
- }
7298
- }
7299
- __decorateClass$h([attr], Divider.prototype, "role", 2);
7300
- __decorateClass$h([attr], Divider.prototype, "orientation", 2);
7301
- __decorateClass$h([attr({
7302
- attribute: "align-content"
7303
- })], Divider.prototype, "alignContent", 2);
7304
- __decorateClass$h([attr], Divider.prototype, "appearance", 2);
7305
- __decorateClass$h([attr({
7306
- mode: "boolean"
7307
- })], Divider.prototype, "inset", 2);
7308
-
7309
- function dividerTemplate() {
7310
- return html`<template role="${x => x.role}" aria-orientation="${x => x.role !== DividerRole.presentation ? x.orientation : void 0}"><slot></slot></template>`;
7311
- }
7312
- const template$i = dividerTemplate();
7313
-
7314
- const styles$h = css`
7315
- ${display("flex")}
7316
-
7317
- :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}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
7318
- :host([appearance='strong'])::before,:host([appearance='strong'])::after,:host([appearance='brand'])::before,:host([appearance='brand'])::after,:host([appearance='subtle'])::before,:host([appearance='subtle'])::after,:host::after,:host::before{background:WindowText;color:WindowText}`));
7319
-
7320
- const definition$i = Divider.compose({
7321
- name: `${FluentDesignSystem.prefix}-divider`,
7322
- template: template$i,
7323
- styles: styles$h
7324
- });
7325
-
7326
- var __defProp$g = Object.defineProperty;
7327
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
7328
- var __decorateClass$g = (decorators, target, key, kind) => {
7329
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
7330
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7331
- if (kind && result) __defProp$g(target, key, result);
7332
- return result;
7333
- };
7334
- class Image extends FASTElement {}
7335
- __decorateClass$g([attr({
7336
- mode: "boolean"
7337
- })], Image.prototype, "block", 2);
7338
- __decorateClass$g([attr({
7339
- mode: "boolean"
7340
- })], Image.prototype, "bordered", 2);
7341
- __decorateClass$g([attr({
7342
- mode: "boolean"
7343
- })], Image.prototype, "shadow", 2);
7344
- __decorateClass$g([attr], Image.prototype, "fit", 2);
7345
- __decorateClass$g([attr], Image.prototype, "shape", 2);
7346
-
7347
- const ImageFit = {
7348
- none: "none",
7349
- center: "center",
7350
- contain: "contain",
7351
- cover: "cover",
7352
- default: "default"
7353
- };
7354
- const ImageShape = {
7355
- circular: "circular",
7356
- rounded: "rounded",
7357
- square: "square"
7358
- };
7359
-
7360
- const template$h = html`<slot></slot>`;
7361
-
7362
- const styles$g = css`
7363
- :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}}`;
7364
-
7365
- const definition$h = Image.compose({
7366
- name: `${FluentDesignSystem.prefix}-image`,
7367
- template: template$h,
7368
- styles: styles$g
7369
- });
7370
-
7371
- var __defProp$f = Object.defineProperty;
7372
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
7373
- var __decorateClass$f = (decorators, target, key, kind) => {
7374
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
7375
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7376
- if (kind && result) __defProp$f(target, key, result);
7377
- return result;
7378
- };
7379
- class Label extends FASTElement {
7380
- constructor() {
7381
- super(...arguments);
7382
- this.disabled = false;
7383
- this.required = false;
7384
- }
7385
- }
7386
- __decorateClass$f([attr], Label.prototype, "size", 2);
7387
- __decorateClass$f([attr], Label.prototype, "weight", 2);
7388
- __decorateClass$f([attr({
7389
- mode: "boolean"
7390
- })], Label.prototype, "disabled", 2);
7391
- __decorateClass$f([attr({
7392
- mode: "boolean"
7393
- })], Label.prototype, "required", 2);
7394
-
7395
- const styles$f = css`
7396
- ${display("flex")}
7397
-
7398
- :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}}`;
7399
-
7400
- function labelTemplate() {
7401
- return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
7402
- }
7403
- const template$g = labelTemplate();
7404
-
7405
- const definition$g = Label.compose({
7406
- name: `${FluentDesignSystem.prefix}-label`,
7407
- template: template$g,
7408
- styles: styles$f
7409
- });
7410
-
7411
7580
  var __defProp$e = Object.defineProperty;
7412
7581
  var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
7413
7582
  var __decorateClass$e = (decorators, target, key, kind) => {
@@ -7694,16 +7863,17 @@ const MenuButtonShape = ButtonShape;
7694
7863
  const MenuButtonSize = ButtonSize;
7695
7864
 
7696
7865
  const template$e = buttonTemplate$1({
7697
- 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>`)
7866
+ end: html.partial(`
7867
+ <svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
7868
+ <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>
7869
+ </svg>
7870
+ `)
7698
7871
  });
7699
7872
 
7700
7873
  const definition$e = MenuButton.compose({
7701
7874
  name: `${FluentDesignSystem.prefix}-menu-button`,
7702
7875
  template: template$e,
7703
- styles: styles$p,
7704
- shadowOptions: {
7705
- delegatesFocus: true
7706
- }
7876
+ styles: styles$m
7707
7877
  });
7708
7878
 
7709
7879
  const MenuItemRole = {
@@ -9846,64 +10016,33 @@ var __decorateClass = (decorators, target, key, kind) => {
9846
10016
  return result;
9847
10017
  };
9848
10018
  class ToggleButton extends Button {
9849
- constructor() {
9850
- super();
9851
- this.dirtyChecked = false;
9852
- this.checkedAttribute = false;
9853
- this.defaultChecked = false;
9854
- this.checked = false;
9855
- this.currentChecked = false;
9856
- this.handleToggleButtonClick = e => {
9857
- if (!this.disabled && !this.disabledFocusable) {
9858
- this.checked = !this.checked;
9859
- }
9860
- };
9861
- this.dirtyChecked = false;
9862
- }
9863
- checkedAttributeChanged() {
9864
- this.defaultChecked = this.checkedAttribute;
9865
- }
9866
- defaultCheckedChanged() {
9867
- if (!this.dirtyChecked) {
9868
- this.checked = this.defaultChecked;
9869
- this.dirtyChecked = false;
9870
- }
10019
+ pressedChanged() {
10020
+ this.setPressedState();
9871
10021
  }
9872
- checkedChanged(prev, next) {
9873
- if (!this.$fastController.isConnected) {
9874
- return;
9875
- }
9876
- if (!this.dirtyChecked) {
9877
- this.dirtyChecked = true;
9878
- }
9879
- this.currentChecked = this.checked;
9880
- this.setAttribute("aria-pressed", `${this.currentChecked}`);
9881
- if (prev !== void 0) {
9882
- this.$emit("change");
9883
- }
10022
+ mixedChanged() {
10023
+ this.setPressedState();
9884
10024
  }
9885
- currentCheckedChanged(prev, next) {
9886
- this.checked = this.currentChecked;
10025
+ press() {
10026
+ this.pressed = !this.pressed;
9887
10027
  }
9888
10028
  connectedCallback() {
9889
10029
  super.connectedCallback();
9890
- this.addEventListener("click", this.handleToggleButtonClick);
10030
+ this.setPressedState();
9891
10031
  }
9892
- disconnectedCallback() {
9893
- super.disconnectedCallback();
9894
- this.removeEventListener("click", this.handleToggleButtonClick);
10032
+ setPressedState() {
10033
+ if (this.$fastController.isConnected) {
10034
+ const ariaPressed = `${this.mixed ? "mixed" : !!this.pressed}`;
10035
+ this.elementInternals.ariaPressed = ariaPressed;
10036
+ this.setAttribute("aria-pressed", ariaPressed);
10037
+ }
9895
10038
  }
9896
10039
  }
9897
10040
  __decorateClass([attr({
9898
- attribute: "checked",
9899
10041
  mode: "boolean"
9900
- })], ToggleButton.prototype, "checkedAttribute", 2);
9901
- __decorateClass([observable], ToggleButton.prototype, "defaultChecked", 2);
9902
- __decorateClass([observable], ToggleButton.prototype, "checked", 2);
10042
+ })], ToggleButton.prototype, "pressed", 2);
9903
10043
  __decorateClass([attr({
9904
- attribute: "current-checked",
9905
10044
  mode: "boolean"
9906
- })], ToggleButton.prototype, "currentChecked", 2);
10045
+ })], ToggleButton.prototype, "mixed", 2);
9907
10046
 
9908
10047
  const ToggleButtonAppearance = ButtonAppearance;
9909
10048
  const ToggleButtonShape = ButtonShape;
@@ -9912,18 +10051,15 @@ const ToggleButtonSize = ButtonSize;
9912
10051
  const template = buttonTemplate$1();
9913
10052
 
9914
10053
  const styles = css`
9915
- ${styles$p}
10054
+ ${styles$m}
9916
10055
 
9917
- :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}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
9918
- :host([aria-pressed='true']) .control,:host([aria-pressed='true'][appearance='primary']) .control,:host([aria-pressed='true'][appearance='subtle']) .control,:host([aria-pressed='true'][appearance='outline']) .control,:host([aria-pressed='true'][appearance='transparent']) .control,:host([aria-pressed='true'][appearance='transparent']) .control{background:SelectedItem;color:SelectedItemText}`));
10056
+ :host([aria-pressed='true']){border-color:${colorNeutralStroke1};background-color:${colorNeutralBackground1Selected};color:${colorNeutralForeground1};border-width:${strokeWidthThin}}:host([aria-pressed='true']:hover){border-color:${colorNeutralStroke1Hover};background-color:${colorNeutralBackground1Hover}}:host([aria-pressed='true']:active){border-color:${colorNeutralStroke1Pressed};background-color:${colorNeutralBackground1Pressed}}:host([aria-pressed='true'][appearance='primary']){border-color:transparent;background-color:${colorBrandBackgroundSelected};color:${colorNeutralForegroundOnBrand}}:host([aria-pressed='true'][appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([aria-pressed='true'][appearance='primary']:active){background-color:${colorBrandBackgroundPressed}}:host([aria-pressed='true'][appearance='subtle']){border-color:transparent;background-color:${colorSubtleBackgroundSelected};color:${colorNeutralForeground2Selected}}:host([aria-pressed='true'][appearance='subtle']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover}}:host([aria-pressed='true'][appearance='subtle']:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed}}:host([aria-pressed='true'][appearance='outline']),:host([aria-pressed='true'][appearance='transparent']){background-color:${colorTransparentBackgroundSelected}}:host([aria-pressed='true'][appearance='outline']:hover),:host([aria-pressed='true'][appearance='transparent']:hover){background-color:${colorTransparentBackgroundHover}}:host([aria-pressed='true'][appearance='outline']:active),:host([aria-pressed='true'][appearance='transparent']:active){background-color:${colorTransparentBackgroundPressed}}:host([aria-pressed='true'][appearance='transparent']){border-color:transparent;color:${colorNeutralForeground2BrandSelected}}:host([aria-pressed='true'][appearance='transparent']:hover){color:${colorNeutralForeground2BrandHover}}:host([aria-pressed='true'][appearance='transparent']:active){color:${colorNeutralForeground2BrandPressed}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
10057
+ :host([aria-pressed='true']),:host([aria-pressed='true'][appearance='primary']),:host([aria-pressed='true'][appearance='subtle']),:host([aria-pressed='true'][appearance='outline']),:host([aria-pressed='true'][appearance='transparent']){background:SelectedItem;color:SelectedItemText}`));
9919
10058
 
9920
10059
  const definition = ToggleButton.compose({
9921
10060
  name: `${FluentDesignSystem.prefix}-toggle-button`,
9922
10061
  template,
9923
- styles,
9924
- shadowOptions: {
9925
- delegatesFocus: true
9926
- }
10062
+ styles
9927
10063
  });
9928
10064
 
9929
10065
  const tokenNames = Object.keys(tokens);
@@ -9938,4 +10074,4 @@ const setThemeFor = (element, theme) => {
9938
10074
  }
9939
10075
  };
9940
10076
 
9941
- export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, AnchorButton, AnchorButtonAppearance, definition$q as AnchorButtonDefinition, AnchorButtonShape, AnchorButtonSize, template$q as AnchorButtonTemplate, AnchorTarget, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$p as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$n as AvatarStyles, template$p as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$o as BadgeDefinition, BadgeShape, BadgeSize, styles$m as BadgeStyles, template$o as BadgeTemplate, BaseTabs, Button, ButtonAppearance, definition$n as ButtonDefinition, ButtonShape, ButtonSize, styles$p as ButtonStyles, template$n as ButtonTemplate, ButtonType, Checkbox, definition$m as CheckboxDefinition, CheckboxLabelPosition, CheckboxShape, CheckboxSize, styles$l as CheckboxStyles, template$m as CheckboxTemplate, CompoundButton, CompoundButtonAppearance, definition$l as CompoundButtonDefinition, CompoundButtonShape, CompoundButtonSize, styles$k as CompoundButtonStyles, template$l as CompoundButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$k as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$j as CounterBadgeStyles, template$k as CounterBadgeTemplate, DelegatesARIAButton, DelegatesARIALink, DelegatesARIATextbox, Dialog, definition$j as DialogDefinition, styles$i as DialogStyles, template$j as DialogTemplate, Divider, DividerAlignContent, DividerAppearance, definition$i as DividerDefinition, DividerOrientation, DividerRole, styles$h as DividerStyles, template$i as DividerTemplate, FluentDesignSystem, Image, definition$h as ImageDefinition, ImageFit, ImageShape, styles$g as ImageStyles, template$h as ImageTemplate, Label, definition$g as LabelDefinition, styles$f as LabelStyles, template$g as LabelTemplate, Menu, MenuButton, MenuButtonAppearance, definition$e as MenuButtonDefinition, MenuButtonShape, MenuButtonSize, styles$p as MenuButtonStyles, template$e as MenuButtonTemplate, definition$f as MenuDefinition, MenuItem, definition$d as MenuItemDefinition, MenuItemRole, styles$d as MenuItemStyles, template$d as MenuItemTemplate, MenuList, definition$c as MenuListDefinition, styles$c as MenuListStyles, template$c as MenuListTemplate, styles$e as MenuStyles, template$f as MenuTemplate, ProgressBar, definition$b as ProgressBarDefinition, ProgressBarShape, styles$b as ProgressBarStyles, template$b as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Radio, definition$a as RadioDefinition, RadioGroup, definition$9 as RadioGroupDefinition, styles$9 as RadioGroupStyles, template$9 as RadioGroupTemplate, styles$a as RadioStyles, template$a as RadioTemplate, Slider, definition$8 as SliderDefinition, SliderMode, SliderOrientation, SliderSize, styles$8 as SliderStyles, template$8 as SliderTemplate, Spinner, SpinnerAppearance, definition$7 as SpinnerDefinition, SpinnerSize, styles$7 as SpinnerStyles, template$7 as SpinnerTemplate, Switch, definition$6 as SwitchDefinition, SwitchLabelPosition, styles$6 as SwitchStyles, template$6 as SwitchTemplate, Tab, definition$4 as TabDefinition, TabPanel, definition$3 as TabPanelDefinition, styles$3 as TabPanelStyles, template$3 as TabPanelTemplate, styles$4 as TabStyles, template$4 as TabTemplate, Tabs, TabsAppearance, definition$5 as TabsDefinition, TabsOrientation, TabsSize, styles$5 as TabsStyles, template$5 as TabsTemplate, Text, TextAlign, definition$2 as TextDefinition, TextFieldType, TextFont, TextInput, TextInputAppearance, TextInputControlSize, definition$1 as TextInputDefinition, styles$1 as TextInputStyles, template$1 as TextInputTemplate, TextSize, styles$2 as TextStyles, template$2 as TextTemplate, TextWeight, ToggleButton, ToggleButtonAppearance, definition as ToggleButtonDefinition, ToggleButtonShape, ToggleButtonSize, styles as ToggleButtonStyles, template as ToggleButtonTemplate, definition$s as accordionDefinition, definition$r as accordionItemDefinition, styles$q as accordionItemStyles, template$r as accordionItemTemplate, styles$r as accordionStyles, template$s 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, 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, roleForMenuItem, setTheme, setThemeFor, 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 };
10077
+ export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, AnchorButton, AnchorButtonAppearance, definition$q as AnchorButtonDefinition, AnchorButtonShape, AnchorButtonSize, template$q as AnchorButtonTemplate, AnchorTarget, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$p as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$o as AvatarStyles, template$p as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$o as BadgeDefinition, BadgeShape, BadgeSize, styles$n as BadgeStyles, template$o as BadgeTemplate, BaseTabs, Button, ButtonAppearance, definition$n as ButtonDefinition, ButtonFormTarget, ButtonShape, ButtonSize, styles$m as ButtonStyles, template$n as ButtonTemplate, ButtonType, Checkbox, definition$m as CheckboxDefinition, CheckboxLabelPosition, CheckboxShape, CheckboxSize, styles$l as CheckboxStyles, template$m as CheckboxTemplate, CompoundButton, CompoundButtonAppearance, definition$l as CompoundButtonDefinition, CompoundButtonShape, CompoundButtonSize, styles$k as CompoundButtonStyles, template$l as CompoundButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$k as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$j as CounterBadgeStyles, template$k as CounterBadgeTemplate, DelegatesARIALink, DelegatesARIATextbox, Dialog, definition$j as DialogDefinition, styles$i as DialogStyles, template$j as DialogTemplate, Divider, DividerAlignContent, DividerAppearance, definition$i as DividerDefinition, DividerOrientation, DividerRole, styles$h as DividerStyles, template$i as DividerTemplate, FluentDesignSystem, Image, definition$h as ImageDefinition, ImageFit, ImageShape, styles$g as ImageStyles, template$h as ImageTemplate, Label, definition$g as LabelDefinition, styles$f as LabelStyles, template$g as LabelTemplate, MatchMediaBehavior, MatchMediaStyleSheetBehavior, Menu, MenuButton, MenuButtonAppearance, definition$e as MenuButtonDefinition, MenuButtonShape, MenuButtonSize, styles$m as MenuButtonStyles, template$e as MenuButtonTemplate, definition$f as MenuDefinition, MenuItem, definition$d as MenuItemDefinition, MenuItemRole, styles$d as MenuItemStyles, template$d as MenuItemTemplate, MenuList, definition$c as MenuListDefinition, styles$c as MenuListStyles, template$c as MenuListTemplate, styles$e as MenuStyles, template$f as MenuTemplate, ProgressBar, definition$b as ProgressBarDefinition, ProgressBarShape, styles$b as ProgressBarStyles, template$b as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Radio, definition$a as RadioDefinition, RadioGroup, definition$9 as RadioGroupDefinition, styles$9 as RadioGroupStyles, template$9 as RadioGroupTemplate, styles$a as RadioStyles, template$a as RadioTemplate, Slider, definition$8 as SliderDefinition, SliderMode, SliderOrientation, SliderSize, styles$8 as SliderStyles, template$8 as SliderTemplate, Spinner, SpinnerAppearance, definition$7 as SpinnerDefinition, SpinnerSize, styles$7 as SpinnerStyles, template$7 as SpinnerTemplate, Switch, definition$6 as SwitchDefinition, SwitchLabelPosition, styles$6 as SwitchStyles, template$6 as SwitchTemplate, Tab, definition$4 as TabDefinition, TabPanel, definition$3 as TabPanelDefinition, styles$3 as TabPanelStyles, template$3 as TabPanelTemplate, styles$4 as TabStyles, template$4 as TabTemplate, Tabs, TabsAppearance, definition$5 as TabsDefinition, TabsOrientation, TabsSize, styles$5 as TabsStyles, template$5 as TabsTemplate, Text, TextAlign, definition$2 as TextDefinition, TextFieldType, TextFont, TextInput, TextInputAppearance, TextInputControlSize, definition$1 as TextInputDefinition, styles$1 as TextInputStyles, template$1 as TextInputTemplate, TextSize, styles$2 as TextStyles, template$2 as TextTemplate, TextWeight, ToggleButton, ToggleButtonAppearance, definition as ToggleButtonDefinition, ToggleButtonShape, ToggleButtonSize, styles as ToggleButtonStyles, template as ToggleButtonTemplate, definition$s as accordionDefinition, definition$r as accordionItemDefinition, styles$q as accordionItemStyles, template$r as accordionItemTemplate, styles$r as accordionStyles, template$s 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, darkModeStylesheetBehavior, display, durationFast, durationFaster, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, forcedColorsStylesheetBehavior, getDirection, hidden, lightModeStylesheetBehavior, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, roleForMenuItem, setTheme, setThemeFor, 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 };