@fluentui/web-components 3.0.0-beta.15 → 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 (55) hide show
  1. package/CHANGELOG.md +175 -103
  2. package/dist/dts/menu-item/menu-item.options.d.ts +1 -1
  3. package/dist/dts/theme/design-tokens.d.ts +53 -1
  4. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  5. package/dist/esm/avatar/avatar.js.map +1 -1
  6. package/dist/esm/menu-list/menu-list.js.map +1 -1
  7. package/dist/esm/theme/design-tokens.js +53 -1
  8. package/dist/esm/theme/design-tokens.js.map +1 -1
  9. package/dist/esm/utils/get-initials.js.map +1 -1
  10. package/dist/fluent-web-components.api.json +1575 -223
  11. package/dist/web-components.d.ts +105 -1
  12. package/dist/web-components.js +1128 -145
  13. package/dist/web-components.min.js +353 -283
  14. package/docs/api-report.md +157 -1
  15. package/package.json +5 -10
  16. package/project.json +6 -0
  17. package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +0 -1
  18. package/dist/storybook/108.b31ec3a1.iframe.bundle.js +0 -1
  19. package/dist/storybook/289.703b1698.iframe.bundle.js +0 -2
  20. package/dist/storybook/289.703b1698.iframe.bundle.js.LICENSE.txt +0 -51
  21. package/dist/storybook/316.bc4aabd3.iframe.bundle.js +0 -2
  22. package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +0 -17
  23. package/dist/storybook/401.7edec720.iframe.bundle.js +0 -2
  24. package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +0 -12
  25. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +0 -2
  26. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +0 -12
  27. package/dist/storybook/491.77b24750.iframe.bundle.js +0 -1
  28. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +0 -2
  29. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +0 -94
  30. package/dist/storybook/709.22096ad4.iframe.bundle.js +0 -2
  31. package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +0 -8
  32. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +0 -2
  33. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +0 -8
  34. package/dist/storybook/721.46fa9f53.iframe.bundle.js +0 -2
  35. package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +0 -31
  36. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +0 -2
  37. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +0 -31
  38. package/dist/storybook/858.da40ed98.iframe.bundle.js +0 -1
  39. package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +0 -1
  40. package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +0 -1
  41. package/dist/storybook/954.630c5748.iframe.bundle.js +0 -1
  42. package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +0 -1
  43. package/dist/storybook/SegoeUI-VF.ttf +0 -0
  44. package/dist/storybook/favicon.ico +0 -0
  45. package/dist/storybook/favicon.png +0 -0
  46. package/dist/storybook/iframe.html +0 -364
  47. package/dist/storybook/index.html +0 -165
  48. package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +0 -1
  49. package/dist/storybook/main.6c75b8cb.iframe.bundle.js +0 -2
  50. package/dist/storybook/main.6c75b8cb.iframe.bundle.js.LICENSE.txt +0 -1
  51. package/dist/storybook/project.json +0 -1
  52. package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +0 -1
  53. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +0 -1
  54. package/dist/storybook/shell.css +0 -83
  55. 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();
@@ -4749,10 +4914,10 @@ function getInitials(displayName, isRtl, options) {
4749
4914
  return "";
4750
4915
  }
4751
4916
  displayName = cleanupDisplayName(displayName);
4752
- 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)) {
4753
4918
  return "";
4754
4919
  }
4755
- return getInitialsLatin(displayName, isRtl, options == null ? void 0 : options.firstInitialOnly);
4920
+ return getInitialsLatin(displayName, isRtl, options?.firstInitialOnly);
4756
4921
  }
4757
4922
 
4758
4923
  const AvatarActive = {
@@ -4831,43 +4996,52 @@ var __decorateClass$n = (decorators, target, key, kind) => {
4831
4996
  if (kind && result) __defProp$n(target, key, result);
4832
4997
  return result;
4833
4998
  };
4834
- const _Avatar = class extends FASTElement {
4999
+ const _Avatar = class _Avatar extends FASTElement {
4835
5000
  constructor() {
4836
5001
  super(...arguments);
4837
5002
  this.color = "neutral";
4838
5003
  }
5004
+ /**
5005
+ * Sets the data-color attribute used for the visual presentation
5006
+ * @internal
5007
+ */
4839
5008
  generateColor() {
4840
- var _a, _b;
4841
5009
  if (!this.color) {
4842
5010
  return;
4843
5011
  }
4844
- 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;
4845
5013
  }
5014
+ /**
5015
+ * Generates and sets the initials for the template
5016
+ * @internal
5017
+ */
4846
5018
  generateInitials() {
4847
- var _a, _b;
4848
5019
  if (!this.name && !this.initials) {
4849
5020
  return;
4850
5021
  }
4851
- const size = (_a = this.size) != null ? _a : 32;
4852
- 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", {
4853
5024
  firstInitialOnly: size <= 16
4854
5025
  });
4855
5026
  }
4856
5027
  };
4857
- let Avatar = _Avatar;
4858
- Avatar.colors = Object.values(AvatarNamedColor);
4859
- __decorateClass$n([attr], Avatar.prototype, "name", 2);
4860
- __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);
4861
5034
  __decorateClass$n([attr({
4862
5035
  converter: nullableNumberConverter
4863
- })], Avatar.prototype, "size", 2);
4864
- __decorateClass$n([attr], Avatar.prototype, "shape", 2);
4865
- __decorateClass$n([attr], Avatar.prototype, "active", 2);
4866
- __decorateClass$n([attr], Avatar.prototype, "appearance", 2);
4867
- __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);
4868
5041
  __decorateClass$n([attr({
4869
5042
  attribute: "color-id"
4870
- })], Avatar.prototype, "colorId", 2);
5043
+ })], _Avatar.prototype, "colorId", 2);
5044
+ let Avatar = _Avatar;
4871
5045
  const getHashCode = str => {
4872
5046
  let hashCode = 0;
4873
5047
  for (let len = str.length - 1; len >= 0; len--) {
@@ -5339,28 +5513,62 @@ class Button extends FASTElement {
5339
5513
  constructor() {
5340
5514
  super();
5341
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
+ */
5342
5521
  this.elementInternals = this.attachInternals();
5343
5522
  this.iconOnly = false;
5344
5523
  this.elementInternals.role = "button";
5345
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
+ */
5346
5532
  disabledFocusableChanged(previous, next) {
5347
5533
  if (this.$fastController.isConnected) {
5348
5534
  this.elementInternals.ariaDisabled = `${!!next}`;
5349
5535
  }
5350
5536
  }
5537
+ /**
5538
+ * The associated form element.
5539
+ *
5540
+ * @public
5541
+ */
5351
5542
  get form() {
5352
5543
  return this.elementInternals.form;
5353
5544
  }
5545
+ /**
5546
+ * A reference to all associated label elements.
5547
+ *
5548
+ * @public
5549
+ */
5354
5550
  get labels() {
5355
5551
  return Object.freeze(Array.from(this.elementInternals.labels));
5356
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
+ */
5357
5560
  typeChanged(previous, next) {
5358
- var _a, _b, _c;
5359
5561
  if (next !== ButtonType.submit) {
5360
- (_a = this.formSubmissionFallbackControl) == null ? void 0 : _a.remove();
5361
- (_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();
5362
5564
  }
5363
5565
  }
5566
+ /**
5567
+ * Handles the button click event.
5568
+ *
5569
+ * @param e - The event object
5570
+ * @internal
5571
+ */
5364
5572
  clickHandler(e) {
5365
5573
  if (e && this.disabledFocusable) {
5366
5574
  e.stopImmediatePropagation();
@@ -5373,20 +5581,27 @@ class Button extends FASTElement {
5373
5581
  super.connectedCallback();
5374
5582
  this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
5375
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
+ */
5376
5592
  createAndInsertFormSubmissionFallbackControl() {
5377
- var _a, _b, _c, _d, _e, _f, _g, _h;
5378
- const internalSlot = (_a = this.formSubmissionFallbackControlSlot) != null ? _a : document.createElement("slot");
5593
+ const internalSlot = this.formSubmissionFallbackControlSlot ?? document.createElement("slot");
5379
5594
  internalSlot.setAttribute("name", "internal");
5380
- (_b = this.shadowRoot) == null ? void 0 : _b.appendChild(internalSlot);
5595
+ this.shadowRoot?.appendChild(internalSlot);
5381
5596
  this.formSubmissionFallbackControlSlot = internalSlot;
5382
- const fallbackControl = (_c = this.formSubmissionFallbackControl) != null ? _c : document.createElement("button");
5597
+ const fallbackControl = this.formSubmissionFallbackControl ?? document.createElement("button");
5383
5598
  fallbackControl.style.display = "none";
5384
5599
  fallbackControl.setAttribute("type", "submit");
5385
5600
  fallbackControl.setAttribute("slot", "internal");
5386
5601
  if (this.formNoValidate) {
5387
5602
  fallbackControl.toggleAttribute("formnovalidate", true);
5388
5603
  }
5389
- if ((_d = this.elementInternals.form) == null ? void 0 : _d.id) {
5604
+ if (this.elementInternals.form?.id) {
5390
5605
  fallbackControl.setAttribute("form", this.elementInternals.form.id);
5391
5606
  }
5392
5607
  if (this.name) {
@@ -5396,23 +5611,37 @@ class Button extends FASTElement {
5396
5611
  fallbackControl.setAttribute("value", this.value);
5397
5612
  }
5398
5613
  if (this.formAction) {
5399
- fallbackControl.setAttribute("formaction", (_e = this.formAction) != null ? _e : "");
5614
+ fallbackControl.setAttribute("formaction", this.formAction ?? "");
5400
5615
  }
5401
5616
  if (this.formEnctype) {
5402
- fallbackControl.setAttribute("formenctype", (_f = this.formEnctype) != null ? _f : "");
5617
+ fallbackControl.setAttribute("formenctype", this.formEnctype ?? "");
5403
5618
  }
5404
5619
  if (this.formMethod) {
5405
- fallbackControl.setAttribute("formmethod", (_g = this.formMethod) != null ? _g : "");
5620
+ fallbackControl.setAttribute("formmethod", this.formMethod ?? "");
5406
5621
  }
5407
5622
  if (this.formTarget) {
5408
- fallbackControl.setAttribute("formtarget", (_h = this.formTarget) != null ? _h : "");
5623
+ fallbackControl.setAttribute("formtarget", this.formTarget ?? "");
5409
5624
  }
5410
5625
  this.append(fallbackControl);
5411
5626
  this.formSubmissionFallbackControl = fallbackControl;
5412
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
+ */
5413
5635
  formDisabledCallback(disabled) {
5414
5636
  this.disabled = disabled;
5415
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
+ */
5416
5645
  keypressHandler(e) {
5417
5646
  if (e && this.disabledFocusable) {
5418
5647
  e.stopImmediatePropagation();
@@ -5424,6 +5653,11 @@ class Button extends FASTElement {
5424
5653
  }
5425
5654
  return true;
5426
5655
  }
5656
+ /**
5657
+ * Presses the button.
5658
+ *
5659
+ * @public
5660
+ */
5427
5661
  press() {
5428
5662
  switch (this.type) {
5429
5663
  case ButtonType.reset:
@@ -5438,12 +5672,20 @@ class Button extends FASTElement {
5438
5672
  }
5439
5673
  }
5440
5674
  }
5675
+ /**
5676
+ * Resets the associated form.
5677
+ *
5678
+ * @public
5679
+ */
5441
5680
  resetForm() {
5442
- var _a;
5443
- (_a = this.elementInternals.form) == null ? void 0 : _a.reset();
5681
+ this.elementInternals.form?.reset();
5444
5682
  }
5683
+ /**
5684
+ * Submits the associated form.
5685
+ *
5686
+ * @internal
5687
+ */
5445
5688
  submitForm() {
5446
- var _a;
5447
5689
  if (!this.elementInternals.form || this.disabled || this.type !== ButtonType.submit) {
5448
5690
  return;
5449
5691
  }
@@ -5452,7 +5694,7 @@ class Button extends FASTElement {
5452
5694
  return;
5453
5695
  }
5454
5696
  try {
5455
- this.elementInternals.setFormValue((_a = this.value) != null ? _a : "");
5697
+ this.elementInternals.setFormValue(this.value ?? "");
5456
5698
  this.elementInternals.form.requestSubmit(this);
5457
5699
  } catch (e) {
5458
5700
  this.createAndInsertFormSubmissionFallbackControl();
@@ -5461,6 +5703,12 @@ class Button extends FASTElement {
5461
5703
  }
5462
5704
  }
5463
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
+ */
5464
5712
  Button.formAssociated = true;
5465
5713
  __decorateClass$l([attr], Button.prototype, "appearance", 2);
5466
5714
  __decorateClass$l([attr({
@@ -5529,9 +5777,32 @@ function FormAssociated(BaseCtor) {
5529
5777
  const C = class extends BaseCtor {
5530
5778
  constructor(...args) {
5531
5779
  super(...args);
5780
+ /**
5781
+ * Track whether the value has been changed from the initial value
5782
+ */
5532
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
+ */
5533
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
+ */
5534
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
+ */
5535
5806
  this.proxyEventsToBlock = ["change", "click"];
5536
5807
  this.proxyInitialized = false;
5537
5808
  this.required = false;
@@ -5540,21 +5811,51 @@ function FormAssociated(BaseCtor) {
5540
5811
  this.formResetCallback = this.formResetCallback.bind(this);
5541
5812
  }
5542
5813
  }
5814
+ /**
5815
+ * Must evaluate to true to enable elementInternals.
5816
+ * Feature detects API support and resolve respectively
5817
+ *
5818
+ * @internal
5819
+ */
5543
5820
  static get formAssociated() {
5544
5821
  return supportsElementInternals;
5545
5822
  }
5823
+ /**
5824
+ * Returns the validity state of the element
5825
+ *
5826
+ * @beta
5827
+ */
5546
5828
  get validity() {
5547
5829
  return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
5548
5830
  }
5831
+ /**
5832
+ * Retrieve a reference to the associated form.
5833
+ * Returns null if not associated to any form.
5834
+ *
5835
+ * @beta
5836
+ */
5549
5837
  get form() {
5550
5838
  return this.elementInternals ? this.elementInternals.form : this.proxy.form;
5551
5839
  }
5840
+ /**
5841
+ * Retrieve the localized validation message,
5842
+ * or custom validation message if set.
5843
+ *
5844
+ * @beta
5845
+ */
5552
5846
  get validationMessage() {
5553
5847
  return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
5554
5848
  }
5849
+ /**
5850
+ * Whether the element will be validated when the
5851
+ * form is submitted
5852
+ */
5555
5853
  get willValidate() {
5556
5854
  return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
5557
5855
  }
5856
+ /**
5857
+ * A reference to all associated label elements
5858
+ */
5558
5859
  get labels() {
5559
5860
  if (this.elementInternals) {
5560
5861
  return Object.freeze(Array.from(this.elementInternals.labels));
@@ -5567,6 +5868,16 @@ function FormAssociated(BaseCtor) {
5567
5868
  return emptyArray;
5568
5869
  }
5569
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
+ */
5570
5881
  valueChanged(previous, next) {
5571
5882
  this.dirtyValue = true;
5572
5883
  if (this.proxy instanceof HTMLElement) {
@@ -5579,23 +5890,67 @@ function FormAssociated(BaseCtor) {
5579
5890
  currentValueChanged() {
5580
5891
  this.value = this.currentValue;
5581
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
+ */
5582
5904
  initialValueChanged(previous, next) {
5583
5905
  if (!this.dirtyValue) {
5584
5906
  this.value = this.initialValue;
5585
5907
  this.dirtyValue = false;
5586
5908
  }
5587
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
+ */
5588
5921
  disabledChanged(previous, next) {
5589
5922
  if (this.proxy instanceof HTMLElement) {
5590
5923
  this.proxy.disabled = this.disabled;
5591
5924
  }
5592
5925
  Updates.enqueue(() => this.classList.toggle("disabled", this.disabled));
5593
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
+ */
5594
5938
  nameChanged(previous, next) {
5595
5939
  if (this.proxy instanceof HTMLElement) {
5596
5940
  this.proxy.name = this.name;
5597
5941
  }
5598
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
+ */
5599
5954
  requiredChanged(prev, next) {
5600
5955
  if (this.proxy instanceof HTMLElement) {
5601
5956
  this.proxy.required = this.required;
@@ -5603,6 +5958,10 @@ function FormAssociated(BaseCtor) {
5603
5958
  Updates.enqueue(() => this.classList.toggle("required", this.required));
5604
5959
  this.validate();
5605
5960
  }
5961
+ /**
5962
+ * The element internals object. Will only exist
5963
+ * in browsers supporting the attachInternals API
5964
+ */
5606
5965
  get elementInternals() {
5607
5966
  if (!supportsElementInternals) {
5608
5967
  return null;
@@ -5614,6 +5973,9 @@ function FormAssociated(BaseCtor) {
5614
5973
  }
5615
5974
  return internals;
5616
5975
  }
5976
+ /**
5977
+ * @internal
5978
+ */
5617
5979
  connectedCallback() {
5618
5980
  super.connectedCallback();
5619
5981
  this.addEventListener("keypress", this._keypressHandler);
@@ -5628,18 +5990,37 @@ function FormAssociated(BaseCtor) {
5628
5990
  }
5629
5991
  }
5630
5992
  }
5993
+ /**
5994
+ * @internal
5995
+ */
5631
5996
  disconnectedCallback() {
5632
5997
  this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));
5633
5998
  if (!this.elementInternals && this.form) {
5634
5999
  this.form.removeEventListener("reset", this.formResetCallback);
5635
6000
  }
5636
6001
  }
6002
+ /**
6003
+ * Return the current validity of the element.
6004
+ */
5637
6005
  checkValidity() {
5638
6006
  return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity();
5639
6007
  }
6008
+ /**
6009
+ * Return the current validity of the element.
6010
+ * If false, fires an invalid event at the element.
6011
+ */
5640
6012
  reportValidity() {
5641
6013
  return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity();
5642
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
+ */
5643
6024
  setValidity(flags, message, anchor) {
5644
6025
  if (this.elementInternals) {
5645
6026
  this.elementInternals.setValidity(flags, message, anchor);
@@ -5647,6 +6028,11 @@ function FormAssociated(BaseCtor) {
5647
6028
  this.proxy.setCustomValidity(message);
5648
6029
  }
5649
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
+ */
5650
6036
  formDisabledCallback(disabled) {
5651
6037
  this.disabled = disabled;
5652
6038
  }
@@ -5654,8 +6040,10 @@ function FormAssociated(BaseCtor) {
5654
6040
  this.value = this.initialValue;
5655
6041
  this.dirtyValue = false;
5656
6042
  }
6043
+ /**
6044
+ * Attach the proxy element to the DOM
6045
+ */
5657
6046
  attachProxy() {
5658
- var _a;
5659
6047
  if (!this.proxyInitialized) {
5660
6048
  this.proxyInitialized = true;
5661
6049
  this.proxy.style.display = "none";
@@ -5672,19 +6060,27 @@ function FormAssociated(BaseCtor) {
5672
6060
  this.proxySlot = document.createElement("slot");
5673
6061
  this.proxySlot.setAttribute("name", proxySlotName);
5674
6062
  }
5675
- (_a = this.shadowRoot) == null ? void 0 : _a.appendChild(this.proxySlot);
6063
+ this.shadowRoot?.appendChild(this.proxySlot);
5676
6064
  this.appendChild(this.proxy);
5677
6065
  }
6066
+ /**
6067
+ * Detach the proxy element from the DOM
6068
+ */
5678
6069
  detachProxy() {
5679
- var _a;
5680
6070
  this.removeChild(this.proxy);
5681
- (_a = this.shadowRoot) == null ? void 0 : _a.removeChild(this.proxySlot);
6071
+ this.shadowRoot?.removeChild(this.proxySlot);
5682
6072
  }
6073
+ /** {@inheritDoc (FormAssociated:interface).validate} */
5683
6074
  validate(anchor) {
5684
6075
  if (this.proxy instanceof HTMLElement) {
5685
6076
  this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);
5686
6077
  }
5687
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
+ */
5688
6084
  setFormValue(value, state) {
5689
6085
  if (this.elementInternals) {
5690
6086
  this.elementInternals.setFormValue(value, state || value);
@@ -5695,11 +6091,15 @@ function FormAssociated(BaseCtor) {
5695
6091
  case keyEnter:
5696
6092
  if (this.form instanceof HTMLFormElement) {
5697
6093
  const defaultButton = this.form.querySelector("[type=submit]");
5698
- defaultButton == null ? void 0 : defaultButton.click();
6094
+ defaultButton?.click();
5699
6095
  }
5700
6096
  break;
5701
6097
  }
5702
6098
  }
6099
+ /**
6100
+ * Used to stop propagation of proxy element events
6101
+ * @param e - Event object
6102
+ */
5703
6103
  stopPropagation(e) {
5704
6104
  e.stopPropagation();
5705
6105
  }
@@ -5726,14 +6126,35 @@ function CheckableFormAssociated(BaseCtor) {
5726
6126
  class D extends C {
5727
6127
  constructor(...args) {
5728
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
+ */
5729
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
+ */
5730
6143
  this.checkedAttribute = false;
6144
+ /**
6145
+ * The checked state of the control.
6146
+ *
6147
+ * @public
6148
+ */
5731
6149
  this.checked = false;
5732
6150
  this.dirtyChecked = false;
5733
6151
  }
5734
6152
  checkedAttributeChanged() {
5735
6153
  this.defaultChecked = this.checkedAttribute;
5736
6154
  }
6155
+ /**
6156
+ * @internal
6157
+ */
5737
6158
  defaultCheckedChanged() {
5738
6159
  if (!this.dirtyChecked) {
5739
6160
  this.checked = this.defaultChecked;
@@ -5803,8 +6224,17 @@ var __decorateClass$k = (decorators, target, key, kind) => {
5803
6224
  class Checkbox extends FormAssociatedCheckbox {
5804
6225
  constructor() {
5805
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
+ */
5806
6233
  this.initialValue = "on";
5807
6234
  this.indeterminate = false;
6235
+ /**
6236
+ * @internal
6237
+ */
5808
6238
  this.keypressHandler = e => {
5809
6239
  if (this.disabled) {
5810
6240
  return;
@@ -5815,6 +6245,9 @@ class Checkbox extends FormAssociatedCheckbox {
5815
6245
  break;
5816
6246
  }
5817
6247
  };
6248
+ /**
6249
+ * @internal
6250
+ */
5818
6251
  this.clickHandler = e => {
5819
6252
  if (!this.disabled) {
5820
6253
  this.toggleChecked();
@@ -5931,9 +6364,14 @@ class CounterBadge extends FASTElement {
5931
6364
  overflowCountChanged() {
5932
6365
  this.setCount();
5933
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
+ */
5934
6373
  setCount() {
5935
- var _a;
5936
- const count = (_a = this.count) != null ? _a : 0;
6374
+ const count = this.count ?? 0;
5937
6375
  if ((count !== 0 || this.showZero) && !this.dot) {
5938
6376
  return count > this.overflowCount ? `${this.overflowCount}+` : `${count}`;
5939
6377
  }
@@ -6374,21 +6812,40 @@ var __decorateClass$i = (decorators, target, key, kind) => {
6374
6812
  if (kind && result) __defProp$i(target, key, result);
6375
6813
  return result;
6376
6814
  };
6377
- const _Dialog = class extends FASTElement {
6815
+ const _Dialog = class _Dialog extends FASTElement {
6378
6816
  constructor() {
6379
6817
  super(...arguments);
6818
+ /**
6819
+ * @private
6820
+ * Indicates whether focus is being trapped within the dialog
6821
+ */
6380
6822
  this.isTrappingFocus = false;
6381
6823
  this.titleAction = [];
6382
6824
  this.modalType = DialogModalType.modal;
6383
6825
  this.open = false;
6384
6826
  this.noTitleAction = false;
6827
+ /**
6828
+ * @private
6829
+ * Indicates whether focus should be trapped within the dialog
6830
+ */
6385
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
+ */
6386
6837
  this.onOpenChangeEvent = (dismissed = false) => {
6387
6838
  this.$emit("onOpenChange", {
6388
6839
  open: this.dialog.open,
6389
6840
  dismissed
6390
6841
  });
6391
6842
  };
6843
+ /**
6844
+ * @public
6845
+ * Handles keydown events on the dialog
6846
+ * @param e - The keydown event
6847
+ * @returns boolean | void
6848
+ */
6392
6849
  this.handleKeydown = e => {
6393
6850
  if (e.defaultPrevented) {
6394
6851
  return;
@@ -6404,6 +6861,11 @@ const _Dialog = class extends FASTElement {
6404
6861
  return true;
6405
6862
  }
6406
6863
  };
6864
+ /**
6865
+ * @private
6866
+ * Handles keydown events on the document
6867
+ * @param e - The keydown event
6868
+ */
6407
6869
  this.handleDocumentKeydown = e => {
6408
6870
  if (!e.defaultPrevented && this.dialog.open) {
6409
6871
  switch (e.key) {
@@ -6413,6 +6875,11 @@ const _Dialog = class extends FASTElement {
6413
6875
  }
6414
6876
  }
6415
6877
  };
6878
+ /**
6879
+ * @private
6880
+ * Handles tab keydown events
6881
+ * @param e - The keydown event
6882
+ */
6416
6883
  this.handleTabKeyDown = e => {
6417
6884
  if (!this.trapFocus || !this.dialog.open) {
6418
6885
  return;
@@ -6432,10 +6899,19 @@ const _Dialog = class extends FASTElement {
6432
6899
  }
6433
6900
  return;
6434
6901
  };
6902
+ /**
6903
+ * @private
6904
+ * Gets the bounds of the tab queue
6905
+ * @returns (HTMLElement | SVGElement)[]
6906
+ */
6435
6907
  this.getTabQueueBounds = () => {
6436
6908
  const bounds = [];
6437
6909
  return _Dialog.reduceTabbableItems(bounds, this);
6438
6910
  };
6911
+ /**
6912
+ * @private
6913
+ * Focuses the first element in the tab queue
6914
+ */
6439
6915
  this.focusFirstElement = () => {
6440
6916
  const bounds = this.getTabQueueBounds();
6441
6917
  if (bounds.length > 0) {
@@ -6446,18 +6922,39 @@ const _Dialog = class extends FASTElement {
6446
6922
  }
6447
6923
  }
6448
6924
  };
6925
+ /**
6926
+ * @private
6927
+ * Determines if focus should be forced
6928
+ * @param currentFocusElement - The currently focused element
6929
+ * @returns boolean
6930
+ */
6449
6931
  this.shouldForceFocus = currentFocusElement => {
6450
6932
  return this.isTrappingFocus && !this.contains(currentFocusElement);
6451
6933
  };
6934
+ /**
6935
+ * @private
6936
+ * Determines if focus should be trapped
6937
+ * @returns boolean
6938
+ */
6452
6939
  this.shouldTrapFocus = () => {
6453
6940
  return this.trapFocus && this.dialog.open;
6454
6941
  };
6942
+ /**
6943
+ * @private
6944
+ * Handles focus events on the document
6945
+ * @param e - The focus event
6946
+ */
6455
6947
  this.handleDocumentFocus = e => {
6456
6948
  if (!e.defaultPrevented && this.shouldForceFocus(e.target)) {
6457
6949
  this.focusFirstElement();
6458
6950
  e.preventDefault();
6459
6951
  }
6460
6952
  };
6953
+ /**
6954
+ * @private
6955
+ * Updates the state of focus trapping
6956
+ * @param shouldTrapFocusOverride - Optional override for whether focus should be trapped
6957
+ */
6461
6958
  this.updateTrapFocus = shouldTrapFocusOverride => {
6462
6959
  const shouldTrapFocus = shouldTrapFocusOverride === void 0 ? this.shouldTrapFocus() : shouldTrapFocusOverride;
6463
6960
  if (shouldTrapFocus && !this.isTrappingFocus) {
@@ -6474,6 +6971,10 @@ const _Dialog = class extends FASTElement {
6474
6971
  }
6475
6972
  };
6476
6973
  }
6974
+ /**
6975
+ * @public
6976
+ * Lifecycle method called when the element is connected to the DOM
6977
+ */
6477
6978
  connectedCallback() {
6478
6979
  super.connectedCallback();
6479
6980
  document.addEventListener("keydown", this.handleDocumentKeydown);
@@ -6482,11 +6983,19 @@ const _Dialog = class extends FASTElement {
6482
6983
  this.setComponent();
6483
6984
  });
6484
6985
  }
6986
+ /**
6987
+ * @public
6988
+ * Lifecycle method called when the element is disconnected from the DOM
6989
+ */
6485
6990
  disconnectedCallback() {
6486
6991
  super.disconnectedCallback();
6487
6992
  document.removeEventListener("keydown", this.handleDocumentKeydown);
6488
6993
  this.updateTrapFocus(false);
6489
6994
  }
6995
+ /**
6996
+ * @public
6997
+ * Method called when the 'open' attribute changes
6998
+ */
6490
6999
  openChanged(oldValue, newValue) {
6491
7000
  if (newValue !== oldValue) {
6492
7001
  if (newValue && !oldValue) {
@@ -6496,6 +7005,10 @@ const _Dialog = class extends FASTElement {
6496
7005
  }
6497
7006
  }
6498
7007
  }
7008
+ /**
7009
+ * @public
7010
+ * Method called when the 'modalType' attribute changes
7011
+ */
6499
7012
  modalTypeChanged(oldValue, newValue) {
6500
7013
  if (newValue !== oldValue) {
6501
7014
  if (newValue == DialogModalType.alert || newValue == DialogModalType.modal) {
@@ -6505,6 +7018,10 @@ const _Dialog = class extends FASTElement {
6505
7018
  }
6506
7019
  }
6507
7020
  }
7021
+ /**
7022
+ * @public
7023
+ * Method to set the component's state based on its attributes
7024
+ */
6508
7025
  setComponent() {
6509
7026
  if (this.modalType == DialogModalType.modal || this.modalType == DialogModalType.alert) {
6510
7027
  this.trapFocus = true;
@@ -6512,6 +7029,10 @@ const _Dialog = class extends FASTElement {
6512
7029
  this.trapFocus = false;
6513
7030
  }
6514
7031
  }
7032
+ /**
7033
+ * @public
7034
+ * Method to show the dialog
7035
+ */
6515
7036
  show() {
6516
7037
  Updates.enqueue(() => {
6517
7038
  if (this.modalType === DialogModalType.alert || this.modalType === DialogModalType.modal) {
@@ -6525,17 +7046,32 @@ const _Dialog = class extends FASTElement {
6525
7046
  this.onOpenChangeEvent();
6526
7047
  });
6527
7048
  }
7049
+ /**
7050
+ * @public
7051
+ * Method to hide the dialog
7052
+ * @param dismissed - Indicates whether the dialog was dismissed
7053
+ */
6528
7054
  hide(dismissed = false) {
6529
7055
  this.dialog.close();
6530
7056
  this.open = false;
6531
7057
  this.onOpenChangeEvent(dismissed);
6532
7058
  }
7059
+ /**
7060
+ * @public
7061
+ * Method to dismiss the dialog
7062
+ */
6533
7063
  dismiss() {
6534
7064
  if (this.modalType === DialogModalType.alert) {
6535
7065
  return;
6536
7066
  }
6537
7067
  this.hide(true);
6538
7068
  }
7069
+ /**
7070
+ * @public
7071
+ * Handles click events on the dialog
7072
+ * @param event - The click event
7073
+ * @returns boolean
7074
+ */
6539
7075
  handleClick(event) {
6540
7076
  event.preventDefault();
6541
7077
  if (this.dialog.open && this.modalType !== DialogModalType.alert && event.target === this.dialog) {
@@ -6543,6 +7079,13 @@ const _Dialog = class extends FASTElement {
6543
7079
  }
6544
7080
  return true;
6545
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
+ */
6546
7089
  static reduceTabbableItems(elements, element) {
6547
7090
  if (element.getAttribute("tabindex") === "-1") {
6548
7091
  return elements;
@@ -6553,37 +7096,47 @@ const _Dialog = class extends FASTElement {
6553
7096
  }
6554
7097
  return Array.from(element.children).reduce((elements2, currentElement) => _Dialog.reduceTabbableItems(elements2, currentElement), elements);
6555
7098
  }
7099
+ /**
7100
+ * @private
7101
+ * Determines if an element is a focusable FASTElement
7102
+ * @param element - The element to check
7103
+ * @returns boolean
7104
+ */
6556
7105
  static isFocusableFastElement(element) {
6557
- var _a, _b;
6558
- return !!((_b = (_a = element.$fastController) == null ? void 0 : _a.definition.shadowOptions) == null ? void 0 : _b.delegatesFocus);
7106
+ return !!element.$fastController?.definition.shadowOptions?.delegatesFocus;
6559
7107
  }
7108
+ /**
7109
+ * @private
7110
+ * Determines if an element has a tabbable shadow
7111
+ * @param element - The element to check
7112
+ * @returns boolean
7113
+ */
6560
7114
  static hasTabbableShadow(element) {
6561
- var _a, _b;
6562
- 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 => {
6563
7116
  return isTabbable(x);
6564
7117
  });
6565
7118
  }
6566
7119
  };
6567
- let Dialog = _Dialog;
6568
- __decorateClass$i([observable], Dialog.prototype, "dialog", 2);
6569
- __decorateClass$i([observable], Dialog.prototype, "titleAction", 2);
6570
- __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);
6571
7123
  __decorateClass$i([attr({
6572
7124
  attribute: "aria-describedby"
6573
- })], Dialog.prototype, "ariaDescribedby", 2);
7125
+ })], _Dialog.prototype, "ariaDescribedby", 2);
6574
7126
  __decorateClass$i([attr({
6575
7127
  attribute: "aria-labelledby"
6576
- })], Dialog.prototype, "ariaLabelledby", 2);
7128
+ })], _Dialog.prototype, "ariaLabelledby", 2);
6577
7129
  __decorateClass$i([attr({
6578
7130
  attribute: "modal-type"
6579
- })], Dialog.prototype, "modalType", 2);
7131
+ })], _Dialog.prototype, "modalType", 2);
6580
7132
  __decorateClass$i([attr({
6581
7133
  mode: "boolean"
6582
- })], Dialog.prototype, "open", 2);
7134
+ })], _Dialog.prototype, "open", 2);
6583
7135
  __decorateClass$i([attr({
6584
7136
  mode: "boolean",
6585
7137
  attribute: "no-title-action"
6586
- })], Dialog.prototype, "noTitleAction", 2);
7138
+ })], _Dialog.prototype, "noTitleAction", 2);
7139
+ let Dialog = _Dialog;
6587
7140
 
6588
7141
  const dismissed16Regular = html.partial(`
6589
7142
  <svg
@@ -6616,7 +7169,13 @@ const definition$j = Dialog.compose({
6616
7169
  });
6617
7170
 
6618
7171
  const DividerRole = {
7172
+ /**
7173
+ * The divider semantically separates content
7174
+ */
6619
7175
  separator: "separator",
7176
+ /**
7177
+ * The divider has no semantic value and is for visual presentation only.
7178
+ */
6620
7179
  presentation: "presentation"
6621
7180
  };
6622
7181
  const DividerOrientation = Orientation;
@@ -7702,6 +8261,10 @@ class Menu extends FASTElement {
7702
8261
  this.open = false;
7703
8262
  this.slottedMenuList = [];
7704
8263
  this.slottedTriggers = [];
8264
+ /**
8265
+ * Toggles the open state of the menu.
8266
+ * @public
8267
+ */
7705
8268
  this.toggleMenu = () => {
7706
8269
  if (this.open) {
7707
8270
  this.closeMenu();
@@ -7709,13 +8272,21 @@ class Menu extends FASTElement {
7709
8272
  this.openMenu();
7710
8273
  }
7711
8274
  };
8275
+ /**
8276
+ * Closes the menu.
8277
+ * @public
8278
+ */
7712
8279
  this.closeMenu = () => {
7713
8280
  this.open = false;
7714
8281
  if (this.closeOnScroll) {
7715
8282
  document.removeEventListener("scroll", this.closeMenu);
7716
8283
  }
7717
8284
  };
7718
- this.openMenu = e => {
8285
+ /**
8286
+ * Opens the menu.
8287
+ * @public
8288
+ */
8289
+ this.openMenu = e => {
7719
8290
  this.open = true;
7720
8291
  if (e && this.openOnContext) {
7721
8292
  e.preventDefault();
@@ -7724,9 +8295,20 @@ class Menu extends FASTElement {
7724
8295
  document.addEventListener("scroll", this.closeMenu);
7725
8296
  }
7726
8297
  };
8298
+ /**
8299
+ * The task to set the positioning of the menu.
8300
+ * @protected
8301
+ */
7727
8302
  this.setPositioningTask = () => {
7728
8303
  this.setPositioning();
7729
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
+ */
7730
8312
  this.handleTriggerKeydown = e => {
7731
8313
  if (e.defaultPrevented) {
7732
8314
  return;
@@ -7745,22 +8327,41 @@ class Menu extends FASTElement {
7745
8327
  return true;
7746
8328
  }
7747
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
+ */
7748
8335
  this.handleDocumentClick = e => {
7749
8336
  if (e && !e.composedPath().includes(this._menuList) && !e.composedPath().includes(this._trigger)) {
7750
8337
  this.closeMenu();
7751
8338
  }
7752
8339
  };
7753
8340
  }
8341
+ /**
8342
+ * Called when the element is connected to the DOM.
8343
+ * Sets up the component.
8344
+ * @public
8345
+ */
7754
8346
  connectedCallback() {
7755
8347
  super.connectedCallback();
7756
8348
  Updates.enqueue(() => this.setComponent());
7757
8349
  }
8350
+ /**
8351
+ * Called when the element is disconnected from the DOM.
8352
+ * Removes event listeners.
8353
+ * @public
8354
+ */
7758
8355
  disconnectedCallback() {
7759
- var _a;
7760
8356
  super.disconnectedCallback();
7761
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8357
+ this.cleanup?.();
7762
8358
  this.removeListeners();
7763
8359
  }
8360
+ /**
8361
+ * Sets the component.
8362
+ * Sets the trigger and menu list elements and adds event listeners.
8363
+ * @public
8364
+ */
7764
8365
  setComponent() {
7765
8366
  if (this.$fastController.isConnected && this.slottedMenuList.length && this.slottedTriggers.length) {
7766
8367
  this._trigger = this.slottedTriggers[0];
@@ -7770,6 +8371,10 @@ class Menu extends FASTElement {
7770
8371
  this.addListeners();
7771
8372
  }
7772
8373
  }
8374
+ /**
8375
+ * Focuses on the menu list.
8376
+ * @public
8377
+ */
7773
8378
  focusMenuList() {
7774
8379
  if (this.open && this._menuList) {
7775
8380
  Updates.enqueue(() => {
@@ -7777,6 +8382,10 @@ class Menu extends FASTElement {
7777
8382
  });
7778
8383
  }
7779
8384
  }
8385
+ /**
8386
+ * Focuses on the menu trigger.
8387
+ * @public
8388
+ */
7780
8389
  focusTrigger() {
7781
8390
  if (!this.open && this._trigger) {
7782
8391
  Updates.enqueue(() => {
@@ -7784,43 +8393,76 @@ class Menu extends FASTElement {
7784
8393
  });
7785
8394
  }
7786
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
+ */
7787
8405
  openChanged(oldValue, newValue) {
7788
- var _a;
7789
8406
  if (this.$fastController.isConnected && this._trigger instanceof HTMLElement) {
7790
8407
  this._trigger.setAttribute("aria-expanded", `${this.open}`);
7791
8408
  if (this._menuList && this.open) {
7792
8409
  Updates.enqueue(this.setPositioningTask);
7793
8410
  }
7794
8411
  }
7795
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8412
+ this.cleanup?.();
7796
8413
  this.$emit("onOpenChange", {
7797
8414
  open: newValue
7798
8415
  });
7799
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
+ */
7800
8424
  openOnHoverChanged(oldValue, newValue) {
7801
- var _a, _b;
7802
8425
  if (newValue) {
7803
- (_a = this._trigger) == null ? void 0 : _a.addEventListener("mouseover", this.openMenu);
8426
+ this._trigger?.addEventListener("mouseover", this.openMenu);
7804
8427
  } else {
7805
- (_b = this._trigger) == null ? void 0 : _b.removeEventListener("mouseover", this.openMenu);
8428
+ this._trigger?.removeEventListener("mouseover", this.openMenu);
7806
8429
  }
7807
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
+ */
7808
8438
  persistOnItemClickChanged(oldValue, newValue) {
7809
- var _a, _b;
7810
8439
  if (!newValue) {
7811
- (_a = this._menuList) == null ? void 0 : _a.addEventListener("click", this.closeMenu);
8440
+ this._menuList?.addEventListener("click", this.closeMenu);
7812
8441
  } else {
7813
- (_b = this._menuList) == null ? void 0 : _b.removeEventListener("click", this.closeMenu);
8442
+ this._menuList?.removeEventListener("click", this.closeMenu);
7814
8443
  }
7815
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
+ */
7816
8452
  openOnContextChanged(oldValue, newValue) {
7817
- var _a, _b;
7818
8453
  if (newValue) {
7819
- (_a = this._trigger) == null ? void 0 : _a.addEventListener("contextmenu", this.openMenu);
8454
+ this._trigger?.addEventListener("contextmenu", this.openMenu);
7820
8455
  } else {
7821
- (_b = this._trigger) == null ? void 0 : _b.removeEventListener("contextmenu", this.openMenu);
8456
+ this._trigger?.removeEventListener("contextmenu", this.openMenu);
7822
8457
  }
7823
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
+ */
7824
8466
  closeOnScrollChanged(oldValue, newValue) {
7825
8467
  if (newValue) {
7826
8468
  document.addEventListener("scroll", this.closeMenu);
@@ -7828,10 +8470,13 @@ class Menu extends FASTElement {
7828
8470
  document.removeEventListener("scroll", this.closeMenu);
7829
8471
  }
7830
8472
  }
8473
+ /**
8474
+ * Sets the positioning of the menu.
8475
+ * @protected
8476
+ */
7831
8477
  setPositioning() {
7832
8478
  if (this.$fastController.isConnected && this._menuList && this.open && this._trigger) {
7833
8479
  this.cleanup = P(this, this.positioningContainer, async () => {
7834
- var _a, _b;
7835
8480
  const {
7836
8481
  middlewareData,
7837
8482
  x,
@@ -7844,19 +8489,18 @@ class Menu extends FASTElement {
7844
8489
  availableHeight,
7845
8490
  rects
7846
8491
  }) => {
7847
- var _a2;
7848
- ((_a2 = this.positioningContainer) == null ? void 0 : _a2.style) && Object.assign(this.positioningContainer.style, {
8492
+ this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
7849
8493
  maxHeight: `${availableHeight}px`,
7850
8494
  width: `${rects.reference.width}px`
7851
8495
  });
7852
8496
  }
7853
8497
  }), P$1()]
7854
8498
  });
7855
- if ((_a = middlewareData.hide) == null ? void 0 : _a.referenceHidden) {
8499
+ if (middlewareData.hide?.referenceHidden) {
7856
8500
  this.open = false;
7857
8501
  return;
7858
8502
  }
7859
- ((_b = this.positioningContainer) == null ? void 0 : _b.style) && Object.assign(this.positioningContainer.style, {
8503
+ this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
7860
8504
  position: "fixed",
7861
8505
  top: "0",
7862
8506
  left: "0",
@@ -7865,37 +8509,54 @@ class Menu extends FASTElement {
7865
8509
  });
7866
8510
  }
7867
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
+ */
7868
8518
  addListeners() {
7869
- var _a, _b, _c, _d, _e;
7870
8519
  document.addEventListener("click", this.handleDocumentClick);
7871
- (_a = this._trigger) == null ? void 0 : _a.addEventListener("keydown", this.handleTriggerKeydown);
8520
+ this._trigger?.addEventListener("keydown", this.handleTriggerKeydown);
7872
8521
  if (!this.persistOnItemClick) {
7873
- (_b = this._menuList) == null ? void 0 : _b.addEventListener("click", this.closeMenu);
8522
+ this._menuList?.addEventListener("click", this.closeMenu);
7874
8523
  }
7875
8524
  if (this.openOnHover) {
7876
- (_c = this._trigger) == null ? void 0 : _c.addEventListener("mouseover", this.openMenu);
8525
+ this._trigger?.addEventListener("mouseover", this.openMenu);
7877
8526
  } else if (this.openOnContext) {
7878
- (_d = this._trigger) == null ? void 0 : _d.addEventListener("contextmenu", this.openMenu);
8527
+ this._trigger?.addEventListener("contextmenu", this.openMenu);
7879
8528
  } else {
7880
- (_e = this._trigger) == null ? void 0 : _e.addEventListener("click", this.toggleMenu);
8529
+ this._trigger?.addEventListener("click", this.toggleMenu);
7881
8530
  }
7882
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
+ */
7883
8538
  removeListeners() {
7884
- var _a, _b, _c, _d, _e;
7885
8539
  document.removeEventListener("click", this.handleDocumentClick);
7886
- (_a = this._trigger) == null ? void 0 : _a.removeEventListener("keydown", this.handleTriggerKeydown);
8540
+ this._trigger?.removeEventListener("keydown", this.handleTriggerKeydown);
7887
8541
  if (!this.persistOnItemClick) {
7888
- (_b = this._menuList) == null ? void 0 : _b.removeEventListener("click", this.closeMenu);
8542
+ this._menuList?.removeEventListener("click", this.closeMenu);
7889
8543
  }
7890
8544
  if (this.openOnHover) {
7891
- (_c = this._trigger) == null ? void 0 : _c.removeEventListener("mouseover", this.openMenu);
8545
+ this._trigger?.removeEventListener("mouseover", this.openMenu);
7892
8546
  }
7893
8547
  if (this.openOnContext) {
7894
- (_d = this._trigger) == null ? void 0 : _d.removeEventListener("contextmenu", this.openMenu);
8548
+ this._trigger?.removeEventListener("contextmenu", this.openMenu);
7895
8549
  } else {
7896
- (_e = this._trigger) == null ? void 0 : _e.removeEventListener("click", this.toggleMenu);
8550
+ this._trigger?.removeEventListener("click", this.toggleMenu);
7897
8551
  }
7898
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
+ */
7899
8560
  handleMenuKeydown(e) {
7900
8561
  if (e.defaultPrevented) {
7901
8562
  return;
@@ -7970,7 +8631,8 @@ const MenuButtonShape = ButtonShape;
7970
8631
  const MenuButtonSize = ButtonSize;
7971
8632
 
7972
8633
  const template$e = buttonTemplate$1({
7973
- end: html.partial(`
8634
+ end: html.partial( /* html */
8635
+ `
7974
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">
7975
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>
7976
8638
  </svg>
@@ -7984,8 +8646,17 @@ const definition$e = MenuButton.compose({
7984
8646
  });
7985
8647
 
7986
8648
  const MenuItemRole = {
8649
+ /**
8650
+ * The menu item has a "menuitem" role
8651
+ */
7987
8652
  menuitem: "menuitem",
8653
+ /**
8654
+ * The menu item has a "menuitemcheckbox" role
8655
+ */
7988
8656
  menuitemcheckbox: "menuitemcheckbox",
8657
+ /**
8658
+ * The menu item has a "menuitemradio" role
8659
+ */
7989
8660
  menuitemradio: "menuitemradio"
7990
8661
  };
7991
8662
  const roleForMenuItem = {
@@ -8008,6 +8679,9 @@ class MenuItem extends FASTElement {
8008
8679
  this.role = MenuItemRole.menuitem;
8009
8680
  this.checked = false;
8010
8681
  this.focusSubmenuOnLoad = false;
8682
+ /**
8683
+ * @internal
8684
+ */
8011
8685
  this.handleMenuItemKeyDown = e => {
8012
8686
  if (e.defaultPrevented) {
8013
8687
  return false;
@@ -8034,6 +8708,9 @@ class MenuItem extends FASTElement {
8034
8708
  }
8035
8709
  return true;
8036
8710
  };
8711
+ /**
8712
+ * @internal
8713
+ */
8037
8714
  this.handleMenuItemClick = e => {
8038
8715
  if (e.defaultPrevented || this.disabled) {
8039
8716
  return false;
@@ -8041,6 +8718,9 @@ class MenuItem extends FASTElement {
8041
8718
  this.invoke();
8042
8719
  return false;
8043
8720
  };
8721
+ /**
8722
+ * @internal
8723
+ */
8044
8724
  this.submenuLoaded = () => {
8045
8725
  if (!this.focusSubmenuOnLoad) {
8046
8726
  return;
@@ -8051,6 +8731,9 @@ class MenuItem extends FASTElement {
8051
8731
  this.setAttribute("tabindex", "-1");
8052
8732
  }
8053
8733
  };
8734
+ /**
8735
+ * @internal
8736
+ */
8054
8737
  this.handleMouseOver = e => {
8055
8738
  if (this.disabled || !this.hasSubmenu || this.expanded) {
8056
8739
  return false;
@@ -8058,6 +8741,9 @@ class MenuItem extends FASTElement {
8058
8741
  this.expanded = true;
8059
8742
  return false;
8060
8743
  };
8744
+ /**
8745
+ * @internal
8746
+ */
8061
8747
  this.handleMouseOut = e => {
8062
8748
  if (!this.expanded || this.contains(document.activeElement)) {
8063
8749
  return false;
@@ -8065,10 +8751,16 @@ class MenuItem extends FASTElement {
8065
8751
  this.expanded = false;
8066
8752
  return false;
8067
8753
  };
8754
+ /**
8755
+ * @internal
8756
+ */
8068
8757
  this.closeSubMenu = () => {
8069
8758
  this.expanded = false;
8070
8759
  this.focus();
8071
8760
  };
8761
+ /**
8762
+ * @internal
8763
+ */
8072
8764
  this.expandAndFocus = () => {
8073
8765
  if (!this.hasSubmenu) {
8074
8766
  return;
@@ -8076,6 +8768,9 @@ class MenuItem extends FASTElement {
8076
8768
  this.focusSubmenuOnLoad = true;
8077
8769
  this.expanded = true;
8078
8770
  };
8771
+ /**
8772
+ * @internal
8773
+ */
8079
8774
  this.invoke = () => {
8080
8775
  if (this.disabled) {
8081
8776
  return;
@@ -8114,23 +8809,37 @@ class MenuItem extends FASTElement {
8114
8809
  this.$emit("change");
8115
8810
  }
8116
8811
  }
8812
+ /**
8813
+ * @internal
8814
+ */
8117
8815
  get hasSubmenu() {
8118
8816
  return !!this.submenu;
8119
8817
  }
8818
+ /**
8819
+ * Sets the submenu and updates its position.
8820
+ *
8821
+ * @internal
8822
+ */
8120
8823
  slottedSubmenuChanged(prev, next) {
8121
8824
  if (next.length) {
8122
8825
  this.submenu = next[0];
8123
8826
  this.updateSubmenu();
8124
8827
  }
8125
8828
  }
8829
+ /**
8830
+ * @internal
8831
+ */
8126
8832
  disconnectedCallback() {
8127
- var _a;
8128
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8833
+ this.cleanup?.();
8129
8834
  super.disconnectedCallback();
8130
8835
  }
8836
+ /**
8837
+ * Calculate and apply submenu positioning.
8838
+ *
8839
+ * @public
8840
+ */
8131
8841
  updateSubmenu() {
8132
- var _a;
8133
- (_a = this.cleanup) == null ? void 0 : _a.call(this);
8842
+ this.cleanup?.();
8134
8843
  if (!this.submenu || !this.expanded) {
8135
8844
  return;
8136
8845
  }
@@ -8216,14 +8925,25 @@ var __decorateClass$c = (decorators, target, key, kind) => {
8216
8925
  if (kind && result) __defProp$c(target, key, result);
8217
8926
  return result;
8218
8927
  };
8219
- const _MenuList = class extends FASTElement {
8928
+ const _MenuList = class _MenuList extends FASTElement {
8220
8929
  constructor() {
8221
8930
  super(...arguments);
8222
8931
  this.expandedItem = null;
8932
+ /**
8933
+ * The index of the focusable element in the items array
8934
+ * defaults to -1
8935
+ */
8223
8936
  this.focusIndex = -1;
8937
+ /**
8938
+ * @internal
8939
+ */
8224
8940
  this.isNestedMenu = () => {
8225
8941
  return this.parentElement !== null && isHTMLElement(this.parentElement) && this.parentElement.getAttribute("role") === "menuitem";
8226
8942
  };
8943
+ /**
8944
+ * if focus is moving out of the menu, reset to a stable initial state
8945
+ * @internal
8946
+ */
8227
8947
  this.handleFocusOut = e => {
8228
8948
  if (!this.contains(e.relatedTarget) && this.menuItems !== void 0) {
8229
8949
  this.collapseExpandedItem();
@@ -8261,6 +8981,9 @@ const _MenuList = class extends FASTElement {
8261
8981
  changedItem.setAttribute("tabindex", "0");
8262
8982
  }
8263
8983
  };
8984
+ /**
8985
+ * handle change from child element
8986
+ */
8264
8987
  this.changeHandler = e => {
8265
8988
  if (this.menuItems === void 0) {
8266
8989
  return;
@@ -8294,9 +9017,15 @@ const _MenuList = class extends FASTElement {
8294
9017
  }
8295
9018
  }
8296
9019
  };
9020
+ /**
9021
+ * check if the item is a menu item
9022
+ */
8297
9023
  this.isMenuItemElement = el => {
8298
9024
  return el instanceof MenuItem || isHTMLElement(el) && el.getAttribute("role") in _MenuList.focusableElementRoles;
8299
9025
  };
9026
+ /**
9027
+ * check if the item is focusable
9028
+ */
8300
9029
  this.isFocusableElement = el => {
8301
9030
  return this.isMenuItemElement(el);
8302
9031
  };
@@ -8306,6 +9035,9 @@ const _MenuList = class extends FASTElement {
8306
9035
  this.setItems();
8307
9036
  }
8308
9037
  }
9038
+ /**
9039
+ * @internal
9040
+ */
8309
9041
  connectedCallback() {
8310
9042
  super.connectedCallback();
8311
9043
  Updates.enqueue(() => {
@@ -8313,21 +9045,37 @@ const _MenuList = class extends FASTElement {
8313
9045
  });
8314
9046
  this.addEventListener("change", this.changeHandler);
8315
9047
  }
9048
+ /**
9049
+ * @internal
9050
+ */
8316
9051
  disconnectedCallback() {
8317
9052
  super.disconnectedCallback();
8318
9053
  this.removeItemListeners();
8319
9054
  this.menuItems = void 0;
8320
9055
  this.removeEventListener("change", this.changeHandler);
8321
9056
  }
9057
+ /**
9058
+ * Focuses the first item in the menu.
9059
+ *
9060
+ * @public
9061
+ */
8322
9062
  focus() {
8323
9063
  this.setFocus(0, 1);
8324
9064
  }
9065
+ /**
9066
+ * Collapses any expanded menu items.
9067
+ *
9068
+ * @public
9069
+ */
8325
9070
  collapseExpandedItem() {
8326
9071
  if (this.expandedItem !== null) {
8327
9072
  this.expandedItem.expanded = false;
8328
9073
  this.expandedItem = null;
8329
9074
  }
8330
9075
  }
9076
+ /**
9077
+ * @internal
9078
+ */
8331
9079
  handleMenuKeyDown(e) {
8332
9080
  if (e.defaultPrevented || this.menuItems === void 0) {
8333
9081
  return;
@@ -8365,7 +9113,6 @@ const _MenuList = class extends FASTElement {
8365
9113
  return startSlot ? 1 : 0;
8366
9114
  }
8367
9115
  setItems() {
8368
- var _a;
8369
9116
  const children = Array.from(this.children);
8370
9117
  this.removeItemListeners(children);
8371
9118
  children.forEach(child => Observable.getNotifier(child).subscribe(this, "hidden"));
@@ -8380,9 +9127,9 @@ const _MenuList = class extends FASTElement {
8380
9127
  item.addEventListener("expanded-change", this.handleExpandedChanged);
8381
9128
  item.addEventListener("focus", this.handleItemFocus);
8382
9129
  });
8383
- const filteredMenuListItems = (_a = this.menuItems) == null ? void 0 : _a.filter(this.isMenuItemElement);
8384
- filteredMenuListItems == null ? void 0 : filteredMenuListItems.forEach((item, index) => {
8385
- 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) => {
8386
9133
  const elementValue = _MenuList.elementIndent(current);
8387
9134
  return Math.max(accum, elementValue);
8388
9135
  }, 0);
@@ -8415,9 +9162,9 @@ const _MenuList = class extends FASTElement {
8415
9162
  }
8416
9163
  }
8417
9164
  };
9165
+ _MenuList.focusableElementRoles = MenuItemRole;
9166
+ __decorateClass$c([observable], _MenuList.prototype, "items", 2);
8418
9167
  let MenuList = _MenuList;
8419
- MenuList.focusableElementRoles = MenuItemRole;
8420
- __decorateClass$c([observable], MenuList.prototype, "items", 2);
8421
9168
 
8422
9169
  function menuTemplate() {
8423
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>`;
@@ -8461,6 +9208,9 @@ class BaseProgress extends FASTElement {
8461
9208
  this.updatePercentComplete();
8462
9209
  }
8463
9210
  }
9211
+ /**
9212
+ * @internal
9213
+ */
8464
9214
  connectedCallback() {
8465
9215
  super.connectedCallback();
8466
9216
  this.updatePercentComplete();
@@ -8567,26 +9317,36 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
8567
9317
  class Radio extends FormAssociatedRadio {
8568
9318
  constructor() {
8569
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
+ */
8570
9326
  this.initialValue = "on";
8571
9327
  this.proxy.setAttribute("type", "radio");
8572
9328
  }
8573
9329
  get radioGroup() {
8574
9330
  return this.closest("[role=radiogroup]");
8575
9331
  }
9332
+ /**
9333
+ * @internal
9334
+ */
8576
9335
  defaultCheckedChanged() {
8577
- var _a;
8578
9336
  if (this.$fastController.isConnected && !this.dirtyChecked) {
8579
9337
  if (!this.isInsideRadioGroup()) {
8580
- this.checked = (_a = this.defaultChecked) != null ? _a : false;
9338
+ this.checked = this.defaultChecked ?? false;
8581
9339
  this.dirtyChecked = false;
8582
9340
  }
8583
9341
  }
8584
9342
  }
9343
+ /**
9344
+ * @internal
9345
+ */
8585
9346
  connectedCallback() {
8586
- var _a, _b;
8587
9347
  super.connectedCallback();
8588
9348
  this.validate();
8589
- 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) {
8590
9350
  if (!this.disabled) {
8591
9351
  this.setAttribute("tabindex", "0");
8592
9352
  }
@@ -8594,7 +9354,7 @@ class Radio extends FormAssociatedRadio {
8594
9354
  if (this.checkedAttribute) {
8595
9355
  if (!this.dirtyChecked) {
8596
9356
  if (!this.isInsideRadioGroup()) {
8597
- this.checked = (_b = this.defaultChecked) != null ? _b : false;
9357
+ this.checked = this.defaultChecked ?? false;
8598
9358
  this.dirtyChecked = false;
8599
9359
  }
8600
9360
  }
@@ -8603,11 +9363,14 @@ class Radio extends FormAssociatedRadio {
8603
9363
  isInsideRadioGroup() {
8604
9364
  return this.radioGroup !== null;
8605
9365
  }
9366
+ /**
9367
+ * Handles key presses on the radio.
9368
+ * @beta
9369
+ */
8606
9370
  keypressHandler(e) {
8607
- var _a;
8608
9371
  switch (e.key) {
8609
9372
  case keySpace:
8610
- if (!this.checked && !((_a = this.radioGroup) == null ? void 0 : _a.readOnly)) {
9373
+ if (!this.checked && !this.radioGroup?.readOnly) {
8611
9374
  this.checked = true;
8612
9375
  }
8613
9376
  return;
@@ -8625,10 +9388,7 @@ const styles$a = css`
8625
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}`));
8626
9389
 
8627
9390
  function radioTemplate(options = {}) {
8628
- 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 => {
8629
- var _a;
8630
- return ["label", !((_a = x.defaultSlottedNodes) == null ? void 0 : _a.length) && "label__hidden"].filter(Boolean).join(" ");
8631
- }}"><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({
8632
9392
  property: "defaultSlottedNodes",
8633
9393
  filter: whitespaceFilter
8634
9394
  })}></slot></label></template>`;
@@ -8687,13 +9447,14 @@ class RadioGroup extends FASTElement {
8687
9447
  radio.focus();
8688
9448
  };
8689
9449
  this.moveRightOffGroup = () => {
8690
- var _a;
8691
- (_a = this.nextElementSibling) == null ? void 0 : _a.focus();
9450
+ this.nextElementSibling?.focus();
8692
9451
  };
8693
9452
  this.moveLeftOffGroup = () => {
8694
- var _a;
8695
- (_a = this.previousElementSibling) == null ? void 0 : _a.focus();
9453
+ this.previousElementSibling?.focus();
8696
9454
  };
9455
+ /**
9456
+ * @internal
9457
+ */
8697
9458
  this.focusOutHandler = e => {
8698
9459
  const group = this.slottedRadioButtons;
8699
9460
  const radio = e.target;
@@ -8722,6 +9483,9 @@ class RadioGroup extends FASTElement {
8722
9483
  }
8723
9484
  return true;
8724
9485
  };
9486
+ /**
9487
+ * @internal
9488
+ */
8725
9489
  this.handleDisabledClick = e => {
8726
9490
  if (this.disabled) {
8727
9491
  e.preventDefault();
@@ -8729,6 +9493,9 @@ class RadioGroup extends FASTElement {
8729
9493
  }
8730
9494
  return true;
8731
9495
  };
9496
+ /**
9497
+ * @internal
9498
+ */
8732
9499
  this.clickHandler = e => {
8733
9500
  if (this.disabled) {
8734
9501
  return;
@@ -8806,6 +9573,12 @@ class RadioGroup extends FASTElement {
8806
9573
  }
8807
9574
  }
8808
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
+ */
8809
9582
  this.keydownHandler = e => {
8810
9583
  const key = e.key;
8811
9584
  if (key in ArrowKeys && (this.isInsideFoundationToolbar || this.disabled)) {
@@ -8873,13 +9646,14 @@ class RadioGroup extends FASTElement {
8873
9646
  return this.closest('[role="toolbar"]');
8874
9647
  }
8875
9648
  get isInsideToolbar() {
8876
- var _a;
8877
- return (_a = this.parentToolbar) != null ? _a : false;
9649
+ return this.parentToolbar ?? false;
8878
9650
  }
8879
9651
  get isInsideFoundationToolbar() {
8880
- var _a;
8881
- return !!((_a = this.parentToolbar) == null ? void 0 : _a.hasOwnProperty("$fastController"));
9652
+ return !!this.parentToolbar?.hasOwnProperty("$fastController");
8882
9653
  }
9654
+ /**
9655
+ * @internal
9656
+ */
8883
9657
  connectedCallback() {
8884
9658
  super.connectedCallback();
8885
9659
  this.direction = getDirection(this);
@@ -9059,6 +9833,7 @@ class Slider extends FormAssociatedSlider {
9059
9833
  this.trackWidth = 1;
9060
9834
  }
9061
9835
  };
9836
+ //Remove
9062
9837
  this.setupListeners = (remove = false) => {
9063
9838
  this.addEventListener("keydown", this.keypressHandler);
9064
9839
  this.addEventListener("mousedown", this.handleMouseDown);
@@ -9067,7 +9842,14 @@ class Slider extends FormAssociatedSlider {
9067
9842
  this.removeEventListener("mousedown", this.handleMouseDown);
9068
9843
  }
9069
9844
  };
9845
+ /**
9846
+ * @internal
9847
+ */
9070
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
+ */
9071
9853
  this.handleThumbMouseDown = event => {
9072
9854
  const windowFn = event !== null ? window.addEventListener : window.removeEventListener;
9073
9855
  windowFn("mouseup", this.handleWindowMouseUp);
@@ -9080,6 +9862,9 @@ class Slider extends FormAssociatedSlider {
9080
9862
  windowFn("touchend", this.handleWindowMouseUp);
9081
9863
  this.isDragging = event !== null;
9082
9864
  };
9865
+ /**
9866
+ * Handle mouse moves during a thumb drag operation
9867
+ */
9083
9868
  this.handleMouseMove = e => {
9084
9869
  if (this.readOnly || this.disabled || e.defaultPrevented) {
9085
9870
  return;
@@ -9088,6 +9873,9 @@ class Slider extends FormAssociatedSlider {
9088
9873
  const eventValue = this.orientation === Orientation.horizontal ? sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft : sourceEvent.pageY - document.documentElement.scrollTop;
9089
9874
  this.value = `${this.calculateNewValue(eventValue)}`;
9090
9875
  };
9876
+ /**
9877
+ * Handle a window mouse up during a drag operation
9878
+ */
9091
9879
  this.handleWindowMouseUp = event => {
9092
9880
  this.stopDragging();
9093
9881
  };
@@ -9096,6 +9884,10 @@ class Slider extends FormAssociatedSlider {
9096
9884
  this.handleMouseDown(null);
9097
9885
  this.handleThumbMouseDown(null);
9098
9886
  };
9887
+ /**
9888
+ *
9889
+ * @param e - MouseEvent or null. If there is no event handler it will remove the events
9890
+ */
9099
9891
  this.handleMouseDown = e => {
9100
9892
  if (e === null || !this.disabled && !this.readOnly) {
9101
9893
  const windowFn = e !== null ? window.addEventListener : window.removeEventListener;
@@ -9120,6 +9912,10 @@ class Slider extends FormAssociatedSlider {
9120
9912
  break;
9121
9913
  }
9122
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
+ */
9123
9919
  handleStepStyles() {
9124
9920
  if (this.step) {
9125
9921
  const totalSteps = 100 / Math.floor((this.max - this.min) / this.step);
@@ -9133,17 +9929,26 @@ class Slider extends FormAssociatedSlider {
9133
9929
  this.$fastController.removeStyles(this.stepStyles);
9134
9930
  }
9135
9931
  }
9932
+ // Map to proxy element
9136
9933
  readOnlyChanged() {
9137
9934
  if (this.proxy instanceof HTMLInputElement) {
9138
9935
  this.proxy.readOnly = this.readOnly;
9139
9936
  }
9140
9937
  }
9938
+ /**
9939
+ * The value property, typed as a number.
9940
+ *
9941
+ * @public
9942
+ */
9141
9943
  get valueAsNumber() {
9142
9944
  return parseFloat(super.value);
9143
9945
  }
9144
9946
  set valueAsNumber(next) {
9145
9947
  this.value = next.toString();
9146
9948
  }
9949
+ /**
9950
+ * @internal
9951
+ */
9147
9952
  valueChanged(previous, next) {
9148
9953
  if (this.$fastController.isConnected) {
9149
9954
  const nextAsNumber = parseFloat(next);
@@ -9157,12 +9962,14 @@ class Slider extends FormAssociatedSlider {
9157
9962
  this.$emit("change");
9158
9963
  }
9159
9964
  }
9965
+ // Map to proxy element.
9160
9966
  minChanged() {
9161
9967
  if (this.proxy instanceof HTMLInputElement) {
9162
9968
  this.proxy.min = `${this.min}`;
9163
9969
  }
9164
9970
  this.validate();
9165
9971
  }
9972
+ // Map to proxy element.
9166
9973
  maxChanged() {
9167
9974
  if (this.proxy instanceof HTMLInputElement) {
9168
9975
  this.proxy.max = `${this.max}`;
@@ -9181,6 +9988,9 @@ class Slider extends FormAssociatedSlider {
9181
9988
  this.setThumbPositionForOrientation(this.direction);
9182
9989
  }
9183
9990
  }
9991
+ /**
9992
+ * @internal
9993
+ */
9184
9994
  connectedCallback() {
9185
9995
  super.connectedCallback();
9186
9996
  this.proxy.setAttribute("type", "range");
@@ -9195,6 +10005,9 @@ class Slider extends FormAssociatedSlider {
9195
10005
  Observable.getNotifier(this).subscribe(this, "step");
9196
10006
  this.handleStepStyles();
9197
10007
  }
10008
+ /**
10009
+ * @internal
10010
+ */
9198
10011
  disconnectedCallback() {
9199
10012
  super.disconnectedCallback();
9200
10013
  this.setupListeners(true);
@@ -9202,21 +10015,41 @@ class Slider extends FormAssociatedSlider {
9202
10015
  Observable.getNotifier(this).unsubscribe(this, "min");
9203
10016
  Observable.getNotifier(this).unsubscribe(this, "step");
9204
10017
  }
10018
+ /**
10019
+ * Increment the value by the step
10020
+ *
10021
+ * @public
10022
+ */
9205
10023
  increment() {
9206
10024
  const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) + Number(this.stepValue) : Number(this.value) + Number(this.stepValue);
9207
10025
  const incrementedVal = this.convertToConstrainedValue(newVal);
9208
10026
  const incrementedValString = incrementedVal < Number(this.max) ? `${incrementedVal}` : `${this.max}`;
9209
10027
  this.value = incrementedValString;
9210
10028
  }
10029
+ /**
10030
+ * Decrement the value by the step
10031
+ *
10032
+ * @public
10033
+ */
9211
10034
  decrement() {
9212
10035
  const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) - Number(this.stepValue) : Number(this.value) - Number(this.stepValue);
9213
10036
  const decrementedVal = this.convertToConstrainedValue(newVal);
9214
10037
  const decrementedValString = decrementedVal > Number(this.min) ? `${decrementedVal}` : `${this.min}`;
9215
10038
  this.value = decrementedValString;
9216
10039
  }
10040
+ /**
10041
+ * Gets the actual step value for the slider
10042
+ *
10043
+ */
9217
10044
  get stepValue() {
9218
10045
  return this.step === void 0 ? 1 : this.step;
9219
10046
  }
10047
+ /**
10048
+ * Places the thumb based on the current value
10049
+ *
10050
+ * @public
10051
+ * @param direction - writing mode
10052
+ */
9220
10053
  setThumbPositionForOrientation(direction) {
9221
10054
  const newPct = convertPixelToPercent(Number(this.value), Number(this.min), Number(this.max), direction);
9222
10055
  const percentage = (1 - newPct) * 100;
@@ -9226,6 +10059,10 @@ class Slider extends FormAssociatedSlider {
9226
10059
  this.position = this.isDragging ? `top: ${percentage}%; transition: none;` : `top: ${percentage}%; transition: all 0.2s ease;`;
9227
10060
  }
9228
10061
  }
10062
+ /**
10063
+ * Update the step multiplier used to ensure rounding errors from steps that
10064
+ * are not whole numbers
10065
+ */
9229
10066
  updateStepMultiplier() {
9230
10067
  const stepString = this.stepValue + "";
9231
10068
  const decimalPlacesOfStep = !!(this.stepValue % 1) ? stepString.length - stepString.indexOf(".") - 1 : 0;
@@ -9246,6 +10083,14 @@ class Slider extends FormAssociatedSlider {
9246
10083
  }
9247
10084
  }
9248
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
+ */
9249
10094
  calculateNewValue(rawValue) {
9250
10095
  this.setupTrackConstraints();
9251
10096
  const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.horizontal ? this.trackMinWidth : this.trackMinHeight, this.orientation === Orientation.horizontal ? this.trackWidth : this.trackHeight, this.direction);
@@ -9389,7 +10234,16 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
9389
10234
  class Switch extends FormAssociatedSwitch {
9390
10235
  constructor() {
9391
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
+ */
9392
10243
  this.initialValue = "on";
10244
+ /**
10245
+ * @internal
10246
+ */
9393
10247
  this.keypressHandler = e => {
9394
10248
  if (this.readOnly) {
9395
10249
  return;
@@ -9401,6 +10255,9 @@ class Switch extends FormAssociatedSwitch {
9401
10255
  break;
9402
10256
  }
9403
10257
  };
10258
+ /**
10259
+ * @internal
10260
+ */
9404
10261
  this.clickHandler = e => {
9405
10262
  if (!this.disabled && !this.readOnly) {
9406
10263
  this.checked = !this.checked;
@@ -9408,6 +10265,7 @@ class Switch extends FormAssociatedSwitch {
9408
10265
  };
9409
10266
  this.proxy.setAttribute("type", "checkbox");
9410
10267
  }
10268
+ // Map to proxy element
9411
10269
  readOnlyChanged() {
9412
10270
  if (this.proxy instanceof HTMLInputElement) {
9413
10271
  this.proxy.readOnly = this.readOnly;
@@ -9588,17 +10446,26 @@ class BaseTabs extends FASTElement {
9588
10446
  }
9589
10447
  };
9590
10448
  }
10449
+ /**
10450
+ * @internal
10451
+ */
9591
10452
  orientationChanged() {
9592
10453
  if (this.$fastController.isConnected) {
9593
10454
  this.setTabs();
9594
10455
  }
9595
10456
  }
10457
+ /**
10458
+ * @internal
10459
+ */
9596
10460
  activeidChanged(oldValue, newValue) {
9597
10461
  if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
9598
10462
  this.prevActiveTabIndex = this.tabs.findIndex(item => item.id === oldValue);
9599
10463
  this.setTabs();
9600
10464
  }
9601
10465
  }
10466
+ /**
10467
+ * @internal
10468
+ */
9602
10469
  tabsChanged() {
9603
10470
  if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
9604
10471
  this.tabIds = this.getTabIds();
@@ -9606,6 +10473,9 @@ class BaseTabs extends FASTElement {
9606
10473
  this.setTabs();
9607
10474
  }
9608
10475
  }
10476
+ /**
10477
+ * @internal
10478
+ */
9609
10479
  tabpanelsChanged() {
9610
10480
  if (this.$fastController.isConnected && this.tabpanels.length <= this.tabs.length) {
9611
10481
  this.tabIds = this.getTabIds();
@@ -9621,6 +10491,11 @@ class BaseTabs extends FASTElement {
9621
10491
  return 0;
9622
10492
  }
9623
10493
  }
10494
+ /**
10495
+ * Function that is invoked whenever the selected tab or the tab collection changes.
10496
+ *
10497
+ * @public
10498
+ */
9624
10499
  setTabs() {
9625
10500
  const gridHorizontalProperty = "gridColumn";
9626
10501
  const gridVerticalProperty = "gridRow";
@@ -9660,14 +10535,12 @@ class BaseTabs extends FASTElement {
9660
10535
  }
9661
10536
  getTabIds() {
9662
10537
  return this.tabs.map(tab => {
9663
- var _a;
9664
- return (_a = tab.getAttribute("id")) != null ? _a : `tab-${uniqueId()}`;
10538
+ return tab.getAttribute("id") ?? `tab-${uniqueId()}`;
9665
10539
  });
9666
10540
  }
9667
10541
  getTabPanelIds() {
9668
10542
  return this.tabpanels.map(tabPanel => {
9669
- var _a;
9670
- return (_a = tabPanel.getAttribute("id")) != null ? _a : `panel-${uniqueId()}`;
10543
+ return tabPanel.getAttribute("id") ?? `panel-${uniqueId()}`;
9671
10544
  });
9672
10545
  }
9673
10546
  setComponent() {
@@ -9680,6 +10553,12 @@ class BaseTabs extends FASTElement {
9680
10553
  isHorizontal() {
9681
10554
  return this.orientation === TabsOrientation.horizontal;
9682
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
+ */
9683
10562
  adjust(adjustment) {
9684
10563
  const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));
9685
10564
  const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);
@@ -9736,6 +10615,9 @@ class BaseTabs extends FASTElement {
9736
10615
  focusTab() {
9737
10616
  this.tabs[this.activeTabIndex].focus();
9738
10617
  }
10618
+ /**
10619
+ * @internal
10620
+ */
9739
10621
  connectedCallback() {
9740
10622
  super.connectedCallback();
9741
10623
  this.tabIds = this.getTabIds();
@@ -9750,41 +10632,80 @@ __decorateClass$3([observable], BaseTabs.prototype, "tabpanels", 2);
9750
10632
  class Tabs extends BaseTabs {
9751
10633
  constructor() {
9752
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
+ */
9753
10639
  this.activeTabData = {
9754
10640
  x: 0,
9755
10641
  y: 0,
9756
10642
  height: 0,
9757
10643
  width: 0
9758
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
+ */
9759
10649
  this.previousActiveTabData = {
9760
10650
  x: 0,
9761
10651
  y: 0,
9762
10652
  height: 0,
9763
10653
  width: 0
9764
10654
  };
10655
+ /**
10656
+ * activeTabOffset
10657
+ * Used to position the active indicator for animations of the active indicator on active tab changes.
10658
+ */
9765
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
+ */
9766
10664
  this.activeTabScale = 1;
9767
10665
  this.appearance = TabsAppearance.transparent;
9768
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
+ */
9769
10673
  calculateAnimationProperties(tab) {
9770
10674
  this.activeTabOffset = this.getTabPosition(tab);
9771
10675
  this.activeTabScale = this.getTabScale(tab);
9772
10676
  }
10677
+ /**
10678
+ * getSelectedTabPosition - gets the x or y coordinates of the tab
10679
+ */
9773
10680
  getTabPosition(tab) {
9774
10681
  if (this.orientation === TabsOrientation.horizontal) {
9775
10682
  return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
9776
10683
  } else return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
9777
10684
  }
10685
+ /**
10686
+ * getSelectedTabScale - gets the scale of the tab
10687
+ */
9778
10688
  getTabScale(tab) {
9779
10689
  if (this.orientation === TabsOrientation.horizontal) {
9780
10690
  return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
9781
10691
  } else return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
9782
10692
  }
10693
+ /**
10694
+ * applyUpdatedCSSValues
10695
+ *
10696
+ * calculates and applies updated values to CSS variables
10697
+ * @param tab
10698
+ */
9783
10699
  applyUpdatedCSSValues(tab) {
9784
10700
  this.calculateAnimationProperties(tab);
9785
10701
  this.setTabScaleCSSVar();
9786
10702
  this.setTabOffsetCSSVar();
9787
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
+ */
9788
10709
  animationLoop(tab) {
9789
10710
  tab.setAttribute("data-animate", "false");
9790
10711
  this.applyUpdatedCSSValues(tab);
@@ -9792,12 +10713,15 @@ class Tabs extends BaseTabs {
9792
10713
  this.applyUpdatedCSSValues(tab);
9793
10714
  tab.setAttribute("data-animate", "true");
9794
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
+ */
9795
10720
  setTabData() {
9796
- var _a, _b, _c, _d;
9797
10721
  if (this.tabs && this.tabs.length > 0) {
9798
10722
  const tabs = this.tabs;
9799
10723
  const activeTab = this.activetab || tabs[0];
9800
- const activeRect = activeTab == null ? void 0 : activeTab.getBoundingClientRect();
10724
+ const activeRect = activeTab?.getBoundingClientRect();
9801
10725
  const parentRect = this.getBoundingClientRect();
9802
10726
  this.activeTabData = {
9803
10727
  x: activeRect.x - parentRect.x,
@@ -9805,7 +10729,7 @@ class Tabs extends BaseTabs {
9805
10729
  height: activeRect.height,
9806
10730
  width: activeRect.width
9807
10731
  };
9808
- 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) {
9809
10733
  this.previousActiveTabData = this.activeTabData;
9810
10734
  }
9811
10735
  }
@@ -9952,10 +10876,25 @@ const TextInputAppearance = {
9952
10876
  filledDarker: "filled-darker"
9953
10877
  };
9954
10878
  const TextInputType = {
10879
+ /**
10880
+ * An email TextInput
10881
+ */
9955
10882
  email: "email",
10883
+ /**
10884
+ * A password TextInput
10885
+ */
9956
10886
  password: "password",
10887
+ /**
10888
+ * A telephone TextInput
10889
+ */
9957
10890
  tel: "tel",
10891
+ /**
10892
+ * A text TextInput
10893
+ */
9958
10894
  text: "text",
10895
+ /**
10896
+ * A URL TextInput
10897
+ */
9959
10898
  url: "url"
9960
10899
  };
9961
10900
 
@@ -10037,6 +10976,9 @@ class TextInput extends FormAssociatedTextField {
10037
10976
  this.proxy.spellcheck = this.spellcheck;
10038
10977
  }
10039
10978
  }
10979
+ /**
10980
+ * @internal
10981
+ */
10040
10982
  connectedCallback() {
10041
10983
  super.connectedCallback();
10042
10984
  this.proxy.setAttribute("type", this.type);
@@ -10047,16 +10989,35 @@ class TextInput extends FormAssociatedTextField {
10047
10989
  });
10048
10990
  }
10049
10991
  }
10992
+ /**
10993
+ * Selects all the text in the text field
10994
+ *
10995
+ * @public
10996
+ */
10050
10997
  select() {
10051
10998
  this.control.select();
10052
10999
  this.$emit("select");
10053
11000
  }
11001
+ /**
11002
+ * Handles the internal control's `input` event
11003
+ * @internal
11004
+ */
10054
11005
  handleTextInput() {
10055
11006
  this.value = this.control.value;
10056
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
+ */
10057
11017
  handleChange() {
10058
11018
  this.$emit("change");
10059
11019
  }
11020
+ /** {@inheritDoc (FormAssociated:interface).validate} */
10060
11021
  validate() {
10061
11022
  super.validate(this.control);
10062
11023
  }
@@ -10121,12 +11082,29 @@ var __decorateClass = (decorators, target, key, kind) => {
10121
11082
  return result;
10122
11083
  };
10123
11084
  class ToggleButton extends Button {
11085
+ /**
11086
+ * Updates the pressed state when the `pressed` property changes.
11087
+ *
11088
+ * @internal
11089
+ */
10124
11090
  pressedChanged() {
10125
11091
  this.setPressedState();
10126
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
+ */
10127
11100
  mixedChanged() {
10128
11101
  this.setPressedState();
10129
11102
  }
11103
+ /**
11104
+ * Toggles the pressed state of the button.
11105
+ *
11106
+ * @override
11107
+ */
10130
11108
  press() {
10131
11109
  this.pressed = !this.pressed;
10132
11110
  }
@@ -10134,6 +11112,11 @@ class ToggleButton extends Button {
10134
11112
  super.connectedCallback();
10135
11113
  this.setPressedState();
10136
11114
  }
11115
+ /**
11116
+ * Sets the `aria-pressed` attribute based on the `pressed` and `mixed` properties.
11117
+ *
11118
+ * @internal
11119
+ */
10137
11120
  setPressedState() {
10138
11121
  if (this.$fastController.isConnected) {
10139
11122
  const ariaPressed = `${this.mixed ? "mixed" : !!this.pressed}`;
@@ -10179,4 +11162,4 @@ const setThemeFor = (element, theme) => {
10179
11162
  }
10180
11163
  };
10181
11164
 
10182
- 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, 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, 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 };
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 };