@fluentui/web-components 3.0.0-beta.14 → 3.0.0-beta.16

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 (165) hide show
  1. package/CHANGELOG.md +184 -103
  2. package/dist/dts/accordion/index.d.ts +2 -1
  3. package/dist/dts/accordion-item/index.d.ts +2 -2
  4. package/dist/dts/anchor-button/index.d.ts +2 -2
  5. package/dist/dts/avatar/index.d.ts +2 -2
  6. package/dist/dts/badge/index.d.ts +2 -2
  7. package/dist/dts/button/index.d.ts +2 -2
  8. package/dist/dts/checkbox/index.d.ts +2 -2
  9. package/dist/dts/compound-button/index.d.ts +2 -2
  10. package/dist/dts/counter-badge/index.d.ts +2 -2
  11. package/dist/dts/dialog/index.d.ts +2 -1
  12. package/dist/dts/divider/index.d.ts +2 -2
  13. package/dist/dts/image/index.d.ts +2 -2
  14. package/dist/dts/index-rollup.d.ts +35 -1
  15. package/dist/dts/index.d.ts +35 -34
  16. package/dist/dts/label/index.d.ts +2 -1
  17. package/dist/dts/menu/index.d.ts +1 -1
  18. package/dist/dts/menu-button/index.d.ts +2 -2
  19. package/dist/dts/menu-button/menu-button.options.d.ts +1 -1
  20. package/dist/dts/menu-item/index.d.ts +2 -1
  21. package/dist/dts/menu-item/menu-item.options.d.ts +1 -1
  22. package/dist/dts/menu-list/index.d.ts +1 -1
  23. package/dist/dts/progress-bar/index.d.ts +2 -2
  24. package/dist/dts/radio/index.d.ts +1 -1
  25. package/dist/dts/radio-group/index.d.ts +2 -1
  26. package/dist/dts/slider/index.d.ts +2 -2
  27. package/dist/dts/spinner/index.d.ts +2 -2
  28. package/dist/dts/spinner/spinner.d.ts +10 -2
  29. package/dist/dts/spinner/spinner.template.d.ts +2 -3
  30. package/dist/dts/switch/index.d.ts +2 -2
  31. package/dist/dts/tab/index.d.ts +1 -1
  32. package/dist/dts/tab-panel/index.d.ts +1 -1
  33. package/dist/dts/tabs/index.d.ts +2 -2
  34. package/dist/dts/text/index.d.ts +2 -2
  35. package/dist/dts/text-input/index.d.ts +2 -2
  36. package/dist/dts/text-input/text-input.d.ts +4 -4
  37. package/dist/dts/text-input/text-input.options.d.ts +7 -7
  38. package/dist/dts/text-input/text-input.template.d.ts +2 -2
  39. package/dist/dts/theme/design-tokens.d.ts +53 -1
  40. package/dist/dts/toggle-button/index.d.ts +2 -2
  41. package/dist/esm/accordion/index.js +2 -1
  42. package/dist/esm/accordion/index.js.map +1 -1
  43. package/dist/esm/accordion-item/index.js +2 -2
  44. package/dist/esm/accordion-item/index.js.map +1 -1
  45. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  46. package/dist/esm/anchor-button/index.js +2 -2
  47. package/dist/esm/anchor-button/index.js.map +1 -1
  48. package/dist/esm/avatar/avatar.js.map +1 -1
  49. package/dist/esm/avatar/index.js +2 -2
  50. package/dist/esm/avatar/index.js.map +1 -1
  51. package/dist/esm/badge/index.js +2 -2
  52. package/dist/esm/badge/index.js.map +1 -1
  53. package/dist/esm/button/index.js +2 -2
  54. package/dist/esm/button/index.js.map +1 -1
  55. package/dist/esm/checkbox/index.js +2 -2
  56. package/dist/esm/checkbox/index.js.map +1 -1
  57. package/dist/esm/compound-button/index.js +2 -2
  58. package/dist/esm/compound-button/index.js.map +1 -1
  59. package/dist/esm/counter-badge/index.js +2 -2
  60. package/dist/esm/counter-badge/index.js.map +1 -1
  61. package/dist/esm/dialog/index.js +2 -1
  62. package/dist/esm/dialog/index.js.map +1 -1
  63. package/dist/esm/divider/index.js +2 -2
  64. package/dist/esm/divider/index.js.map +1 -1
  65. package/dist/esm/image/index.js +2 -2
  66. package/dist/esm/image/index.js.map +1 -1
  67. package/dist/esm/index-rollup.js +35 -1
  68. package/dist/esm/index-rollup.js.map +1 -1
  69. package/dist/esm/index.js +35 -34
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/label/index.js +2 -1
  72. package/dist/esm/label/index.js.map +1 -1
  73. package/dist/esm/menu/index.js +1 -1
  74. package/dist/esm/menu/index.js.map +1 -1
  75. package/dist/esm/menu-button/index.js +2 -2
  76. package/dist/esm/menu-button/index.js.map +1 -1
  77. package/dist/esm/menu-item/index.js +2 -1
  78. package/dist/esm/menu-item/index.js.map +1 -1
  79. package/dist/esm/menu-list/index.js +1 -1
  80. package/dist/esm/menu-list/index.js.map +1 -1
  81. package/dist/esm/menu-list/menu-list.js.map +1 -1
  82. package/dist/esm/progress-bar/index.js +2 -2
  83. package/dist/esm/progress-bar/index.js.map +1 -1
  84. package/dist/esm/radio/index.js +1 -1
  85. package/dist/esm/radio/index.js.map +1 -1
  86. package/dist/esm/radio-group/index.js +2 -1
  87. package/dist/esm/radio-group/index.js.map +1 -1
  88. package/dist/esm/slider/index.js +2 -2
  89. package/dist/esm/slider/index.js.map +1 -1
  90. package/dist/esm/spinner/index.js +2 -2
  91. package/dist/esm/spinner/index.js.map +1 -1
  92. package/dist/esm/spinner/spinner.js +2 -2
  93. package/dist/esm/spinner/spinner.js.map +1 -1
  94. package/dist/esm/spinner/spinner.template.js.map +1 -1
  95. package/dist/esm/switch/index.js +2 -2
  96. package/dist/esm/switch/index.js.map +1 -1
  97. package/dist/esm/tab/index.js +1 -1
  98. package/dist/esm/tab/index.js.map +1 -1
  99. package/dist/esm/tab-panel/index.js +1 -1
  100. package/dist/esm/tab-panel/index.js.map +1 -1
  101. package/dist/esm/tabs/index.js +2 -2
  102. package/dist/esm/tabs/index.js.map +1 -1
  103. package/dist/esm/text/index.js +2 -2
  104. package/dist/esm/text/index.js.map +1 -1
  105. package/dist/esm/text-input/index.js +2 -2
  106. package/dist/esm/text-input/index.js.map +1 -1
  107. package/dist/esm/text-input/text-input.js +3 -3
  108. package/dist/esm/text-input/text-input.options.js +6 -6
  109. package/dist/esm/theme/design-tokens.js +53 -1
  110. package/dist/esm/theme/design-tokens.js.map +1 -1
  111. package/dist/esm/toggle-button/index.js +2 -2
  112. package/dist/esm/toggle-button/index.js.map +1 -1
  113. package/dist/esm/utils/get-initials.js.map +1 -1
  114. package/dist/fluent-web-components.api.json +2156 -821
  115. package/dist/web-components.d.ts +172 -97
  116. package/dist/web-components.js +1235 -250
  117. package/dist/web-components.min.js +353 -283
  118. package/docs/api-report.md +242 -95
  119. package/package.json +5 -10
  120. package/project.json +6 -0
  121. package/dist/dts/progress-ring/progress-ring.d.ts +0 -15
  122. package/dist/dts/progress-ring/progress-ring.options.d.ts +0 -9
  123. package/dist/esm/progress-ring/progress-ring.js +0 -16
  124. package/dist/esm/progress-ring/progress-ring.js.map +0 -1
  125. package/dist/esm/progress-ring/progress-ring.options.js +0 -2
  126. package/dist/esm/progress-ring/progress-ring.options.js.map +0 -1
  127. package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +0 -1
  128. package/dist/storybook/108.b31ec3a1.iframe.bundle.js +0 -1
  129. package/dist/storybook/289.703b1698.iframe.bundle.js +0 -2
  130. package/dist/storybook/289.703b1698.iframe.bundle.js.LICENSE.txt +0 -51
  131. package/dist/storybook/316.bc4aabd3.iframe.bundle.js +0 -2
  132. package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +0 -17
  133. package/dist/storybook/401.7edec720.iframe.bundle.js +0 -2
  134. package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +0 -12
  135. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +0 -2
  136. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +0 -12
  137. package/dist/storybook/491.77b24750.iframe.bundle.js +0 -1
  138. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +0 -2
  139. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +0 -94
  140. package/dist/storybook/709.22096ad4.iframe.bundle.js +0 -2
  141. package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +0 -8
  142. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +0 -2
  143. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +0 -8
  144. package/dist/storybook/721.46fa9f53.iframe.bundle.js +0 -2
  145. package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +0 -31
  146. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +0 -2
  147. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +0 -31
  148. package/dist/storybook/858.da40ed98.iframe.bundle.js +0 -1
  149. package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +0 -1
  150. package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +0 -1
  151. package/dist/storybook/954.630c5748.iframe.bundle.js +0 -1
  152. package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +0 -1
  153. package/dist/storybook/SegoeUI-VF.ttf +0 -0
  154. package/dist/storybook/favicon.ico +0 -0
  155. package/dist/storybook/favicon.png +0 -0
  156. package/dist/storybook/iframe.html +0 -364
  157. package/dist/storybook/index.html +0 -165
  158. package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +0 -1
  159. package/dist/storybook/main.79d2477b.iframe.bundle.js +0 -2
  160. package/dist/storybook/main.79d2477b.iframe.bundle.js.LICENSE.txt +0 -1
  161. package/dist/storybook/project.json +0 -1
  162. package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +0 -1
  163. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +0 -1
  164. package/dist/storybook/shell.css +0 -83
  165. package/dist/storybook/theme-switch.ts +0 -13
@@ -256,7 +256,6 @@ const DOM = Object.freeze({
256
256
  if (defaultPolicy !== fastPolicy) {
257
257
  throw FAST.error(1201 /* Message.onlySetDOMPolicyOnce */);
258
258
  }
259
-
260
259
  defaultPolicy = value;
261
260
  },
262
261
  /**
@@ -530,7 +529,6 @@ const Observable = FAST.getById(KernelServiceId.observable, () => {
530
529
  let createArrayObserver = array => {
531
530
  throw FAST.error(1101 /* Message.needsArrayObservation */);
532
531
  };
533
-
534
532
  function getNotifier(source) {
535
533
  var _a;
536
534
  let found = (_a = source.$fastController) !== null && _a !== void 0 ? _a : notifierLookup.get(source);
@@ -1454,7 +1452,6 @@ class HTMLBindingDirective {
1454
1452
  if (!sink) {
1455
1453
  throw FAST.error(1205 /* Message.unsupportedBindingBehavior */);
1456
1454
  }
1457
-
1458
1455
  this.data = `${this.id}-d`;
1459
1456
  this.updateTarget = policy.protect(this.targetTagName, this.aspectType, this.targetAspect, sink);
1460
1457
  }
@@ -1830,7 +1827,6 @@ class CompilationContext {
1830
1827
  for (const id of this.nodeIds) {
1831
1828
  targets[id]; // trigger locator
1832
1829
  }
1833
-
1834
1830
  return new HTMLView(fragment, this.factories, targets);
1835
1831
  }
1836
1832
  }
@@ -2116,11 +2112,9 @@ class ViewTemplate {
2116
2112
  if (this.result) {
2117
2113
  throw FAST.error(1208 /* Message.cannotSetTemplatePolicyAfterCompilation */);
2118
2114
  }
2119
-
2120
2115
  if (this.policy) {
2121
2116
  throw FAST.error(1207 /* Message.onlySetTemplatePolicyOnce */);
2122
2117
  }
2123
-
2124
2118
  this.policy = policy;
2125
2119
  return this;
2126
2120
  }
@@ -2193,7 +2187,6 @@ const html = (strings, ...values) => {
2193
2187
  }
2194
2188
  throw FAST.error(1206 /* Message.directCallToHTMLTagNotAllowed */);
2195
2189
  };
2196
-
2197
2190
  html.partial = html => {
2198
2191
  return new InlineTemplateDirective(html);
2199
2192
  };
@@ -3052,7 +3045,6 @@ class ElementController extends PropertyChangeNotifier {
3052
3045
  if (definition === void 0) {
3053
3046
  throw FAST.error(1401 /* Message.missingElementDefinition */);
3054
3047
  }
3055
-
3056
3048
  return element.$fastController = new elementControllerStrategy(element, definition);
3057
3049
  }
3058
3050
  /**
@@ -3388,8 +3380,7 @@ __decorateClass$r([attr({
3388
3380
  })], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", 2);
3389
3381
 
3390
3382
  const getDirection = rootNode => {
3391
- var _a;
3392
- return ((_a = rootNode.closest("[dir]")) == null ? void 0 : _a.dir) === "rtl" ? Direction.rtl : Direction.ltr;
3383
+ return rootNode.closest("[dir]")?.dir === "rtl" ? Direction.rtl : Direction.ltr;
3393
3384
  };
3394
3385
 
3395
3386
  function staticallyCompose(item) {
@@ -3405,10 +3396,7 @@ function staticallyCompose(item) {
3405
3396
  return item;
3406
3397
  }
3407
3398
 
3408
- const whitespaceFilter = value => {
3409
- var _a;
3410
- return value.nodeType !== Node.TEXT_NODE || !!((_a = value.nodeValue) == null ? void 0 : _a.trim().length);
3411
- };
3399
+ const whitespaceFilter = value => value.nodeType !== Node.TEXT_NODE || !!value.nodeValue?.trim().length;
3412
3400
 
3413
3401
  const hidden = `:host([hidden]){display:none}`;
3414
3402
  function display(displayValue) {
@@ -3416,10 +3404,23 @@ function display(displayValue) {
3416
3404
  }
3417
3405
 
3418
3406
  class MatchMediaBehavior {
3407
+ /**
3408
+ *
3409
+ * @param query - The media query to operate from.
3410
+ */
3419
3411
  constructor(query) {
3412
+ /**
3413
+ * The behavior needs to operate on element instances but elements might share a behavior instance.
3414
+ * To ensure proper attachment / detachment per instance, we construct a listener for
3415
+ * each bind invocation and cache the listeners by element reference.
3416
+ */
3420
3417
  this.listenerCache = /* @__PURE__ */new WeakMap();
3421
3418
  this.query = query;
3422
3419
  }
3420
+ /**
3421
+ * Binds the behavior to the element.
3422
+ * @param controller - The host controller orchestrating this behavior.
3423
+ */
3423
3424
  connectedCallback(controller) {
3424
3425
  const {
3425
3426
  query
@@ -3432,6 +3433,10 @@ class MatchMediaBehavior {
3432
3433
  listener.bind(query)();
3433
3434
  query.addEventListener("change", listener);
3434
3435
  }
3436
+ /**
3437
+ * Unbinds the behavior from the element.
3438
+ * @param controller - The host controller orchestrating this behavior.
3439
+ */
3435
3440
  disconnectedCallback(controller) {
3436
3441
  const listener = this.listenerCache.get(controller);
3437
3442
  if (listener) {
@@ -3440,15 +3445,54 @@ class MatchMediaBehavior {
3440
3445
  }
3441
3446
  }
3442
3447
  class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {
3448
+ /**
3449
+ * Constructs a {@link MatchMediaStyleSheetBehavior} instance.
3450
+ * @param query - The media query to operate from.
3451
+ * @param styles - The styles to coordinate with the query.
3452
+ */
3443
3453
  constructor(query, styles) {
3444
3454
  super(query);
3445
3455
  this.styles = styles;
3446
3456
  }
3457
+ /**
3458
+ * Defines a function to construct {@link MatchMediaStyleSheetBehavior | MatchMediaStyleSheetBehaviors} for
3459
+ * a provided query.
3460
+ * @param query - The media query to operate from.
3461
+ *
3462
+ * @public
3463
+ * @example
3464
+ *
3465
+ * ```ts
3466
+ * import { css } from "@microsoft/fast-element";
3467
+ * import { MatchMediaStyleSheetBehavior } from "@fluentui/web-components";
3468
+ *
3469
+ * const landscapeBehavior = MatchMediaStyleSheetBehavior.with(
3470
+ * window.matchMedia("(orientation: landscape)")
3471
+ * );
3472
+ *
3473
+ * const styles = css`
3474
+ * :host {
3475
+ * width: 200px;
3476
+ * height: 400px;
3477
+ * }
3478
+ * `
3479
+ * .withBehaviors(landscapeBehavior(css`
3480
+ * :host {
3481
+ * width: 400px;
3482
+ * height: 200px;
3483
+ * }
3484
+ * `))
3485
+ * ```
3486
+ */
3447
3487
  static with(query) {
3448
3488
  return styles => {
3449
3489
  return new MatchMediaStyleSheetBehavior(query, styles);
3450
3490
  };
3451
3491
  }
3492
+ /**
3493
+ * Constructs a match-media listener for a provided element.
3494
+ * @param source - the element for which to attach or detach styles.
3495
+ */
3452
3496
  constructListener(controller) {
3453
3497
  let attached = false;
3454
3498
  const styles = this.styles;
@@ -3465,6 +3509,11 @@ class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {
3465
3509
  }
3466
3510
  };
3467
3511
  }
3512
+ /**
3513
+ * Unbinds the behavior from the element.
3514
+ * @param controller - The host controller orchestrating this behavior.
3515
+ * @internal
3516
+ */
3468
3517
  removedCallback(controller) {
3469
3518
  controller.removeStyles(this.styles);
3470
3519
  }
@@ -3486,7 +3535,8 @@ function applyMixins(derivedCtor, ...baseCtors) {
3486
3535
  baseCtors.forEach(baseCtor => {
3487
3536
  Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
3488
3537
  if (name !== "constructor") {
3489
- Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
3538
+ Object.defineProperty(derivedCtor.prototype, name, /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
3539
+ Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
3490
3540
  }
3491
3541
  });
3492
3542
  const baseAttributes = AttributeConfiguration.locate(baseCtor);
@@ -3510,6 +3560,9 @@ class AccordionItem extends FASTElement {
3510
3560
  this.disabled = false;
3511
3561
  this.id = uniqueId("accordion-");
3512
3562
  this.block = false;
3563
+ /**
3564
+ * @internal
3565
+ */
3513
3566
  this.clickHandler = e => {
3514
3567
  if (this.disabled) {
3515
3568
  return;
@@ -3657,16 +3710,22 @@ class Accordion extends FASTElement {
3657
3710
  return;
3658
3711
  }
3659
3712
  if (next !== AccordionExpandMode.single) {
3660
- expandedItem == null ? void 0 : expandedItem.expandbutton.removeAttribute("aria-disabled");
3713
+ expandedItem?.expandbutton.removeAttribute("aria-disabled");
3661
3714
  } else {
3662
3715
  this.setSingleExpandMode(expandedItem);
3663
3716
  }
3664
3717
  }
3718
+ /**
3719
+ * @internal
3720
+ */
3665
3721
  slottedAccordionItemsChanged(oldValue, newValue) {
3666
3722
  if (this.$fastController.isConnected) {
3667
3723
  this.setItems();
3668
3724
  }
3669
3725
  }
3726
+ /**
3727
+ * @internal
3728
+ */
3670
3729
  handleChange(source, propertyName) {
3671
3730
  if (propertyName === "disabled") {
3672
3731
  this.setItems();
@@ -3677,11 +3736,10 @@ class Accordion extends FASTElement {
3677
3736
  }
3678
3737
  }
3679
3738
  findExpandedItem() {
3680
- var _a;
3681
3739
  if (this.accordionItems.length === 0) {
3682
3740
  return null;
3683
3741
  }
3684
- return (_a = this.accordionItems.find(item => item instanceof AccordionItem && item.expanded)) != null ? _a : this.accordionItems[0];
3742
+ return this.accordionItems.find(item => item instanceof AccordionItem && item.expanded) ?? this.accordionItems[0];
3685
3743
  }
3686
3744
  setSingleExpandMode(expandedItem) {
3687
3745
  if (this.accordionItems.length === 0) {
@@ -3808,6 +3866,8 @@ const colorNeutralForegroundInvertedLinkSelected = "var(--colorNeutralForeground
3808
3866
  const colorNeutralForegroundInvertedDisabled = "var(--colorNeutralForegroundInvertedDisabled)";
3809
3867
  const colorBrandForeground1 = "var(--colorBrandForeground1)";
3810
3868
  const colorBrandForeground2 = "var(--colorBrandForeground2)";
3869
+ const colorBrandForeground2Hover = "var(--colorBrandForeground2Hover)";
3870
+ const colorBrandForeground2Pressed = "var(--colorBrandForeground2Pressed)";
3811
3871
  const colorNeutralForeground1Static = "var(--colorNeutralForeground1Static)";
3812
3872
  const colorBrandForegroundInverted = "var(--colorBrandForegroundInverted)";
3813
3873
  const colorBrandForegroundInvertedHover = "var(--colorBrandForegroundInvertedHover)";
@@ -3837,8 +3897,10 @@ const colorNeutralBackground5Hover = "var(--colorNeutralBackground5Hover)";
3837
3897
  const colorNeutralBackground5Pressed = "var(--colorNeutralBackground5Pressed)";
3838
3898
  const colorNeutralBackground5Selected = "var(--colorNeutralBackground5Selected)";
3839
3899
  const colorNeutralBackground6 = "var(--colorNeutralBackground6)";
3840
- const colorNeutralBackgroundStatic = "var(--colorNeutralBackgroundStatic)";
3841
3900
  const colorNeutralBackgroundInverted = "var(--colorNeutralBackgroundInverted)";
3901
+ const colorNeutralBackgroundStatic = "var(--colorNeutralBackgroundStatic)";
3902
+ const colorNeutralBackgroundAlpha = "var(--colorNeutralBackgroundAlpha)";
3903
+ const colorNeutralBackgroundAlpha2 = "var(--colorNeutralBackgroundAlpha2)";
3842
3904
  const colorSubtleBackground = "var(--colorSubtleBackground)";
3843
3905
  const colorSubtleBackgroundHover = "var(--colorSubtleBackgroundHover)";
3844
3906
  const colorSubtleBackgroundPressed = "var(--colorSubtleBackgroundPressed)";
@@ -3871,10 +3933,19 @@ const colorCompoundBrandBackgroundHover = "var(--colorCompoundBrandBackgroundHov
3871
3933
  const colorCompoundBrandBackgroundPressed = "var(--colorCompoundBrandBackgroundPressed)";
3872
3934
  const colorBrandBackgroundStatic = "var(--colorBrandBackgroundStatic)";
3873
3935
  const colorBrandBackground2 = "var(--colorBrandBackground2)";
3936
+ const colorBrandBackground2Hover = "var(--colorBrandBackground2Hover)";
3937
+ const colorBrandBackground2Pressed = "var(--colorBrandBackground2Pressed)";
3938
+ const colorBrandBackground3Static = "var(--colorBrandBackground3Static)";
3939
+ const colorBrandBackground4Static = "var(--colorBrandBackground4Static)";
3874
3940
  const colorBrandBackgroundInverted = "var(--colorBrandBackgroundInverted)";
3875
3941
  const colorBrandBackgroundInvertedHover = "var(--colorBrandBackgroundInvertedHover)";
3876
3942
  const colorBrandBackgroundInvertedPressed = "var(--colorBrandBackgroundInvertedPressed)";
3877
3943
  const colorBrandBackgroundInvertedSelected = "var(--colorBrandBackgroundInvertedSelected)";
3944
+ const colorNeutralCardBackground = "var(--colorNeutralCardBackground)";
3945
+ const colorNeutralCardBackgroundHover = "var(--colorNeutralCardBackgroundHover)";
3946
+ const colorNeutralCardBackgroundPressed = "var(--colorNeutralCardBackgroundPressed)";
3947
+ const colorNeutralCardBackgroundSelected = "var(--colorNeutralCardBackgroundSelected)";
3948
+ const colorNeutralCardBackgroundDisabled = "var(--colorNeutralCardBackgroundDisabled)";
3878
3949
  const colorNeutralStrokeAccessible = "var(--colorNeutralStrokeAccessible)";
3879
3950
  const colorNeutralStrokeAccessibleHover = "var(--colorNeutralStrokeAccessibleHover)";
3880
3951
  const colorNeutralStrokeAccessiblePressed = "var(--colorNeutralStrokeAccessiblePressed)";
@@ -3885,6 +3956,7 @@ const colorNeutralStroke1Pressed = "var(--colorNeutralStroke1Pressed)";
3885
3956
  const colorNeutralStroke1Selected = "var(--colorNeutralStroke1Selected)";
3886
3957
  const colorNeutralStroke2 = "var(--colorNeutralStroke2)";
3887
3958
  const colorNeutralStroke3 = "var(--colorNeutralStroke3)";
3959
+ const colorNeutralStrokeSubtle = "var(--colorNeutralStrokeSubtle)";
3888
3960
  const colorNeutralStrokeOnBrand = "var(--colorNeutralStrokeOnBrand)";
3889
3961
  const colorNeutralStrokeOnBrand2 = "var(--colorNeutralStrokeOnBrand2)";
3890
3962
  const colorNeutralStrokeOnBrand2Hover = "var(--colorNeutralStrokeOnBrand2Hover)";
@@ -3892,6 +3964,9 @@ const colorNeutralStrokeOnBrand2Pressed = "var(--colorNeutralStrokeOnBrand2Press
3892
3964
  const colorNeutralStrokeOnBrand2Selected = "var(--colorNeutralStrokeOnBrand2Selected)";
3893
3965
  const colorBrandStroke1 = "var(--colorBrandStroke1)";
3894
3966
  const colorBrandStroke2 = "var(--colorBrandStroke2)";
3967
+ const colorBrandStroke2Hover = "var(--colorBrandStroke2Hover)";
3968
+ const colorBrandStroke2Pressed = "var(--colorBrandStroke2Pressed)";
3969
+ const colorBrandStroke2Contrast = "var(--colorBrandStroke2Contrast)";
3895
3970
  const colorCompoundBrandStroke = "var(--colorCompoundBrandStroke)";
3896
3971
  const colorCompoundBrandStrokeHover = "var(--colorCompoundBrandStrokeHover)";
3897
3972
  const colorCompoundBrandStrokePressed = "var(--colorCompoundBrandStrokePressed)";
@@ -3900,6 +3975,8 @@ const colorNeutralStrokeInvertedDisabled = "var(--colorNeutralStrokeInvertedDisa
3900
3975
  const colorTransparentStroke = "var(--colorTransparentStroke)";
3901
3976
  const colorTransparentStrokeInteractive = "var(--colorTransparentStrokeInteractive)";
3902
3977
  const colorTransparentStrokeDisabled = "var(--colorTransparentStrokeDisabled)";
3978
+ const colorNeutralStrokeAlpha = "var(--colorNeutralStrokeAlpha)";
3979
+ const colorNeutralStrokeAlpha2 = "var(--colorNeutralStrokeAlpha2)";
3903
3980
  const colorStrokeFocus1 = "var(--colorStrokeFocus1)";
3904
3981
  const colorStrokeFocus2 = "var(--colorStrokeFocus2)";
3905
3982
  const colorNeutralShadowAmbient = "var(--colorNeutralShadowAmbient)";
@@ -4060,6 +4137,38 @@ const colorPaletteSteelForeground2 = "var(--colorPaletteSteelForeground2)";
4060
4137
  const colorPaletteTealBackground2 = "var(--colorPaletteTealBackground2)";
4061
4138
  const colorPaletteTealBorderActive = "var(--colorPaletteTealBorderActive)";
4062
4139
  const colorPaletteTealForeground2 = "var(--colorPaletteTealForeground2)";
4140
+ const colorStatusSuccessBackground1 = "var(--colorStatusSuccessBackground1)";
4141
+ const colorStatusSuccessBackground2 = "var(--colorStatusSuccessBackground2)";
4142
+ const colorStatusSuccessBackground3 = "var(--colorStatusSuccessBackground3)";
4143
+ const colorStatusSuccessForeground1 = "var(--colorStatusSuccessForeground1)";
4144
+ const colorStatusSuccessForeground2 = "var(--colorStatusSuccessForeground2)";
4145
+ const colorStatusSuccessForeground3 = "var(--colorStatusSuccessForeground3)";
4146
+ const colorStatusSuccessForegroundInverted = "var(--colorStatusSuccessForegroundInverted)";
4147
+ const colorStatusSuccessBorderActive = "var(--colorStatusSuccessBorderActive)";
4148
+ const colorStatusSuccessBorder1 = "var(--colorStatusSuccessBorder1)";
4149
+ const colorStatusSuccessBorder2 = "var(--colorStatusSuccessBorder2)";
4150
+ const colorStatusWarningBackground1 = "var(--colorStatusWarningBackground1)";
4151
+ const colorStatusWarningBackground2 = "var(--colorStatusWarningBackground2)";
4152
+ const colorStatusWarningBackground3 = "var(--colorStatusWarningBackground3)";
4153
+ const colorStatusWarningForeground1 = "var(--colorStatusWarningForeground1)";
4154
+ const colorStatusWarningForeground2 = "var(--colorStatusWarningForeground2)";
4155
+ const colorStatusWarningForeground3 = "var(--colorStatusWarningForeground3)";
4156
+ const colorStatusWarningForegroundInverted = "var(--colorStatusWarningForegroundInverted)";
4157
+ const colorStatusWarningBorderActive = "var(--colorStatusWarningBorderActive)";
4158
+ const colorStatusWarningBorder1 = "var(--colorStatusWarningBorder1)";
4159
+ const colorStatusWarningBorder2 = "var(--colorStatusWarningBorder2)";
4160
+ const colorStatusDangerBackground1 = "var(--colorStatusDangerBackground1)";
4161
+ const colorStatusDangerBackground2 = "var(--colorStatusDangerBackground2)";
4162
+ const colorStatusDangerBackground3 = "var(--colorStatusDangerBackground3)";
4163
+ const colorStatusDangerBackground3Hover = "var(--colorStatusDangerBackground3Hover)";
4164
+ const colorStatusDangerBackground3Pressed = "var(--colorStatusDangerBackground3Pressed)";
4165
+ const colorStatusDangerForeground1 = "var(--colorStatusDangerForeground1)";
4166
+ const colorStatusDangerForeground2 = "var(--colorStatusDangerForeground2)";
4167
+ const colorStatusDangerForeground3 = "var(--colorStatusDangerForeground3)";
4168
+ const colorStatusDangerForegroundInverted = "var(--colorStatusDangerForegroundInverted)";
4169
+ const colorStatusDangerBorderActive = "var(--colorStatusDangerBorderActive)";
4170
+ const colorStatusDangerBorder1 = "var(--colorStatusDangerBorder1)";
4171
+ const colorStatusDangerBorder2 = "var(--colorStatusDangerBorder2)";
4063
4172
  const borderRadiusNone = "var(--borderRadiusNone)";
4064
4173
  const borderRadiusSmall = "var(--borderRadiusSmall)";
4065
4174
  const borderRadiusMedium = "var(--borderRadiusMedium)";
@@ -4135,6 +4244,7 @@ const durationUltraFast = "var(--durationUltraFast)";
4135
4244
  const durationFaster = "var(--durationFaster)";
4136
4245
  const durationFast = "var(--durationFast)";
4137
4246
  const durationNormal = "var(--durationNormal)";
4247
+ const durationGentle = "var(--durationGentle)";
4138
4248
  const durationSlow = "var(--durationSlow)";
4139
4249
  const durationSlower = "var(--durationSlower)";
4140
4250
  const durationUltraSlow = "var(--durationUltraSlow)";
@@ -4195,6 +4305,8 @@ var tokens = /*#__PURE__*/Object.freeze({
4195
4305
  colorNeutralForegroundInvertedDisabled: colorNeutralForegroundInvertedDisabled,
4196
4306
  colorBrandForeground1: colorBrandForeground1,
4197
4307
  colorBrandForeground2: colorBrandForeground2,
4308
+ colorBrandForeground2Hover: colorBrandForeground2Hover,
4309
+ colorBrandForeground2Pressed: colorBrandForeground2Pressed,
4198
4310
  colorNeutralForeground1Static: colorNeutralForeground1Static,
4199
4311
  colorBrandForegroundInverted: colorBrandForegroundInverted,
4200
4312
  colorBrandForegroundInvertedHover: colorBrandForegroundInvertedHover,
@@ -4224,8 +4336,10 @@ var tokens = /*#__PURE__*/Object.freeze({
4224
4336
  colorNeutralBackground5Pressed: colorNeutralBackground5Pressed,
4225
4337
  colorNeutralBackground5Selected: colorNeutralBackground5Selected,
4226
4338
  colorNeutralBackground6: colorNeutralBackground6,
4227
- colorNeutralBackgroundStatic: colorNeutralBackgroundStatic,
4228
4339
  colorNeutralBackgroundInverted: colorNeutralBackgroundInverted,
4340
+ colorNeutralBackgroundStatic: colorNeutralBackgroundStatic,
4341
+ colorNeutralBackgroundAlpha: colorNeutralBackgroundAlpha,
4342
+ colorNeutralBackgroundAlpha2: colorNeutralBackgroundAlpha2,
4229
4343
  colorSubtleBackground: colorSubtleBackground,
4230
4344
  colorSubtleBackgroundHover: colorSubtleBackgroundHover,
4231
4345
  colorSubtleBackgroundPressed: colorSubtleBackgroundPressed,
@@ -4258,10 +4372,19 @@ var tokens = /*#__PURE__*/Object.freeze({
4258
4372
  colorCompoundBrandBackgroundPressed: colorCompoundBrandBackgroundPressed,
4259
4373
  colorBrandBackgroundStatic: colorBrandBackgroundStatic,
4260
4374
  colorBrandBackground2: colorBrandBackground2,
4375
+ colorBrandBackground2Hover: colorBrandBackground2Hover,
4376
+ colorBrandBackground2Pressed: colorBrandBackground2Pressed,
4377
+ colorBrandBackground3Static: colorBrandBackground3Static,
4378
+ colorBrandBackground4Static: colorBrandBackground4Static,
4261
4379
  colorBrandBackgroundInverted: colorBrandBackgroundInverted,
4262
4380
  colorBrandBackgroundInvertedHover: colorBrandBackgroundInvertedHover,
4263
4381
  colorBrandBackgroundInvertedPressed: colorBrandBackgroundInvertedPressed,
4264
4382
  colorBrandBackgroundInvertedSelected: colorBrandBackgroundInvertedSelected,
4383
+ colorNeutralCardBackground: colorNeutralCardBackground,
4384
+ colorNeutralCardBackgroundHover: colorNeutralCardBackgroundHover,
4385
+ colorNeutralCardBackgroundPressed: colorNeutralCardBackgroundPressed,
4386
+ colorNeutralCardBackgroundSelected: colorNeutralCardBackgroundSelected,
4387
+ colorNeutralCardBackgroundDisabled: colorNeutralCardBackgroundDisabled,
4265
4388
  colorNeutralStrokeAccessible: colorNeutralStrokeAccessible,
4266
4389
  colorNeutralStrokeAccessibleHover: colorNeutralStrokeAccessibleHover,
4267
4390
  colorNeutralStrokeAccessiblePressed: colorNeutralStrokeAccessiblePressed,
@@ -4272,6 +4395,7 @@ var tokens = /*#__PURE__*/Object.freeze({
4272
4395
  colorNeutralStroke1Selected: colorNeutralStroke1Selected,
4273
4396
  colorNeutralStroke2: colorNeutralStroke2,
4274
4397
  colorNeutralStroke3: colorNeutralStroke3,
4398
+ colorNeutralStrokeSubtle: colorNeutralStrokeSubtle,
4275
4399
  colorNeutralStrokeOnBrand: colorNeutralStrokeOnBrand,
4276
4400
  colorNeutralStrokeOnBrand2: colorNeutralStrokeOnBrand2,
4277
4401
  colorNeutralStrokeOnBrand2Hover: colorNeutralStrokeOnBrand2Hover,
@@ -4279,6 +4403,9 @@ var tokens = /*#__PURE__*/Object.freeze({
4279
4403
  colorNeutralStrokeOnBrand2Selected: colorNeutralStrokeOnBrand2Selected,
4280
4404
  colorBrandStroke1: colorBrandStroke1,
4281
4405
  colorBrandStroke2: colorBrandStroke2,
4406
+ colorBrandStroke2Hover: colorBrandStroke2Hover,
4407
+ colorBrandStroke2Pressed: colorBrandStroke2Pressed,
4408
+ colorBrandStroke2Contrast: colorBrandStroke2Contrast,
4282
4409
  colorCompoundBrandStroke: colorCompoundBrandStroke,
4283
4410
  colorCompoundBrandStrokeHover: colorCompoundBrandStrokeHover,
4284
4411
  colorCompoundBrandStrokePressed: colorCompoundBrandStrokePressed,
@@ -4287,6 +4414,8 @@ var tokens = /*#__PURE__*/Object.freeze({
4287
4414
  colorTransparentStroke: colorTransparentStroke,
4288
4415
  colorTransparentStrokeInteractive: colorTransparentStrokeInteractive,
4289
4416
  colorTransparentStrokeDisabled: colorTransparentStrokeDisabled,
4417
+ colorNeutralStrokeAlpha: colorNeutralStrokeAlpha,
4418
+ colorNeutralStrokeAlpha2: colorNeutralStrokeAlpha2,
4290
4419
  colorStrokeFocus1: colorStrokeFocus1,
4291
4420
  colorStrokeFocus2: colorStrokeFocus2,
4292
4421
  colorNeutralShadowAmbient: colorNeutralShadowAmbient,
@@ -4447,6 +4576,38 @@ var tokens = /*#__PURE__*/Object.freeze({
4447
4576
  colorPaletteTealBackground2: colorPaletteTealBackground2,
4448
4577
  colorPaletteTealBorderActive: colorPaletteTealBorderActive,
4449
4578
  colorPaletteTealForeground2: colorPaletteTealForeground2,
4579
+ colorStatusSuccessBackground1: colorStatusSuccessBackground1,
4580
+ colorStatusSuccessBackground2: colorStatusSuccessBackground2,
4581
+ colorStatusSuccessBackground3: colorStatusSuccessBackground3,
4582
+ colorStatusSuccessForeground1: colorStatusSuccessForeground1,
4583
+ colorStatusSuccessForeground2: colorStatusSuccessForeground2,
4584
+ colorStatusSuccessForeground3: colorStatusSuccessForeground3,
4585
+ colorStatusSuccessForegroundInverted: colorStatusSuccessForegroundInverted,
4586
+ colorStatusSuccessBorderActive: colorStatusSuccessBorderActive,
4587
+ colorStatusSuccessBorder1: colorStatusSuccessBorder1,
4588
+ colorStatusSuccessBorder2: colorStatusSuccessBorder2,
4589
+ colorStatusWarningBackground1: colorStatusWarningBackground1,
4590
+ colorStatusWarningBackground2: colorStatusWarningBackground2,
4591
+ colorStatusWarningBackground3: colorStatusWarningBackground3,
4592
+ colorStatusWarningForeground1: colorStatusWarningForeground1,
4593
+ colorStatusWarningForeground2: colorStatusWarningForeground2,
4594
+ colorStatusWarningForeground3: colorStatusWarningForeground3,
4595
+ colorStatusWarningForegroundInverted: colorStatusWarningForegroundInverted,
4596
+ colorStatusWarningBorderActive: colorStatusWarningBorderActive,
4597
+ colorStatusWarningBorder1: colorStatusWarningBorder1,
4598
+ colorStatusWarningBorder2: colorStatusWarningBorder2,
4599
+ colorStatusDangerBackground1: colorStatusDangerBackground1,
4600
+ colorStatusDangerBackground2: colorStatusDangerBackground2,
4601
+ colorStatusDangerBackground3: colorStatusDangerBackground3,
4602
+ colorStatusDangerBackground3Hover: colorStatusDangerBackground3Hover,
4603
+ colorStatusDangerBackground3Pressed: colorStatusDangerBackground3Pressed,
4604
+ colorStatusDangerForeground1: colorStatusDangerForeground1,
4605
+ colorStatusDangerForeground2: colorStatusDangerForeground2,
4606
+ colorStatusDangerForeground3: colorStatusDangerForeground3,
4607
+ colorStatusDangerForegroundInverted: colorStatusDangerForegroundInverted,
4608
+ colorStatusDangerBorderActive: colorStatusDangerBorderActive,
4609
+ colorStatusDangerBorder1: colorStatusDangerBorder1,
4610
+ colorStatusDangerBorder2: colorStatusDangerBorder2,
4450
4611
  borderRadiusNone: borderRadiusNone,
4451
4612
  borderRadiusSmall: borderRadiusSmall,
4452
4613
  borderRadiusMedium: borderRadiusMedium,
@@ -4522,6 +4683,7 @@ var tokens = /*#__PURE__*/Object.freeze({
4522
4683
  durationFaster: durationFaster,
4523
4684
  durationFast: durationFast,
4524
4685
  durationNormal: durationNormal,
4686
+ durationGentle: durationGentle,
4525
4687
  durationSlow: durationSlow,
4526
4688
  durationSlower: durationSlower,
4527
4689
  durationUltraSlow: durationUltraSlow,
@@ -4595,6 +4757,9 @@ class AnchorButton extends FASTElement {
4595
4757
  this.iconOnly = false;
4596
4758
  this.disabled = false;
4597
4759
  this.disabledFocusable = false;
4760
+ /**
4761
+ * Prevents disabledFocusable click events
4762
+ */
4598
4763
  this.handleDisabledFocusableClick = e => {
4599
4764
  if (e && this.disabled || this.disabledFocusable) {
4600
4765
  e.stopImmediatePropagation();
@@ -4682,12 +4847,6 @@ const ButtonType = {
4682
4847
  reset: "reset",
4683
4848
  button: "button"
4684
4849
  };
4685
- const ButtonFormTarget = {
4686
- blank: "_blank",
4687
- self: "_self",
4688
- parent: "_parent",
4689
- top: "_top"
4690
- };
4691
4850
 
4692
4851
  const AnchorButtonAppearance = ButtonAppearance;
4693
4852
  const AnchorButtonShape = ButtonShape;
@@ -4755,10 +4914,10 @@ function getInitials(displayName, isRtl, options) {
4755
4914
  return "";
4756
4915
  }
4757
4916
  displayName = cleanupDisplayName(displayName);
4758
- if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !(options == null ? void 0 : options.allowPhoneInitials) && PHONENUMBER_REGEX.test(displayName)) {
4917
+ if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !options?.allowPhoneInitials && PHONENUMBER_REGEX.test(displayName)) {
4759
4918
  return "";
4760
4919
  }
4761
- return getInitialsLatin(displayName, isRtl, options == null ? void 0 : options.firstInitialOnly);
4920
+ return getInitialsLatin(displayName, isRtl, options?.firstInitialOnly);
4762
4921
  }
4763
4922
 
4764
4923
  const AvatarActive = {
@@ -4837,43 +4996,52 @@ var __decorateClass$n = (decorators, target, key, kind) => {
4837
4996
  if (kind && result) __defProp$n(target, key, result);
4838
4997
  return result;
4839
4998
  };
4840
- const _Avatar = class extends FASTElement {
4999
+ const _Avatar = class _Avatar extends FASTElement {
4841
5000
  constructor() {
4842
5001
  super(...arguments);
4843
5002
  this.color = "neutral";
4844
5003
  }
5004
+ /**
5005
+ * Sets the data-color attribute used for the visual presentation
5006
+ * @internal
5007
+ */
4845
5008
  generateColor() {
4846
- var _a, _b;
4847
5009
  if (!this.color) {
4848
5010
  return;
4849
5011
  }
4850
- return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode((_b = (_a = this.colorId) != null ? _a : this.name) != null ? _b : "") % _Avatar.colors.length] : this.color;
5012
+ return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode(this.colorId ?? this.name ?? "") % _Avatar.colors.length] : this.color;
4851
5013
  }
5014
+ /**
5015
+ * Generates and sets the initials for the template
5016
+ * @internal
5017
+ */
4852
5018
  generateInitials() {
4853
- var _a, _b;
4854
5019
  if (!this.name && !this.initials) {
4855
5020
  return;
4856
5021
  }
4857
- const size = (_a = this.size) != null ? _a : 32;
4858
- return (_b = this.initials) != null ? _b : getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
5022
+ const size = this.size ?? 32;
5023
+ return this.initials ?? getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
4859
5024
  firstInitialOnly: size <= 16
4860
5025
  });
4861
5026
  }
4862
5027
  };
4863
- let Avatar = _Avatar;
4864
- Avatar.colors = Object.values(AvatarNamedColor);
4865
- __decorateClass$n([attr], Avatar.prototype, "name", 2);
4866
- __decorateClass$n([attr], Avatar.prototype, "initials", 2);
5028
+ /**
5029
+ * An array of the available Avatar named colors
5030
+ */
5031
+ _Avatar.colors = Object.values(AvatarNamedColor);
5032
+ __decorateClass$n([attr], _Avatar.prototype, "name", 2);
5033
+ __decorateClass$n([attr], _Avatar.prototype, "initials", 2);
4867
5034
  __decorateClass$n([attr({
4868
5035
  converter: nullableNumberConverter
4869
- })], Avatar.prototype, "size", 2);
4870
- __decorateClass$n([attr], Avatar.prototype, "shape", 2);
4871
- __decorateClass$n([attr], Avatar.prototype, "active", 2);
4872
- __decorateClass$n([attr], Avatar.prototype, "appearance", 2);
4873
- __decorateClass$n([attr], Avatar.prototype, "color", 2);
5036
+ })], _Avatar.prototype, "size", 2);
5037
+ __decorateClass$n([attr], _Avatar.prototype, "shape", 2);
5038
+ __decorateClass$n([attr], _Avatar.prototype, "active", 2);
5039
+ __decorateClass$n([attr], _Avatar.prototype, "appearance", 2);
5040
+ __decorateClass$n([attr], _Avatar.prototype, "color", 2);
4874
5041
  __decorateClass$n([attr({
4875
5042
  attribute: "color-id"
4876
- })], Avatar.prototype, "colorId", 2);
5043
+ })], _Avatar.prototype, "colorId", 2);
5044
+ let Avatar = _Avatar;
4877
5045
  const getHashCode = str => {
4878
5046
  let hashCode = 0;
4879
5047
  for (let len = str.length - 1; len >= 0; len--) {
@@ -5215,103 +5383,103 @@ const badgeTintStyles = css.partial`
5215
5383
  }
5216
5384
  `;
5217
5385
 
5218
- const typographyBody1Styles = css.partial`
5386
+ css.partial`
5219
5387
  font-family: ${fontFamilyBase};
5220
5388
  font-size: ${fontSizeBase300};
5221
5389
  line-height: ${lineHeightBase300};
5222
5390
  font-weight: ${fontWeightRegular};
5223
5391
  `;
5224
- const typographyBody1StrongStyles = css.partial`
5392
+ css.partial`
5225
5393
  font-family: ${fontFamilyBase};
5226
5394
  font-size: ${fontSizeBase300};
5227
5395
  line-height: ${lineHeightBase300};
5228
5396
  font-weight: ${fontWeightSemibold};
5229
5397
  `;
5230
- const typographyBody1StrongerStyles = css.partial`
5398
+ css.partial`
5231
5399
  font-family: ${fontFamilyBase};
5232
5400
  font-size: ${fontSizeBase300};
5233
5401
  line-height: ${lineHeightBase300};
5234
5402
  font-weight: ${fontWeightBold};
5235
5403
  `;
5236
- const typographyBody2Styles = css.partial`
5404
+ css.partial`
5237
5405
  font-family: ${fontFamilyBase};
5238
5406
  font-size: ${fontSizeBase400};
5239
5407
  line-height: ${lineHeightBase400};
5240
5408
  font-weight: ${fontWeightRegular};
5241
5409
  `;
5242
- const typographyCaption1Styles = css.partial`
5410
+ css.partial`
5243
5411
  font-family: ${fontFamilyBase};
5244
5412
  font-size: ${fontSizeBase200};
5245
5413
  line-height: ${lineHeightBase200};
5246
5414
  font-weight: ${fontWeightRegular};
5247
5415
  `;
5248
- const typographyCaption1StrongStyles = css.partial`
5416
+ css.partial`
5249
5417
  font-family: ${fontFamilyBase};
5250
5418
  font-size: ${fontSizeBase200};
5251
5419
  line-height: ${lineHeightBase200};
5252
5420
  font-weight: ${fontWeightSemibold};
5253
5421
  `;
5254
- const typographyCaption1StrongerStyles = css.partial`
5422
+ css.partial`
5255
5423
  font-family: ${fontFamilyBase};
5256
5424
  font-size: ${fontSizeBase200};
5257
5425
  line-height: ${lineHeightBase200};
5258
5426
  font-weight: ${fontWeightBold};
5259
5427
  `;
5260
- const typographyCaption2Styles = css.partial`
5428
+ css.partial`
5261
5429
  font-family: ${fontFamilyBase};
5262
5430
  font-size: ${fontSizeBase100};
5263
5431
  line-height: ${lineHeightBase100};
5264
5432
  font-weight: ${fontWeightRegular};
5265
5433
  `;
5266
- const typographyCaption2StrongStyles = css.partial`
5434
+ css.partial`
5267
5435
  font-family: ${fontFamilyBase};
5268
5436
  font-size: ${fontSizeBase100};
5269
5437
  line-height: ${lineHeightBase100};
5270
5438
  font-weight: ${fontWeightSemibold};
5271
5439
  `;
5272
- const typographySubtitle1Styles = css.partial`
5440
+ css.partial`
5273
5441
  font-family: ${fontFamilyBase};
5274
5442
  font-size: ${fontSizeBase500};
5275
5443
  line-height: ${lineHeightBase500};
5276
5444
  font-weight: ${fontWeightSemibold};
5277
5445
  `;
5278
- const typographySubtitle2Styles = css.partial`
5446
+ css.partial`
5279
5447
  font-family: ${fontFamilyBase};
5280
5448
  font-size: ${fontSizeBase400};
5281
5449
  line-height: ${lineHeightBase400};
5282
5450
  font-weight: ${fontWeightSemibold};
5283
5451
  `;
5284
- const typographySubtitle2StrongerStyles = css.partial`
5452
+ css.partial`
5285
5453
  font-family: ${fontFamilyBase};
5286
5454
  font-size: ${fontSizeBase400};
5287
5455
  line-height: ${lineHeightBase400};
5288
5456
  font-weight: ${fontWeightBold};
5289
5457
  `;
5290
- const typographyTitle1Styles = css.partial`
5458
+ css.partial`
5291
5459
  font-family: ${fontFamilyBase};
5292
5460
  font-size: ${fontSizeHero800};
5293
5461
  line-height: ${lineHeightHero800};
5294
5462
  font-weight: ${fontWeightSemibold};
5295
5463
  `;
5296
- const typographyTitle2Styles = css.partial`
5464
+ css.partial`
5297
5465
  font-family: ${fontFamilyBase};
5298
5466
  font-size: ${fontSizeHero700};
5299
5467
  line-height: ${lineHeightHero700};
5300
5468
  font-weight: ${fontWeightSemibold};
5301
5469
  `;
5302
- const typographyTitle3Styles = css.partial`
5470
+ css.partial`
5303
5471
  font-family: ${fontFamilyBase};
5304
5472
  font-size: ${fontSizeBase600};
5305
5473
  line-height: ${lineHeightBase600};
5306
5474
  font-weight: ${fontWeightSemibold};
5307
5475
  `;
5308
- const typographyLargeTitleStyles = css.partial`
5476
+ css.partial`
5309
5477
  font-family: ${fontFamilyBase};
5310
5478
  font-size: ${fontSizeHero900};
5311
5479
  line-height: ${lineHeightHero900};
5312
5480
  font-weight: ${fontWeightSemibold};
5313
5481
  `;
5314
- const typographyDisplayStyles = css.partial`
5482
+ css.partial`
5315
5483
  font-family: ${fontFamilyBase};
5316
5484
  font-size: ${fontSizeHero1000};
5317
5485
  line-height: ${lineHeightHero1000};
@@ -5345,28 +5513,62 @@ class Button extends FASTElement {
5345
5513
  constructor() {
5346
5514
  super();
5347
5515
  this.disabledFocusable = false;
5516
+ /**
5517
+ * The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
5518
+ *
5519
+ * @internal
5520
+ */
5348
5521
  this.elementInternals = this.attachInternals();
5349
5522
  this.iconOnly = false;
5350
5523
  this.elementInternals.role = "button";
5351
5524
  }
5525
+ /**
5526
+ * Sets the element's internal disabled state when the element is focusable while disabled.
5527
+ *
5528
+ * @param previous - the previous disabledFocusable value
5529
+ * @param next - the current disabledFocusable value
5530
+ * @internal
5531
+ */
5352
5532
  disabledFocusableChanged(previous, next) {
5353
5533
  if (this.$fastController.isConnected) {
5354
5534
  this.elementInternals.ariaDisabled = `${!!next}`;
5355
5535
  }
5356
5536
  }
5537
+ /**
5538
+ * The associated form element.
5539
+ *
5540
+ * @public
5541
+ */
5357
5542
  get form() {
5358
5543
  return this.elementInternals.form;
5359
5544
  }
5545
+ /**
5546
+ * A reference to all associated label elements.
5547
+ *
5548
+ * @public
5549
+ */
5360
5550
  get labels() {
5361
5551
  return Object.freeze(Array.from(this.elementInternals.labels));
5362
5552
  }
5553
+ /**
5554
+ * Removes the form submission fallback control when the type changes.
5555
+ *
5556
+ * @param previous - the previous type value
5557
+ * @param next - the new type value
5558
+ * @internal
5559
+ */
5363
5560
  typeChanged(previous, next) {
5364
- var _a, _b, _c;
5365
5561
  if (next !== ButtonType.submit) {
5366
- (_a = this.formSubmissionFallbackControl) == null ? void 0 : _a.remove();
5367
- (_c = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector('slot[name="internal"]')) == null ? void 0 : _c.remove();
5562
+ this.formSubmissionFallbackControl?.remove();
5563
+ this.shadowRoot?.querySelector('slot[name="internal"]')?.remove();
5368
5564
  }
5369
5565
  }
5566
+ /**
5567
+ * Handles the button click event.
5568
+ *
5569
+ * @param e - The event object
5570
+ * @internal
5571
+ */
5370
5572
  clickHandler(e) {
5371
5573
  if (e && this.disabledFocusable) {
5372
5574
  e.stopImmediatePropagation();
@@ -5379,20 +5581,27 @@ class Button extends FASTElement {
5379
5581
  super.connectedCallback();
5380
5582
  this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
5381
5583
  }
5584
+ /**
5585
+ * This fallback creates a new slot, then creates a submit button to mirror the custom element's
5586
+ * properties. The submit button is then appended to the slot and the form is submitted.
5587
+ *
5588
+ * @internal
5589
+ * @privateRemarks
5590
+ * This is a workaround until {@link https://github.com/WICG/webcomponents/issues/814 | WICG/webcomponents/issues/814} is resolved.
5591
+ */
5382
5592
  createAndInsertFormSubmissionFallbackControl() {
5383
- var _a, _b, _c, _d, _e, _f, _g, _h;
5384
- const internalSlot = (_a = this.formSubmissionFallbackControlSlot) != null ? _a : document.createElement("slot");
5593
+ const internalSlot = this.formSubmissionFallbackControlSlot ?? document.createElement("slot");
5385
5594
  internalSlot.setAttribute("name", "internal");
5386
- (_b = this.shadowRoot) == null ? void 0 : _b.appendChild(internalSlot);
5595
+ this.shadowRoot?.appendChild(internalSlot);
5387
5596
  this.formSubmissionFallbackControlSlot = internalSlot;
5388
- const fallbackControl = (_c = this.formSubmissionFallbackControl) != null ? _c : document.createElement("button");
5597
+ const fallbackControl = this.formSubmissionFallbackControl ?? document.createElement("button");
5389
5598
  fallbackControl.style.display = "none";
5390
5599
  fallbackControl.setAttribute("type", "submit");
5391
5600
  fallbackControl.setAttribute("slot", "internal");
5392
5601
  if (this.formNoValidate) {
5393
5602
  fallbackControl.toggleAttribute("formnovalidate", true);
5394
5603
  }
5395
- if ((_d = this.elementInternals.form) == null ? void 0 : _d.id) {
5604
+ if (this.elementInternals.form?.id) {
5396
5605
  fallbackControl.setAttribute("form", this.elementInternals.form.id);
5397
5606
  }
5398
5607
  if (this.name) {
@@ -5402,23 +5611,37 @@ class Button extends FASTElement {
5402
5611
  fallbackControl.setAttribute("value", this.value);
5403
5612
  }
5404
5613
  if (this.formAction) {
5405
- fallbackControl.setAttribute("formaction", (_e = this.formAction) != null ? _e : "");
5614
+ fallbackControl.setAttribute("formaction", this.formAction ?? "");
5406
5615
  }
5407
5616
  if (this.formEnctype) {
5408
- fallbackControl.setAttribute("formenctype", (_f = this.formEnctype) != null ? _f : "");
5617
+ fallbackControl.setAttribute("formenctype", this.formEnctype ?? "");
5409
5618
  }
5410
5619
  if (this.formMethod) {
5411
- fallbackControl.setAttribute("formmethod", (_g = this.formMethod) != null ? _g : "");
5620
+ fallbackControl.setAttribute("formmethod", this.formMethod ?? "");
5412
5621
  }
5413
5622
  if (this.formTarget) {
5414
- fallbackControl.setAttribute("formtarget", (_h = this.formTarget) != null ? _h : "");
5623
+ fallbackControl.setAttribute("formtarget", this.formTarget ?? "");
5415
5624
  }
5416
5625
  this.append(fallbackControl);
5417
5626
  this.formSubmissionFallbackControl = fallbackControl;
5418
5627
  }
5628
+ /**
5629
+ * Invoked when a connected component's form or fieldset has its disabled state changed.
5630
+ *
5631
+ * @param disabled - the disabled value of the form / fieldset
5632
+ *
5633
+ * @internal
5634
+ */
5419
5635
  formDisabledCallback(disabled) {
5420
5636
  this.disabled = disabled;
5421
5637
  }
5638
+ /**
5639
+ * Handles keypress events for the button.
5640
+ *
5641
+ * @param e - the keyboard event
5642
+ * @returns - the return value of the click handler
5643
+ * @public
5644
+ */
5422
5645
  keypressHandler(e) {
5423
5646
  if (e && this.disabledFocusable) {
5424
5647
  e.stopImmediatePropagation();
@@ -5430,6 +5653,11 @@ class Button extends FASTElement {
5430
5653
  }
5431
5654
  return true;
5432
5655
  }
5656
+ /**
5657
+ * Presses the button.
5658
+ *
5659
+ * @public
5660
+ */
5433
5661
  press() {
5434
5662
  switch (this.type) {
5435
5663
  case ButtonType.reset:
@@ -5444,12 +5672,20 @@ class Button extends FASTElement {
5444
5672
  }
5445
5673
  }
5446
5674
  }
5675
+ /**
5676
+ * Resets the associated form.
5677
+ *
5678
+ * @public
5679
+ */
5447
5680
  resetForm() {
5448
- var _a;
5449
- (_a = this.elementInternals.form) == null ? void 0 : _a.reset();
5681
+ this.elementInternals.form?.reset();
5450
5682
  }
5683
+ /**
5684
+ * Submits the associated form.
5685
+ *
5686
+ * @internal
5687
+ */
5451
5688
  submitForm() {
5452
- var _a;
5453
5689
  if (!this.elementInternals.form || this.disabled || this.type !== ButtonType.submit) {
5454
5690
  return;
5455
5691
  }
@@ -5458,7 +5694,7 @@ class Button extends FASTElement {
5458
5694
  return;
5459
5695
  }
5460
5696
  try {
5461
- this.elementInternals.setFormValue((_a = this.value) != null ? _a : "");
5697
+ this.elementInternals.setFormValue(this.value ?? "");
5462
5698
  this.elementInternals.form.requestSubmit(this);
5463
5699
  } catch (e) {
5464
5700
  this.createAndInsertFormSubmissionFallbackControl();
@@ -5467,6 +5703,12 @@ class Button extends FASTElement {
5467
5703
  }
5468
5704
  }
5469
5705
  }
5706
+ /**
5707
+ * The form-associated flag.
5708
+ * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
5709
+ *
5710
+ * @public
5711
+ */
5470
5712
  Button.formAssociated = true;
5471
5713
  __decorateClass$l([attr], Button.prototype, "appearance", 2);
5472
5714
  __decorateClass$l([attr({
@@ -5535,9 +5777,32 @@ function FormAssociated(BaseCtor) {
5535
5777
  const C = class extends BaseCtor {
5536
5778
  constructor(...args) {
5537
5779
  super(...args);
5780
+ /**
5781
+ * Track whether the value has been changed from the initial value
5782
+ */
5538
5783
  this.dirtyValue = false;
5784
+ /**
5785
+ * The initial value of the form. This value sets the `value` property
5786
+ * only when the `value` property has not been explicitly set.
5787
+ *
5788
+ * @remarks
5789
+ * HTML Attribute: value
5790
+ */
5539
5791
  this.initialValue = "";
5792
+ /**
5793
+ * Sets the element's disabled state. A disabled element will not be included during form submission.
5794
+ *
5795
+ * @remarks
5796
+ * HTML Attribute: disabled
5797
+ */
5540
5798
  this.disabled = false;
5799
+ /**
5800
+ * These are events that are still fired by the proxy
5801
+ * element based on user / programmatic interaction.
5802
+ *
5803
+ * The proxy implementation should be transparent to
5804
+ * the app author, so block these events from emitting.
5805
+ */
5541
5806
  this.proxyEventsToBlock = ["change", "click"];
5542
5807
  this.proxyInitialized = false;
5543
5808
  this.required = false;
@@ -5546,21 +5811,51 @@ function FormAssociated(BaseCtor) {
5546
5811
  this.formResetCallback = this.formResetCallback.bind(this);
5547
5812
  }
5548
5813
  }
5814
+ /**
5815
+ * Must evaluate to true to enable elementInternals.
5816
+ * Feature detects API support and resolve respectively
5817
+ *
5818
+ * @internal
5819
+ */
5549
5820
  static get formAssociated() {
5550
5821
  return supportsElementInternals;
5551
5822
  }
5823
+ /**
5824
+ * Returns the validity state of the element
5825
+ *
5826
+ * @beta
5827
+ */
5552
5828
  get validity() {
5553
5829
  return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
5554
5830
  }
5831
+ /**
5832
+ * Retrieve a reference to the associated form.
5833
+ * Returns null if not associated to any form.
5834
+ *
5835
+ * @beta
5836
+ */
5555
5837
  get form() {
5556
5838
  return this.elementInternals ? this.elementInternals.form : this.proxy.form;
5557
5839
  }
5840
+ /**
5841
+ * Retrieve the localized validation message,
5842
+ * or custom validation message if set.
5843
+ *
5844
+ * @beta
5845
+ */
5558
5846
  get validationMessage() {
5559
5847
  return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
5560
5848
  }
5849
+ /**
5850
+ * Whether the element will be validated when the
5851
+ * form is submitted
5852
+ */
5561
5853
  get willValidate() {
5562
5854
  return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
5563
5855
  }
5856
+ /**
5857
+ * A reference to all associated label elements
5858
+ */
5564
5859
  get labels() {
5565
5860
  if (this.elementInternals) {
5566
5861
  return Object.freeze(Array.from(this.elementInternals.labels));
@@ -5573,6 +5868,16 @@ function FormAssociated(BaseCtor) {
5573
5868
  return emptyArray;
5574
5869
  }
5575
5870
  }
5871
+ /**
5872
+ * Invoked when the `value` property changes
5873
+ * @param previous - the previous value
5874
+ * @param next - the new value
5875
+ *
5876
+ * @remarks
5877
+ * If elements extending `FormAssociated` implement a `valueChanged` method
5878
+ * They must be sure to invoke `super.valueChanged(previous, next)` to ensure
5879
+ * proper functioning of `FormAssociated`
5880
+ */
5576
5881
  valueChanged(previous, next) {
5577
5882
  this.dirtyValue = true;
5578
5883
  if (this.proxy instanceof HTMLElement) {
@@ -5585,23 +5890,67 @@ function FormAssociated(BaseCtor) {
5585
5890
  currentValueChanged() {
5586
5891
  this.value = this.currentValue;
5587
5892
  }
5893
+ /**
5894
+ * Invoked when the `initialValue` property changes
5895
+ *
5896
+ * @param previous - the previous value
5897
+ * @param next - the new value
5898
+ *
5899
+ * @remarks
5900
+ * If elements extending `FormAssociated` implement a `initialValueChanged` method
5901
+ * They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
5902
+ * proper functioning of `FormAssociated`
5903
+ */
5588
5904
  initialValueChanged(previous, next) {
5589
5905
  if (!this.dirtyValue) {
5590
5906
  this.value = this.initialValue;
5591
5907
  this.dirtyValue = false;
5592
5908
  }
5593
5909
  }
5910
+ /**
5911
+ * Invoked when the `disabled` property changes
5912
+ *
5913
+ * @param previous - the previous value
5914
+ * @param next - the new value
5915
+ *
5916
+ * @remarks
5917
+ * If elements extending `FormAssociated` implement a `disabledChanged` method
5918
+ * They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
5919
+ * proper functioning of `FormAssociated`
5920
+ */
5594
5921
  disabledChanged(previous, next) {
5595
5922
  if (this.proxy instanceof HTMLElement) {
5596
5923
  this.proxy.disabled = this.disabled;
5597
5924
  }
5598
5925
  Updates.enqueue(() => this.classList.toggle("disabled", this.disabled));
5599
5926
  }
5927
+ /**
5928
+ * Invoked when the `name` property changes
5929
+ *
5930
+ * @param previous - the previous value
5931
+ * @param next - the new value
5932
+ *
5933
+ * @remarks
5934
+ * If elements extending `FormAssociated` implement a `nameChanged` method
5935
+ * They must be sure to invoke `super.nameChanged(previous, next)` to ensure
5936
+ * proper functioning of `FormAssociated`
5937
+ */
5600
5938
  nameChanged(previous, next) {
5601
5939
  if (this.proxy instanceof HTMLElement) {
5602
5940
  this.proxy.name = this.name;
5603
5941
  }
5604
5942
  }
5943
+ /**
5944
+ * Invoked when the `required` property changes
5945
+ *
5946
+ * @param previous - the previous value
5947
+ * @param next - the new value
5948
+ *
5949
+ * @remarks
5950
+ * If elements extending `FormAssociated` implement a `requiredChanged` method
5951
+ * They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
5952
+ * proper functioning of `FormAssociated`
5953
+ */
5605
5954
  requiredChanged(prev, next) {
5606
5955
  if (this.proxy instanceof HTMLElement) {
5607
5956
  this.proxy.required = this.required;
@@ -5609,6 +5958,10 @@ function FormAssociated(BaseCtor) {
5609
5958
  Updates.enqueue(() => this.classList.toggle("required", this.required));
5610
5959
  this.validate();
5611
5960
  }
5961
+ /**
5962
+ * The element internals object. Will only exist
5963
+ * in browsers supporting the attachInternals API
5964
+ */
5612
5965
  get elementInternals() {
5613
5966
  if (!supportsElementInternals) {
5614
5967
  return null;
@@ -5620,6 +5973,9 @@ function FormAssociated(BaseCtor) {
5620
5973
  }
5621
5974
  return internals;
5622
5975
  }
5976
+ /**
5977
+ * @internal
5978
+ */
5623
5979
  connectedCallback() {
5624
5980
  super.connectedCallback();
5625
5981
  this.addEventListener("keypress", this._keypressHandler);
@@ -5634,18 +5990,37 @@ function FormAssociated(BaseCtor) {
5634
5990
  }
5635
5991
  }
5636
5992
  }
5993
+ /**
5994
+ * @internal
5995
+ */
5637
5996
  disconnectedCallback() {
5638
5997
  this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));
5639
5998
  if (!this.elementInternals && this.form) {
5640
5999
  this.form.removeEventListener("reset", this.formResetCallback);
5641
6000
  }
5642
6001
  }
6002
+ /**
6003
+ * Return the current validity of the element.
6004
+ */
5643
6005
  checkValidity() {
5644
6006
  return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity();
5645
6007
  }
6008
+ /**
6009
+ * Return the current validity of the element.
6010
+ * If false, fires an invalid event at the element.
6011
+ */
5646
6012
  reportValidity() {
5647
6013
  return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity();
5648
6014
  }
6015
+ /**
6016
+ * Set the validity of the control. In cases when the elementInternals object is not
6017
+ * available (and the proxy element is used to report validity), this function will
6018
+ * do nothing unless a message is provided, at which point the setCustomValidity method
6019
+ * of the proxy element will be invoked with the provided message.
6020
+ * @param flags - Validity flags
6021
+ * @param message - Optional message to supply
6022
+ * @param anchor - Optional element used by UA to display an interactive validation UI
6023
+ */
5649
6024
  setValidity(flags, message, anchor) {
5650
6025
  if (this.elementInternals) {
5651
6026
  this.elementInternals.setValidity(flags, message, anchor);
@@ -5653,6 +6028,11 @@ function FormAssociated(BaseCtor) {
5653
6028
  this.proxy.setCustomValidity(message);
5654
6029
  }
5655
6030
  }
6031
+ /**
6032
+ * Invoked when a connected component's form or fieldset has its disabled
6033
+ * state changed.
6034
+ * @param disabled - the disabled value of the form / fieldset
6035
+ */
5656
6036
  formDisabledCallback(disabled) {
5657
6037
  this.disabled = disabled;
5658
6038
  }
@@ -5660,8 +6040,10 @@ function FormAssociated(BaseCtor) {
5660
6040
  this.value = this.initialValue;
5661
6041
  this.dirtyValue = false;
5662
6042
  }
6043
+ /**
6044
+ * Attach the proxy element to the DOM
6045
+ */
5663
6046
  attachProxy() {
5664
- var _a;
5665
6047
  if (!this.proxyInitialized) {
5666
6048
  this.proxyInitialized = true;
5667
6049
  this.proxy.style.display = "none";
@@ -5678,19 +6060,27 @@ function FormAssociated(BaseCtor) {
5678
6060
  this.proxySlot = document.createElement("slot");
5679
6061
  this.proxySlot.setAttribute("name", proxySlotName);
5680
6062
  }
5681
- (_a = this.shadowRoot) == null ? void 0 : _a.appendChild(this.proxySlot);
6063
+ this.shadowRoot?.appendChild(this.proxySlot);
5682
6064
  this.appendChild(this.proxy);
5683
6065
  }
6066
+ /**
6067
+ * Detach the proxy element from the DOM
6068
+ */
5684
6069
  detachProxy() {
5685
- var _a;
5686
6070
  this.removeChild(this.proxy);
5687
- (_a = this.shadowRoot) == null ? void 0 : _a.removeChild(this.proxySlot);
6071
+ this.shadowRoot?.removeChild(this.proxySlot);
5688
6072
  }
6073
+ /** {@inheritDoc (FormAssociated:interface).validate} */
5689
6074
  validate(anchor) {
5690
6075
  if (this.proxy instanceof HTMLElement) {
5691
6076
  this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);
5692
6077
  }
5693
6078
  }
6079
+ /**
6080
+ * Associates the provided value (and optional state) with the parent form.
6081
+ * @param value - The value to set
6082
+ * @param state - The state object provided to during session restores and when autofilling.
6083
+ */
5694
6084
  setFormValue(value, state) {
5695
6085
  if (this.elementInternals) {
5696
6086
  this.elementInternals.setFormValue(value, state || value);
@@ -5701,11 +6091,15 @@ function FormAssociated(BaseCtor) {
5701
6091
  case keyEnter:
5702
6092
  if (this.form instanceof HTMLFormElement) {
5703
6093
  const defaultButton = this.form.querySelector("[type=submit]");
5704
- defaultButton == null ? void 0 : defaultButton.click();
6094
+ defaultButton?.click();
5705
6095
  }
5706
6096
  break;
5707
6097
  }
5708
6098
  }
6099
+ /**
6100
+ * Used to stop propagation of proxy element events
6101
+ * @param e - Event object
6102
+ */
5709
6103
  stopPropagation(e) {
5710
6104
  e.stopPropagation();
5711
6105
  }
@@ -5732,14 +6126,35 @@ function CheckableFormAssociated(BaseCtor) {
5732
6126
  class D extends C {
5733
6127
  constructor(...args) {
5734
6128
  super(args);
6129
+ /**
6130
+ * Tracks whether the "checked" property has been changed.
6131
+ * This is necessary to provide consistent behavior with
6132
+ * normal input checkboxes
6133
+ */
5735
6134
  this.dirtyChecked = false;
6135
+ /**
6136
+ * Provides the default checkedness of the input element
6137
+ * Passed down to proxy
6138
+ *
6139
+ * @public
6140
+ * @remarks
6141
+ * HTML Attribute: checked
6142
+ */
5736
6143
  this.checkedAttribute = false;
6144
+ /**
6145
+ * The checked state of the control.
6146
+ *
6147
+ * @public
6148
+ */
5737
6149
  this.checked = false;
5738
6150
  this.dirtyChecked = false;
5739
6151
  }
5740
6152
  checkedAttributeChanged() {
5741
6153
  this.defaultChecked = this.checkedAttribute;
5742
6154
  }
6155
+ /**
6156
+ * @internal
6157
+ */
5743
6158
  defaultCheckedChanged() {
5744
6159
  if (!this.dirtyChecked) {
5745
6160
  this.checked = this.defaultChecked;
@@ -5809,8 +6224,17 @@ var __decorateClass$k = (decorators, target, key, kind) => {
5809
6224
  class Checkbox extends FormAssociatedCheckbox {
5810
6225
  constructor() {
5811
6226
  super();
6227
+ /**
6228
+ * The element's value to be included in form submission when checked.
6229
+ * Default to "on" to reach parity with input[type="checkbox"]
6230
+ *
6231
+ * @internal
6232
+ */
5812
6233
  this.initialValue = "on";
5813
6234
  this.indeterminate = false;
6235
+ /**
6236
+ * @internal
6237
+ */
5814
6238
  this.keypressHandler = e => {
5815
6239
  if (this.disabled) {
5816
6240
  return;
@@ -5821,6 +6245,9 @@ class Checkbox extends FormAssociatedCheckbox {
5821
6245
  break;
5822
6246
  }
5823
6247
  };
6248
+ /**
6249
+ * @internal
6250
+ */
5824
6251
  this.clickHandler = e => {
5825
6252
  if (!this.disabled) {
5826
6253
  this.toggleChecked();
@@ -5937,9 +6364,14 @@ class CounterBadge extends FASTElement {
5937
6364
  overflowCountChanged() {
5938
6365
  this.setCount();
5939
6366
  }
6367
+ /**
6368
+ * @internal
6369
+ * Function to set the count
6370
+ * This is the default slotted content for the counter badge
6371
+ * If children are slotted, that will override the value returned
6372
+ */
5940
6373
  setCount() {
5941
- var _a;
5942
- const count = (_a = this.count) != null ? _a : 0;
6374
+ const count = this.count ?? 0;
5943
6375
  if ((count !== 0 || this.showZero) && !this.dot) {
5944
6376
  return count > this.overflowCount ? `${this.overflowCount}+` : `${count}`;
5945
6377
  }
@@ -6380,21 +6812,40 @@ var __decorateClass$i = (decorators, target, key, kind) => {
6380
6812
  if (kind && result) __defProp$i(target, key, result);
6381
6813
  return result;
6382
6814
  };
6383
- const _Dialog = class extends FASTElement {
6815
+ const _Dialog = class _Dialog extends FASTElement {
6384
6816
  constructor() {
6385
6817
  super(...arguments);
6818
+ /**
6819
+ * @private
6820
+ * Indicates whether focus is being trapped within the dialog
6821
+ */
6386
6822
  this.isTrappingFocus = false;
6387
6823
  this.titleAction = [];
6388
6824
  this.modalType = DialogModalType.modal;
6389
6825
  this.open = false;
6390
6826
  this.noTitleAction = false;
6827
+ /**
6828
+ * @private
6829
+ * Indicates whether focus should be trapped within the dialog
6830
+ */
6391
6831
  this.trapFocus = false;
6832
+ /**
6833
+ * @public
6834
+ * Method to emit an event when the dialog's open state changes
6835
+ * @param dismissed - Indicates whether the dialog was dismissed
6836
+ */
6392
6837
  this.onOpenChangeEvent = (dismissed = false) => {
6393
6838
  this.$emit("onOpenChange", {
6394
6839
  open: this.dialog.open,
6395
6840
  dismissed
6396
6841
  });
6397
6842
  };
6843
+ /**
6844
+ * @public
6845
+ * Handles keydown events on the dialog
6846
+ * @param e - The keydown event
6847
+ * @returns boolean | void
6848
+ */
6398
6849
  this.handleKeydown = e => {
6399
6850
  if (e.defaultPrevented) {
6400
6851
  return;
@@ -6410,6 +6861,11 @@ const _Dialog = class extends FASTElement {
6410
6861
  return true;
6411
6862
  }
6412
6863
  };
6864
+ /**
6865
+ * @private
6866
+ * Handles keydown events on the document
6867
+ * @param e - The keydown event
6868
+ */
6413
6869
  this.handleDocumentKeydown = e => {
6414
6870
  if (!e.defaultPrevented && this.dialog.open) {
6415
6871
  switch (e.key) {
@@ -6419,6 +6875,11 @@ const _Dialog = class extends FASTElement {
6419
6875
  }
6420
6876
  }
6421
6877
  };
6878
+ /**
6879
+ * @private
6880
+ * Handles tab keydown events
6881
+ * @param e - The keydown event
6882
+ */
6422
6883
  this.handleTabKeyDown = e => {
6423
6884
  if (!this.trapFocus || !this.dialog.open) {
6424
6885
  return;
@@ -6438,10 +6899,19 @@ const _Dialog = class extends FASTElement {
6438
6899
  }
6439
6900
  return;
6440
6901
  };
6902
+ /**
6903
+ * @private
6904
+ * Gets the bounds of the tab queue
6905
+ * @returns (HTMLElement | SVGElement)[]
6906
+ */
6441
6907
  this.getTabQueueBounds = () => {
6442
6908
  const bounds = [];
6443
6909
  return _Dialog.reduceTabbableItems(bounds, this);
6444
6910
  };
6911
+ /**
6912
+ * @private
6913
+ * Focuses the first element in the tab queue
6914
+ */
6445
6915
  this.focusFirstElement = () => {
6446
6916
  const bounds = this.getTabQueueBounds();
6447
6917
  if (bounds.length > 0) {
@@ -6452,18 +6922,39 @@ const _Dialog = class extends FASTElement {
6452
6922
  }
6453
6923
  }
6454
6924
  };
6925
+ /**
6926
+ * @private
6927
+ * Determines if focus should be forced
6928
+ * @param currentFocusElement - The currently focused element
6929
+ * @returns boolean
6930
+ */
6455
6931
  this.shouldForceFocus = currentFocusElement => {
6456
6932
  return this.isTrappingFocus && !this.contains(currentFocusElement);
6457
6933
  };
6934
+ /**
6935
+ * @private
6936
+ * Determines if focus should be trapped
6937
+ * @returns boolean
6938
+ */
6458
6939
  this.shouldTrapFocus = () => {
6459
6940
  return this.trapFocus && this.dialog.open;
6460
6941
  };
6942
+ /**
6943
+ * @private
6944
+ * Handles focus events on the document
6945
+ * @param e - The focus event
6946
+ */
6461
6947
  this.handleDocumentFocus = e => {
6462
6948
  if (!e.defaultPrevented && this.shouldForceFocus(e.target)) {
6463
6949
  this.focusFirstElement();
6464
6950
  e.preventDefault();
6465
6951
  }
6466
6952
  };
6953
+ /**
6954
+ * @private
6955
+ * Updates the state of focus trapping
6956
+ * @param shouldTrapFocusOverride - Optional override for whether focus should be trapped
6957
+ */
6467
6958
  this.updateTrapFocus = shouldTrapFocusOverride => {
6468
6959
  const shouldTrapFocus = shouldTrapFocusOverride === void 0 ? this.shouldTrapFocus() : shouldTrapFocusOverride;
6469
6960
  if (shouldTrapFocus && !this.isTrappingFocus) {
@@ -6480,6 +6971,10 @@ const _Dialog = class extends FASTElement {
6480
6971
  }
6481
6972
  };
6482
6973
  }
6974
+ /**
6975
+ * @public
6976
+ * Lifecycle method called when the element is connected to the DOM
6977
+ */
6483
6978
  connectedCallback() {
6484
6979
  super.connectedCallback();
6485
6980
  document.addEventListener("keydown", this.handleDocumentKeydown);
@@ -6488,11 +6983,19 @@ const _Dialog = class extends FASTElement {
6488
6983
  this.setComponent();
6489
6984
  });
6490
6985
  }
6986
+ /**
6987
+ * @public
6988
+ * Lifecycle method called when the element is disconnected from the DOM
6989
+ */
6491
6990
  disconnectedCallback() {
6492
6991
  super.disconnectedCallback();
6493
6992
  document.removeEventListener("keydown", this.handleDocumentKeydown);
6494
6993
  this.updateTrapFocus(false);
6495
6994
  }
6995
+ /**
6996
+ * @public
6997
+ * Method called when the 'open' attribute changes
6998
+ */
6496
6999
  openChanged(oldValue, newValue) {
6497
7000
  if (newValue !== oldValue) {
6498
7001
  if (newValue && !oldValue) {
@@ -6502,6 +7005,10 @@ const _Dialog = class extends FASTElement {
6502
7005
  }
6503
7006
  }
6504
7007
  }
7008
+ /**
7009
+ * @public
7010
+ * Method called when the 'modalType' attribute changes
7011
+ */
6505
7012
  modalTypeChanged(oldValue, newValue) {
6506
7013
  if (newValue !== oldValue) {
6507
7014
  if (newValue == DialogModalType.alert || newValue == DialogModalType.modal) {
@@ -6511,6 +7018,10 @@ const _Dialog = class extends FASTElement {
6511
7018
  }
6512
7019
  }
6513
7020
  }
7021
+ /**
7022
+ * @public
7023
+ * Method to set the component's state based on its attributes
7024
+ */
6514
7025
  setComponent() {
6515
7026
  if (this.modalType == DialogModalType.modal || this.modalType == DialogModalType.alert) {
6516
7027
  this.trapFocus = true;
@@ -6518,6 +7029,10 @@ const _Dialog = class extends FASTElement {
6518
7029
  this.trapFocus = false;
6519
7030
  }
6520
7031
  }
7032
+ /**
7033
+ * @public
7034
+ * Method to show the dialog
7035
+ */
6521
7036
  show() {
6522
7037
  Updates.enqueue(() => {
6523
7038
  if (this.modalType === DialogModalType.alert || this.modalType === DialogModalType.modal) {
@@ -6531,17 +7046,32 @@ const _Dialog = class extends FASTElement {
6531
7046
  this.onOpenChangeEvent();
6532
7047
  });
6533
7048
  }
7049
+ /**
7050
+ * @public
7051
+ * Method to hide the dialog
7052
+ * @param dismissed - Indicates whether the dialog was dismissed
7053
+ */
6534
7054
  hide(dismissed = false) {
6535
7055
  this.dialog.close();
6536
7056
  this.open = false;
6537
7057
  this.onOpenChangeEvent(dismissed);
6538
7058
  }
7059
+ /**
7060
+ * @public
7061
+ * Method to dismiss the dialog
7062
+ */
6539
7063
  dismiss() {
6540
7064
  if (this.modalType === DialogModalType.alert) {
6541
7065
  return;
6542
7066
  }
6543
7067
  this.hide(true);
6544
7068
  }
7069
+ /**
7070
+ * @public
7071
+ * Handles click events on the dialog
7072
+ * @param event - The click event
7073
+ * @returns boolean
7074
+ */
6545
7075
  handleClick(event) {
6546
7076
  event.preventDefault();
6547
7077
  if (this.dialog.open && this.modalType !== DialogModalType.alert && event.target === this.dialog) {
@@ -6549,6 +7079,13 @@ const _Dialog = class extends FASTElement {
6549
7079
  }
6550
7080
  return true;
6551
7081
  }
7082
+ /**
7083
+ * @private
7084
+ * Reduces the list of tabbable items
7085
+ * @param elements - The current list of elements
7086
+ * @param element - The element to consider adding to the list
7087
+ * @returns HTMLElement[]
7088
+ */
6552
7089
  static reduceTabbableItems(elements, element) {
6553
7090
  if (element.getAttribute("tabindex") === "-1") {
6554
7091
  return elements;
@@ -6559,37 +7096,47 @@ const _Dialog = class extends FASTElement {
6559
7096
  }
6560
7097
  return Array.from(element.children).reduce((elements2, currentElement) => _Dialog.reduceTabbableItems(elements2, currentElement), elements);
6561
7098
  }
7099
+ /**
7100
+ * @private
7101
+ * Determines if an element is a focusable FASTElement
7102
+ * @param element - The element to check
7103
+ * @returns boolean
7104
+ */
6562
7105
  static isFocusableFastElement(element) {
6563
- var _a, _b;
6564
- return !!((_b = (_a = element.$fastController) == null ? void 0 : _a.definition.shadowOptions) == null ? void 0 : _b.delegatesFocus);
7106
+ return !!element.$fastController?.definition.shadowOptions?.delegatesFocus;
6565
7107
  }
7108
+ /**
7109
+ * @private
7110
+ * Determines if an element has a tabbable shadow
7111
+ * @param element - The element to check
7112
+ * @returns boolean
7113
+ */
6566
7114
  static hasTabbableShadow(element) {
6567
- var _a, _b;
6568
- return Array.from((_b = (_a = element.shadowRoot) == null ? void 0 : _a.querySelectorAll("*")) != null ? _b : []).some(x => {
7115
+ return Array.from(element.shadowRoot?.querySelectorAll("*") ?? []).some(x => {
6569
7116
  return isTabbable(x);
6570
7117
  });
6571
7118
  }
6572
7119
  };
6573
- let Dialog = _Dialog;
6574
- __decorateClass$i([observable], Dialog.prototype, "dialog", 2);
6575
- __decorateClass$i([observable], Dialog.prototype, "titleAction", 2);
6576
- __decorateClass$i([observable], Dialog.prototype, "defaultTitleAction", 2);
7120
+ __decorateClass$i([observable], _Dialog.prototype, "dialog", 2);
7121
+ __decorateClass$i([observable], _Dialog.prototype, "titleAction", 2);
7122
+ __decorateClass$i([observable], _Dialog.prototype, "defaultTitleAction", 2);
6577
7123
  __decorateClass$i([attr({
6578
7124
  attribute: "aria-describedby"
6579
- })], Dialog.prototype, "ariaDescribedby", 2);
7125
+ })], _Dialog.prototype, "ariaDescribedby", 2);
6580
7126
  __decorateClass$i([attr({
6581
7127
  attribute: "aria-labelledby"
6582
- })], Dialog.prototype, "ariaLabelledby", 2);
7128
+ })], _Dialog.prototype, "ariaLabelledby", 2);
6583
7129
  __decorateClass$i([attr({
6584
7130
  attribute: "modal-type"
6585
- })], Dialog.prototype, "modalType", 2);
7131
+ })], _Dialog.prototype, "modalType", 2);
6586
7132
  __decorateClass$i([attr({
6587
7133
  mode: "boolean"
6588
- })], Dialog.prototype, "open", 2);
7134
+ })], _Dialog.prototype, "open", 2);
6589
7135
  __decorateClass$i([attr({
6590
7136
  mode: "boolean",
6591
7137
  attribute: "no-title-action"
6592
- })], Dialog.prototype, "noTitleAction", 2);
7138
+ })], _Dialog.prototype, "noTitleAction", 2);
7139
+ let Dialog = _Dialog;
6593
7140
 
6594
7141
  const dismissed16Regular = html.partial(`
6595
7142
  <svg
@@ -6622,7 +7169,13 @@ const definition$j = Dialog.compose({
6622
7169
  });
6623
7170
 
6624
7171
  const DividerRole = {
7172
+ /**
7173
+ * The divider semantically separates content
7174
+ */
6625
7175
  separator: "separator",
7176
+ /**
7177
+ * The divider has no semantic value and is for visual presentation only.
7178
+ */
6626
7179
  presentation: "presentation"
6627
7180
  };
6628
7181
  const DividerOrientation = Orientation;
@@ -6749,10 +7302,20 @@ __decorateClass$f([attr({
6749
7302
  mode: "boolean"
6750
7303
  })], Label.prototype, "required", 2);
6751
7304
 
6752
- const styles$f = css`
6753
- ${display("flex")}
6754
-
6755
- :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}}`;
7305
+ const LabelSize = {
7306
+ small: "small",
7307
+ medium: "medium",
7308
+ large: "large"
7309
+ };
7310
+ const LabelWeight = {
7311
+ regular: "regular",
7312
+ semibold: "semibold"
7313
+ };
7314
+
7315
+ const styles$f = css`
7316
+ ${display("flex")}
7317
+
7318
+ :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}}`;
6756
7319
 
6757
7320
  function labelTemplate() {
6758
7321
  return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
@@ -7698,6 +8261,10 @@ class Menu extends FASTElement {
7698
8261
  this.open = false;
7699
8262
  this.slottedMenuList = [];
7700
8263
  this.slottedTriggers = [];
8264
+ /**
8265
+ * Toggles the open state of the menu.
8266
+ * @public
8267
+ */
7701
8268
  this.toggleMenu = () => {
7702
8269
  if (this.open) {
7703
8270
  this.closeMenu();
@@ -7705,12 +8272,20 @@ class Menu extends FASTElement {
7705
8272
  this.openMenu();
7706
8273
  }
7707
8274
  };
8275
+ /**
8276
+ * Closes the menu.
8277
+ * @public
8278
+ */
7708
8279
  this.closeMenu = () => {
7709
8280
  this.open = false;
7710
8281
  if (this.closeOnScroll) {
7711
8282
  document.removeEventListener("scroll", this.closeMenu);
7712
8283
  }
7713
8284
  };
8285
+ /**
8286
+ * Opens the menu.
8287
+ * @public
8288
+ */
7714
8289
  this.openMenu = e => {
7715
8290
  this.open = true;
7716
8291
  if (e && this.openOnContext) {
@@ -7720,9 +8295,20 @@ class Menu extends FASTElement {
7720
8295
  document.addEventListener("scroll", this.closeMenu);
7721
8296
  }
7722
8297
  };
8298
+ /**
8299
+ * The task to set the positioning of the menu.
8300
+ * @protected
8301
+ */
7723
8302
  this.setPositioningTask = () => {
7724
8303
  this.setPositioning();
7725
8304
  };
8305
+ /**
8306
+ * Handles keyboard interaction for the trigger.
8307
+ * Toggles the menu when the Space or Enter key is pressed.
8308
+ * If the menu is open, focuses on the menu list.
8309
+ * @public
8310
+ * @param {KeyboardEvent} e - the keyboard event
8311
+ */
7726
8312
  this.handleTriggerKeydown = e => {
7727
8313
  if (e.defaultPrevented) {
7728
8314
  return;
@@ -7741,22 +8327,41 @@ class Menu extends FASTElement {
7741
8327
  return true;
7742
8328
  }
7743
8329
  };
8330
+ /**
8331
+ * Handles document click events to close the menu when a click occurs outside of the menu or the trigger.
8332
+ * @private
8333
+ * @param {Event} e - The event triggered on document click.
8334
+ */
7744
8335
  this.handleDocumentClick = e => {
7745
8336
  if (e && !e.composedPath().includes(this._menuList) && !e.composedPath().includes(this._trigger)) {
7746
8337
  this.closeMenu();
7747
8338
  }
7748
8339
  };
7749
8340
  }
8341
+ /**
8342
+ * Called when the element is connected to the DOM.
8343
+ * Sets up the component.
8344
+ * @public
8345
+ */
7750
8346
  connectedCallback() {
7751
8347
  super.connectedCallback();
7752
8348
  Updates.enqueue(() => this.setComponent());
7753
8349
  }
8350
+ /**
8351
+ * Called when the element is disconnected from the DOM.
8352
+ * Removes event listeners.
8353
+ * @public
8354
+ */
7754
8355
  disconnectedCallback() {
7755
- var _a;
7756
8356
  super.disconnectedCallback();
7757
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8357
+ this.cleanup?.();
7758
8358
  this.removeListeners();
7759
8359
  }
8360
+ /**
8361
+ * Sets the component.
8362
+ * Sets the trigger and menu list elements and adds event listeners.
8363
+ * @public
8364
+ */
7760
8365
  setComponent() {
7761
8366
  if (this.$fastController.isConnected && this.slottedMenuList.length && this.slottedTriggers.length) {
7762
8367
  this._trigger = this.slottedTriggers[0];
@@ -7766,6 +8371,10 @@ class Menu extends FASTElement {
7766
8371
  this.addListeners();
7767
8372
  }
7768
8373
  }
8374
+ /**
8375
+ * Focuses on the menu list.
8376
+ * @public
8377
+ */
7769
8378
  focusMenuList() {
7770
8379
  if (this.open && this._menuList) {
7771
8380
  Updates.enqueue(() => {
@@ -7773,6 +8382,10 @@ class Menu extends FASTElement {
7773
8382
  });
7774
8383
  }
7775
8384
  }
8385
+ /**
8386
+ * Focuses on the menu trigger.
8387
+ * @public
8388
+ */
7776
8389
  focusTrigger() {
7777
8390
  if (!this.open && this._trigger) {
7778
8391
  Updates.enqueue(() => {
@@ -7780,43 +8393,76 @@ class Menu extends FASTElement {
7780
8393
  });
7781
8394
  }
7782
8395
  }
8396
+ /**
8397
+ * Called whenever the open state changes.
8398
+ * Updates the 'aria-expanded' attribute and sets the positioning of the menu.
8399
+ * Sets menu list position
8400
+ * emits openChanged event
8401
+ * @public
8402
+ * @param {boolean} oldValue - The previous value of 'open'.
8403
+ * @param {boolean} newValue - The new value of 'open'.
8404
+ */
7783
8405
  openChanged(oldValue, newValue) {
7784
- var _a;
7785
8406
  if (this.$fastController.isConnected && this._trigger instanceof HTMLElement) {
7786
8407
  this._trigger.setAttribute("aria-expanded", `${this.open}`);
7787
8408
  if (this._menuList && this.open) {
7788
8409
  Updates.enqueue(this.setPositioningTask);
7789
8410
  }
7790
8411
  }
7791
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8412
+ this.cleanup?.();
7792
8413
  this.$emit("onOpenChange", {
7793
8414
  open: newValue
7794
8415
  });
7795
8416
  }
8417
+ /**
8418
+ * Called whenever the 'openOnHover' property changes.
8419
+ * Adds or removes a 'mouseover' event listener to the trigger based on the new value.
8420
+ * @public
8421
+ * @param {boolean} oldValue - The previous value of 'openOnHover'.
8422
+ * @param {boolean} newValue - The new value of 'openOnHover'.
8423
+ */
7796
8424
  openOnHoverChanged(oldValue, newValue) {
7797
- var _a, _b;
7798
8425
  if (newValue) {
7799
- (_a = this._trigger) == null ? void 0 : _a.addEventListener("mouseover", this.openMenu);
8426
+ this._trigger?.addEventListener("mouseover", this.openMenu);
7800
8427
  } else {
7801
- (_b = this._trigger) == null ? void 0 : _b.removeEventListener("mouseover", this.openMenu);
8428
+ this._trigger?.removeEventListener("mouseover", this.openMenu);
7802
8429
  }
7803
8430
  }
8431
+ /**
8432
+ * Called whenever the 'persistOnItemClick' property changes.
8433
+ * Adds or removes a 'click' event listener to the menu list based on the new value.
8434
+ * @public
8435
+ * @param {boolean} oldValue - The previous value of 'persistOnItemClick'.
8436
+ * @param {boolean} newValue - The new value of 'persistOnItemClick'.
8437
+ */
7804
8438
  persistOnItemClickChanged(oldValue, newValue) {
7805
- var _a, _b;
7806
8439
  if (!newValue) {
7807
- (_a = this._menuList) == null ? void 0 : _a.addEventListener("click", this.closeMenu);
8440
+ this._menuList?.addEventListener("click", this.closeMenu);
7808
8441
  } else {
7809
- (_b = this._menuList) == null ? void 0 : _b.removeEventListener("click", this.closeMenu);
8442
+ this._menuList?.removeEventListener("click", this.closeMenu);
7810
8443
  }
7811
8444
  }
8445
+ /**
8446
+ * Called whenever the 'openOnContext' property changes.
8447
+ * Adds or removes a 'contextmenu' event listener to the trigger based on the new value.
8448
+ * @public
8449
+ * @param {boolean} oldValue - The previous value of 'openOnContext'.
8450
+ * @param {boolean} newValue - The new value of 'openOnContext'.
8451
+ */
7812
8452
  openOnContextChanged(oldValue, newValue) {
7813
- var _a, _b;
7814
8453
  if (newValue) {
7815
- (_a = this._trigger) == null ? void 0 : _a.addEventListener("contextmenu", this.openMenu);
8454
+ this._trigger?.addEventListener("contextmenu", this.openMenu);
7816
8455
  } else {
7817
- (_b = this._trigger) == null ? void 0 : _b.removeEventListener("contextmenu", this.openMenu);
8456
+ this._trigger?.removeEventListener("contextmenu", this.openMenu);
7818
8457
  }
7819
8458
  }
8459
+ /**
8460
+ * Called whenever the 'closeOnScroll' property changes.
8461
+ * Adds or removes a 'closeOnScroll' event listener to the trigger based on the new value.
8462
+ * @public
8463
+ * @param {boolean} oldValue - The previous value of 'closeOnScroll'.
8464
+ * @param {boolean} newValue - The new value of 'closeOnScroll'.
8465
+ */
7820
8466
  closeOnScrollChanged(oldValue, newValue) {
7821
8467
  if (newValue) {
7822
8468
  document.addEventListener("scroll", this.closeMenu);
@@ -7824,10 +8470,13 @@ class Menu extends FASTElement {
7824
8470
  document.removeEventListener("scroll", this.closeMenu);
7825
8471
  }
7826
8472
  }
8473
+ /**
8474
+ * Sets the positioning of the menu.
8475
+ * @protected
8476
+ */
7827
8477
  setPositioning() {
7828
8478
  if (this.$fastController.isConnected && this._menuList && this.open && this._trigger) {
7829
8479
  this.cleanup = P(this, this.positioningContainer, async () => {
7830
- var _a, _b;
7831
8480
  const {
7832
8481
  middlewareData,
7833
8482
  x,
@@ -7840,19 +8489,18 @@ class Menu extends FASTElement {
7840
8489
  availableHeight,
7841
8490
  rects
7842
8491
  }) => {
7843
- var _a2;
7844
- ((_a2 = this.positioningContainer) == null ? void 0 : _a2.style) && Object.assign(this.positioningContainer.style, {
8492
+ this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
7845
8493
  maxHeight: `${availableHeight}px`,
7846
8494
  width: `${rects.reference.width}px`
7847
8495
  });
7848
8496
  }
7849
8497
  }), P$1()]
7850
8498
  });
7851
- if ((_a = middlewareData.hide) == null ? void 0 : _a.referenceHidden) {
8499
+ if (middlewareData.hide?.referenceHidden) {
7852
8500
  this.open = false;
7853
8501
  return;
7854
8502
  }
7855
- ((_b = this.positioningContainer) == null ? void 0 : _b.style) && Object.assign(this.positioningContainer.style, {
8503
+ this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
7856
8504
  position: "fixed",
7857
8505
  top: "0",
7858
8506
  left: "0",
@@ -7861,37 +8509,54 @@ class Menu extends FASTElement {
7861
8509
  });
7862
8510
  }
7863
8511
  }
8512
+ /**
8513
+ * Adds event listeners.
8514
+ * Adds click and keydown event listeners to the trigger and a click event listener to the document.
8515
+ * If 'openOnHover' is true, adds a 'mouseover' event listener to the trigger.
8516
+ * @public
8517
+ */
7864
8518
  addListeners() {
7865
- var _a, _b, _c, _d, _e;
7866
8519
  document.addEventListener("click", this.handleDocumentClick);
7867
- (_a = this._trigger) == null ? void 0 : _a.addEventListener("keydown", this.handleTriggerKeydown);
8520
+ this._trigger?.addEventListener("keydown", this.handleTriggerKeydown);
7868
8521
  if (!this.persistOnItemClick) {
7869
- (_b = this._menuList) == null ? void 0 : _b.addEventListener("click", this.closeMenu);
8522
+ this._menuList?.addEventListener("click", this.closeMenu);
7870
8523
  }
7871
8524
  if (this.openOnHover) {
7872
- (_c = this._trigger) == null ? void 0 : _c.addEventListener("mouseover", this.openMenu);
8525
+ this._trigger?.addEventListener("mouseover", this.openMenu);
7873
8526
  } else if (this.openOnContext) {
7874
- (_d = this._trigger) == null ? void 0 : _d.addEventListener("contextmenu", this.openMenu);
8527
+ this._trigger?.addEventListener("contextmenu", this.openMenu);
7875
8528
  } else {
7876
- (_e = this._trigger) == null ? void 0 : _e.addEventListener("click", this.toggleMenu);
8529
+ this._trigger?.addEventListener("click", this.toggleMenu);
7877
8530
  }
7878
8531
  }
8532
+ /**
8533
+ * Removes event listeners.
8534
+ * Removes click and keydown event listeners from the trigger and a click event listener from the document.
8535
+ * Also removes 'mouseover' event listeners from the trigger.
8536
+ * @private
8537
+ */
7879
8538
  removeListeners() {
7880
- var _a, _b, _c, _d, _e;
7881
8539
  document.removeEventListener("click", this.handleDocumentClick);
7882
- (_a = this._trigger) == null ? void 0 : _a.removeEventListener("keydown", this.handleTriggerKeydown);
8540
+ this._trigger?.removeEventListener("keydown", this.handleTriggerKeydown);
7883
8541
  if (!this.persistOnItemClick) {
7884
- (_b = this._menuList) == null ? void 0 : _b.removeEventListener("click", this.closeMenu);
8542
+ this._menuList?.removeEventListener("click", this.closeMenu);
7885
8543
  }
7886
8544
  if (this.openOnHover) {
7887
- (_c = this._trigger) == null ? void 0 : _c.removeEventListener("mouseover", this.openMenu);
8545
+ this._trigger?.removeEventListener("mouseover", this.openMenu);
7888
8546
  }
7889
8547
  if (this.openOnContext) {
7890
- (_d = this._trigger) == null ? void 0 : _d.removeEventListener("contextmenu", this.openMenu);
8548
+ this._trigger?.removeEventListener("contextmenu", this.openMenu);
7891
8549
  } else {
7892
- (_e = this._trigger) == null ? void 0 : _e.removeEventListener("click", this.toggleMenu);
8550
+ this._trigger?.removeEventListener("click", this.toggleMenu);
7893
8551
  }
7894
8552
  }
8553
+ /**
8554
+ * Handles keyboard interaction for the menu.
8555
+ * Closes the menu and focuses on the trigger when the Escape key is pressed.
8556
+ * Closes the menu when the Tab key is pressed.
8557
+ * @public
8558
+ * @param {KeyboardEvent} e - the keyboard event
8559
+ */
7895
8560
  handleMenuKeydown(e) {
7896
8561
  if (e.defaultPrevented) {
7897
8562
  return;
@@ -7966,7 +8631,8 @@ const MenuButtonShape = ButtonShape;
7966
8631
  const MenuButtonSize = ButtonSize;
7967
8632
 
7968
8633
  const template$e = buttonTemplate$1({
7969
- end: html.partial(`
8634
+ end: html.partial( /* html */
8635
+ `
7970
8636
  <svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
7971
8637
  <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>
7972
8638
  </svg>
@@ -7980,8 +8646,17 @@ const definition$e = MenuButton.compose({
7980
8646
  });
7981
8647
 
7982
8648
  const MenuItemRole = {
8649
+ /**
8650
+ * The menu item has a "menuitem" role
8651
+ */
7983
8652
  menuitem: "menuitem",
8653
+ /**
8654
+ * The menu item has a "menuitemcheckbox" role
8655
+ */
7984
8656
  menuitemcheckbox: "menuitemcheckbox",
8657
+ /**
8658
+ * The menu item has a "menuitemradio" role
8659
+ */
7985
8660
  menuitemradio: "menuitemradio"
7986
8661
  };
7987
8662
  const roleForMenuItem = {
@@ -8004,6 +8679,9 @@ class MenuItem extends FASTElement {
8004
8679
  this.role = MenuItemRole.menuitem;
8005
8680
  this.checked = false;
8006
8681
  this.focusSubmenuOnLoad = false;
8682
+ /**
8683
+ * @internal
8684
+ */
8007
8685
  this.handleMenuItemKeyDown = e => {
8008
8686
  if (e.defaultPrevented) {
8009
8687
  return false;
@@ -8030,6 +8708,9 @@ class MenuItem extends FASTElement {
8030
8708
  }
8031
8709
  return true;
8032
8710
  };
8711
+ /**
8712
+ * @internal
8713
+ */
8033
8714
  this.handleMenuItemClick = e => {
8034
8715
  if (e.defaultPrevented || this.disabled) {
8035
8716
  return false;
@@ -8037,6 +8718,9 @@ class MenuItem extends FASTElement {
8037
8718
  this.invoke();
8038
8719
  return false;
8039
8720
  };
8721
+ /**
8722
+ * @internal
8723
+ */
8040
8724
  this.submenuLoaded = () => {
8041
8725
  if (!this.focusSubmenuOnLoad) {
8042
8726
  return;
@@ -8047,6 +8731,9 @@ class MenuItem extends FASTElement {
8047
8731
  this.setAttribute("tabindex", "-1");
8048
8732
  }
8049
8733
  };
8734
+ /**
8735
+ * @internal
8736
+ */
8050
8737
  this.handleMouseOver = e => {
8051
8738
  if (this.disabled || !this.hasSubmenu || this.expanded) {
8052
8739
  return false;
@@ -8054,6 +8741,9 @@ class MenuItem extends FASTElement {
8054
8741
  this.expanded = true;
8055
8742
  return false;
8056
8743
  };
8744
+ /**
8745
+ * @internal
8746
+ */
8057
8747
  this.handleMouseOut = e => {
8058
8748
  if (!this.expanded || this.contains(document.activeElement)) {
8059
8749
  return false;
@@ -8061,10 +8751,16 @@ class MenuItem extends FASTElement {
8061
8751
  this.expanded = false;
8062
8752
  return false;
8063
8753
  };
8754
+ /**
8755
+ * @internal
8756
+ */
8064
8757
  this.closeSubMenu = () => {
8065
8758
  this.expanded = false;
8066
8759
  this.focus();
8067
8760
  };
8761
+ /**
8762
+ * @internal
8763
+ */
8068
8764
  this.expandAndFocus = () => {
8069
8765
  if (!this.hasSubmenu) {
8070
8766
  return;
@@ -8072,6 +8768,9 @@ class MenuItem extends FASTElement {
8072
8768
  this.focusSubmenuOnLoad = true;
8073
8769
  this.expanded = true;
8074
8770
  };
8771
+ /**
8772
+ * @internal
8773
+ */
8075
8774
  this.invoke = () => {
8076
8775
  if (this.disabled) {
8077
8776
  return;
@@ -8110,23 +8809,37 @@ class MenuItem extends FASTElement {
8110
8809
  this.$emit("change");
8111
8810
  }
8112
8811
  }
8812
+ /**
8813
+ * @internal
8814
+ */
8113
8815
  get hasSubmenu() {
8114
8816
  return !!this.submenu;
8115
8817
  }
8818
+ /**
8819
+ * Sets the submenu and updates its position.
8820
+ *
8821
+ * @internal
8822
+ */
8116
8823
  slottedSubmenuChanged(prev, next) {
8117
8824
  if (next.length) {
8118
8825
  this.submenu = next[0];
8119
8826
  this.updateSubmenu();
8120
8827
  }
8121
8828
  }
8829
+ /**
8830
+ * @internal
8831
+ */
8122
8832
  disconnectedCallback() {
8123
- var _a;
8124
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8833
+ this.cleanup?.();
8125
8834
  super.disconnectedCallback();
8126
8835
  }
8836
+ /**
8837
+ * Calculate and apply submenu positioning.
8838
+ *
8839
+ * @public
8840
+ */
8127
8841
  updateSubmenu() {
8128
- var _a;
8129
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8842
+ this.cleanup?.();
8130
8843
  if (!this.submenu || !this.expanded) {
8131
8844
  return;
8132
8845
  }
@@ -8212,14 +8925,25 @@ var __decorateClass$c = (decorators, target, key, kind) => {
8212
8925
  if (kind && result) __defProp$c(target, key, result);
8213
8926
  return result;
8214
8927
  };
8215
- const _MenuList = class extends FASTElement {
8928
+ const _MenuList = class _MenuList extends FASTElement {
8216
8929
  constructor() {
8217
8930
  super(...arguments);
8218
8931
  this.expandedItem = null;
8932
+ /**
8933
+ * The index of the focusable element in the items array
8934
+ * defaults to -1
8935
+ */
8219
8936
  this.focusIndex = -1;
8937
+ /**
8938
+ * @internal
8939
+ */
8220
8940
  this.isNestedMenu = () => {
8221
8941
  return this.parentElement !== null && isHTMLElement(this.parentElement) && this.parentElement.getAttribute("role") === "menuitem";
8222
8942
  };
8943
+ /**
8944
+ * if focus is moving out of the menu, reset to a stable initial state
8945
+ * @internal
8946
+ */
8223
8947
  this.handleFocusOut = e => {
8224
8948
  if (!this.contains(e.relatedTarget) && this.menuItems !== void 0) {
8225
8949
  this.collapseExpandedItem();
@@ -8257,6 +8981,9 @@ const _MenuList = class extends FASTElement {
8257
8981
  changedItem.setAttribute("tabindex", "0");
8258
8982
  }
8259
8983
  };
8984
+ /**
8985
+ * handle change from child element
8986
+ */
8260
8987
  this.changeHandler = e => {
8261
8988
  if (this.menuItems === void 0) {
8262
8989
  return;
@@ -8290,9 +9017,15 @@ const _MenuList = class extends FASTElement {
8290
9017
  }
8291
9018
  }
8292
9019
  };
9020
+ /**
9021
+ * check if the item is a menu item
9022
+ */
8293
9023
  this.isMenuItemElement = el => {
8294
9024
  return el instanceof MenuItem || isHTMLElement(el) && el.getAttribute("role") in _MenuList.focusableElementRoles;
8295
9025
  };
9026
+ /**
9027
+ * check if the item is focusable
9028
+ */
8296
9029
  this.isFocusableElement = el => {
8297
9030
  return this.isMenuItemElement(el);
8298
9031
  };
@@ -8302,6 +9035,9 @@ const _MenuList = class extends FASTElement {
8302
9035
  this.setItems();
8303
9036
  }
8304
9037
  }
9038
+ /**
9039
+ * @internal
9040
+ */
8305
9041
  connectedCallback() {
8306
9042
  super.connectedCallback();
8307
9043
  Updates.enqueue(() => {
@@ -8309,21 +9045,37 @@ const _MenuList = class extends FASTElement {
8309
9045
  });
8310
9046
  this.addEventListener("change", this.changeHandler);
8311
9047
  }
9048
+ /**
9049
+ * @internal
9050
+ */
8312
9051
  disconnectedCallback() {
8313
9052
  super.disconnectedCallback();
8314
9053
  this.removeItemListeners();
8315
9054
  this.menuItems = void 0;
8316
9055
  this.removeEventListener("change", this.changeHandler);
8317
9056
  }
9057
+ /**
9058
+ * Focuses the first item in the menu.
9059
+ *
9060
+ * @public
9061
+ */
8318
9062
  focus() {
8319
9063
  this.setFocus(0, 1);
8320
9064
  }
9065
+ /**
9066
+ * Collapses any expanded menu items.
9067
+ *
9068
+ * @public
9069
+ */
8321
9070
  collapseExpandedItem() {
8322
9071
  if (this.expandedItem !== null) {
8323
9072
  this.expandedItem.expanded = false;
8324
9073
  this.expandedItem = null;
8325
9074
  }
8326
9075
  }
9076
+ /**
9077
+ * @internal
9078
+ */
8327
9079
  handleMenuKeyDown(e) {
8328
9080
  if (e.defaultPrevented || this.menuItems === void 0) {
8329
9081
  return;
@@ -8361,7 +9113,6 @@ const _MenuList = class extends FASTElement {
8361
9113
  return startSlot ? 1 : 0;
8362
9114
  }
8363
9115
  setItems() {
8364
- var _a;
8365
9116
  const children = Array.from(this.children);
8366
9117
  this.removeItemListeners(children);
8367
9118
  children.forEach(child => Observable.getNotifier(child).subscribe(this, "hidden"));
@@ -8376,9 +9127,9 @@ const _MenuList = class extends FASTElement {
8376
9127
  item.addEventListener("expanded-change", this.handleExpandedChanged);
8377
9128
  item.addEventListener("focus", this.handleItemFocus);
8378
9129
  });
8379
- const filteredMenuListItems = (_a = this.menuItems) == null ? void 0 : _a.filter(this.isMenuItemElement);
8380
- filteredMenuListItems == null ? void 0 : filteredMenuListItems.forEach((item, index) => {
8381
- const indent = filteredMenuListItems == null ? void 0 : filteredMenuListItems.reduce((accum, current) => {
9130
+ const filteredMenuListItems = this.menuItems?.filter(this.isMenuItemElement);
9131
+ filteredMenuListItems?.forEach((item, index) => {
9132
+ const indent = filteredMenuListItems?.reduce((accum, current) => {
8382
9133
  const elementValue = _MenuList.elementIndent(current);
8383
9134
  return Math.max(accum, elementValue);
8384
9135
  }, 0);
@@ -8411,9 +9162,9 @@ const _MenuList = class extends FASTElement {
8411
9162
  }
8412
9163
  }
8413
9164
  };
9165
+ _MenuList.focusableElementRoles = MenuItemRole;
9166
+ __decorateClass$c([observable], _MenuList.prototype, "items", 2);
8414
9167
  let MenuList = _MenuList;
8415
- MenuList.focusableElementRoles = MenuItemRole;
8416
- __decorateClass$c([observable], MenuList.prototype, "items", 2);
8417
9168
 
8418
9169
  function menuTemplate() {
8419
9170
  return html`<template slot="${x => x.slot ? x.slot : x.isNestedMenu() ? "submenu" : void 0}" role="menu" @keydown="${(x, c) => x.handleMenuKeyDown(c.event)}" @focusout="${(x, c) => x.handleFocusOut(c.event)}"><slot ${slotted("items")}></slot></template>`;
@@ -8457,6 +9208,9 @@ class BaseProgress extends FASTElement {
8457
9208
  this.updatePercentComplete();
8458
9209
  }
8459
9210
  }
9211
+ /**
9212
+ * @internal
9213
+ */
8460
9214
  connectedCallback() {
8461
9215
  super.connectedCallback();
8462
9216
  this.updatePercentComplete();
@@ -8563,26 +9317,36 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
8563
9317
  class Radio extends FormAssociatedRadio {
8564
9318
  constructor() {
8565
9319
  super();
9320
+ /**
9321
+ * The element's value to be included in form submission when checked.
9322
+ * Default to "on" to reach parity with input[type="radio"]
9323
+ *
9324
+ * @internal
9325
+ */
8566
9326
  this.initialValue = "on";
8567
9327
  this.proxy.setAttribute("type", "radio");
8568
9328
  }
8569
9329
  get radioGroup() {
8570
9330
  return this.closest("[role=radiogroup]");
8571
9331
  }
9332
+ /**
9333
+ * @internal
9334
+ */
8572
9335
  defaultCheckedChanged() {
8573
- var _a;
8574
9336
  if (this.$fastController.isConnected && !this.dirtyChecked) {
8575
9337
  if (!this.isInsideRadioGroup()) {
8576
- this.checked = (_a = this.defaultChecked) != null ? _a : false;
9338
+ this.checked = this.defaultChecked ?? false;
8577
9339
  this.dirtyChecked = false;
8578
9340
  }
8579
9341
  }
8580
9342
  }
9343
+ /**
9344
+ * @internal
9345
+ */
8581
9346
  connectedCallback() {
8582
- var _a, _b;
8583
9347
  super.connectedCallback();
8584
9348
  this.validate();
8585
- if (((_a = this.parentElement) == null ? void 0 : _a.getAttribute("role")) !== "radiogroup" && this.getAttribute("tabindex") === null) {
9349
+ if (this.parentElement?.getAttribute("role") !== "radiogroup" && this.getAttribute("tabindex") === null) {
8586
9350
  if (!this.disabled) {
8587
9351
  this.setAttribute("tabindex", "0");
8588
9352
  }
@@ -8590,7 +9354,7 @@ class Radio extends FormAssociatedRadio {
8590
9354
  if (this.checkedAttribute) {
8591
9355
  if (!this.dirtyChecked) {
8592
9356
  if (!this.isInsideRadioGroup()) {
8593
- this.checked = (_b = this.defaultChecked) != null ? _b : false;
9357
+ this.checked = this.defaultChecked ?? false;
8594
9358
  this.dirtyChecked = false;
8595
9359
  }
8596
9360
  }
@@ -8599,11 +9363,14 @@ class Radio extends FormAssociatedRadio {
8599
9363
  isInsideRadioGroup() {
8600
9364
  return this.radioGroup !== null;
8601
9365
  }
9366
+ /**
9367
+ * Handles key presses on the radio.
9368
+ * @beta
9369
+ */
8602
9370
  keypressHandler(e) {
8603
- var _a;
8604
9371
  switch (e.key) {
8605
9372
  case keySpace:
8606
- if (!this.checked && !((_a = this.radioGroup) == null ? void 0 : _a.readOnly)) {
9373
+ if (!this.checked && !this.radioGroup?.readOnly) {
8607
9374
  this.checked = true;
8608
9375
  }
8609
9376
  return;
@@ -8621,10 +9388,7 @@ const styles$a = css`
8621
9388
  :host .control{border-color:InactiveBorder}:host([aria-checked='true']) .checked-indicator,:host([aria-checked='true']:active) .checked-indicator,:host([aria-checked='true']:hover) .checked-indicator{background-color:Highlight;border-color:ActiveBorder}`));
8622
9389
 
8623
9390
  function radioTemplate(options = {}) {
8624
- return html`<template role="radio" aria-checked="${x => x.checked}" aria-required="${x => x.required}" aria-disabled="${x => x.disabled}" @keypress="${(x, c) => x.keypressHandler(c.event)}"><div part="control" class="control"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot></div><label part="label" class="${x => {
8625
- var _a;
8626
- return ["label", !((_a = x.defaultSlottedNodes) == null ? void 0 : _a.length) && "label__hidden"].filter(Boolean).join(" ");
8627
- }}"><slot ${slotted({
9391
+ return html`<template role="radio" aria-checked="${x => x.checked}" aria-required="${x => x.required}" aria-disabled="${x => x.disabled}" @keypress="${(x, c) => x.keypressHandler(c.event)}"><div part="control" class="control"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot></div><label part="label" class="${x => ["label", !x.defaultSlottedNodes?.length && "label__hidden"].filter(Boolean).join(" ")}"><slot ${slotted({
8628
9392
  property: "defaultSlottedNodes",
8629
9393
  filter: whitespaceFilter
8630
9394
  })}></slot></label></template>`;
@@ -8683,13 +9447,14 @@ class RadioGroup extends FASTElement {
8683
9447
  radio.focus();
8684
9448
  };
8685
9449
  this.moveRightOffGroup = () => {
8686
- var _a;
8687
- (_a = this.nextElementSibling) == null ? void 0 : _a.focus();
9450
+ this.nextElementSibling?.focus();
8688
9451
  };
8689
9452
  this.moveLeftOffGroup = () => {
8690
- var _a;
8691
- (_a = this.previousElementSibling) == null ? void 0 : _a.focus();
9453
+ this.previousElementSibling?.focus();
8692
9454
  };
9455
+ /**
9456
+ * @internal
9457
+ */
8693
9458
  this.focusOutHandler = e => {
8694
9459
  const group = this.slottedRadioButtons;
8695
9460
  const radio = e.target;
@@ -8718,6 +9483,9 @@ class RadioGroup extends FASTElement {
8718
9483
  }
8719
9484
  return true;
8720
9485
  };
9486
+ /**
9487
+ * @internal
9488
+ */
8721
9489
  this.handleDisabledClick = e => {
8722
9490
  if (this.disabled) {
8723
9491
  e.preventDefault();
@@ -8725,6 +9493,9 @@ class RadioGroup extends FASTElement {
8725
9493
  }
8726
9494
  return true;
8727
9495
  };
9496
+ /**
9497
+ * @internal
9498
+ */
8728
9499
  this.clickHandler = e => {
8729
9500
  if (this.disabled) {
8730
9501
  return;
@@ -8802,6 +9573,12 @@ class RadioGroup extends FASTElement {
8802
9573
  }
8803
9574
  }
8804
9575
  };
9576
+ /**
9577
+ * keyboard handling per https://w3c.github.io/aria-practices/#for-radio-groups-not-contained-in-a-toolbar
9578
+ * navigation is different when there is an ancestor with role='toolbar'
9579
+ *
9580
+ * @internal
9581
+ */
8805
9582
  this.keydownHandler = e => {
8806
9583
  const key = e.key;
8807
9584
  if (key in ArrowKeys && (this.isInsideFoundationToolbar || this.disabled)) {
@@ -8869,13 +9646,14 @@ class RadioGroup extends FASTElement {
8869
9646
  return this.closest('[role="toolbar"]');
8870
9647
  }
8871
9648
  get isInsideToolbar() {
8872
- var _a;
8873
- return (_a = this.parentToolbar) != null ? _a : false;
9649
+ return this.parentToolbar ?? false;
8874
9650
  }
8875
9651
  get isInsideFoundationToolbar() {
8876
- var _a;
8877
- return !!((_a = this.parentToolbar) == null ? void 0 : _a.hasOwnProperty("$fastController"));
9652
+ return !!this.parentToolbar?.hasOwnProperty("$fastController");
8878
9653
  }
9654
+ /**
9655
+ * @internal
9656
+ */
8879
9657
  connectedCallback() {
8880
9658
  super.connectedCallback();
8881
9659
  this.direction = getDirection(this);
@@ -9055,6 +9833,7 @@ class Slider extends FormAssociatedSlider {
9055
9833
  this.trackWidth = 1;
9056
9834
  }
9057
9835
  };
9836
+ //Remove
9058
9837
  this.setupListeners = (remove = false) => {
9059
9838
  this.addEventListener("keydown", this.keypressHandler);
9060
9839
  this.addEventListener("mousedown", this.handleMouseDown);
@@ -9063,7 +9842,14 @@ class Slider extends FormAssociatedSlider {
9063
9842
  this.removeEventListener("mousedown", this.handleMouseDown);
9064
9843
  }
9065
9844
  };
9845
+ /**
9846
+ * @internal
9847
+ */
9066
9848
  this.initialValue = "";
9849
+ /**
9850
+ * Handle mouse moves during a thumb drag operation
9851
+ * If the event handler is null it removes the events
9852
+ */
9067
9853
  this.handleThumbMouseDown = event => {
9068
9854
  const windowFn = event !== null ? window.addEventListener : window.removeEventListener;
9069
9855
  windowFn("mouseup", this.handleWindowMouseUp);
@@ -9076,6 +9862,9 @@ class Slider extends FormAssociatedSlider {
9076
9862
  windowFn("touchend", this.handleWindowMouseUp);
9077
9863
  this.isDragging = event !== null;
9078
9864
  };
9865
+ /**
9866
+ * Handle mouse moves during a thumb drag operation
9867
+ */
9079
9868
  this.handleMouseMove = e => {
9080
9869
  if (this.readOnly || this.disabled || e.defaultPrevented) {
9081
9870
  return;
@@ -9084,6 +9873,9 @@ class Slider extends FormAssociatedSlider {
9084
9873
  const eventValue = this.orientation === Orientation.horizontal ? sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft : sourceEvent.pageY - document.documentElement.scrollTop;
9085
9874
  this.value = `${this.calculateNewValue(eventValue)}`;
9086
9875
  };
9876
+ /**
9877
+ * Handle a window mouse up during a drag operation
9878
+ */
9087
9879
  this.handleWindowMouseUp = event => {
9088
9880
  this.stopDragging();
9089
9881
  };
@@ -9092,6 +9884,10 @@ class Slider extends FormAssociatedSlider {
9092
9884
  this.handleMouseDown(null);
9093
9885
  this.handleThumbMouseDown(null);
9094
9886
  };
9887
+ /**
9888
+ *
9889
+ * @param e - MouseEvent or null. If there is no event handler it will remove the events
9890
+ */
9095
9891
  this.handleMouseDown = e => {
9096
9892
  if (e === null || !this.disabled && !this.readOnly) {
9097
9893
  const windowFn = e !== null ? window.addEventListener : window.removeEventListener;
@@ -9116,6 +9912,10 @@ class Slider extends FormAssociatedSlider {
9116
9912
  break;
9117
9913
  }
9118
9914
  }
9915
+ /**
9916
+ * Handles changes to step styling based on the step value
9917
+ * NOTE: This function is not a changed callback, stepStyles is not observable
9918
+ */
9119
9919
  handleStepStyles() {
9120
9920
  if (this.step) {
9121
9921
  const totalSteps = 100 / Math.floor((this.max - this.min) / this.step);
@@ -9129,17 +9929,26 @@ class Slider extends FormAssociatedSlider {
9129
9929
  this.$fastController.removeStyles(this.stepStyles);
9130
9930
  }
9131
9931
  }
9932
+ // Map to proxy element
9132
9933
  readOnlyChanged() {
9133
9934
  if (this.proxy instanceof HTMLInputElement) {
9134
9935
  this.proxy.readOnly = this.readOnly;
9135
9936
  }
9136
9937
  }
9938
+ /**
9939
+ * The value property, typed as a number.
9940
+ *
9941
+ * @public
9942
+ */
9137
9943
  get valueAsNumber() {
9138
9944
  return parseFloat(super.value);
9139
9945
  }
9140
9946
  set valueAsNumber(next) {
9141
9947
  this.value = next.toString();
9142
9948
  }
9949
+ /**
9950
+ * @internal
9951
+ */
9143
9952
  valueChanged(previous, next) {
9144
9953
  if (this.$fastController.isConnected) {
9145
9954
  const nextAsNumber = parseFloat(next);
@@ -9153,12 +9962,14 @@ class Slider extends FormAssociatedSlider {
9153
9962
  this.$emit("change");
9154
9963
  }
9155
9964
  }
9965
+ // Map to proxy element.
9156
9966
  minChanged() {
9157
9967
  if (this.proxy instanceof HTMLInputElement) {
9158
9968
  this.proxy.min = `${this.min}`;
9159
9969
  }
9160
9970
  this.validate();
9161
9971
  }
9972
+ // Map to proxy element.
9162
9973
  maxChanged() {
9163
9974
  if (this.proxy instanceof HTMLInputElement) {
9164
9975
  this.proxy.max = `${this.max}`;
@@ -9177,6 +9988,9 @@ class Slider extends FormAssociatedSlider {
9177
9988
  this.setThumbPositionForOrientation(this.direction);
9178
9989
  }
9179
9990
  }
9991
+ /**
9992
+ * @internal
9993
+ */
9180
9994
  connectedCallback() {
9181
9995
  super.connectedCallback();
9182
9996
  this.proxy.setAttribute("type", "range");
@@ -9191,6 +10005,9 @@ class Slider extends FormAssociatedSlider {
9191
10005
  Observable.getNotifier(this).subscribe(this, "step");
9192
10006
  this.handleStepStyles();
9193
10007
  }
10008
+ /**
10009
+ * @internal
10010
+ */
9194
10011
  disconnectedCallback() {
9195
10012
  super.disconnectedCallback();
9196
10013
  this.setupListeners(true);
@@ -9198,21 +10015,41 @@ class Slider extends FormAssociatedSlider {
9198
10015
  Observable.getNotifier(this).unsubscribe(this, "min");
9199
10016
  Observable.getNotifier(this).unsubscribe(this, "step");
9200
10017
  }
10018
+ /**
10019
+ * Increment the value by the step
10020
+ *
10021
+ * @public
10022
+ */
9201
10023
  increment() {
9202
10024
  const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) + Number(this.stepValue) : Number(this.value) + Number(this.stepValue);
9203
10025
  const incrementedVal = this.convertToConstrainedValue(newVal);
9204
10026
  const incrementedValString = incrementedVal < Number(this.max) ? `${incrementedVal}` : `${this.max}`;
9205
10027
  this.value = incrementedValString;
9206
10028
  }
10029
+ /**
10030
+ * Decrement the value by the step
10031
+ *
10032
+ * @public
10033
+ */
9207
10034
  decrement() {
9208
10035
  const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) - Number(this.stepValue) : Number(this.value) - Number(this.stepValue);
9209
10036
  const decrementedVal = this.convertToConstrainedValue(newVal);
9210
10037
  const decrementedValString = decrementedVal > Number(this.min) ? `${decrementedVal}` : `${this.min}`;
9211
10038
  this.value = decrementedValString;
9212
10039
  }
10040
+ /**
10041
+ * Gets the actual step value for the slider
10042
+ *
10043
+ */
9213
10044
  get stepValue() {
9214
10045
  return this.step === void 0 ? 1 : this.step;
9215
10046
  }
10047
+ /**
10048
+ * Places the thumb based on the current value
10049
+ *
10050
+ * @public
10051
+ * @param direction - writing mode
10052
+ */
9216
10053
  setThumbPositionForOrientation(direction) {
9217
10054
  const newPct = convertPixelToPercent(Number(this.value), Number(this.min), Number(this.max), direction);
9218
10055
  const percentage = (1 - newPct) * 100;
@@ -9222,6 +10059,10 @@ class Slider extends FormAssociatedSlider {
9222
10059
  this.position = this.isDragging ? `top: ${percentage}%; transition: none;` : `top: ${percentage}%; transition: all 0.2s ease;`;
9223
10060
  }
9224
10061
  }
10062
+ /**
10063
+ * Update the step multiplier used to ensure rounding errors from steps that
10064
+ * are not whole numbers
10065
+ */
9225
10066
  updateStepMultiplier() {
9226
10067
  const stepString = this.stepValue + "";
9227
10068
  const decimalPlacesOfStep = !!(this.stepValue % 1) ? stepString.length - stepString.indexOf(".") - 1 : 0;
@@ -9242,6 +10083,14 @@ class Slider extends FormAssociatedSlider {
9242
10083
  }
9243
10084
  }
9244
10085
  }
10086
+ /**
10087
+ * Calculate the new value based on the given raw pixel value.
10088
+ *
10089
+ * @param rawValue - the value to be converted to a constrained value
10090
+ * @returns the constrained value
10091
+ *
10092
+ * @internal
10093
+ */
9245
10094
  calculateNewValue(rawValue) {
9246
10095
  this.setupTrackConstraints();
9247
10096
  const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.horizontal ? this.trackMinWidth : this.trackMinHeight, this.orientation === Orientation.horizontal ? this.trackWidth : this.trackHeight, this.direction);
@@ -9304,8 +10153,6 @@ const definition$8 = Slider.compose({
9304
10153
  styles: styles$8
9305
10154
  });
9306
10155
 
9307
- class ProgressRing extends BaseProgress {}
9308
-
9309
10156
  var __defProp$6 = Object.defineProperty;
9310
10157
  var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
9311
10158
  var __decorateClass$6 = (decorators, target, key, kind) => {
@@ -9314,7 +10161,7 @@ var __decorateClass$6 = (decorators, target, key, kind) => {
9314
10161
  if (kind && result) __defProp$6(target, key, result);
9315
10162
  return result;
9316
10163
  };
9317
- class Spinner extends ProgressRing {}
10164
+ class Spinner extends BaseProgress {}
9318
10165
  __decorateClass$6([attr], Spinner.prototype, "size", 2);
9319
10166
  __decorateClass$6([attr], Spinner.prototype, "appearance", 2);
9320
10167
 
@@ -9387,7 +10234,16 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
9387
10234
  class Switch extends FormAssociatedSwitch {
9388
10235
  constructor() {
9389
10236
  super();
10237
+ /**
10238
+ * The element's value to be included in form submission when checked.
10239
+ * Default to "on" to reach parity with input[type="checkbox"]
10240
+ *
10241
+ * @internal
10242
+ */
9390
10243
  this.initialValue = "on";
10244
+ /**
10245
+ * @internal
10246
+ */
9391
10247
  this.keypressHandler = e => {
9392
10248
  if (this.readOnly) {
9393
10249
  return;
@@ -9399,6 +10255,9 @@ class Switch extends FormAssociatedSwitch {
9399
10255
  break;
9400
10256
  }
9401
10257
  };
10258
+ /**
10259
+ * @internal
10260
+ */
9402
10261
  this.clickHandler = e => {
9403
10262
  if (!this.disabled && !this.readOnly) {
9404
10263
  this.checked = !this.checked;
@@ -9406,6 +10265,7 @@ class Switch extends FormAssociatedSwitch {
9406
10265
  };
9407
10266
  this.proxy.setAttribute("type", "checkbox");
9408
10267
  }
10268
+ // Map to proxy element
9409
10269
  readOnlyChanged() {
9410
10270
  if (this.proxy instanceof HTMLInputElement) {
9411
10271
  this.proxy.readOnly = this.readOnly;
@@ -9446,6 +10306,65 @@ const definition$6 = Switch.compose({
9446
10306
  styles: styles$6
9447
10307
  });
9448
10308
 
10309
+ var __defProp$4 = Object.defineProperty;
10310
+ var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
10311
+ var __decorateClass$4 = (decorators, target, key, kind) => {
10312
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
10313
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10314
+ if (kind && result) __defProp$4(target, key, result);
10315
+ return result;
10316
+ };
10317
+ class Tab extends FASTElement {
10318
+ connectedCallback() {
10319
+ super.connectedCallback();
10320
+ if (this.styles !== void 0) {
10321
+ this.$fastController.removeStyles(this.styles);
10322
+ }
10323
+ this.styles = css`
10324
+ :host{--textContent:'${this.textContent}'}`;
10325
+ this.$fastController.addStyles(this.styles);
10326
+ }
10327
+ }
10328
+ __decorateClass$4([attr({
10329
+ mode: "boolean"
10330
+ })], Tab.prototype, "disabled", 2);
10331
+ applyMixins(Tab, StartEnd);
10332
+
10333
+ function tabTemplate(options = {}) {
10334
+ return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
10335
+ }
10336
+ const template$5 = tabTemplate({});
10337
+
10338
+ const styles$5 = css`
10339
+ ${display("inline-flex")}
10340
+
10341
+ :host{position:relative;flex-direction:column;cursor:pointer;box-sizing:border-box;justify-content:center;line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-size:${fontSizeBase300};color:${colorNeutralForeground2};fill:currentcolor;grid-row:1;padding:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium}}:host .tab-content{display:inline-flex;flex-direction:column;padding:0 2px}:host([aria-selected='true']){color:${colorNeutralForeground1};font-weight:${fontWeightSemibold}}:host .tab-content::after{content:var(--textContent);visibility:hidden;height:0;line-height:${lineHeightBase300};font-weight:${fontWeightSemibold}}:host([aria-selected='true'])::after{background-color:${colorCompoundBrandStroke};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:2}:host([aria-selected='false']:hover)::after{background-color:${colorNeutralStroke1Hover};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:1}:host([aria-selected='true'][disabled])::after{background-color:${colorNeutralForegroundDisabled}}::slotted([slot='start']),::slotted([slot='end']){display:flex}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}:host([disabled]){cursor:not-allowed;fill:${colorNeutralForegroundDisabled};color:${colorNeutralForegroundDisabled}}:host([disabled]:hover)::after{background-color:unset}:host(:focus){outline:none}:host(:focus-visible){border-radius:${borderRadiusSmall};box-shadow:0 0 0 3px ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
10342
+ :host([aria-selected='true'])::after{background-color:Highlight}`));
10343
+
10344
+ const definition$5 = Tab.compose({
10345
+ name: `${FluentDesignSystem.prefix}-tab`,
10346
+ template: template$5,
10347
+ styles: styles$5
10348
+ });
10349
+
10350
+ class TabPanel extends FASTElement {}
10351
+
10352
+ function tabPanelTemplate() {
10353
+ return html`<template slot="tabpanel" role="tabpanel"><slot></slot></template>`;
10354
+ }
10355
+ const template$4 = tabPanelTemplate();
10356
+
10357
+ const styles$4 = css`
10358
+ ${display("block")}
10359
+
10360
+ :host{box-sizing:border-box;padding:${spacingHorizontalM} ${spacingHorizontalMNudge}}`;
10361
+
10362
+ const definition$4 = TabPanel.compose({
10363
+ name: `${FluentDesignSystem.prefix}-tab-panel`,
10364
+ template: template$4,
10365
+ styles: styles$4
10366
+ });
10367
+
9449
10368
  const TabsAppearance = {
9450
10369
  subtle: "subtle",
9451
10370
  transparent: "transparent"
@@ -9457,12 +10376,12 @@ const TabsSize = {
9457
10376
  };
9458
10377
  const TabsOrientation = Orientation;
9459
10378
 
9460
- var __defProp$4 = Object.defineProperty;
9461
- var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
9462
- var __decorateClass$4 = (decorators, target, key, kind) => {
9463
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
10379
+ var __defProp$3 = Object.defineProperty;
10380
+ var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
10381
+ var __decorateClass$3 = (decorators, target, key, kind) => {
10382
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
9464
10383
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9465
- if (kind && result) __defProp$4(target, key, result);
10384
+ if (kind && result) __defProp$3(target, key, result);
9466
10385
  return result;
9467
10386
  };
9468
10387
  class BaseTabs extends FASTElement {
@@ -9527,17 +10446,26 @@ class BaseTabs extends FASTElement {
9527
10446
  }
9528
10447
  };
9529
10448
  }
10449
+ /**
10450
+ * @internal
10451
+ */
9530
10452
  orientationChanged() {
9531
10453
  if (this.$fastController.isConnected) {
9532
10454
  this.setTabs();
9533
10455
  }
9534
10456
  }
10457
+ /**
10458
+ * @internal
10459
+ */
9535
10460
  activeidChanged(oldValue, newValue) {
9536
10461
  if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
9537
10462
  this.prevActiveTabIndex = this.tabs.findIndex(item => item.id === oldValue);
9538
10463
  this.setTabs();
9539
10464
  }
9540
10465
  }
10466
+ /**
10467
+ * @internal
10468
+ */
9541
10469
  tabsChanged() {
9542
10470
  if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
9543
10471
  this.tabIds = this.getTabIds();
@@ -9545,6 +10473,9 @@ class BaseTabs extends FASTElement {
9545
10473
  this.setTabs();
9546
10474
  }
9547
10475
  }
10476
+ /**
10477
+ * @internal
10478
+ */
9548
10479
  tabpanelsChanged() {
9549
10480
  if (this.$fastController.isConnected && this.tabpanels.length <= this.tabs.length) {
9550
10481
  this.tabIds = this.getTabIds();
@@ -9560,6 +10491,11 @@ class BaseTabs extends FASTElement {
9560
10491
  return 0;
9561
10492
  }
9562
10493
  }
10494
+ /**
10495
+ * Function that is invoked whenever the selected tab or the tab collection changes.
10496
+ *
10497
+ * @public
10498
+ */
9563
10499
  setTabs() {
9564
10500
  const gridHorizontalProperty = "gridColumn";
9565
10501
  const gridVerticalProperty = "gridRow";
@@ -9599,14 +10535,12 @@ class BaseTabs extends FASTElement {
9599
10535
  }
9600
10536
  getTabIds() {
9601
10537
  return this.tabs.map(tab => {
9602
- var _a;
9603
- return (_a = tab.getAttribute("id")) != null ? _a : `tab-${uniqueId()}`;
10538
+ return tab.getAttribute("id") ?? `tab-${uniqueId()}`;
9604
10539
  });
9605
10540
  }
9606
10541
  getTabPanelIds() {
9607
10542
  return this.tabpanels.map(tabPanel => {
9608
- var _a;
9609
- return (_a = tabPanel.getAttribute("id")) != null ? _a : `panel-${uniqueId()}`;
10543
+ return tabPanel.getAttribute("id") ?? `panel-${uniqueId()}`;
9610
10544
  });
9611
10545
  }
9612
10546
  setComponent() {
@@ -9619,6 +10553,12 @@ class BaseTabs extends FASTElement {
9619
10553
  isHorizontal() {
9620
10554
  return this.orientation === TabsOrientation.horizontal;
9621
10555
  }
10556
+ /**
10557
+ * The adjust method for FASTTabs
10558
+ * @public
10559
+ * @remarks
10560
+ * This method allows the active index to be adjusted by numerical increments
10561
+ */
9622
10562
  adjust(adjustment) {
9623
10563
  const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));
9624
10564
  const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);
@@ -9675,6 +10615,9 @@ class BaseTabs extends FASTElement {
9675
10615
  focusTab() {
9676
10616
  this.tabs[this.activeTabIndex].focus();
9677
10617
  }
10618
+ /**
10619
+ * @internal
10620
+ */
9678
10621
  connectedCallback() {
9679
10622
  super.connectedCallback();
9680
10623
  this.tabIds = this.getTabIds();
@@ -9682,48 +10625,87 @@ class BaseTabs extends FASTElement {
9682
10625
  this.activeTabIndex = this.getActiveIndex();
9683
10626
  }
9684
10627
  }
9685
- __decorateClass$4([attr], BaseTabs.prototype, "orientation", 2);
9686
- __decorateClass$4([attr], BaseTabs.prototype, "activeid", 2);
9687
- __decorateClass$4([observable], BaseTabs.prototype, "tabs", 2);
9688
- __decorateClass$4([observable], BaseTabs.prototype, "tabpanels", 2);
10628
+ __decorateClass$3([attr], BaseTabs.prototype, "orientation", 2);
10629
+ __decorateClass$3([attr], BaseTabs.prototype, "activeid", 2);
10630
+ __decorateClass$3([observable], BaseTabs.prototype, "tabs", 2);
10631
+ __decorateClass$3([observable], BaseTabs.prototype, "tabpanels", 2);
9689
10632
  class Tabs extends BaseTabs {
9690
10633
  constructor() {
9691
10634
  super(...arguments);
10635
+ /**
10636
+ * activeTabData
10637
+ * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
10638
+ */
9692
10639
  this.activeTabData = {
9693
10640
  x: 0,
9694
10641
  y: 0,
9695
10642
  height: 0,
9696
10643
  width: 0
9697
10644
  };
10645
+ /**
10646
+ * previousActiveTabData
10647
+ * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
10648
+ */
9698
10649
  this.previousActiveTabData = {
9699
10650
  x: 0,
9700
10651
  y: 0,
9701
10652
  height: 0,
9702
10653
  width: 0
9703
10654
  };
10655
+ /**
10656
+ * activeTabOffset
10657
+ * Used to position the active indicator for animations of the active indicator on active tab changes.
10658
+ */
9704
10659
  this.activeTabOffset = 0;
10660
+ /**
10661
+ * activeTabScale
10662
+ * Used to scale the tab active indicator up or down as animations of the active indicator occur.
10663
+ */
9705
10664
  this.activeTabScale = 1;
9706
10665
  this.appearance = TabsAppearance.transparent;
9707
10666
  }
10667
+ /**
10668
+ * calculateAnimationProperties
10669
+ *
10670
+ * Recalculates the active tab offset and scale.
10671
+ * These values will be applied to css variables that control the tab active indicator position animations
10672
+ */
9708
10673
  calculateAnimationProperties(tab) {
9709
10674
  this.activeTabOffset = this.getTabPosition(tab);
9710
10675
  this.activeTabScale = this.getTabScale(tab);
9711
10676
  }
10677
+ /**
10678
+ * getSelectedTabPosition - gets the x or y coordinates of the tab
10679
+ */
9712
10680
  getTabPosition(tab) {
9713
10681
  if (this.orientation === TabsOrientation.horizontal) {
9714
10682
  return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
9715
10683
  } else return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
9716
10684
  }
10685
+ /**
10686
+ * getSelectedTabScale - gets the scale of the tab
10687
+ */
9717
10688
  getTabScale(tab) {
9718
10689
  if (this.orientation === TabsOrientation.horizontal) {
9719
10690
  return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
9720
10691
  } else return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
9721
10692
  }
10693
+ /**
10694
+ * applyUpdatedCSSValues
10695
+ *
10696
+ * calculates and applies updated values to CSS variables
10697
+ * @param tab
10698
+ */
9722
10699
  applyUpdatedCSSValues(tab) {
9723
10700
  this.calculateAnimationProperties(tab);
9724
10701
  this.setTabScaleCSSVar();
9725
10702
  this.setTabOffsetCSSVar();
9726
10703
  }
10704
+ /**
10705
+ * animationLoop
10706
+ * runs through all the operations required for setting the tab active indicator to its starting location, ending location, and applying the animated css class to the tab.
10707
+ * @param tab
10708
+ */
9727
10709
  animationLoop(tab) {
9728
10710
  tab.setAttribute("data-animate", "false");
9729
10711
  this.applyUpdatedCSSValues(tab);
@@ -9731,12 +10713,15 @@ class Tabs extends BaseTabs {
9731
10713
  this.applyUpdatedCSSValues(tab);
9732
10714
  tab.setAttribute("data-animate", "true");
9733
10715
  }
10716
+ /**
10717
+ * setTabData
10718
+ * sets the data from the active tab onto the class. used for making all the animation calculations for the active tab indicator.
10719
+ */
9734
10720
  setTabData() {
9735
- var _a, _b, _c, _d;
9736
10721
  if (this.tabs && this.tabs.length > 0) {
9737
10722
  const tabs = this.tabs;
9738
10723
  const activeTab = this.activetab || tabs[0];
9739
- const activeRect = activeTab == null ? void 0 : activeTab.getBoundingClientRect();
10724
+ const activeRect = activeTab?.getBoundingClientRect();
9740
10725
  const parentRect = this.getBoundingClientRect();
9741
10726
  this.activeTabData = {
9742
10727
  x: activeRect.x - parentRect.x,
@@ -9744,7 +10729,7 @@ class Tabs extends BaseTabs {
9744
10729
  height: activeRect.height,
9745
10730
  width: activeRect.width
9746
10731
  };
9747
- if (((_a = this.previousActiveTabData) == null ? void 0 : _a.x) !== ((_b = this.activeTabData) == null ? void 0 : _b.x) && ((_c = this.previousActiveTabData) == null ? void 0 : _c.y) !== ((_d = this.activeTabData) == null ? void 0 : _d.y)) {
10732
+ if (this.previousActiveTabData?.x !== this.activeTabData?.x && this.previousActiveTabData?.y !== this.activeTabData?.y) {
9748
10733
  this.previousActiveTabData = this.activeTabData;
9749
10734
  }
9750
10735
  }
@@ -9771,84 +10756,25 @@ class Tabs extends BaseTabs {
9771
10756
  this.setTabData();
9772
10757
  }
9773
10758
  }
9774
- __decorateClass$4([attr], Tabs.prototype, "appearance", 2);
9775
- __decorateClass$4([attr({
10759
+ __decorateClass$3([attr], Tabs.prototype, "appearance", 2);
10760
+ __decorateClass$3([attr({
9776
10761
  mode: "boolean"
9777
10762
  })], Tabs.prototype, "disabled", 2);
9778
- __decorateClass$4([attr], Tabs.prototype, "size", 2);
10763
+ __decorateClass$3([attr], Tabs.prototype, "size", 2);
9779
10764
  applyMixins(Tabs, StartEnd);
9780
10765
 
9781
10766
  function tabsTemplate(options = {}) {
9782
10767
  return html` ${startSlotTemplate(options)}<div class="tablist" part="tablist" role="tablist"><slot name="tab" ${slotted("tabs")}></slot></div>${endSlotTemplate(options)}<div class="tabpanel" part="tabpanel"><slot name="tabpanel" ${slotted("tabpanels")}></slot></div>`;
9783
10768
  }
9784
- const template$5 = tabsTemplate({});
10769
+ const template$3 = tabsTemplate({});
9785
10770
 
9786
- const styles$5 = css`
10771
+ const styles$3 = css`
9787
10772
  ${display("grid")}
9788
10773
 
9789
10774
  :host{box-sizing:border-box;font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};color:${colorNeutralForeground2};grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr}:host([disabled]){cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab){pointer-events:none;cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:after){background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab[aria-selected='true'])::after{background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:hover):before{content:unset}:host ::slotted(fluent-tab){border-radius:${borderRadiusMedium}}:host ::slotted(fluent-tab[aria-selected='true'])::before{background-color:${colorNeutralForegroundDisabled}}.tablist{display:grid;grid-template-rows:auto auto;grid-template-columns:auto;position:relative;width:max-content;align-self:end;box-sizing:border-box}::slotted([slot='start']),::slotted([slot='end']){display:flex;align-self:center}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}.tabpanel{grid-row:2;grid-column-start:1;grid-column-end:4;position:relative}:host([orientation='vertical']){grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr}:host([orientation='vertical']) .tablist{grid-row-start:2;grid-row-end:2;display:grid;grid-template-rows:auto;grid-template-columns:auto 1fr;position:relative;width:max-content;justify-self:end;align-self:flex-start;width:100%}:host([orientation='vertical']) .tabpanel{grid-column:2;grid-row-start:1;grid-row-end:4}:host([orientation='vertical']) ::slotted([slot='end']){grid-row:3}:host([appearance='subtle']) ::slotted(fluent-tab:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground1Hover};fill:${colorCompoundBrandForeground1Hover}}:host([appearance='subtle']) ::slotted(fluent-tab:active){background-color:${colorSubtleBackgroundPressed};fill:${colorSubtleBackgroundPressed};color:${colorNeutralForeground1}}:host([size='small']) ::slotted(fluent-tab){font-size:${fontSizeBase300};line-height:${lineHeightBase300};padding:${spacingVerticalSNudge} ${spacingHorizontalSNudge}}:host([size='large']) ::slotted(fluent-tab){font-size:${fontSizeBase400};line-height:${lineHeightBase400};padding:${spacingVerticalL} ${spacingHorizontalMNudge}}:host ::slotted(fluent-tab[data-animate='true'])::after{transition-property:transform;transition-duration:${durationSlow};transition-timing-function:${curveDecelerateMax}}:host ::slotted(fluent-tab)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left;transform:translateX(var(--tabIndicatorOffset)) scaleX(var(--tabIndicatorScale))}:host([orientation='vertical']) ::slotted(fluent-tab)::after{width:${strokeWidthThicker};height:unset;margin-top:unset;transform-origin:top;transform:translateY(var(--tabIndicatorOffset)) scaleY(var(--tabIndicatorScale))}:host ::slotted(fluent-tab)::before{height:${strokeWidthThicker};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;margin-top:auto}:host([orientation='vertical']) ::slotted(fluent-tab)::before{height:unset;width:${strokeWidthThicker};margin-inline-end:auto;transform-origin:top}:host ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left}:host([orientation='vertical']) ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:unset;margin-inline-end:auto;transform-origin:top;width:${strokeWidthThicker}}:host([orientation='vertical']) ::slotted(fluent-tab){align-items:flex-start;grid-column:2;padding-top:${spacingVerticalSNudge};padding-bottom:${spacingVerticalSNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab){padding-top:${spacingVerticalXXS};padding-bottom:${spacingVerticalXXS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab){padding-top:${spacingVerticalS};padding-bottom:${spacingVerticalS}}:host([size='small']) ::slotted(fluent-tab)::after,:host([size='small']) ::slotted(fluent-tab)::before,:host([size='small']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalSNudge};left:${spacingHorizontalSNudge}}:host ::slotted(fluent-tab)::after,:host ::slotted(fluent-tab)::before,:host ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([size='large']) ::slotted(fluent-tab)::after,:host([size='large']) ::slotted(fluent-tab)::before,:host([size='large']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalSNudge};bottom:${spacingVerticalSNudge}}:host([orientation='vertical']) ::slotted(fluent-tab)::after,:host([orientation='vertical']) ::slotted(fluent-tab)::before,:host([orientation='vertical']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalS};bottom:${spacingVerticalS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalMNudge};bottom:${spacingVerticalMNudge}}`;
9790
10775
 
9791
- const definition$5 = Tabs.compose({
10776
+ const definition$3 = Tabs.compose({
9792
10777
  name: `${FluentDesignSystem.prefix}-tabs`,
9793
- template: template$5,
9794
- styles: styles$5
9795
- });
9796
-
9797
- var __defProp$3 = Object.defineProperty;
9798
- var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
9799
- var __decorateClass$3 = (decorators, target, key, kind) => {
9800
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
9801
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9802
- if (kind && result) __defProp$3(target, key, result);
9803
- return result;
9804
- };
9805
- class Tab extends FASTElement {
9806
- connectedCallback() {
9807
- super.connectedCallback();
9808
- if (this.styles !== void 0) {
9809
- this.$fastController.removeStyles(this.styles);
9810
- }
9811
- this.styles = css`
9812
- :host{--textContent:'${this.textContent}'}`;
9813
- this.$fastController.addStyles(this.styles);
9814
- }
9815
- }
9816
- __decorateClass$3([attr({
9817
- mode: "boolean"
9818
- })], Tab.prototype, "disabled", 2);
9819
- applyMixins(Tab, StartEnd);
9820
-
9821
- function tabTemplate(options = {}) {
9822
- return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
9823
- }
9824
- const template$4 = tabTemplate({});
9825
-
9826
- const styles$4 = css`
9827
- ${display("inline-flex")}
9828
-
9829
- :host{position:relative;flex-direction:column;cursor:pointer;box-sizing:border-box;justify-content:center;line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-size:${fontSizeBase300};color:${colorNeutralForeground2};fill:currentcolor;grid-row:1;padding:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium}}:host .tab-content{display:inline-flex;flex-direction:column;padding:0 2px}:host([aria-selected='true']){color:${colorNeutralForeground1};font-weight:${fontWeightSemibold}}:host .tab-content::after{content:var(--textContent);visibility:hidden;height:0;line-height:${lineHeightBase300};font-weight:${fontWeightSemibold}}:host([aria-selected='true'])::after{background-color:${colorCompoundBrandStroke};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:2}:host([aria-selected='false']:hover)::after{background-color:${colorNeutralStroke1Hover};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:1}:host([aria-selected='true'][disabled])::after{background-color:${colorNeutralForegroundDisabled}}::slotted([slot='start']),::slotted([slot='end']){display:flex}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}:host([disabled]){cursor:not-allowed;fill:${colorNeutralForegroundDisabled};color:${colorNeutralForegroundDisabled}}:host([disabled]:hover)::after{background-color:unset}:host(:focus){outline:none}:host(:focus-visible){border-radius:${borderRadiusSmall};box-shadow:0 0 0 3px ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
9830
- :host([aria-selected='true'])::after{background-color:Highlight}`));
9831
-
9832
- const definition$4 = Tab.compose({
9833
- name: `${FluentDesignSystem.prefix}-tab`,
9834
- template: template$4,
9835
- styles: styles$4
9836
- });
9837
-
9838
- class TabPanel extends FASTElement {}
9839
-
9840
- function tabPanelTemplate() {
9841
- return html`<template slot="tabpanel" role="tabpanel"><slot></slot></template>`;
9842
- }
9843
- const template$3 = tabPanelTemplate();
9844
-
9845
- const styles$3 = css`
9846
- ${display("block")}
9847
-
9848
- :host{box-sizing:border-box;padding:${spacingHorizontalM} ${spacingHorizontalMNudge}}`;
9849
-
9850
- const definition$3 = TabPanel.compose({
9851
- name: `${FluentDesignSystem.prefix}-tab-panel`,
9852
10778
  template: template$3,
9853
10779
  styles: styles$3
9854
10780
  });
@@ -9949,11 +10875,26 @@ const TextInputAppearance = {
9949
10875
  filledLighter: "filled-lighter",
9950
10876
  filledDarker: "filled-darker"
9951
10877
  };
9952
- const TextFieldType = {
10878
+ const TextInputType = {
10879
+ /**
10880
+ * An email TextInput
10881
+ */
9953
10882
  email: "email",
10883
+ /**
10884
+ * A password TextInput
10885
+ */
9954
10886
  password: "password",
10887
+ /**
10888
+ * A telephone TextInput
10889
+ */
9955
10890
  tel: "tel",
10891
+ /**
10892
+ * A text TextInput
10893
+ */
9956
10894
  text: "text",
10895
+ /**
10896
+ * A URL TextInput
10897
+ */
9957
10898
  url: "url"
9958
10899
  };
9959
10900
 
@@ -9976,7 +10917,7 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
9976
10917
  class TextInput extends FormAssociatedTextField {
9977
10918
  constructor() {
9978
10919
  super(...arguments);
9979
- this.type = TextFieldType.text;
10920
+ this.type = TextInputType.text;
9980
10921
  }
9981
10922
  readOnlyChanged() {
9982
10923
  if (this.proxy instanceof HTMLInputElement) {
@@ -10035,6 +10976,9 @@ class TextInput extends FormAssociatedTextField {
10035
10976
  this.proxy.spellcheck = this.spellcheck;
10036
10977
  }
10037
10978
  }
10979
+ /**
10980
+ * @internal
10981
+ */
10038
10982
  connectedCallback() {
10039
10983
  super.connectedCallback();
10040
10984
  this.proxy.setAttribute("type", this.type);
@@ -10045,16 +10989,35 @@ class TextInput extends FormAssociatedTextField {
10045
10989
  });
10046
10990
  }
10047
10991
  }
10992
+ /**
10993
+ * Selects all the text in the text field
10994
+ *
10995
+ * @public
10996
+ */
10048
10997
  select() {
10049
10998
  this.control.select();
10050
10999
  this.$emit("select");
10051
11000
  }
11001
+ /**
11002
+ * Handles the internal control's `input` event
11003
+ * @internal
11004
+ */
10052
11005
  handleTextInput() {
10053
11006
  this.value = this.control.value;
10054
11007
  }
11008
+ /**
11009
+ * Change event handler for inner control.
11010
+ * @remarks
11011
+ * "Change" events are not `composable` so they will not
11012
+ * permeate the shadow DOM boundary. This fn effectively proxies
11013
+ * the change event, emitting a `change` event whenever the internal
11014
+ * control emits a `change` event
11015
+ * @internal
11016
+ */
10055
11017
  handleChange() {
10056
11018
  this.$emit("change");
10057
11019
  }
11020
+ /** {@inheritDoc (FormAssociated:interface).validate} */
10058
11021
  validate() {
10059
11022
  super.validate(this.control);
10060
11023
  }
@@ -10119,12 +11082,29 @@ var __decorateClass = (decorators, target, key, kind) => {
10119
11082
  return result;
10120
11083
  };
10121
11084
  class ToggleButton extends Button {
11085
+ /**
11086
+ * Updates the pressed state when the `pressed` property changes.
11087
+ *
11088
+ * @internal
11089
+ */
10122
11090
  pressedChanged() {
10123
11091
  this.setPressedState();
10124
11092
  }
11093
+ /**
11094
+ * Updates the pressed state when the `mixed` property changes.
11095
+ *
11096
+ * @param previous - the previous mixed state
11097
+ * @param next - the current mixed state
11098
+ * @internal
11099
+ */
10125
11100
  mixedChanged() {
10126
11101
  this.setPressedState();
10127
11102
  }
11103
+ /**
11104
+ * Toggles the pressed state of the button.
11105
+ *
11106
+ * @override
11107
+ */
10128
11108
  press() {
10129
11109
  this.pressed = !this.pressed;
10130
11110
  }
@@ -10132,6 +11112,11 @@ class ToggleButton extends Button {
10132
11112
  super.connectedCallback();
10133
11113
  this.setPressedState();
10134
11114
  }
11115
+ /**
11116
+ * Sets the `aria-pressed` attribute based on the `pressed` and `mixed` properties.
11117
+ *
11118
+ * @internal
11119
+ */
10135
11120
  setPressedState() {
10136
11121
  if (this.$fastController.isConnected) {
10137
11122
  const ariaPressed = `${this.mixed ? "mixed" : !!this.pressed}`;
@@ -10177,4 +11162,4 @@ const setThemeFor = (element, theme) => {
10177
11162
  }
10178
11163
  };
10179
11164
 
10180
- 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, typographyBody1StrongStyles, typographyBody1StrongerStyles, typographyBody1Styles, typographyBody2Styles, typographyCaption1StrongStyles, typographyCaption1StrongerStyles, typographyCaption1Styles, typographyCaption2StrongStyles, typographyCaption2Styles, typographyDisplayStyles, typographyLargeTitleStyles, typographySubtitle1Styles, typographySubtitle2StrongerStyles, typographySubtitle2Styles, typographyTitle1Styles, typographyTitle2Styles, typographyTitle3Styles };
11165
+ export { Accordion, AccordionExpandMode, 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, Button, ButtonAppearance, definition$n as ButtonDefinition, 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, Dialog, definition$j as DialogDefinition, DialogModalType, 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, LabelSize, styles$f as LabelStyles, template$g as LabelTemplate, LabelWeight, 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, RadioGroupOrientation, 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$5 as TabDefinition, TabPanel, definition$4 as TabPanelDefinition, styles$4 as TabPanelStyles, template$4 as TabPanelTemplate, styles$5 as TabStyles, template$5 as TabTemplate, Tabs, TabsAppearance, definition$3 as TabsDefinition, TabsOrientation, TabsSize, styles$3 as TabsStyles, template$3 as TabsTemplate, Text, TextAlign, definition$2 as TextDefinition, TextFont, TextInput, TextInputAppearance, TextInputControlSize, definition$1 as TextInputDefinition, styles$1 as TextInputStyles, template$1 as TextInputTemplate, TextInputType, 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, colorBrandBackground2Hover, colorBrandBackground2Pressed, colorBrandBackground3Static, colorBrandBackground4Static, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForeground2Hover, colorBrandForeground2Pressed, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorBrandStroke2Contrast, colorBrandStroke2Hover, colorBrandStroke2Pressed, 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, colorNeutralBackgroundAlpha, colorNeutralBackgroundAlpha2, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralCardBackground, colorNeutralCardBackgroundDisabled, colorNeutralCardBackgroundHover, colorNeutralCardBackgroundPressed, colorNeutralCardBackgroundSelected, 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, colorNeutralStrokeAlpha, colorNeutralStrokeAlpha2, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorNeutralStrokeSubtle, 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, colorStatusDangerBackground1, colorStatusDangerBackground2, colorStatusDangerBackground3, colorStatusDangerBackground3Hover, colorStatusDangerBackground3Pressed, colorStatusDangerBorder1, colorStatusDangerBorder2, colorStatusDangerBorderActive, colorStatusDangerForeground1, colorStatusDangerForeground2, colorStatusDangerForeground3, colorStatusDangerForegroundInverted, colorStatusSuccessBackground1, colorStatusSuccessBackground2, colorStatusSuccessBackground3, colorStatusSuccessBorder1, colorStatusSuccessBorder2, colorStatusSuccessBorderActive, colorStatusSuccessForeground1, colorStatusSuccessForeground2, colorStatusSuccessForeground3, colorStatusSuccessForegroundInverted, colorStatusWarningBackground1, colorStatusWarningBackground2, colorStatusWarningBackground3, colorStatusWarningBorder1, colorStatusWarningBorder2, colorStatusWarningBorderActive, colorStatusWarningForeground1, colorStatusWarningForeground2, colorStatusWarningForeground3, colorStatusWarningForegroundInverted, 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, durationGentle, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, forcedColorsStylesheetBehavior, getDirection, 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 };