@fluentui/web-components 3.0.0-beta.53 → 3.0.0-beta.55

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 (44) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/dist/dts/index-rollup.d.ts +1 -0
  3. package/dist/dts/index.d.ts +2 -1
  4. package/dist/dts/rating-display/index.d.ts +1 -1
  5. package/dist/dts/rating-display/rating-display.d.ts +65 -33
  6. package/dist/dts/tablist/define.d.ts +1 -0
  7. package/dist/dts/tablist/index.d.ts +5 -0
  8. package/dist/dts/tablist/tablist.bench.d.ts +3 -0
  9. package/dist/dts/tablist/tablist.d.ts +191 -0
  10. package/dist/dts/tablist/tablist.definition.d.ts +7 -0
  11. package/dist/dts/tablist/tablist.options.d.ts +44 -0
  12. package/dist/dts/tablist/tablist.styles.d.ts +4 -0
  13. package/dist/dts/tablist/tablist.template.d.ts +5 -0
  14. package/dist/dts/utils/focusable-element.d.ts +3 -0
  15. package/dist/esm/index-rollup.js +1 -0
  16. package/dist/esm/index-rollup.js.map +1 -1
  17. package/dist/esm/index.js +2 -1
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/rating-display/index.js +1 -1
  20. package/dist/esm/rating-display/index.js.map +1 -1
  21. package/dist/esm/rating-display/rating-display.js +91 -46
  22. package/dist/esm/rating-display/rating-display.js.map +1 -1
  23. package/dist/esm/tablist/define.js +4 -0
  24. package/dist/esm/tablist/define.js.map +1 -0
  25. package/dist/esm/tablist/index.js +6 -0
  26. package/dist/esm/tablist/index.js.map +1 -0
  27. package/dist/esm/tablist/tablist.bench.js +21 -0
  28. package/dist/esm/tablist/tablist.bench.js.map +1 -0
  29. package/dist/esm/tablist/tablist.definition.js +15 -0
  30. package/dist/esm/tablist/tablist.definition.js.map +1 -0
  31. package/dist/esm/tablist/tablist.js +407 -0
  32. package/dist/esm/tablist/tablist.js.map +1 -0
  33. package/dist/esm/tablist/tablist.options.js +24 -0
  34. package/dist/esm/tablist/tablist.options.js.map +1 -0
  35. package/dist/esm/tablist/tablist.styles.js +194 -0
  36. package/dist/esm/tablist/tablist.styles.js.map +1 -0
  37. package/dist/esm/tablist/tablist.template.js +10 -0
  38. package/dist/esm/tablist/tablist.template.js.map +1 -0
  39. package/dist/esm/utils/focusable-element.js +10 -0
  40. package/dist/esm/utils/focusable-element.js.map +1 -0
  41. package/dist/web-components.d.ts +335 -45
  42. package/dist/web-components.js +987 -542
  43. package/dist/web-components.min.js +290 -287
  44. package/package.json +7 -5
@@ -3367,6 +3367,14 @@ var Direction;
3367
3367
  * is larger than the max, the minimum value will be returned. If the value is smaller than the minimum,
3368
3368
  * the maximum will be returned. Otherwise, the value is returned un-changed.
3369
3369
  */
3370
+ function wrapInBounds(min, max, value) {
3371
+ if (value < min) {
3372
+ return max;
3373
+ } else if (value > max) {
3374
+ return min;
3375
+ }
3376
+ return value;
3377
+ }
3370
3378
  /**
3371
3379
  * Ensures that a value is between a min and max value. If value is lower than min, min will be returned.
3372
3380
  * If value is greater than max, max will be returned.
@@ -3383,70 +3391,70 @@ function uniqueId(prefix = "") {
3383
3391
  return `${prefix}${uniqueIdCounter++}`;
3384
3392
  }
3385
3393
 
3386
- var __defProp$u = Object.defineProperty;
3387
- var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
3388
- var __decorateClass$u = (decorators, target, key, kind) => {
3389
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
3394
+ var __defProp$v = Object.defineProperty;
3395
+ var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
3396
+ var __decorateClass$v = (decorators, target, key, kind) => {
3397
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
3390
3398
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
3391
- if (kind && result) __defProp$u(target, key, result);
3399
+ if (kind && result) __defProp$v(target, key, result);
3392
3400
  return result;
3393
3401
  };
3394
3402
  class ARIAGlobalStatesAndProperties {}
3395
- __decorateClass$u([attr({
3403
+ __decorateClass$v([attr({
3396
3404
  attribute: "aria-atomic"
3397
3405
  })], ARIAGlobalStatesAndProperties.prototype, "ariaAtomic", 2);
3398
- __decorateClass$u([attr({
3406
+ __decorateClass$v([attr({
3399
3407
  attribute: "aria-busy"
3400
3408
  })], ARIAGlobalStatesAndProperties.prototype, "ariaBusy", 2);
3401
- __decorateClass$u([attr({
3409
+ __decorateClass$v([attr({
3402
3410
  attribute: "aria-controls"
3403
3411
  })], ARIAGlobalStatesAndProperties.prototype, "ariaControls", 2);
3404
- __decorateClass$u([attr({
3412
+ __decorateClass$v([attr({
3405
3413
  attribute: "aria-current"
3406
3414
  })], ARIAGlobalStatesAndProperties.prototype, "ariaCurrent", 2);
3407
- __decorateClass$u([attr({
3415
+ __decorateClass$v([attr({
3408
3416
  attribute: "aria-describedby"
3409
3417
  })], ARIAGlobalStatesAndProperties.prototype, "ariaDescribedby", 2);
3410
- __decorateClass$u([attr({
3418
+ __decorateClass$v([attr({
3411
3419
  attribute: "aria-details"
3412
3420
  })], ARIAGlobalStatesAndProperties.prototype, "ariaDetails", 2);
3413
- __decorateClass$u([attr({
3421
+ __decorateClass$v([attr({
3414
3422
  attribute: "aria-disabled"
3415
3423
  })], ARIAGlobalStatesAndProperties.prototype, "ariaDisabled", 2);
3416
- __decorateClass$u([attr({
3424
+ __decorateClass$v([attr({
3417
3425
  attribute: "aria-errormessage"
3418
3426
  })], ARIAGlobalStatesAndProperties.prototype, "ariaErrormessage", 2);
3419
- __decorateClass$u([attr({
3427
+ __decorateClass$v([attr({
3420
3428
  attribute: "aria-flowto"
3421
3429
  })], ARIAGlobalStatesAndProperties.prototype, "ariaFlowto", 2);
3422
- __decorateClass$u([attr({
3430
+ __decorateClass$v([attr({
3423
3431
  attribute: "aria-haspopup"
3424
3432
  })], ARIAGlobalStatesAndProperties.prototype, "ariaHaspopup", 2);
3425
- __decorateClass$u([attr({
3433
+ __decorateClass$v([attr({
3426
3434
  attribute: "aria-hidden"
3427
3435
  })], ARIAGlobalStatesAndProperties.prototype, "ariaHidden", 2);
3428
- __decorateClass$u([attr({
3436
+ __decorateClass$v([attr({
3429
3437
  attribute: "aria-invalid"
3430
3438
  })], ARIAGlobalStatesAndProperties.prototype, "ariaInvalid", 2);
3431
- __decorateClass$u([attr({
3439
+ __decorateClass$v([attr({
3432
3440
  attribute: "aria-keyshortcuts"
3433
3441
  })], ARIAGlobalStatesAndProperties.prototype, "ariaKeyshortcuts", 2);
3434
- __decorateClass$u([attr({
3442
+ __decorateClass$v([attr({
3435
3443
  attribute: "aria-label"
3436
3444
  })], ARIAGlobalStatesAndProperties.prototype, "ariaLabel", 2);
3437
- __decorateClass$u([attr({
3445
+ __decorateClass$v([attr({
3438
3446
  attribute: "aria-labelledby"
3439
3447
  })], ARIAGlobalStatesAndProperties.prototype, "ariaLabelledby", 2);
3440
- __decorateClass$u([attr({
3448
+ __decorateClass$v([attr({
3441
3449
  attribute: "aria-live"
3442
3450
  })], ARIAGlobalStatesAndProperties.prototype, "ariaLive", 2);
3443
- __decorateClass$u([attr({
3451
+ __decorateClass$v([attr({
3444
3452
  attribute: "aria-owns"
3445
3453
  })], ARIAGlobalStatesAndProperties.prototype, "ariaOwns", 2);
3446
- __decorateClass$u([attr({
3454
+ __decorateClass$v([attr({
3447
3455
  attribute: "aria-relevant"
3448
3456
  })], ARIAGlobalStatesAndProperties.prototype, "ariaRelevant", 2);
3449
- __decorateClass$u([attr({
3457
+ __decorateClass$v([attr({
3450
3458
  attribute: "aria-roledescription"
3451
3459
  })], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", 2);
3452
3460
 
@@ -3640,12 +3648,12 @@ function toggleState(elementInternals, state, force) {
3640
3648
  elementInternals.states.delete(state);
3641
3649
  }
3642
3650
 
3643
- var __defProp$t = Object.defineProperty;
3644
- var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
3645
- var __decorateClass$t = (decorators, target, key, kind) => {
3646
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
3651
+ var __defProp$u = Object.defineProperty;
3652
+ var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
3653
+ var __decorateClass$u = (decorators, target, key, kind) => {
3654
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
3647
3655
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
3648
- if (kind && result) __defProp$t(target, key, result);
3656
+ if (kind && result) __defProp$u(target, key, result);
3649
3657
  return result;
3650
3658
  };
3651
3659
  class BaseAccordionItem extends FASTElement {
@@ -3679,18 +3687,18 @@ class BaseAccordionItem extends FASTElement {
3679
3687
  toggleState(this.elementInternals, "disabled", next);
3680
3688
  }
3681
3689
  }
3682
- __decorateClass$t([attr({
3690
+ __decorateClass$u([attr({
3683
3691
  attribute: "heading-level",
3684
3692
  mode: "fromView",
3685
3693
  converter: nullableNumberConverter
3686
3694
  })], BaseAccordionItem.prototype, "headinglevel", 2);
3687
- __decorateClass$t([attr({
3695
+ __decorateClass$u([attr({
3688
3696
  mode: "boolean"
3689
3697
  })], BaseAccordionItem.prototype, "expanded", 2);
3690
- __decorateClass$t([attr({
3698
+ __decorateClass$u([attr({
3691
3699
  mode: "boolean"
3692
3700
  })], BaseAccordionItem.prototype, "disabled", 2);
3693
- __decorateClass$t([attr], BaseAccordionItem.prototype, "id", 2);
3701
+ __decorateClass$u([attr], BaseAccordionItem.prototype, "id", 2);
3694
3702
  class AccordionItem extends BaseAccordionItem {
3695
3703
  constructor() {
3696
3704
  super(...arguments);
@@ -3731,11 +3739,11 @@ class AccordionItem extends BaseAccordionItem {
3731
3739
  toggleState(this.elementInternals, "block", next);
3732
3740
  }
3733
3741
  }
3734
- __decorateClass$t([attr], AccordionItem.prototype, "size", 2);
3735
- __decorateClass$t([attr({
3742
+ __decorateClass$u([attr], AccordionItem.prototype, "size", 2);
3743
+ __decorateClass$u([attr({
3736
3744
  attribute: "marker-position"
3737
3745
  })], AccordionItem.prototype, "markerPosition", 2);
3738
- __decorateClass$t([attr({
3746
+ __decorateClass$u([attr({
3739
3747
  mode: "boolean"
3740
3748
  })], AccordionItem.prototype, "block", 2);
3741
3749
  applyMixins(AccordionItem, StartEnd);
@@ -4023,7 +4031,7 @@ const curveEasyEaseMax = "var(--curveEasyEaseMax)";
4023
4031
  const curveEasyEase = "var(--curveEasyEase)";
4024
4032
  const curveLinear = "var(--curveLinear)";
4025
4033
 
4026
- const styles$y = css`
4034
+ const styles$z = css`
4027
4035
  ${display("block")}
4028
4036
 
4029
4037
  :host{max-width:fit-content;contain:content}.heading{height:44px;display:grid;position:relative;padding-inline:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};grid-template-columns:auto auto 1fr auto}.button{appearance:none;background:${colorTransparentBackground};border:none;box-sizing:border-box;color:${colorNeutralForeground1};cursor:pointer;font:inherit;grid-column:auto / span 2;grid-row:1;height:44px;outline:none;padding:0;text-align:start}.button::before{content:'';position:absolute;inset:0px;cursor:pointer;border-radius:${borderRadiusSmall}}:where(.default-marker-collapsed,.default-marker-expanded),::slotted(:is([slot='marker-collapsed'],[slot='marker-expanded'])){display:flex;align-items:center;justify-content:center;pointer-events:none;position:relative;height:100%;padding-inline-end:${spacingHorizontalS};grid-column:1 / span 1;grid-row:1}.content{margin:0 ${spacingHorizontalM}}::slotted([slot='start']){display:flex;justify-content:center;align-items:center;padding-right:${spacingHorizontalS};grid-column:2 / span 1;grid-row:1}button:focus-visible::after{content:'';position:absolute;inset:0px;cursor:pointer;border-radius:${borderRadiusSmall};outline:none;border:2px solid ${colorStrokeFocus1};box-shadow:inset 0 0 0 1px ${colorStrokeFocus2}}:host(${disabledState}) .button{color:${colorNeutralForegroundDisabled}}:host(${disabledState}) svg{filter:invert(89%) sepia(0%) saturate(569%) hue-rotate(155deg) brightness(88%) contrast(87%)}:host(${expandedState}) .content{display:block}:host(${expandedState}) .default-marker-collapsed,:host(${expandedState}) ::slotted([slot='marker-collapsed']),:host(:not(${expandedState})) :is(.default-marker-expanded,.content),:host(:not(${expandedState})) ::slotted([slot='marker-expanded']){display:none}:host(${expandedState}) ::slotted([slot='marker-expanded']),:host(:not(${expandedState})) ::slotted([slot='marker-collapsed']){display:flex}.heading{font-size:${fontSizeBase300};line-height:${lineHeightBase300}}:host(${smallState}) .heading{font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host(${largeState}) .heading{font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host(${extraLargeState}) .heading{font-size:${fontSizeBase500};line-height:${lineHeightBase500}}:host(${alignEndState}) :slotted([slot='start']){grid-column:1 / span 1}:host(${alignEndState}) :is(.default-marker-collapsed,.default-marker-expanded){grid-column:4 / span 1;padding-inline-start:${spacingHorizontalS};padding-inline-end:0}:host(${alignEndState}) .button{grid-column:2 / span 3}:host([block]){max-width:100%}:host(${alignEndState}) .heading{grid-template-columns:auto auto 28px;padding-inline:${spacingHorizontalM}}:host(${alignEndState}:has([slot='start'])) .heading{padding-inline:${spacingHorizontalMNudge} ${spacingHorizontalM}}:host(${blockState}${alignEndState}) .heading{grid-template-columns:auto 1fr}:host(${alignEndState}) :is(.default-marker-collapsed,.default-marker-expanded){grid-column:5 / span 1}`;
@@ -4059,30 +4067,30 @@ const chevronDown20Filled = html.partial(`<svg
4059
4067
  function accordionItemTemplate(options = {}) {
4060
4068
  return html`<div class="heading" part="heading" role="heading" aria-level="${x => x.headinglevel}"><button class="button" part="button" ${ref("expandbutton")} ?disabled="${x => x.disabled ? "true" : void 0}" aria-expanded="${x => x.expanded}" aria-controls="${x => x.id}-panel" id="${x => x.id}"><slot name="heading"></slot></button>${startSlotTemplate(options)}<slot name="marker-expanded">${staticallyCompose(options.expandedIcon)}</slot><slot name="marker-collapsed">${staticallyCompose(options.collapsedIcon)}</slot></div><div class="content" part="content" id="${x => x.id}-panel" role="region" aria-labelledby="${x => x.id}"><slot></slot></div>`;
4061
4069
  }
4062
- const template$z = accordionItemTemplate({
4070
+ const template$A = accordionItemTemplate({
4063
4071
  collapsedIcon: chevronRight20Filled,
4064
4072
  expandedIcon: chevronDown20Filled
4065
4073
  });
4066
4074
 
4067
- const definition$z = AccordionItem.compose({
4075
+ const definition$A = AccordionItem.compose({
4068
4076
  name: `${FluentDesignSystem.prefix}-accordion-item`,
4069
- template: template$z,
4070
- styles: styles$y
4077
+ template: template$A,
4078
+ styles: styles$z
4071
4079
  });
4072
4080
 
4073
- definition$z.define(FluentDesignSystem.registry);
4081
+ definition$A.define(FluentDesignSystem.registry);
4074
4082
 
4075
4083
  const AccordionExpandMode = {
4076
4084
  single: "single",
4077
4085
  multi: "multi"
4078
4086
  };
4079
4087
 
4080
- var __defProp$s = Object.defineProperty;
4081
- var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
4082
- var __decorateClass$s = (decorators, target, key, kind) => {
4083
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
4088
+ var __defProp$t = Object.defineProperty;
4089
+ var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
4090
+ var __decorateClass$t = (decorators, target, key, kind) => {
4091
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
4084
4092
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4085
- if (kind && result) __defProp$s(target, key, result);
4093
+ if (kind && result) __defProp$t(target, key, result);
4086
4094
  return result;
4087
4095
  };
4088
4096
  class Accordion extends FASTElement {
@@ -4221,12 +4229,12 @@ class Accordion extends FASTElement {
4221
4229
  });
4222
4230
  }
4223
4231
  }
4224
- __decorateClass$s([attr({
4232
+ __decorateClass$t([attr({
4225
4233
  attribute: "expand-mode"
4226
4234
  })], Accordion.prototype, "expandmode", 2);
4227
- __decorateClass$s([observable], Accordion.prototype, "slottedAccordionItems", 2);
4235
+ __decorateClass$t([observable], Accordion.prototype, "slottedAccordionItems", 2);
4228
4236
 
4229
- const styles$x = css`
4237
+ const styles$y = css`
4230
4238
  ${display("flex")}
4231
4239
 
4232
4240
  :host{flex-direction:column;width:100%;contain:content}`;
@@ -4237,15 +4245,15 @@ function accordionTemplate() {
4237
4245
  filter: elements()
4238
4246
  })}></slot></template>`;
4239
4247
  }
4240
- const template$y = accordionTemplate();
4248
+ const template$z = accordionTemplate();
4241
4249
 
4242
- const definition$y = Accordion.compose({
4250
+ const definition$z = Accordion.compose({
4243
4251
  name: `${FluentDesignSystem.prefix}-accordion`,
4244
- template: template$y,
4245
- styles: styles$x
4252
+ template: template$z,
4253
+ styles: styles$y
4246
4254
  });
4247
4255
 
4248
- definition$y.define(FluentDesignSystem.registry);
4256
+ definition$z.define(FluentDesignSystem.registry);
4249
4257
 
4250
4258
  const ButtonType = {
4251
4259
  submit: "submit",
@@ -4264,12 +4272,12 @@ const AnchorAttributes = {
4264
4272
  type: "type"
4265
4273
  };
4266
4274
 
4267
- var __defProp$r = Object.defineProperty;
4268
- var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
4269
- var __decorateClass$r = (decorators, target, key, kind) => {
4270
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
4275
+ var __defProp$s = Object.defineProperty;
4276
+ var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
4277
+ var __decorateClass$s = (decorators, target, key, kind) => {
4278
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
4271
4279
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4272
- if (kind && result) __defProp$r(target, key, result);
4280
+ if (kind && result) __defProp$s(target, key, result);
4273
4281
  return result;
4274
4282
  };
4275
4283
  class BaseAnchor extends FASTElement {
@@ -4377,14 +4385,14 @@ class BaseAnchor extends FASTElement {
4377
4385
  return proxy;
4378
4386
  }
4379
4387
  }
4380
- __decorateClass$r([attr], BaseAnchor.prototype, "download", 2);
4381
- __decorateClass$r([attr], BaseAnchor.prototype, "href", 2);
4382
- __decorateClass$r([attr], BaseAnchor.prototype, "hreflang", 2);
4383
- __decorateClass$r([attr], BaseAnchor.prototype, "ping", 2);
4384
- __decorateClass$r([attr], BaseAnchor.prototype, "referrerpolicy", 2);
4385
- __decorateClass$r([attr], BaseAnchor.prototype, "rel", 2);
4386
- __decorateClass$r([attr], BaseAnchor.prototype, "target", 2);
4387
- __decorateClass$r([attr], BaseAnchor.prototype, "type", 2);
4388
+ __decorateClass$s([attr], BaseAnchor.prototype, "download", 2);
4389
+ __decorateClass$s([attr], BaseAnchor.prototype, "href", 2);
4390
+ __decorateClass$s([attr], BaseAnchor.prototype, "hreflang", 2);
4391
+ __decorateClass$s([attr], BaseAnchor.prototype, "ping", 2);
4392
+ __decorateClass$s([attr], BaseAnchor.prototype, "referrerpolicy", 2);
4393
+ __decorateClass$s([attr], BaseAnchor.prototype, "rel", 2);
4394
+ __decorateClass$s([attr], BaseAnchor.prototype, "target", 2);
4395
+ __decorateClass$s([attr], BaseAnchor.prototype, "type", 2);
4388
4396
  class AnchorButton extends BaseAnchor {
4389
4397
  constructor() {
4390
4398
  super(...arguments);
@@ -4438,10 +4446,10 @@ class AnchorButton extends BaseAnchor {
4438
4446
  toggleState(this.elementInternals, "icon", !!next);
4439
4447
  }
4440
4448
  }
4441
- __decorateClass$r([attr], AnchorButton.prototype, "appearance", 2);
4442
- __decorateClass$r([attr], AnchorButton.prototype, "shape", 2);
4443
- __decorateClass$r([attr], AnchorButton.prototype, "size", 2);
4444
- __decorateClass$r([attr({
4449
+ __decorateClass$s([attr], AnchorButton.prototype, "appearance", 2);
4450
+ __decorateClass$s([attr], AnchorButton.prototype, "shape", 2);
4451
+ __decorateClass$s([attr], AnchorButton.prototype, "size", 2);
4452
+ __decorateClass$s([attr({
4445
4453
  attribute: "icon-only",
4446
4454
  mode: "boolean"
4447
4455
  })], AnchorButton.prototype, "iconOnly", 2);
@@ -4451,13 +4459,13 @@ const baseButtonStyles = css`
4451
4459
  ${display("inline-flex")}
4452
4460
 
4453
4461
  :host{--icon-spacing:${spacingHorizontalSNudge};position:relative;contain:layout style;vertical-align:middle;align-items:center;box-sizing:border-box;justify-content:center;text-align:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer;user-select:none}.content{display:inherit}:host(:hover){background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active){background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host(:focus-visible){border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}:is([slot='start'],::slotted([slot='start'])){margin-inline-end:var(--icon-spacing)}:is([slot='end'],::slotted([slot='end'])){margin-inline-start:var(--icon-spacing)}:host(${iconOnlyState}){min-width:32px;max-width:32px}:host(${smallState}){--icon-spacing:${spacingHorizontalXS};min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host(${smallState}${iconOnlyState}){min-width:24px;max-width:24px}:host(${largeState}){min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host(${largeState}${iconOnlyState}){min-width:40px;max-width:40px}:host(${largeState}) ::slotted(svg){font-size:24px;height:24px;width:24px}:host(:is(${circularState},${circularState}:focus-visible)){border-radius:${borderRadiusCircular}}:host(:is(${squareState},${squareState}:focus-visible)){border-radius:${borderRadiusNone}}:host(${primaryState}){background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host(${primaryState}:hover){background-color:${colorBrandBackgroundHover}}:host(${primaryState}:is(:hover,:hover:active)){border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host(${primaryState}:hover:active){background-color:${colorBrandBackgroundPressed}}:host(${primaryState}:focus-visible){border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(${outlineState}){background-color:${colorTransparentBackground}}:host(${outlineState}:hover){background-color:${colorTransparentBackgroundHover}}:host(${outlineState}:hover:active){background-color:${colorTransparentBackgroundPressed}}:host(${subtleState}){background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host(${subtleState}:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host(${subtleState}:hover:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(${subtleState}:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host(${subtleState}:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host(${transparentState}){background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host(${transparentState}:hover){background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host(${transparentState}:hover:active){background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host(:is(${transparentState},${transparentState}:is(:hover,:active))){border-color:transparent}`;
4454
- const styles$w = css`
4462
+ const styles$x = css`
4455
4463
  ${baseButtonStyles}
4456
4464
 
4457
4465
  :host(:is(:disabled,[disabled-focusable],[appearance]:disabled,[appearance][disabled-focusable])),:host(:is(:disabled,[disabled-focusable],[appearance]:disabled,[appearance][disabled-focusable]):hover),:host(:is(:disabled,[disabled-focusable],[appearance]:disabled,[appearance][disabled-focusable]):hover:active){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}:host(${primaryState}:is(:disabled,[disabled-focusable])),:host(${primaryState}:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){border-color:transparent}:host(${outlineState}:is(:disabled,[disabled-focusable])),:host(${outlineState}:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){background-color:${colorTransparentBackground}}:host(${subtleState}:is(:disabled,[disabled-focusable])),:host(${subtleState}:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){background-color:${colorTransparentBackground};border-color:transparent}:host(${transparentState}:is(:disabled,[disabled-focusable])),:host(${transparentState}:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){border-color:transparent;background-color:${colorTransparentBackground}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
4458
4466
  :host{background:ButtonFace;color:ButtonText}:host(:is(:hover,:focus-visible)){border-color:Highlight}`));
4459
4467
 
4460
- const styles$v = css`
4468
+ const styles$w = css`
4461
4469
  ${baseButtonStyles}
4462
4470
 
4463
4471
  ::slotted(a){position:absolute;inset:0}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -4466,15 +4474,15 @@ const styles$v = css`
4466
4474
  function anchorTemplate$1(options = {}) {
4467
4475
  return html`<template tabindex="0" @click="${(x, c) => x.clickHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}">${startSlotTemplate(options)}<span class="content" part="content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
4468
4476
  }
4469
- const template$x = anchorTemplate$1();
4477
+ const template$y = anchorTemplate$1();
4470
4478
 
4471
- const definition$x = AnchorButton.compose({
4479
+ const definition$y = AnchorButton.compose({
4472
4480
  name: `${FluentDesignSystem.prefix}-anchor-button`,
4473
- template: template$x,
4474
- styles: styles$v
4481
+ template: template$y,
4482
+ styles: styles$w
4475
4483
  });
4476
4484
 
4477
- definition$x.define(FluentDesignSystem.registry);
4485
+ definition$y.define(FluentDesignSystem.registry);
4478
4486
 
4479
4487
  const UNWANTED_ENCLOSURES_REGEX = /[\(\[\{][^\)\]\}]*[\)\]\}]/g;
4480
4488
  const UNWANTED_CHARS_REGEX = /[\0-\u001F\!-/:-@\[-`\{-\u00BF\u0250-\u036F\uD800-\uFFFF]/g;
@@ -4556,12 +4564,12 @@ const AvatarColor = {
4556
4564
  ...AvatarNamedColor
4557
4565
  };
4558
4566
 
4559
- var __defProp$q = Object.defineProperty;
4560
- var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
4561
- var __decorateClass$q = (decorators, target, key, kind) => {
4562
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
4567
+ var __defProp$r = Object.defineProperty;
4568
+ var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
4569
+ var __decorateClass$r = (decorators, target, key, kind) => {
4570
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
4563
4571
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4564
- if (kind && result) __defProp$q(target, key, result);
4572
+ if (kind && result) __defProp$r(target, key, result);
4565
4573
  return result;
4566
4574
  };
4567
4575
  class BaseAvatar extends FASTElement {
@@ -4576,9 +4584,9 @@ class BaseAvatar extends FASTElement {
4576
4584
  this.elementInternals.role = "img";
4577
4585
  }
4578
4586
  }
4579
- __decorateClass$q([attr], BaseAvatar.prototype, "name", 2);
4580
- __decorateClass$q([attr], BaseAvatar.prototype, "initials", 2);
4581
- __decorateClass$q([attr], BaseAvatar.prototype, "active", 2);
4587
+ __decorateClass$r([attr], BaseAvatar.prototype, "name", 2);
4588
+ __decorateClass$r([attr], BaseAvatar.prototype, "initials", 2);
4589
+ __decorateClass$r([attr], BaseAvatar.prototype, "active", 2);
4582
4590
  const _Avatar = class _Avatar extends BaseAvatar {
4583
4591
  /**
4584
4592
  * Handles changes to observable properties
@@ -4632,13 +4640,13 @@ const _Avatar = class _Avatar extends BaseAvatar {
4632
4640
  * An array of the available Avatar named colors
4633
4641
  */
4634
4642
  _Avatar.colors = Object.values(AvatarNamedColor);
4635
- __decorateClass$q([attr], _Avatar.prototype, "shape", 2);
4636
- __decorateClass$q([attr], _Avatar.prototype, "appearance", 2);
4637
- __decorateClass$q([attr({
4643
+ __decorateClass$r([attr], _Avatar.prototype, "shape", 2);
4644
+ __decorateClass$r([attr], _Avatar.prototype, "appearance", 2);
4645
+ __decorateClass$r([attr({
4638
4646
  converter: nullableNumberConverter
4639
4647
  })], _Avatar.prototype, "size", 2);
4640
- __decorateClass$q([attr], _Avatar.prototype, "color", 2);
4641
- __decorateClass$q([attr({
4648
+ __decorateClass$r([attr], _Avatar.prototype, "color", 2);
4649
+ __decorateClass$r([attr({
4642
4650
  attribute: "color-id"
4643
4651
  })], _Avatar.prototype, "colorId", 2);
4644
4652
  let Avatar = _Avatar;
@@ -4663,22 +4671,22 @@ const animations = {
4663
4671
  normalEase: curveEasyEase,
4664
4672
  nullEasing: curveLinear
4665
4673
  };
4666
- const styles$u = css`
4674
+ const styles$v = css`
4667
4675
  ${display("inline-flex")} :host{position:relative;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};font-size:${fontSizeBase300};border-radius:${borderRadiusCircular};color:${colorNeutralForeground3};background-color:${colorNeutralBackground6};contain:layout style}.default-icon,::slotted(svg){width:20px;height:20px;font-size:20px}::slotted(img){box-sizing:border-box;width:100%;height:100%;border-radius:${borderRadiusCircular}}::slotted([slot='badge']){position:absolute;bottom:0;right:0;box-shadow:0 0 0 ${strokeWidthThin}) ${colorNeutralBackground1}}:host([size='64']) ::slotted([slot='badge']),:host([size='72']) ::slotted([slot='badge']),:host([size='96']) ::slotted([slot='badge']),:host([size='120']) ::slotted([slot='badge']),:host([size='128']) ::slotted([slot='badge']){box-shadow:0 0 0 ${strokeWidthThick}) ${colorNeutralBackground1}}:host([size='16']),:host([size='20']),:host([size='24']){font-size:${fontSizeBase100};font-weight:${fontWeightRegular}}:host([size='16']){width:16px;height:16px}:host([size='20']){width:20px;height:20px}:host([size='24']){width:24px;height:24px}:host([size='16']) .default-icon,:host([size='16']) ::slotted(svg){width:12px;height:12px;font-size:12px}:host([size='20']) .default-icon,:host([size='24']) .default-icon,:host([size='20']) ::slotted(svg),:host([size='24']) ::slotted(svg){width:16px;height:16px;font-size:16px}:host([size='28']){width:28px;height:28px;font-size:${fontSizeBase200}}:host([size='36']){width:36px;height:36px}:host([size='40']){width:40px;height:40px}:host([size='48']),:host([size='56']){font-size:${fontSizeBase400}}:host([size='48']){width:48px;height:48px}:host([size='48']) .default-icon,:host([size='48']) ::slotted(svg){width:24px;height:24px;font-size:24px}:host([size='56']){width:56px;height:56px}:host([size='56']) .default-icon,:host([size='56']) ::slotted(svg){width:28px;height:28px;font-size:28px}:host([size='64']),:host([size='72']),:host([size='96']){font-size:${fontSizeBase500}}:host([size='64']) .default-icon,:host([size='72']) .default-icon,:host([size='64']) ::slotted(svg),:host([size='72']) ::slotted(svg){width:32px;height:32px;font-size:32px}:host([size='64']){width:64px;height:64px}:host([size='72']){width:72px;height:72px}:host([size='96']){width:96px;height:96px}:host([size='96']) .default-icon,:host([size='120']) .default-icon,:host([size='128']) .default-icon,:host([size='96']) ::slotted(svg),:host([size='120']) ::slotted(svg),:host([size='128']) ::slotted(svg){width:48px;height:48px;font-size:48px}:host([size='120']),:host([size='128']){font-size:${fontSizeBase600}}:host([size='120']){width:120px;height:120px}:host([size='128']){width:128px;height:128px}:host([shape='square']){border-radius:${borderRadiusMedium}}:host([shape='square'][size='20']),:host([shape='square'][size='24']){border-radius:${borderRadiusSmall}}:host([shape='square'][size='56']),:host([shape='square'][size='64']),:host([shape='square'][size='72']){border-radius:${borderRadiusLarge}}:host([shape='square'][size='96']),:host([shape='square'][size='120']),:host([shape='square'][size='128']){border-radius:${borderRadiusXLarge}}:host(:is([state--brand],:state(brand))){color:${colorNeutralForegroundStaticInverted};background-color:${colorBrandBackgroundStatic}}:host(:is([state--dark-red],:state(dark-red))){color:${colorPaletteDarkRedForeground2};background-color:${colorPaletteDarkRedBackground2}}:host(:is([state--cranberry],:state(cranberry))){color:${colorPaletteCranberryForeground2};background-color:${colorPaletteCranberryBackground2}}:host(:is([state--red],:state(red))){color:${colorPaletteRedForeground2};background-color:${colorPaletteRedBackground2}}:host(:is([state--pumpkin],:state(pumpkin))){color:${colorPalettePumpkinForeground2};background-color:${colorPalettePumpkinBackground2}}:host(:is([state--peach],:state(peach))){color:${colorPalettePeachForeground2};background-color:${colorPalettePeachBackground2}}:host(:is([state--marigold],:state(marigold))){color:${colorPaletteMarigoldForeground2};background-color:${colorPaletteMarigoldBackground2}}:host(:is([state--gold],:state(gold))){color:${colorPaletteGoldForeground2};background-color:${colorPaletteGoldBackground2}}:host(:is([state--brass],:state(brass))){color:${colorPaletteBrassForeground2};background-color:${colorPaletteBrassBackground2}}:host(:is([state--brown],:state(brown))){color:${colorPaletteBrownForeground2};background-color:${colorPaletteBrownBackground2}}:host(:is([state--forest],:state(forest))){color:${colorPaletteForestForeground2};background-color:${colorPaletteForestBackground2}}:host(:is([state--seafoam],:state(seafoam))){color:${colorPaletteSeafoamForeground2};background-color:${colorPaletteSeafoamBackground2}}:host(:is([state--dark-green],:state(dark-green))){color:${colorPaletteDarkGreenForeground2};background-color:${colorPaletteDarkGreenBackground2}}:host(:is([state--light-teal],:state(light-teal))){color:${colorPaletteLightTealForeground2};background-color:${colorPaletteLightTealBackground2}}:host(:is([state--teal],:state(teal))){color:${colorPaletteTealForeground2};background-color:${colorPaletteTealBackground2}}:host(:is([state--steel],:state(steel))){color:${colorPaletteSteelForeground2};background-color:${colorPaletteSteelBackground2}}:host(:is([state--blue],:state(blue))){color:${colorPaletteBlueForeground2};background-color:${colorPaletteBlueBackground2}}:host(:is([state--royal-blue],:state(royal-blue))){color:${colorPaletteRoyalBlueForeground2};background-color:${colorPaletteRoyalBlueBackground2}}:host(:is([state--cornflower],:state(cornflower))){color:${colorPaletteCornflowerForeground2};background-color:${colorPaletteCornflowerBackground2}}:host(:is([state--navy],:state(navy))){color:${colorPaletteNavyForeground2};background-color:${colorPaletteNavyBackground2}}:host(:is([state--lavender],:state(lavender))){color:${colorPaletteLavenderForeground2};background-color:${colorPaletteLavenderBackground2}}:host(:is([state--purple],:state(purple))){color:${colorPalettePurpleForeground2};background-color:${colorPalettePurpleBackground2}}:host(:is([state--grape],:state(grape))){color:${colorPaletteGrapeForeground2};background-color:${colorPaletteGrapeBackground2}}:host(:is([state--lilac],:state(lilac))){color:${colorPaletteLilacForeground2};background-color:${colorPaletteLilacBackground2}}:host(:is([state--pink],:state(pink))){color:${colorPalettePinkForeground2};background-color:${colorPalettePinkBackground2}}:host(:is([state--magenta],:state(magenta))){color:${colorPaletteMagentaForeground2};background-color:${colorPaletteMagentaBackground2}}:host(:is([state--plum],:state(plum))){color:${colorPalettePlumForeground2};background-color:${colorPalettePlumBackground2}}:host(:is([state--beige],:state(beige))){color:${colorPaletteBeigeForeground2};background-color:${colorPaletteBeigeBackground2}}:host(:is([state--mink],:state(mink))){color:${colorPaletteMinkForeground2};background-color:${colorPaletteMinkBackground2}}:host(:is([state--platinum],:state(platinum))){color:${colorPalettePlatinumForeground2};background-color:${colorPalettePlatinumBackground2}}:host(:is([state--anchor],:state(anchor))){color:${colorPaletteAnchorForeground2};background-color:${colorPaletteAnchorBackground2}}:host([active]){transform:perspective(1px);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;transition-property:margin,opacity;transition-duration:${durationUltraSlow}),${durationSlower};transition-delay:${animations.fastEase}),${animations.nullEasing})}:host([active])::before{box-shadow:${shadow8};border-style:solid;border-color:${colorBrandBackgroundStatic}}:host([active][appearance='shadow'])::before{border-style:none;border-color:none}:host([active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThick});border-width:${strokeWidthThick}}:host([size='56'][active]:not([appearance='shadow']))::before,:host([size='64'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThicker});border-width:${strokeWidthThicker}}:host([size='72'][active]:not([appearance='shadow']))::before,:host([size='96'][active]:not([appearance='shadow']))::before,:host([size='120'][active]:not([appearance='shadow']))::before,:host([size='128'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThickest});border-width:${strokeWidthThickest}}:host([size='20'][active][appearance])::before,:host([size='24'][active][appearance])::before,:host([size='28'][active][appearance])::before{box-shadow:${shadow4}}:host([size='56'][active][appearance])::before,:host([size='64'][active][appearance])::before{box-shadow:${shadow16}}:host([size='72'][active][appearance])::before,:host([size='96'][active][appearance])::before,:host([size='120'][active][appearance])::before,:host([size='128'][active][appearance])::before{box-shadow:${shadow28}}:host([active][appearance='ring'])::before{box-shadow:none}:host([active='inactive']){opacity:0.8;transform:scale(0.875);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}:host([active='inactive'])::before{margin:0;opacity:0;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}@media screen and (prefers-reduced-motion:reduce){:host([active]){transition-duration:0.01ms}:host([active])::before{transition-duration:0.01ms;transition-delay:0.01ms}}`;
4668
4676
 
4669
4677
  const defaultIconTemplate = html`<svg width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" class="default-icon" fill="currentcolor" aria-hidden="true"><path d="M10 2a4 4 0 100 8 4 4 0 000-8zM7 6a3 3 0 116 0 3 3 0 01-6 0zm-2 5a2 2 0 00-2 2c0 1.7.83 2.97 2.13 3.8A9.14 9.14 0 0010 18c1.85 0 3.58-.39 4.87-1.2A4.35 4.35 0 0017 13a2 2 0 00-2-2H5zm-1 2a1 1 0 011-1h10a1 1 0 011 1c0 1.3-.62 2.28-1.67 2.95A8.16 8.16 0 0110 17a8.16 8.16 0 01-4.33-1.05A3.36 3.36 0 014 13z"></path></svg>`;
4670
4678
  function avatarTemplate() {
4671
4679
  return html`<slot>${x => x.name || x.initials ? x.generateInitials() : defaultIconTemplate}</slot><slot name="badge"></slot>`;
4672
4680
  }
4673
- const template$w = avatarTemplate();
4681
+ const template$x = avatarTemplate();
4674
4682
 
4675
- const definition$w = Avatar.compose({
4683
+ const definition$x = Avatar.compose({
4676
4684
  name: `${FluentDesignSystem.prefix}-avatar`,
4677
- template: template$w,
4678
- styles: styles$u
4685
+ template: template$x,
4686
+ styles: styles$v
4679
4687
  });
4680
4688
 
4681
- definition$w.define(FluentDesignSystem.registry);
4689
+ definition$x.define(FluentDesignSystem.registry);
4682
4690
 
4683
4691
  const BadgeAppearance = {
4684
4692
  filled: "filled",
@@ -4697,12 +4705,12 @@ const BadgeColor = {
4697
4705
  warning: "warning"
4698
4706
  };
4699
4707
 
4700
- var __defProp$p = Object.defineProperty;
4701
- var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
4702
- var __decorateClass$p = (decorators, target, key, kind) => {
4703
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
4708
+ var __defProp$q = Object.defineProperty;
4709
+ var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
4710
+ var __decorateClass$q = (decorators, target, key, kind) => {
4711
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
4704
4712
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4705
- if (kind && result) __defProp$p(target, key, result);
4713
+ if (kind && result) __defProp$q(target, key, result);
4706
4714
  return result;
4707
4715
  };
4708
4716
  class Badge extends FASTElement {
@@ -4770,10 +4778,10 @@ class Badge extends FASTElement {
4770
4778
  }
4771
4779
  }
4772
4780
  }
4773
- __decorateClass$p([attr], Badge.prototype, "appearance", 2);
4774
- __decorateClass$p([attr], Badge.prototype, "color", 2);
4775
- __decorateClass$p([attr], Badge.prototype, "shape", 2);
4776
- __decorateClass$p([attr], Badge.prototype, "size", 2);
4781
+ __decorateClass$q([attr], Badge.prototype, "appearance", 2);
4782
+ __decorateClass$q([attr], Badge.prototype, "color", 2);
4783
+ __decorateClass$q([attr], Badge.prototype, "shape", 2);
4784
+ __decorateClass$q([attr], Badge.prototype, "size", 2);
4777
4785
  applyMixins(Badge, StartEnd);
4778
4786
 
4779
4787
  const badgeBaseStyles = css.partial`
@@ -5127,7 +5135,7 @@ css.partial`
5127
5135
  font-weight: ${fontWeightSemibold};
5128
5136
  `;
5129
5137
 
5130
- const styles$t = css`
5138
+ const styles$u = css`
5131
5139
  :host(${squareState}){border-radius:${borderRadiusNone}}:host(${roundedState}){border-radius:${borderRadiusMedium}}:host(${roundedState}${tinyState}),:host(${roundedState}${extraSmallState}),:host(${roundedState}${smallState}){border-radius:${borderRadiusSmall}}${badgeSizeStyles}
5132
5140
  ${badgeFilledStyles}
5133
5141
  ${badgeGhostStyles}
@@ -5140,22 +5148,22 @@ const styles$t = css`
5140
5148
  function badgeTemplate(options = {}) {
5141
5149
  return html` ${startSlotTemplate(options)}<slot>${staticallyCompose(options.defaultContent)}</slot>${endSlotTemplate(options)} `;
5142
5150
  }
5143
- const template$v = badgeTemplate();
5151
+ const template$w = badgeTemplate();
5144
5152
 
5145
- const definition$v = Badge.compose({
5153
+ const definition$w = Badge.compose({
5146
5154
  name: `${FluentDesignSystem.prefix}-badge`,
5147
- template: template$v,
5148
- styles: styles$t
5155
+ template: template$w,
5156
+ styles: styles$u
5149
5157
  });
5150
5158
 
5151
- definition$v.define(FluentDesignSystem.registry);
5159
+ definition$w.define(FluentDesignSystem.registry);
5152
5160
 
5153
- var __defProp$o = Object.defineProperty;
5154
- var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
5155
- var __decorateClass$o = (decorators, target, key, kind) => {
5156
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
5161
+ var __defProp$p = Object.defineProperty;
5162
+ var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
5163
+ var __decorateClass$p = (decorators, target, key, kind) => {
5164
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
5157
5165
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5158
- if (kind && result) __defProp$o(target, key, result);
5166
+ if (kind && result) __defProp$p(target, key, result);
5159
5167
  return result;
5160
5168
  };
5161
5169
  class BaseButton extends FASTElement {
@@ -5359,44 +5367,44 @@ class BaseButton extends FASTElement {
5359
5367
  * @public
5360
5368
  */
5361
5369
  BaseButton.formAssociated = true;
5362
- __decorateClass$o([attr({
5370
+ __decorateClass$p([attr({
5363
5371
  mode: "boolean"
5364
5372
  })], BaseButton.prototype, "autofocus", 2);
5365
- __decorateClass$o([observable], BaseButton.prototype, "defaultSlottedContent", 2);
5366
- __decorateClass$o([attr({
5373
+ __decorateClass$p([observable], BaseButton.prototype, "defaultSlottedContent", 2);
5374
+ __decorateClass$p([attr({
5367
5375
  mode: "boolean"
5368
5376
  })], BaseButton.prototype, "disabled", 2);
5369
- __decorateClass$o([attr({
5377
+ __decorateClass$p([attr({
5370
5378
  attribute: "disabled-focusable",
5371
5379
  mode: "boolean"
5372
5380
  })], BaseButton.prototype, "disabledFocusable", 2);
5373
- __decorateClass$o([attr({
5381
+ __decorateClass$p([attr({
5374
5382
  attribute: "tabindex",
5375
5383
  mode: "fromView",
5376
5384
  converter: nullableNumberConverter
5377
5385
  })], BaseButton.prototype, "tabIndex", 2);
5378
- __decorateClass$o([attr({
5386
+ __decorateClass$p([attr({
5379
5387
  attribute: "formaction"
5380
5388
  })], BaseButton.prototype, "formAction", 2);
5381
- __decorateClass$o([attr({
5389
+ __decorateClass$p([attr({
5382
5390
  attribute: "form"
5383
5391
  })], BaseButton.prototype, "formAttribute", 2);
5384
- __decorateClass$o([attr({
5392
+ __decorateClass$p([attr({
5385
5393
  attribute: "formenctype"
5386
5394
  })], BaseButton.prototype, "formEnctype", 2);
5387
- __decorateClass$o([attr({
5395
+ __decorateClass$p([attr({
5388
5396
  attribute: "formmethod"
5389
5397
  })], BaseButton.prototype, "formMethod", 2);
5390
- __decorateClass$o([attr({
5398
+ __decorateClass$p([attr({
5391
5399
  attribute: "formnovalidate",
5392
5400
  mode: "boolean"
5393
5401
  })], BaseButton.prototype, "formNoValidate", 2);
5394
- __decorateClass$o([attr({
5402
+ __decorateClass$p([attr({
5395
5403
  attribute: "formtarget"
5396
5404
  })], BaseButton.prototype, "formTarget", 2);
5397
- __decorateClass$o([attr], BaseButton.prototype, "name", 2);
5398
- __decorateClass$o([attr], BaseButton.prototype, "type", 2);
5399
- __decorateClass$o([attr], BaseButton.prototype, "value", 2);
5405
+ __decorateClass$p([attr], BaseButton.prototype, "name", 2);
5406
+ __decorateClass$p([attr], BaseButton.prototype, "type", 2);
5407
+ __decorateClass$p([attr], BaseButton.prototype, "value", 2);
5400
5408
  class Button extends BaseButton {
5401
5409
  constructor() {
5402
5410
  super(...arguments);
@@ -5450,10 +5458,10 @@ class Button extends BaseButton {
5450
5458
  toggleState(this.elementInternals, "icon", next);
5451
5459
  }
5452
5460
  }
5453
- __decorateClass$o([attr], Button.prototype, "appearance", 2);
5454
- __decorateClass$o([attr], Button.prototype, "shape", 2);
5455
- __decorateClass$o([attr], Button.prototype, "size", 2);
5456
- __decorateClass$o([attr({
5461
+ __decorateClass$p([attr], Button.prototype, "appearance", 2);
5462
+ __decorateClass$p([attr], Button.prototype, "shape", 2);
5463
+ __decorateClass$p([attr], Button.prototype, "size", 2);
5464
+ __decorateClass$p([attr({
5457
5465
  attribute: "icon-only",
5458
5466
  mode: "boolean"
5459
5467
  })], Button.prototype, "iconOnly", 2);
@@ -5462,22 +5470,22 @@ applyMixins(Button, StartEnd);
5462
5470
  function buttonTemplate$1(options = {}) {
5463
5471
  return html`<template tabindex="${x => x.disabled ? null : x.tabIndex ?? 0}" @click="${(x, c) => x.clickHandler(c.event)}" @keypress="${(x, c) => x.keypressHandler(c.event)}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</template>`;
5464
5472
  }
5465
- const template$u = buttonTemplate$1();
5473
+ const template$v = buttonTemplate$1();
5466
5474
 
5467
- const definition$u = Button.compose({
5475
+ const definition$v = Button.compose({
5468
5476
  name: `${FluentDesignSystem.prefix}-button`,
5469
- template: template$u,
5470
- styles: styles$w
5477
+ template: template$v,
5478
+ styles: styles$x
5471
5479
  });
5472
5480
 
5473
- definition$u.define(FluentDesignSystem.registry);
5481
+ definition$v.define(FluentDesignSystem.registry);
5474
5482
 
5475
- var __defProp$n = Object.defineProperty;
5476
- var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
5477
- var __decorateClass$n = (decorators, target, key, kind) => {
5478
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
5483
+ var __defProp$o = Object.defineProperty;
5484
+ var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
5485
+ var __decorateClass$o = (decorators, target, key, kind) => {
5486
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
5479
5487
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5480
- if (kind && result) __defProp$n(target, key, result);
5488
+ if (kind && result) __defProp$o(target, key, result);
5481
5489
  return result;
5482
5490
  };
5483
5491
  class BaseCheckbox extends FASTElement {
@@ -5811,27 +5819,27 @@ class BaseCheckbox extends FASTElement {
5811
5819
  * @public
5812
5820
  */
5813
5821
  BaseCheckbox.formAssociated = true;
5814
- __decorateClass$n([attr({
5822
+ __decorateClass$o([attr({
5815
5823
  mode: "boolean"
5816
5824
  })], BaseCheckbox.prototype, "autofocus", 2);
5817
- __decorateClass$n([observable], BaseCheckbox.prototype, "disabled", 2);
5818
- __decorateClass$n([attr({
5825
+ __decorateClass$o([observable], BaseCheckbox.prototype, "disabled", 2);
5826
+ __decorateClass$o([attr({
5819
5827
  attribute: "disabled",
5820
5828
  mode: "boolean"
5821
5829
  })], BaseCheckbox.prototype, "disabledAttribute", 2);
5822
- __decorateClass$n([attr({
5830
+ __decorateClass$o([attr({
5823
5831
  attribute: "form"
5824
5832
  })], BaseCheckbox.prototype, "formAttribute", 2);
5825
- __decorateClass$n([attr({
5833
+ __decorateClass$o([attr({
5826
5834
  attribute: "checked",
5827
5835
  mode: "boolean"
5828
5836
  })], BaseCheckbox.prototype, "initialChecked", 2);
5829
- __decorateClass$n([attr({
5837
+ __decorateClass$o([attr({
5830
5838
  attribute: "value",
5831
5839
  mode: "fromView"
5832
5840
  })], BaseCheckbox.prototype, "initialValue", 2);
5833
- __decorateClass$n([attr], BaseCheckbox.prototype, "name", 2);
5834
- __decorateClass$n([attr({
5841
+ __decorateClass$o([attr], BaseCheckbox.prototype, "name", 2);
5842
+ __decorateClass$o([attr({
5835
5843
  mode: "boolean"
5836
5844
  })], BaseCheckbox.prototype, "required", 2);
5837
5845
  class Checkbox extends BaseCheckbox {
@@ -5904,12 +5912,12 @@ class Checkbox extends BaseCheckbox {
5904
5912
  super.toggleChecked(force);
5905
5913
  }
5906
5914
  }
5907
- __decorateClass$n([observable], Checkbox.prototype, "indeterminate", 2);
5908
- __decorateClass$n([attr], Checkbox.prototype, "shape", 2);
5909
- __decorateClass$n([attr], Checkbox.prototype, "size", 2);
5915
+ __decorateClass$o([observable], Checkbox.prototype, "indeterminate", 2);
5916
+ __decorateClass$o([attr], Checkbox.prototype, "shape", 2);
5917
+ __decorateClass$o([attr], Checkbox.prototype, "size", 2);
5910
5918
 
5911
5919
  const indeterminateState = css.partial`:is([state--indeterminate], :state(indeterminate))`;
5912
- const styles$s = css`
5920
+ const styles$t = css`
5913
5921
  ${display("inline-flex")}
5914
5922
 
5915
5923
  :host{--size:16px;background-color:${colorNeutralBackground1};border-radius:${borderRadiusSmall};border:${strokeWidthThin} solid ${colorNeutralStrokeAccessible};box-sizing:border-box;cursor:pointer;position:relative;width:var(--size)}:host,.indeterminate-indicator,.checked-indicator{aspect-ratio:1}:host(:hover){border-color:${colorNeutralStrokeAccessibleHover}}:host(:active){border-color:${colorNeutralStrokeAccessiblePressed}}:host(${checkedState}:hover){background-color:${colorCompoundBrandBackgroundHover};border-color:${colorCompoundBrandStrokeHover}}:host(${checkedState}:active){background-color:${colorCompoundBrandBackgroundPressed};border-color:${colorCompoundBrandStrokePressed}}:host(:focus-visible){outline:none}:host(:not([slot='input']))::after{content:'';position:absolute;inset:-8px;box-sizing:border-box;outline:none;border:${strokeWidthThick} solid ${colorTransparentStroke};border-radius:${borderRadiusMedium}}:host(:not([slot='input']):focus-visible)::after{border-color:${colorStrokeFocus2}}.indeterminate-indicator,.checked-indicator{color:${colorNeutralForegroundInverted};inset:0;margin:auto;position:absolute}::slotted([slot='checked-indicator']),.checked-indicator{fill:currentColor;display:inline-flex;flex:1 0 auto;width:12px}:host(:not(${checkedState})) *:is(::slotted([slot='checked-indicator']),.checked-indicator){display:none}:host(${checkedState}),:host(${indeterminateState}){border-color:${colorCompoundBrandStroke}}:host(${checkedState}),:host(${indeterminateState}) .indeterminate-indicator{background-color:${colorCompoundBrandBackground}}:host(${indeterminateState}) .indeterminate-indicator{border-radius:${borderRadiusSmall};position:absolute;width:calc(var(--size) / 2);inset:0}:host(${largeState}){--size:20px}:host(${largeState}) ::slotted([slot='checked-indicator']),:host(${largeState}) .checked-indicator{width:16px}:host(${circularState}),:host(${circularState}) .indeterminate-indicator{border-radius:${borderRadiusCircular}}:host([disabled]),:host([disabled]${checkedState}){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}:host([disabled]){cursor:unset}:host([disabled]${indeterminateState}) .indeterminate-indicator{background-color:${colorNeutralStrokeDisabled}}:host([disabled]${checkedState}) .checked-indicator{color:${colorNeutralStrokeDisabled}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -5935,23 +5943,23 @@ const indeterminateIndicator = html.partial( /* html */
5935
5943
  function checkboxTemplate(options = {}) {
5936
5944
  return html`<template tabindex="${x => !x.disabled ? 0 : void 0}" @click="${(x, c) => x.clickHandler(c.event)}" @input="${(x, c) => x.inputHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @keyup="${(x, c) => x.keyupHandler(c.event)}"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot><slot name="indeterminate-indicator">${staticallyCompose(options.indeterminateIndicator)}</slot></template>`;
5937
5945
  }
5938
- const template$t = checkboxTemplate({
5946
+ const template$u = checkboxTemplate({
5939
5947
  checkedIndicator: checkedIndicator$1,
5940
5948
  indeterminateIndicator
5941
5949
  });
5942
5950
 
5943
- const definition$t = Checkbox.compose({
5951
+ const definition$u = Checkbox.compose({
5944
5952
  name: `${FluentDesignSystem.prefix}-checkbox`,
5945
- template: template$t,
5946
- styles: styles$s
5953
+ template: template$u,
5954
+ styles: styles$t
5947
5955
  });
5948
5956
 
5949
- definition$t.define(FluentDesignSystem.registry);
5957
+ definition$u.define(FluentDesignSystem.registry);
5950
5958
 
5951
5959
  class CompoundButton extends Button {}
5952
5960
 
5953
- const styles$r = css`
5954
- ${styles$w}
5961
+ const styles$s = css`
5962
+ ${styles$x}
5955
5963
 
5956
5964
  :host,:host(:is([size])){gap:12px;height:auto;padding-top:14px;padding-inline:12px;padding-bottom:16px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}.content{display:flex;flex-direction:column;text-align:start}::slotted([slot='description']){color:${colorNeutralForeground2};line-height:100%;font-size:${fontSizeBase200};font-weight:${fontWeightRegular}}::slotted(svg),:host(${largeState}) ::slotted(svg){font-size:40px;height:40px;width:40px}:host(:hover) ::slotted([slot='description']){color:${colorNeutralForeground2Hover}}:host(:active) ::slotted([slot='description']){color:${colorNeutralForeground2Pressed}}:host(:is(${primaryState},${primaryState}:hover,${primaryState}:active)) ::slotted([slot='description']){color:${colorNeutralForegroundOnBrand}}:host(:is(${subtleState},${subtleState}:hover,${subtleState}:active)) ::slotted([slot='description']),:host(${transparentState}) ::slotted([slot='description']){color:${colorNeutralForeground2}}:host(${transparentState}:hover) ::slotted([slot='description']){color:${colorNeutralForeground2BrandHover}}:host(${transparentState}:active) ::slotted([slot='description']){color:${colorNeutralForeground2BrandPressed}}:host(:is(:disabled,:disabled[appearance],[disabled-focusable],[disabled-focusable][appearance]))
5957
5965
  ::slotted([slot='description']){color:${colorNeutralForegroundDisabled}}:host(${smallState}){padding:8px;padding-bottom:10px}:host(${iconOnlyState}){min-width:52px;max-width:52px;padding:${spacingHorizontalSNudge}}:host(${iconOnlyState}${smallState}){min-width:48px;max-width:48px;padding:${spacingHorizontalXS}}:host(${iconOnlyState}${largeState}){min-width:56px;max-width:56px;padding:${spacingHorizontalS}}:host(${largeState}){padding-top:18px;padding-inline:16px;padding-bottom:20px;font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host(${largeState}) ::slotted([slot='description']){font-size:${fontSizeBase300}}`;
@@ -5959,22 +5967,22 @@ const styles$r = css`
5959
5967
  function buttonTemplate(options = {}) {
5960
5968
  return html`<template ?disabled="${x => x.disabled}" tabindex="${x => x.disabled ? null : x.tabIndex ?? 0}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot><slot name="description"></slot></span>${endSlotTemplate(options)}</template>`;
5961
5969
  }
5962
- const template$s = buttonTemplate();
5970
+ const template$t = buttonTemplate();
5963
5971
 
5964
- const definition$s = CompoundButton.compose({
5972
+ const definition$t = CompoundButton.compose({
5965
5973
  name: `${FluentDesignSystem.prefix}-compound-button`,
5966
- template: template$s,
5967
- styles: styles$r
5974
+ template: template$t,
5975
+ styles: styles$s
5968
5976
  });
5969
5977
 
5970
- definition$s.define(FluentDesignSystem.registry);
5978
+ definition$t.define(FluentDesignSystem.registry);
5971
5979
 
5972
- var __defProp$m = Object.defineProperty;
5973
- var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
5974
- var __decorateClass$m = (decorators, target, key, kind) => {
5975
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
5980
+ var __defProp$n = Object.defineProperty;
5981
+ var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
5982
+ var __decorateClass$n = (decorators, target, key, kind) => {
5983
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
5976
5984
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5977
- if (kind && result) __defProp$m(target, key, result);
5985
+ if (kind && result) __defProp$n(target, key, result);
5978
5986
  return result;
5979
5987
  };
5980
5988
  class CounterBadge extends FASTElement {
@@ -6071,28 +6079,28 @@ class CounterBadge extends FASTElement {
6071
6079
  return;
6072
6080
  }
6073
6081
  }
6074
- __decorateClass$m([attr], CounterBadge.prototype, "appearance", 2);
6075
- __decorateClass$m([attr], CounterBadge.prototype, "color", 2);
6076
- __decorateClass$m([attr], CounterBadge.prototype, "shape", 2);
6077
- __decorateClass$m([attr], CounterBadge.prototype, "size", 2);
6078
- __decorateClass$m([attr({
6082
+ __decorateClass$n([attr], CounterBadge.prototype, "appearance", 2);
6083
+ __decorateClass$n([attr], CounterBadge.prototype, "color", 2);
6084
+ __decorateClass$n([attr], CounterBadge.prototype, "shape", 2);
6085
+ __decorateClass$n([attr], CounterBadge.prototype, "size", 2);
6086
+ __decorateClass$n([attr({
6079
6087
  converter: nullableNumberConverter
6080
6088
  })], CounterBadge.prototype, "count", 2);
6081
- __decorateClass$m([attr({
6089
+ __decorateClass$n([attr({
6082
6090
  attribute: "overflow-count",
6083
6091
  converter: nullableNumberConverter
6084
6092
  })], CounterBadge.prototype, "overflowCount", 2);
6085
- __decorateClass$m([attr({
6093
+ __decorateClass$n([attr({
6086
6094
  attribute: "show-zero",
6087
6095
  mode: "boolean"
6088
6096
  })], CounterBadge.prototype, "showZero", 2);
6089
- __decorateClass$m([attr({
6097
+ __decorateClass$n([attr({
6090
6098
  mode: "boolean"
6091
6099
  })], CounterBadge.prototype, "dot", 2);
6092
6100
  applyMixins(CounterBadge, StartEnd);
6093
6101
 
6094
6102
  const dotState = css.partial`:is([state--dot], :state(dot))`;
6095
- const styles$q = css`
6103
+ const styles$r = css`
6096
6104
  :host(${roundedState}){border-radius:${borderRadiusMedium}}:host(${roundedState}${tinyState}),:host(${roundedState}${extraSmallState}),:host(${roundedState}${smallState}){border-radius:${borderRadiusSmall}}${badgeSizeStyles}
6097
6105
  ${badgeFilledStyles}
6098
6106
  ${badgeGhostStyles}
@@ -6105,15 +6113,15 @@ function composeTemplate(options = {}) {
6105
6113
  defaultContent: html`${x => x.setCount()}`
6106
6114
  });
6107
6115
  }
6108
- const template$r = composeTemplate();
6116
+ const template$s = composeTemplate();
6109
6117
 
6110
- const definition$r = CounterBadge.compose({
6118
+ const definition$s = CounterBadge.compose({
6111
6119
  name: `${FluentDesignSystem.prefix}-counter-badge`,
6112
- template: template$r,
6113
- styles: styles$q
6120
+ template: template$s,
6121
+ styles: styles$r
6114
6122
  });
6115
6123
 
6116
- definition$r.define(FluentDesignSystem.registry);
6124
+ definition$s.define(FluentDesignSystem.registry);
6117
6125
 
6118
6126
  const DialogType = {
6119
6127
  modal: "modal",
@@ -6121,12 +6129,12 @@ const DialogType = {
6121
6129
  alert: "alert"
6122
6130
  };
6123
6131
 
6124
- var __defProp$l = Object.defineProperty;
6125
- var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
6126
- var __decorateClass$l = (decorators, target, key, kind) => {
6127
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
6132
+ var __defProp$m = Object.defineProperty;
6133
+ var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
6134
+ var __decorateClass$m = (decorators, target, key, kind) => {
6135
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
6128
6136
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6129
- if (kind && result) __defProp$l(target, key, result);
6137
+ if (kind && result) __defProp$m(target, key, result);
6130
6138
  return result;
6131
6139
  };
6132
6140
  class Dialog extends FASTElement {
@@ -6194,35 +6202,35 @@ class Dialog extends FASTElement {
6194
6202
  return true;
6195
6203
  }
6196
6204
  }
6197
- __decorateClass$l([observable], Dialog.prototype, "dialog", 2);
6198
- __decorateClass$l([attr({
6205
+ __decorateClass$m([observable], Dialog.prototype, "dialog", 2);
6206
+ __decorateClass$m([attr({
6199
6207
  attribute: "aria-describedby"
6200
6208
  })], Dialog.prototype, "ariaDescribedby", 2);
6201
- __decorateClass$l([attr({
6209
+ __decorateClass$m([attr({
6202
6210
  attribute: "aria-labelledby"
6203
6211
  })], Dialog.prototype, "ariaLabelledby", 2);
6204
- __decorateClass$l([attr], Dialog.prototype, "type", 2);
6212
+ __decorateClass$m([attr], Dialog.prototype, "type", 2);
6205
6213
 
6206
- const template$q = html`<dialog role="${x => x.type === DialogType.alert ? "alertdialog" : "dialog"}" type="${x => x.type}" class="dialog" part="dialog" aria-modal="${x => x.type === DialogType.modal || x.type === DialogType.alert ? "true" : void 0}" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${(x, c) => x.type === DialogType.alert ? c.event.preventDefault() : x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
6214
+ const template$r = html`<dialog role="${x => x.type === DialogType.alert ? "alertdialog" : "dialog"}" type="${x => x.type}" class="dialog" part="dialog" aria-modal="${x => x.type === DialogType.modal || x.type === DialogType.alert ? "true" : void 0}" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${(x, c) => x.type === DialogType.alert ? c.event.preventDefault() : x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
6207
6215
 
6208
- const styles$p = css`
6216
+ const styles$q = css`
6209
6217
  @layer base{:host{--dialog-backdrop:${colorBackgroundOverlay};--dialog-starting-scale:0.85}::backdrop{background:var(--dialog-backdrop,rgba(0,0,0,0.4))}dialog{background:${colorNeutralBackground1};border-radius:${borderRadiusXLarge};border:none;box-shadow:${shadow64};color:${colorNeutralForeground1};max-height:calc(-48px + 100vh);padding:0;width:100%;max-width:600px}:host([type='non-modal']) dialog{inset:0;position:fixed;z-index:2;overflow:auto}}@layer animations{@media (prefers-reduced-motion:no-preference){dialog,::backdrop{transition:display allow-discrete,opacity,overlay allow-discrete,scale;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid};opacity:0}::backdrop{transition-timing-function:${curveLinear}}[open],[open]::backdrop{opacity:1}dialog:not([open]){scale:var(--dialog-starting-scale);transition-timing-function:${curveAccelerateMid}}}@starting-style{[open],[open]::backdrop{opacity:0}dialog{scale:var(--dialog-starting-scale)}}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
6210
6218
  @layer base{dialog{border:${strokeWidthThin} solid ${colorTransparentStroke}}}`));
6211
6219
 
6212
- const definition$q = Dialog.compose({
6220
+ const definition$r = Dialog.compose({
6213
6221
  name: `${FluentDesignSystem.prefix}-dialog`,
6214
- template: template$q,
6215
- styles: styles$p
6222
+ template: template$r,
6223
+ styles: styles$q
6216
6224
  });
6217
6225
 
6218
- definition$q.define(FluentDesignSystem.registry);
6226
+ definition$r.define(FluentDesignSystem.registry);
6219
6227
 
6220
- var __defProp$k = Object.defineProperty;
6221
- var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
6222
- var __decorateClass$k = (decorators, target, key, kind) => {
6223
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
6228
+ var __defProp$l = Object.defineProperty;
6229
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
6230
+ var __decorateClass$l = (decorators, target, key, kind) => {
6231
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
6224
6232
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6225
- if (kind && result) __defProp$k(target, key, result);
6233
+ if (kind && result) __defProp$l(target, key, result);
6226
6234
  return result;
6227
6235
  };
6228
6236
  class DialogBody extends FASTElement {
@@ -6231,7 +6239,7 @@ class DialogBody extends FASTElement {
6231
6239
  this.noTitleAction = false;
6232
6240
  }
6233
6241
  }
6234
- __decorateClass$k([attr({
6242
+ __decorateClass$l([attr({
6235
6243
  mode: "boolean",
6236
6244
  attribute: "no-title-action"
6237
6245
  })], DialogBody.prototype, "noTitleAction", 2);
@@ -6250,20 +6258,20 @@ const dismissed16Regular = html.partial(`
6250
6258
  fill="currentColor"
6251
6259
  ></path>
6252
6260
  </svg>`);
6253
- const template$p = html`<div class="title" part="title"><slot name="title"></slot><slot name="title-action"><fluent-button ?hidden=${x => x.noTitleAction || x.parentNode?.type === DialogType.alert} tabindex="0" part="title-action" class="title-action" appearance="transparent" icon-only @click=${x => x.parentNode?.hide()} ${ref("defaultTitleAction")}>${dismissed16Regular}</fluent-button></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div>`;
6261
+ const template$q = html`<div class="title" part="title"><slot name="title"></slot><slot name="title-action"><fluent-button ?hidden=${x => x.noTitleAction || x.parentNode?.type === DialogType.alert} tabindex="0" part="title-action" class="title-action" appearance="transparent" icon-only @click=${x => x.parentNode?.hide()} ${ref("defaultTitleAction")}>${dismissed16Regular}</fluent-button></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div>`;
6254
6262
 
6255
- const styles$o = css`
6263
+ const styles$p = css`
6256
6264
  ${display("grid")}
6257
6265
 
6258
6266
  :host{background:${colorNeutralBackground1};box-sizing:border-box;gap:${spacingVerticalS};padding:${spacingVerticalXXL} ${spacingHorizontalXXL};container:dialog-body / inline-size}.title{box-sizing:border-box;align-items:flex-start;background:${colorNeutralBackground1};color:${colorNeutralForeground1};column-gap:8px;display:flex;font-family:${fontFamilyBase};font-size:${fontSizeBase500};font-weight:${fontWeightSemibold};inset-block-start:0;justify-content:space-between;line-height:${lineHeightBase500};margin-block-end:calc(${spacingVerticalS} * -1);margin-block-start:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalS};padding-block-start:${spacingVerticalXXL};position:sticky;z-index:1}.content{box-sizing:border-box;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};min-height:32px}.actions{box-sizing:border-box;background:${colorNeutralBackground1};display:flex;flex-direction:column;gap:${spacingVerticalS};inset-block-end:0;margin-block-end:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalXXL};padding-block-start:${spacingVerticalL};position:sticky;z-index:2}:not(:has(:is([slot='title'],[slot='title-action']))) .title:not(:has(.title-action)),:not(:has([slot='action'])) .actions{display:none}@container (min-width:480px){.actions{align-items:center;flex-direction:row;justify-content:flex-end;margin-block-start:calc(${spacingVerticalS} * -1);padding-block-start:${spacingVerticalS}}}`;
6259
6267
 
6260
- const definition$p = DialogBody.compose({
6268
+ const definition$q = DialogBody.compose({
6261
6269
  name: `${FluentDesignSystem.prefix}-dialog-body`,
6262
- template: template$p,
6263
- styles: styles$o
6270
+ template: template$q,
6271
+ styles: styles$p
6264
6272
  });
6265
6273
 
6266
- definition$p.define(FluentDesignSystem.registry);
6274
+ definition$q.define(FluentDesignSystem.registry);
6267
6275
 
6268
6276
  const DividerRole = {
6269
6277
  /**
@@ -6277,12 +6285,12 @@ const DividerRole = {
6277
6285
  };
6278
6286
  const DividerOrientation = Orientation;
6279
6287
 
6280
- var __defProp$j = Object.defineProperty;
6281
- var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
6282
- var __decorateClass$j = (decorators, target, key, kind) => {
6283
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
6288
+ var __defProp$k = Object.defineProperty;
6289
+ var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
6290
+ var __decorateClass$k = (decorators, target, key, kind) => {
6291
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
6284
6292
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6285
- if (kind && result) __defProp$j(target, key, result);
6293
+ if (kind && result) __defProp$k(target, key, result);
6286
6294
  return result;
6287
6295
  };
6288
6296
  class BaseDivider extends FASTElement {
@@ -6334,8 +6342,8 @@ class BaseDivider extends FASTElement {
6334
6342
  }
6335
6343
  }
6336
6344
  }
6337
- __decorateClass$j([attr], BaseDivider.prototype, "role", 2);
6338
- __decorateClass$j([attr], BaseDivider.prototype, "orientation", 2);
6345
+ __decorateClass$k([attr], BaseDivider.prototype, "role", 2);
6346
+ __decorateClass$k([attr], BaseDivider.prototype, "orientation", 2);
6339
6347
  class Divider extends BaseDivider {
6340
6348
  constructor() {
6341
6349
  super(...arguments);
@@ -6376,32 +6384,32 @@ class Divider extends BaseDivider {
6376
6384
  toggleState(this.elementInternals, "inset", next);
6377
6385
  }
6378
6386
  }
6379
- __decorateClass$j([attr({
6387
+ __decorateClass$k([attr({
6380
6388
  attribute: "align-content"
6381
6389
  })], Divider.prototype, "alignContent", 2);
6382
- __decorateClass$j([attr], Divider.prototype, "appearance", 2);
6383
- __decorateClass$j([attr({
6390
+ __decorateClass$k([attr], Divider.prototype, "appearance", 2);
6391
+ __decorateClass$k([attr({
6384
6392
  mode: "boolean"
6385
6393
  })], Divider.prototype, "inset", 2);
6386
6394
 
6387
6395
  function dividerTemplate() {
6388
6396
  return html`<slot></slot>`;
6389
6397
  }
6390
- const template$o = dividerTemplate();
6398
+ const template$p = dividerTemplate();
6391
6399
 
6392
- const styles$n = css`
6400
+ const styles$o = css`
6393
6401
  ${display("flex")}
6394
6402
 
6395
6403
  :host{contain:content}:host::after,:host::before{align-self:center;background:${colorNeutralStroke2};box-sizing:border-box;content:'';display:flex;flex-grow:1;height:${strokeWidthThin}}:host(${insetState}){padding:0 12px}:host ::slotted(*){color:${colorNeutralForeground2};font-family:${fontFamilyBase};font-size:${fontSizeBase200};font-weight:${fontWeightRegular};margin:0;padding:0 12px}:host(${alignStartState})::before,:host(${alignEndState})::after{flex-basis:12px;flex-grow:0;flex-shrink:0}:host(${verticalState}){height:100%;min-height:84px}:host(${verticalState}):empty{min-height:20px}:host(${verticalState}){flex-direction:column;align-items:center}:host(${verticalState}${insetState})::before{margin-top:12px}:host(${verticalState}${insetState})::after{margin-bottom:12px}:host(${verticalState}):empty::before,:host(${verticalState}):empty::after{height:10px;min-height:10px;flex-grow:0}:host(${verticalState})::before,:host(${verticalState})::after{width:${strokeWidthThin};min-height:20px;height:100%}:host(${verticalState}) ::slotted(*){display:flex;flex-direction:column;padding:12px 0;line-height:20px}:host(${verticalState}${alignStartState})::before{min-height:8px}:host(${verticalState}${alignEndState})::after{min-height:8px}:host(${strongState})::before,:host(${strongState})::after{background:${colorNeutralStroke1}}:host(${strongState}) ::slotted(*){color:${colorNeutralForeground1}}:host(${brandState})::before,:host(${brandState})::after{background:${colorBrandStroke1}}:host(${brandState}) ::slotted(*){color:${colorBrandForeground1}}:host(${subtleState})::before,:host(${subtleState})::after{background:${colorNeutralStroke3}}:host(${subtleState}) ::slotted(*){color:${colorNeutralForeground3}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
6396
6404
  :host(${strongState})::before,:host(${strongState})::after,:host(${brandState})::before,:host(${brandState})::after,:host(${subtleState})::before,:host(${subtleState})::after,:host::after,:host::before{background:WindowText;color:WindowText}`));
6397
6405
 
6398
- const definition$o = Divider.compose({
6406
+ const definition$p = Divider.compose({
6399
6407
  name: `${FluentDesignSystem.prefix}-divider`,
6400
- template: template$o,
6401
- styles: styles$n
6408
+ template: template$p,
6409
+ styles: styles$o
6402
6410
  });
6403
6411
 
6404
- definition$o.define(FluentDesignSystem.registry);
6412
+ definition$p.define(FluentDesignSystem.registry);
6405
6413
 
6406
6414
  const DrawerPosition = {
6407
6415
  start: "start",
@@ -6419,12 +6427,12 @@ const DrawerType = {
6419
6427
  inline: "inline"
6420
6428
  };
6421
6429
 
6422
- var __defProp$i = Object.defineProperty;
6423
- var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
6424
- var __decorateClass$i = (decorators, target, key, kind) => {
6425
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
6430
+ var __defProp$j = Object.defineProperty;
6431
+ var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
6432
+ var __decorateClass$j = (decorators, target, key, kind) => {
6433
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
6426
6434
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6427
- if (kind && result) __defProp$i(target, key, result);
6435
+ if (kind && result) __defProp$j(target, key, result);
6428
6436
  return result;
6429
6437
  };
6430
6438
  class Drawer extends FASTElement {
@@ -6494,20 +6502,20 @@ class Drawer extends FASTElement {
6494
6502
  return true;
6495
6503
  }
6496
6504
  }
6497
- __decorateClass$i([attr], Drawer.prototype, "type", 2);
6498
- __decorateClass$i([attr({
6505
+ __decorateClass$j([attr], Drawer.prototype, "type", 2);
6506
+ __decorateClass$j([attr({
6499
6507
  attribute: "aria-labelledby"
6500
6508
  })], Drawer.prototype, "ariaLabelledby", 2);
6501
- __decorateClass$i([attr({
6509
+ __decorateClass$j([attr({
6502
6510
  attribute: "aria-describedby"
6503
6511
  })], Drawer.prototype, "ariaDescribedby", 2);
6504
- __decorateClass$i([attr], Drawer.prototype, "position", 2);
6505
- __decorateClass$i([attr({
6512
+ __decorateClass$j([attr], Drawer.prototype, "position", 2);
6513
+ __decorateClass$j([attr({
6506
6514
  attribute: "size"
6507
6515
  })], Drawer.prototype, "size", 2);
6508
- __decorateClass$i([observable], Drawer.prototype, "dialog", 2);
6516
+ __decorateClass$j([observable], Drawer.prototype, "dialog", 2);
6509
6517
 
6510
- const styles$m = css`
6518
+ const styles$n = css`
6511
6519
  ${display("block")}
6512
6520
 
6513
6521
  :host{--dialog-backdrop:${colorBackgroundOverlay}}:host([type='non-modal']) dialog[open]::backdrop{display:none}:host([type='non-modal']) dialog{position:fixed;top:0;bottom:0}:host([type='inline']){height:100%;width:fit-content}:host([type='inline']) dialog[open]{box-shadow:none;position:relative}:host([size='small']) dialog{width:320px;max-width:320px}:host([size='large']) dialog{width:940px;max-width:940px}:host([size='full']) dialog{width:100%;max-width:100%}:host([position='end']) dialog{margin-inline-start:auto;margin-inline-end:0}dialog{box-sizing:border-box;z-index:var(--drawer-elevation,1000);font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-weight:${fontWeightRegular};color:${colorNeutralForeground1};max-width:var(--drawer-width,592px);max-height:100vh;height:100%;margin-inline-start:0;margin-inline-end:auto;border-inline-end-color:${colorTransparentStroke};border-inline-start-color:var(--drawer-separator,${colorTransparentStroke});outline:none;top:0;bottom:0;width:var(--drawer-width,592px);border-radius:0;padding:0;max-width:var(--drawer-width,592px);box-shadow:${shadow64};border:${strokeWidthThin} solid ${colorTransparentStroke};background:${colorNeutralBackground1}}dialog::backdrop{background:var(--dialog-backdrop)}@layer animations{@media (prefers-reduced-motion:no-preference){dialog{transition:display allow-discrete,opacity,overlay allow-discrete,transform;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid}}:host dialog:not([open]){transform:translateX(-100%);transition-timing-function:${curveAccelerateMid}}:host([position='end']) dialog:not([open]){transform:translateX(100%);transition-timing-function:${curveAccelerateMid}}dialog[open]{transform:translateX(0)}dialog::backdrop{transition:display allow-discrete,opacity,overlay allow-discrete,scale;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid};background:var(--dialog-backdrop,${colorBackgroundOverlay});opacity:0}dialog[open]::backdrop{opacity:1}dialog::backdrop{transition-timing-function:${curveLinear}}}@starting-style{dialog[open]{transform:translateX(-100%)}:host([position='end']) dialog[open]{transform:translateX(100%)}dialog[open]::backdrop{opacity:0}}}`;
@@ -6515,34 +6523,34 @@ const styles$m = css`
6515
6523
  function drawerTemplate() {
6516
6524
  return html`<dialog class="dialog" part="dialog" role="${x => x.type === "modal" ? "dialog" : x.role}" aria-modal="${x => x.type === "modal" ? "true" : void 0}" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" size="${x => x.size}" position="${x => x.position}" type="${x => x.type}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${(x, c) => x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
6517
6525
  }
6518
- const template$n = drawerTemplate();
6526
+ const template$o = drawerTemplate();
6519
6527
 
6520
- const definition$n = Drawer.compose({
6528
+ const definition$o = Drawer.compose({
6521
6529
  name: `${FluentDesignSystem.prefix}-drawer`,
6522
- template: template$n,
6523
- styles: styles$m
6530
+ template: template$o,
6531
+ styles: styles$n
6524
6532
  });
6525
6533
 
6526
- definition$n.define(FluentDesignSystem.registry);
6534
+ definition$o.define(FluentDesignSystem.registry);
6527
6535
 
6528
6536
  class DrawerBody extends FASTElement {}
6529
6537
 
6530
- const styles$l = css`
6538
+ const styles$m = css`
6531
6539
  ${display("grid")}
6532
6540
  :host{box-sizing:border-box;grid-template-rows:min-content auto min-content;position:relative;height:100%;padding:${spacingHorizontalXL};max-height:100svh}.header{display:flex;justify-content:space-between;align-items:center;${typographySubtitle1Styles}}.footer{display:flex;justify-content:flex-start;gap:${spacingHorizontalM}}`;
6533
6541
 
6534
6542
  function drawerBodyTemplate() {
6535
6543
  return html`<div class="header" part="header"><slot name="title"></slot><slot name="close"></slot></div><div class="content" part="content"><slot></slot></div><div class="footer" part="footer"><slot name="footer"></slot></div>`;
6536
6544
  }
6537
- const template$m = drawerBodyTemplate();
6545
+ const template$n = drawerBodyTemplate();
6538
6546
 
6539
- const definition$m = DrawerBody.compose({
6547
+ const definition$n = DrawerBody.compose({
6540
6548
  name: `${FluentDesignSystem.prefix}-drawer-body`,
6541
- template: template$m,
6542
- styles: styles$l
6549
+ template: template$n,
6550
+ styles: styles$m
6543
6551
  });
6544
6552
 
6545
- definition$m.define(FluentDesignSystem.registry);
6553
+ definition$n.define(FluentDesignSystem.registry);
6546
6554
 
6547
6555
  const LabelPosition = {
6548
6556
  above: "above",
@@ -6563,12 +6571,12 @@ const ValidationFlags = {
6563
6571
  valid: "valid"
6564
6572
  };
6565
6573
 
6566
- var __defProp$h = Object.defineProperty;
6567
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
6568
- var __decorateClass$h = (decorators, target, key, kind) => {
6569
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
6574
+ var __defProp$i = Object.defineProperty;
6575
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
6576
+ var __decorateClass$i = (decorators, target, key, kind) => {
6577
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
6570
6578
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6571
- if (kind && result) __defProp$h(target, key, result);
6579
+ if (kind && result) __defProp$i(target, key, result);
6572
6580
  return result;
6573
6581
  };
6574
6582
  class BaseField extends FASTElement {
@@ -6736,17 +6744,17 @@ class BaseField extends FASTElement {
6736
6744
  }
6737
6745
  }
6738
6746
  }
6739
- __decorateClass$h([observable], BaseField.prototype, "labelSlot", 2);
6740
- __decorateClass$h([observable], BaseField.prototype, "messageSlot", 2);
6741
- __decorateClass$h([observable], BaseField.prototype, "slottedInputs", 2);
6742
- __decorateClass$h([observable], BaseField.prototype, "input", 2);
6747
+ __decorateClass$i([observable], BaseField.prototype, "labelSlot", 2);
6748
+ __decorateClass$i([observable], BaseField.prototype, "messageSlot", 2);
6749
+ __decorateClass$i([observable], BaseField.prototype, "slottedInputs", 2);
6750
+ __decorateClass$i([observable], BaseField.prototype, "input", 2);
6743
6751
  class Field extends BaseField {
6744
6752
  constructor() {
6745
6753
  super(...arguments);
6746
6754
  this.labelPosition = LabelPosition.above;
6747
6755
  }
6748
6756
  }
6749
- __decorateClass$h([attr({
6757
+ __decorateClass$i([attr({
6750
6758
  attribute: "label-position"
6751
6759
  })], Field.prototype, "labelPosition", 2);
6752
6760
 
@@ -6763,12 +6771,12 @@ const typeMismatchState = css.partial`:is([state--${ValidationFlags.typeMismatch
6763
6771
  const validState = css.partial`:is([state-${ValidationFlags.valid}], :state(${ValidationFlags.valid}))`;
6764
6772
  const valueMissingState = css.partial`:is([state--${ValidationFlags.valueMissing}], :state(${ValidationFlags.valueMissing}))`;
6765
6773
  const hasMessageState = css.partial`:is([state--has-message], :state(has-message))`;
6766
- const styles$k = css`
6774
+ const styles$l = css`
6767
6775
  ${display("inline-grid")}
6768
6776
 
6769
6777
  :host{color:${colorNeutralForeground1};align-items:center;gap:0 ${spacingHorizontalM};justify-items:start;position:relative}:has([slot='message']){color:${colorNeutralForeground1};row-gap:${spacingVerticalS}}:not(::slotted([slot='label'])){gap:0}:host([label-position='before']){grid-template-areas:'label input' 'label message'}:host([label-position='after']){gap:0;grid-template-areas:'input label' 'message message';grid-template-columns:auto 1fr}:host([label-position='after']) ::slotted([slot='input']){margin-inline-end:${spacingHorizontalM}}:host([label-position='above']){grid-template-areas:'label' 'input' 'message';row-gap:${spacingVerticalXXS}}:host([label-position='below']){grid-template-areas:'input' 'label' 'message';justify-items:center}:host([label-position='below']) ::slotted([slot='label']){margin-block-start:${spacingVerticalM}}:host([label-position='below']:not(${hasMessageState})){grid-template-areas:'input' 'label'}::slotted([slot='label'])::after{content:'';display:block;position:absolute;inset:0}::slotted([slot='input']){grid-area:input;position:relative;z-index:1}::slotted([slot='message']){margin-block-start:${spacingVerticalXXS};grid-area:message}:host(${focusVisibleState}:focus-within){border-radius:${borderRadiusMedium};outline:${strokeWidthThick} solid ${colorStrokeFocus2}}::slotted(label),::slotted([slot='label']){cursor:inherit;display:inline-flex;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};grid-area:label;line-height:${lineHeightBase300};user-select:none}:host([size='small']) ::slotted(label){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']) ::slotted(label){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large']) ::slotted(label),:host([weight='semibold']) ::slotted(label){font-weight:${fontWeightSemibold}}:host(${disabledState}){cursor:default}::slotted([flag]){display:none}:host(${badInputState}) ::slotted([flag='${ValidationFlags.badInput}']),:host(${customErrorState}) ::slotted([flag='${ValidationFlags.customError}']),:host(${patternMismatchState}) ::slotted([flag='${ValidationFlags.patternMismatch}']),:host(${rangeOverflowState}) ::slotted([flag='${ValidationFlags.rangeOverflow}']),:host(${rangeUnderflowState}) ::slotted([flag='${ValidationFlags.rangeUnderflow}']),:host(${stepMismatchState}) ::slotted([flag='${ValidationFlags.stepMismatch}']),:host(${tooLongState}) ::slotted([flag='${ValidationFlags.tooLong}']),:host(${tooShortState}) ::slotted([flag='${ValidationFlags.tooShort}']),:host(${typeMismatchState}) ::slotted([flag='${ValidationFlags.typeMismatch}']),:host(${valueMissingState}) ::slotted([flag='${ValidationFlags.valueMissing}']),:host(${validState}) ::slotted([flag='${ValidationFlags.valid}']){display:block}`;
6770
6778
 
6771
- const template$l = html`<template @click="${(x, c) => x.clickHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" ${children({
6779
+ const template$m = html`<template @click="${(x, c) => x.clickHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" ${children({
6772
6780
  property: "slottedInputs",
6773
6781
  attributes: true,
6774
6782
  attributeFilter: ["disabled", "required", "readonly"],
@@ -6780,23 +6788,23 @@ const template$l = html`<template @click="${(x, c) => x.clickHandler(c.event)}"
6780
6788
  filter: elements("[flag]")
6781
6789
  })}></slot></template>`;
6782
6790
 
6783
- const definition$l = Field.compose({
6791
+ const definition$m = Field.compose({
6784
6792
  name: `${FluentDesignSystem.prefix}-field`,
6785
- template: template$l,
6786
- styles: styles$k,
6793
+ template: template$m,
6794
+ styles: styles$l,
6787
6795
  shadowOptions: {
6788
6796
  delegatesFocus: true
6789
6797
  }
6790
6798
  });
6791
6799
 
6792
- definition$l.define(FluentDesignSystem.registry);
6800
+ definition$m.define(FluentDesignSystem.registry);
6793
6801
 
6794
- var __defProp$g = Object.defineProperty;
6795
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
6796
- var __decorateClass$g = (decorators, target, key, kind) => {
6797
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
6802
+ var __defProp$h = Object.defineProperty;
6803
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
6804
+ var __decorateClass$h = (decorators, target, key, kind) => {
6805
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
6798
6806
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6799
- if (kind && result) __defProp$g(target, key, result);
6807
+ if (kind && result) __defProp$h(target, key, result);
6800
6808
  return result;
6801
6809
  };
6802
6810
  class Image extends FASTElement {
@@ -6861,37 +6869,37 @@ class Image extends FASTElement {
6861
6869
  }
6862
6870
  }
6863
6871
  }
6864
- __decorateClass$g([attr({
6872
+ __decorateClass$h([attr({
6865
6873
  mode: "boolean"
6866
6874
  })], Image.prototype, "block", 2);
6867
- __decorateClass$g([attr({
6875
+ __decorateClass$h([attr({
6868
6876
  mode: "boolean"
6869
6877
  })], Image.prototype, "bordered", 2);
6870
- __decorateClass$g([attr({
6878
+ __decorateClass$h([attr({
6871
6879
  mode: "boolean"
6872
6880
  })], Image.prototype, "shadow", 2);
6873
- __decorateClass$g([attr], Image.prototype, "fit", 2);
6874
- __decorateClass$g([attr], Image.prototype, "shape", 2);
6881
+ __decorateClass$h([attr], Image.prototype, "fit", 2);
6882
+ __decorateClass$h([attr], Image.prototype, "shape", 2);
6875
6883
 
6876
- const template$k = html`<slot></slot>`;
6884
+ const template$l = html`<slot></slot>`;
6877
6885
 
6878
- const styles$j = css`
6886
+ const styles$k = css`
6879
6887
  :host{contain:content}:host ::slotted(img){box-sizing:border-box;min-height:8px;min-width:8px;display:inline-block}:host(:is([state--block],:state(block))) ::slotted(img){width:100%;height:auto}:host(:is([state--bordered],:state(bordered))) ::slotted(img){border:${strokeWidthThin} solid ${colorNeutralStroke2}}:host(:is([state--fit-none],:state(fit-none))) ::slotted(img){object-fit:none;object-position:top left;height:100%;width:100%}:host(:is([state--fit-center],:state(fit-center))) ::slotted(img){object-fit:none;object-position:center;height:100%;width:100%}:host(:is([state--fit-contain],:state(fit-contain))) ::slotted(img){object-fit:contain;object-position:center;height:100%;width:100%}:host(:is([state--fit-cover],:state(fit-cover))) ::slotted(img){object-fit:cover;object-position:center;height:100%;width:100%}:host(:is([state--shadowed],:state(shadowed))) ::slotted(img){box-shadow:${shadow4}}:host(${circularState}) ::slotted(img){border-radius:${borderRadiusCircular}}:host(${roundedState}) ::slotted(img){border-radius:${borderRadiusMedium}}`;
6880
6888
 
6881
- const definition$k = Image.compose({
6889
+ const definition$l = Image.compose({
6882
6890
  name: `${FluentDesignSystem.prefix}-image`,
6883
- template: template$k,
6884
- styles: styles$j
6891
+ template: template$l,
6892
+ styles: styles$k
6885
6893
  });
6886
6894
 
6887
- definition$k.define(FluentDesignSystem.registry);
6895
+ definition$l.define(FluentDesignSystem.registry);
6888
6896
 
6889
- var __defProp$f = Object.defineProperty;
6890
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
6891
- var __decorateClass$f = (decorators, target, key, kind) => {
6892
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
6897
+ var __defProp$g = Object.defineProperty;
6898
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
6899
+ var __decorateClass$g = (decorators, target, key, kind) => {
6900
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
6893
6901
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6894
- if (kind && result) __defProp$f(target, key, result);
6902
+ if (kind && result) __defProp$g(target, key, result);
6895
6903
  return result;
6896
6904
  };
6897
6905
  class Label extends FASTElement {
@@ -6941,16 +6949,16 @@ class Label extends FASTElement {
6941
6949
  toggleState(this.elementInternals, "disabled", next);
6942
6950
  }
6943
6951
  }
6944
- __decorateClass$f([attr], Label.prototype, "size", 2);
6945
- __decorateClass$f([attr], Label.prototype, "weight", 2);
6946
- __decorateClass$f([attr({
6952
+ __decorateClass$g([attr], Label.prototype, "size", 2);
6953
+ __decorateClass$g([attr], Label.prototype, "weight", 2);
6954
+ __decorateClass$g([attr({
6947
6955
  mode: "boolean"
6948
6956
  })], Label.prototype, "disabled", 2);
6949
- __decorateClass$f([attr({
6957
+ __decorateClass$g([attr({
6950
6958
  mode: "boolean"
6951
6959
  })], Label.prototype, "required", 2);
6952
6960
 
6953
- const styles$i = css`
6961
+ const styles$j = css`
6954
6962
  ${display("inline-flex")}
6955
6963
 
6956
6964
  :host{color:${colorNeutralForeground1};cursor:pointer;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};user-select:none}.asterisk{color:${colorPaletteRedForeground1};margin-inline-start:${spacingHorizontalXS}}:host(${smallState}){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host(${largeState}){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host(${largeState}),:host(:is([state--semibold],:state(semibold))){font-weight:${fontWeightSemibold}}:host(:is([state--disabled],:state(disabled))),:host(:is([state--disabled],:state(disabled))) .asterisk{color:${colorNeutralForegroundDisabled}}`;
@@ -6958,22 +6966,22 @@ const styles$i = css`
6958
6966
  function labelTemplate() {
6959
6967
  return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
6960
6968
  }
6961
- const template$j = labelTemplate();
6969
+ const template$k = labelTemplate();
6962
6970
 
6963
- const definition$j = Label.compose({
6971
+ const definition$k = Label.compose({
6964
6972
  name: `${FluentDesignSystem.prefix}-label`,
6965
- template: template$j,
6966
- styles: styles$i
6973
+ template: template$k,
6974
+ styles: styles$j
6967
6975
  });
6968
6976
 
6969
- definition$j.define(FluentDesignSystem.registry);
6977
+ definition$k.define(FluentDesignSystem.registry);
6970
6978
 
6971
- var __defProp$e = Object.defineProperty;
6972
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
6973
- var __decorateClass$e = (decorators, target, key, kind) => {
6974
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
6979
+ var __defProp$f = Object.defineProperty;
6980
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
6981
+ var __decorateClass$f = (decorators, target, key, kind) => {
6982
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
6975
6983
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6976
- if (kind && result) __defProp$e(target, key, result);
6984
+ if (kind && result) __defProp$f(target, key, result);
6977
6985
  return result;
6978
6986
  };
6979
6987
  class Link extends BaseAnchor {
@@ -7003,12 +7011,12 @@ class Link extends BaseAnchor {
7003
7011
  toggleState(this.elementInternals, "inline", next);
7004
7012
  }
7005
7013
  }
7006
- __decorateClass$e([attr], Link.prototype, "appearance", 2);
7007
- __decorateClass$e([attr({
7014
+ __decorateClass$f([attr], Link.prototype, "appearance", 2);
7015
+ __decorateClass$f([attr({
7008
7016
  mode: "boolean"
7009
7017
  })], Link.prototype, "inline", 2);
7010
7018
 
7011
- const styles$h = css`
7019
+ const styles$i = css`
7012
7020
  ${display("inline")}
7013
7021
 
7014
7022
  :host{position:relative;box-sizing:border-box;background-color:transparent;color:${colorBrandForegroundLink};cursor:pointer;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};margin:0;padding:0;overflow:inherit;text-align:left;text-decoration:none;text-decoration-thinkness:${strokeWidthThin};text-overflow:inherit;user-select:text}:host(:is(:hover,:focus-visible)){outline:none;text-decoration-line:underline}@media (hover:hover){:host(:hover){color:${colorBrandForegroundLinkHover}}:host(:active){color:${colorBrandForegroundLinkPressed}}:host(${subtleState}:hover){color:${colorNeutralForeground2LinkHover}}:host(${subtleState}:active){color:${colorNeutralForeground2LinkPressed}}}:host(${subtleState}){color:${colorNeutralForeground2Link}}:host-context(:is(h1,h2,h3,h4,h5,h6,p,fluent-text)),:host(:is([state--inline],:state(inline))){font:inherit;text-decoration:underline}:host(:not([href])){color:inherit;text-decoration:none}::slotted(a){position:absolute;inset:0}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -7017,19 +7025,19 @@ const styles$h = css`
7017
7025
  function anchorTemplate() {
7018
7026
  return html`<template tabindex="0" @click="${(x, c) => x.clickHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}"><slot></slot></template>`;
7019
7027
  }
7020
- const template$i = anchorTemplate();
7028
+ const template$j = anchorTemplate();
7021
7029
 
7022
- const definition$i = Link.compose({
7030
+ const definition$j = Link.compose({
7023
7031
  name: `${FluentDesignSystem.prefix}-link`,
7024
- template: template$i,
7025
- styles: styles$h
7032
+ template: template$j,
7033
+ styles: styles$i
7026
7034
  });
7027
7035
 
7028
- definition$i.define(FluentDesignSystem.registry);
7036
+ definition$j.define(FluentDesignSystem.registry);
7029
7037
 
7030
7038
  class MenuButton extends Button {}
7031
7039
 
7032
- const template$h = buttonTemplate$1({
7040
+ const template$i = buttonTemplate$1({
7033
7041
  end: html.partial( /* html */
7034
7042
  `
7035
7043
  <svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
@@ -7038,13 +7046,13 @@ const template$h = buttonTemplate$1({
7038
7046
  `)
7039
7047
  });
7040
7048
 
7041
- const definition$h = MenuButton.compose({
7049
+ const definition$i = MenuButton.compose({
7042
7050
  name: `${FluentDesignSystem.prefix}-menu-button`,
7043
- template: template$h,
7044
- styles: styles$w
7051
+ template: template$i,
7052
+ styles: styles$x
7045
7053
  });
7046
7054
 
7047
- definition$h.define(FluentDesignSystem.registry);
7055
+ definition$i.define(FluentDesignSystem.registry);
7048
7056
 
7049
7057
  const MenuItemRole = {
7050
7058
  /**
@@ -7066,12 +7074,12 @@ const MenuItemRole = {
7066
7074
  [MenuItemRole.menuitemradio]: "menuitemradio"
7067
7075
  });
7068
7076
 
7069
- var __defProp$d = Object.defineProperty;
7070
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
7071
- var __decorateClass$d = (decorators, target, key, kind) => {
7072
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
7077
+ var __defProp$e = Object.defineProperty;
7078
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
7079
+ var __decorateClass$e = (decorators, target, key, kind) => {
7080
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
7073
7081
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7074
- if (kind && result) __defProp$d(target, key, result);
7082
+ if (kind && result) __defProp$e(target, key, result);
7075
7083
  return result;
7076
7084
  };
7077
7085
  const menuFilter = () => value => value.nodeType === 1 && value.elementInternals.role === "menu";
@@ -7259,22 +7267,22 @@ class MenuItem extends FASTElement {
7259
7267
  this.elementInternals.ariaChecked = this.role !== MenuItemRole.menuitem ? `${!!this.checked}` : null;
7260
7268
  }
7261
7269
  }
7262
- __decorateClass$d([attr({
7270
+ __decorateClass$e([attr({
7263
7271
  mode: "boolean"
7264
7272
  })], MenuItem.prototype, "disabled", 2);
7265
- __decorateClass$d([attr], MenuItem.prototype, "role", 2);
7266
- __decorateClass$d([attr({
7273
+ __decorateClass$e([attr], MenuItem.prototype, "role", 2);
7274
+ __decorateClass$e([attr({
7267
7275
  mode: "boolean"
7268
7276
  })], MenuItem.prototype, "checked", 2);
7269
- __decorateClass$d([attr({
7277
+ __decorateClass$e([attr({
7270
7278
  mode: "boolean"
7271
7279
  })], MenuItem.prototype, "hidden", 2);
7272
- __decorateClass$d([observable], MenuItem.prototype, "slottedSubmenu", 2);
7273
- __decorateClass$d([observable], MenuItem.prototype, "submenu", 2);
7280
+ __decorateClass$e([observable], MenuItem.prototype, "slottedSubmenu", 2);
7281
+ __decorateClass$e([observable], MenuItem.prototype, "submenu", 2);
7274
7282
  applyMixins(MenuItem, StartEnd);
7275
7283
 
7276
7284
  const submenuState = css.partial`:is([state--submenu], :state(submenu))`;
7277
- const styles$g = css`
7285
+ const styles$h = css`
7278
7286
  ${display("grid")}
7279
7287
 
7280
7288
  :host{--indent:0;align-items:center;background:${colorNeutralBackground1};border-radius:${borderRadiusMedium};color:${colorNeutralForeground2};contain:layout;cursor:pointer;flex-shrink:0;font:${fontWeightRegular} ${fontSizeBase300} / ${lineHeightBase300} ${fontFamilyBase};grid-gap:4px;grid-template-columns:20px 20px auto 20px;height:32px;overflow:visible;padding:0 10px}:host(:hover){background:${colorNeutralBackground1Hover};color:${colorNeutralForeground2Hover}}:host(:active){background-color:${colorNeutralBackground1Selected};color:${colorNeutralForeground2Pressed}}:host(:active) ::slotted([slot='start']){color:${colorCompoundBrandForeground1Pressed}}:host(${disabledState}){background-color:${colorNeutralBackgroundDisabled};color:${colorNeutralForegroundDisabled}}:host(${disabledState}) ::slotted([slot='start']),:host(${disabledState}) ::slotted([slot='end']){color:${colorNeutralForegroundDisabled}}:host(:focus-visible){border-radius:${borderRadiusMedium};outline:2px solid ${colorStrokeFocus2}}.content{white-space:nowrap;flex-grow:1;grid-column:auto / span 2;padding:0 2px}:host(:not(${checkedState})) .indicator,:host(:not(${checkedState})) ::slotted([slot='indicator']),:host(:not(${submenuState})) .submenu-glyph,:host(:not(${submenuState})) ::slotted([slot='submenu-glyph']){display:none}::slotted([slot='end']){color:${colorNeutralForeground3};font:${fontWeightRegular} ${fontSizeBase200} / ${lineHeightBase200} ${fontFamilyBase};white-space:nowrap}:host([data-indent='1']){--indent:1}:host([data-indent='2']){--indent:2;grid-template-columns:20px 20px auto auto}:host(${submenuState}){grid-template-columns:20px auto auto 20px}:host([data-indent='2']${submenuState}){grid-template-columns:20px 20px auto auto 20px}.indicator,::slotted([slot='indicator']){grid-column:1 / span 1;width:20px}::slotted([slot='start']){display:inline-flex;grid-column:calc(var(--indent)) / span 1}.content{grid-column:calc(var(--indent) + 1) / span 1}::slotted([slot='end']){grid-column:calc(var(--indent) + 2) / span 1;justify-self:end}.submenu-glyph,::slotted([slot='submenu-glyph']){grid-column:-2 / span 1;justify-self:end}@layer popover{:host{anchor-name:--menu-trigger;position:relative}::slotted([popover]){inset-area:inline-end span-block-end;margin:0;max-height:var(--menu-max-height,auto);position:absolute;position-anchor:--menu-trigger;position-try-options:flip-inline,inset-area(block-start);z-index:1}::slotted([popover]:not(:popover-open)){display:none}::slotted([popover]:popover-open){inset:unset}@supports not (anchor-name:--menu-trigger){::slotted([popover]){align-self:start}}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -7288,25 +7296,25 @@ function menuItemTemplate(options = {}) {
7288
7296
  filter: menuFilter()
7289
7297
  })}></slot></template>`;
7290
7298
  }
7291
- const template$g = menuItemTemplate({
7299
+ const template$h = menuItemTemplate({
7292
7300
  indicator: Checkmark16Filled,
7293
7301
  submenuGlyph: chevronRight16Filled
7294
7302
  });
7295
7303
 
7296
- const definition$g = MenuItem.compose({
7304
+ const definition$h = MenuItem.compose({
7297
7305
  name: `${FluentDesignSystem.prefix}-menu-item`,
7298
- template: template$g,
7299
- styles: styles$g
7306
+ template: template$h,
7307
+ styles: styles$h
7300
7308
  });
7301
7309
 
7302
- definition$g.define(FluentDesignSystem.registry);
7310
+ definition$h.define(FluentDesignSystem.registry);
7303
7311
 
7304
- var __defProp$c = Object.defineProperty;
7305
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
7306
- var __decorateClass$c = (decorators, target, key, kind) => {
7307
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
7312
+ var __defProp$d = Object.defineProperty;
7313
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
7314
+ var __decorateClass$d = (decorators, target, key, kind) => {
7315
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
7308
7316
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7309
- if (kind && result) __defProp$c(target, key, result);
7317
+ if (kind && result) __defProp$d(target, key, result);
7310
7318
  return result;
7311
7319
  };
7312
7320
  const _MenuList = class _MenuList extends FASTElement {
@@ -7522,10 +7530,10 @@ const _MenuList = class _MenuList extends FASTElement {
7522
7530
  }
7523
7531
  };
7524
7532
  _MenuList.focusableElementRoles = MenuItemRole;
7525
- __decorateClass$c([observable], _MenuList.prototype, "items", 2);
7533
+ __decorateClass$d([observable], _MenuList.prototype, "items", 2);
7526
7534
  let MenuList = _MenuList;
7527
7535
 
7528
- const styles$f = css`
7536
+ const styles$g = css`
7529
7537
  ${display("flex")}
7530
7538
 
7531
7539
  :host{flex-direction:column;height:fit-content;max-width:300px;min-width:160px;width:auto;background-color:${colorNeutralBackground1};border:1px solid ${colorTransparentStroke};border-radius:${borderRadiusMedium};box-shadow:${shadow16};padding:4px;row-gap:2px}`;
@@ -7533,22 +7541,22 @@ const styles$f = css`
7533
7541
  function menuTemplate$1() {
7534
7542
  return html`<template slot="${x => x.slot ? x.slot : x.isNestedMenu() ? "submenu" : void 0}" @keydown="${(x, c) => x.handleMenuKeyDown(c.event)}" @focusout="${(x, c) => x.handleFocusOut(c.event)}"><slot ${slotted("items")}></slot></template>`;
7535
7543
  }
7536
- const template$f = menuTemplate$1();
7544
+ const template$g = menuTemplate$1();
7537
7545
 
7538
- const definition$f = MenuList.compose({
7546
+ const definition$g = MenuList.compose({
7539
7547
  name: `${FluentDesignSystem.prefix}-menu-list`,
7540
- template: template$f,
7541
- styles: styles$f
7548
+ template: template$g,
7549
+ styles: styles$g
7542
7550
  });
7543
7551
 
7544
- definition$f.define(FluentDesignSystem.registry);
7552
+ definition$g.define(FluentDesignSystem.registry);
7545
7553
 
7546
- var __defProp$b = Object.defineProperty;
7547
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
7548
- var __decorateClass$b = (decorators, target, key, kind) => {
7549
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
7554
+ var __defProp$c = Object.defineProperty;
7555
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
7556
+ var __decorateClass$c = (decorators, target, key, kind) => {
7557
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
7550
7558
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7551
- if (kind && result) __defProp$b(target, key, result);
7559
+ if (kind && result) __defProp$c(target, key, result);
7552
7560
  return result;
7553
7561
  };
7554
7562
  class Menu extends FASTElement {
@@ -7832,26 +7840,26 @@ class Menu extends FASTElement {
7832
7840
  }
7833
7841
  }
7834
7842
  }
7835
- __decorateClass$b([attr({
7843
+ __decorateClass$c([attr({
7836
7844
  attribute: "open-on-hover",
7837
7845
  mode: "boolean"
7838
7846
  })], Menu.prototype, "openOnHover", 2);
7839
- __decorateClass$b([attr({
7847
+ __decorateClass$c([attr({
7840
7848
  attribute: "open-on-context",
7841
7849
  mode: "boolean"
7842
7850
  })], Menu.prototype, "openOnContext", 2);
7843
- __decorateClass$b([attr({
7851
+ __decorateClass$c([attr({
7844
7852
  attribute: "close-on-scroll",
7845
7853
  mode: "boolean"
7846
7854
  })], Menu.prototype, "closeOnScroll", 2);
7847
- __decorateClass$b([attr({
7855
+ __decorateClass$c([attr({
7848
7856
  attribute: "persist-on-item-click",
7849
7857
  mode: "boolean"
7850
7858
  })], Menu.prototype, "persistOnItemClick", 2);
7851
- __decorateClass$b([observable], Menu.prototype, "slottedMenuList", 2);
7852
- __decorateClass$b([observable], Menu.prototype, "slottedTriggers", 2);
7859
+ __decorateClass$c([observable], Menu.prototype, "slottedMenuList", 2);
7860
+ __decorateClass$c([observable], Menu.prototype, "slottedTriggers", 2);
7853
7861
 
7854
- const styles$e = css`
7862
+ const styles$f = css`
7855
7863
  ${display("inline-block")}
7856
7864
 
7857
7865
  ::slotted([slot='trigger']){anchor-name:--menu-trigger}::slotted([popover]){inset-area:block-end span-inline-end;margin:0;max-height:var(--menu-max-height,auto);position-anchor:--menu-trigger;position-try-options:flip-block;position:absolute;z-index:1}::slotted([popover]:popover-open){inset:unset}::slotted([popover]:not(:popover-open)){display:none}`;
@@ -7865,22 +7873,22 @@ function menuTemplate() {
7865
7873
  filter: elements()
7866
7874
  })}></slot></template>`;
7867
7875
  }
7868
- const template$e = menuTemplate();
7876
+ const template$f = menuTemplate();
7869
7877
 
7870
- const definition$e = Menu.compose({
7878
+ const definition$f = Menu.compose({
7871
7879
  name: `${FluentDesignSystem.prefix}-menu`,
7872
- template: template$e,
7873
- styles: styles$e
7880
+ template: template$f,
7881
+ styles: styles$f
7874
7882
  });
7875
7883
 
7876
- definition$e.define(FluentDesignSystem.registry);
7884
+ definition$f.define(FluentDesignSystem.registry);
7877
7885
 
7878
- var __defProp$a = Object.defineProperty;
7879
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
7880
- var __decorateClass$a = (decorators, target, key, kind) => {
7881
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
7886
+ var __defProp$b = Object.defineProperty;
7887
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
7888
+ var __decorateClass$b = (decorators, target, key, kind) => {
7889
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
7882
7890
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7883
- if (kind && result) __defProp$a(target, key, result);
7891
+ if (kind && result) __defProp$b(target, key, result);
7884
7892
  return result;
7885
7893
  };
7886
7894
  class MessageBar extends FASTElement {
@@ -7941,36 +7949,36 @@ class MessageBar extends FASTElement {
7941
7949
  }
7942
7950
  }
7943
7951
  }
7944
- __decorateClass$a([attr], MessageBar.prototype, "shape", 2);
7945
- __decorateClass$a([attr], MessageBar.prototype, "layout", 2);
7946
- __decorateClass$a([attr], MessageBar.prototype, "intent", 2);
7952
+ __decorateClass$b([attr], MessageBar.prototype, "shape", 2);
7953
+ __decorateClass$b([attr], MessageBar.prototype, "layout", 2);
7954
+ __decorateClass$b([attr], MessageBar.prototype, "intent", 2);
7947
7955
 
7948
- const styles$d = css`
7956
+ const styles$e = css`
7949
7957
  :host{display:grid;box-sizing:border-box;font-family:${fontFamilyBase};font-size:${fontSizeBase200};line-height:${lineHeightBase200};width:100%;background:${colorNeutralBackground3};border:1px solid ${colorNeutralStroke1};padding-inline:${spacingHorizontalM};border-radius:${borderRadiusMedium};min-height:36px;align-items:center;grid-template:'icon body actions dismiss' / auto 1fr auto auto;contain:layout style paint}:host(${squareState}){border-radius:0}:host(${successState}){background-color:${colorPaletteGreenBackground1};border-color:${colorPaletteGreenBorder1}}:host(${warningState}){background-color:${colorPaletteDarkOrangeBackground1};border-color:${colorPaletteDarkOrangeBorder1}}:host(${errorState}){background-color:${colorPaletteRedBackground1};border-color:${colorPaletteRedBorder1}}:host(${multiLineState}){grid-template-areas:'icon body dismiss'
7950
7958
  'actions actions actions';grid-template-columns:auto 1fr auto;grid-template-rows:auto auto 1fr;padding-block:${spacingVerticalMNudge};padding-inline:${spacingHorizontalM}}.content{grid-area:body;max-width:520px;padding-block:${spacingVerticalMNudge};padding-inline:0}:host(${multiLineState}) .content{padding:0}::slotted([slot='icon']){display:flex;grid-area:icon;flex-direction:column;align-items:center;color:${colorNeutralForeground3};margin-inline-end:${spacingHorizontalS}}:host(${multiLineState}) ::slotted([slot='icon']){align-items:start;height:100%}::slotted([slot='dismiss']){grid-area:dismiss}.actions{grid-area:actions;display:flex;justify-self:end;margin-inline-end:${spacingHorizontalS};gap:${spacingHorizontalS}}:host(${multiLineState}) .actions{margin-block-start:${spacingVerticalMNudge};margin-inline-end:0}:host(${multiLineState}) ::slotted([slot='dismiss']){align-items:start;height:100%;padding-block-start:${spacingVerticalS}}::slotted(*){font-size:inherit}`;
7951
7959
 
7952
7960
  function messageBarTemplate() {
7953
7961
  return html`<slot name="icon"></slot><div class="content"><slot></slot></div><div class="actions"><slot name="actions"></slot></div><slot name="dismiss"></slot>`;
7954
7962
  }
7955
- const template$d = messageBarTemplate();
7963
+ const template$e = messageBarTemplate();
7956
7964
 
7957
- const definition$d = MessageBar.compose({
7965
+ const definition$e = MessageBar.compose({
7958
7966
  name: `${FluentDesignSystem.prefix}-message-bar`,
7959
- template: template$d,
7960
- styles: styles$d,
7967
+ template: template$e,
7968
+ styles: styles$e,
7961
7969
  shadowOptions: {
7962
7970
  mode: FluentDesignSystem.shadowRootMode
7963
7971
  }
7964
7972
  });
7965
7973
 
7966
- definition$d.define(FluentDesignSystem.registry);
7974
+ definition$e.define(FluentDesignSystem.registry);
7967
7975
 
7968
- var __defProp$9 = Object.defineProperty;
7969
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
7970
- var __decorateClass$9 = (decorators, target, key, kind) => {
7971
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
7976
+ var __defProp$a = Object.defineProperty;
7977
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
7978
+ var __decorateClass$a = (decorators, target, key, kind) => {
7979
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
7972
7980
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7973
- if (kind && result) __defProp$9(target, key, result);
7981
+ if (kind && result) __defProp$a(target, key, result);
7974
7982
  return result;
7975
7983
  };
7976
7984
  class BaseProgressBar extends FASTElement {
@@ -8033,19 +8041,19 @@ class BaseProgressBar extends FASTElement {
8033
8041
  return range === 0 ? 0 : Math.fround((value - min) / range * 100);
8034
8042
  }
8035
8043
  }
8036
- __decorateClass$9([attr({
8044
+ __decorateClass$a([attr({
8037
8045
  attribute: "validation-state"
8038
8046
  })], BaseProgressBar.prototype, "validationState", 2);
8039
- __decorateClass$9([attr({
8047
+ __decorateClass$a([attr({
8040
8048
  converter: nullableNumberConverter
8041
8049
  })], BaseProgressBar.prototype, "value", 2);
8042
- __decorateClass$9([attr({
8050
+ __decorateClass$a([attr({
8043
8051
  converter: nullableNumberConverter
8044
8052
  })], BaseProgressBar.prototype, "min", 2);
8045
- __decorateClass$9([attr({
8053
+ __decorateClass$a([attr({
8046
8054
  converter: nullableNumberConverter
8047
8055
  })], BaseProgressBar.prototype, "max", 2);
8048
- __decorateClass$9([volatile], BaseProgressBar.prototype, "percentComplete", 1);
8056
+ __decorateClass$a([volatile], BaseProgressBar.prototype, "percentComplete", 1);
8049
8057
  class ProgressBar extends BaseProgressBar {
8050
8058
  /**
8051
8059
  * Handles changes to thickness attribute custom states
@@ -8074,10 +8082,10 @@ class ProgressBar extends BaseProgressBar {
8074
8082
  }
8075
8083
  }
8076
8084
  }
8077
- __decorateClass$9([attr], ProgressBar.prototype, "thickness", 2);
8078
- __decorateClass$9([attr], ProgressBar.prototype, "shape", 2);
8085
+ __decorateClass$a([attr], ProgressBar.prototype, "thickness", 2);
8086
+ __decorateClass$a([attr], ProgressBar.prototype, "shape", 2);
8079
8087
 
8080
- const styles$c = css`
8088
+ const styles$d = css`
8081
8089
  ${display("block")}
8082
8090
 
8083
8091
  :host{width:100%;height:2px;overflow-x:hidden;background-color:${colorNeutralBackground6};border-radius:${borderRadiusMedium};contain:content}:host(${largeState}){height:4px}:host(${squareState}){border-radius:${borderRadiusNone}}.indicator{background-color:${colorCompoundBrandBackground};border-radius:inherit;height:100%}:host([value]) .indicator{transition:all 0.2s ease-in-out}:host(:not([value])) .indicator{position:relative;width:33%;background-image:linear-gradient(
@@ -8088,15 +8096,15 @@ const styles$c = css`
8088
8096
  function progressTemplate() {
8089
8097
  return html`<div class="indicator" part="indicator" style="${x => typeof x.value === "number" ? `width: ${x.percentComplete}%` : void 0}"></div>`;
8090
8098
  }
8091
- const template$c = progressTemplate();
8099
+ const template$d = progressTemplate();
8092
8100
 
8093
- const definition$c = ProgressBar.compose({
8101
+ const definition$d = ProgressBar.compose({
8094
8102
  name: `${FluentDesignSystem.prefix}-progress-bar`,
8095
- template: template$c,
8096
- styles: styles$c
8103
+ template: template$d,
8104
+ styles: styles$d
8097
8105
  });
8098
8106
 
8099
- definition$c.define(FluentDesignSystem.registry);
8107
+ definition$d.define(FluentDesignSystem.registry);
8100
8108
 
8101
8109
  class Radio extends BaseCheckbox {
8102
8110
  connectedCallback() {
@@ -8182,12 +8190,12 @@ function getRootActiveElement(element) {
8182
8190
 
8183
8191
  const RadioGroupOrientation = Orientation;
8184
8192
 
8185
- var __defProp$8 = Object.defineProperty;
8186
- var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
8187
- var __decorateClass$8 = (decorators, target, key, kind) => {
8188
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
8193
+ var __defProp$9 = Object.defineProperty;
8194
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
8195
+ var __decorateClass$9 = (decorators, target, key, kind) => {
8196
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
8189
8197
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8190
- if (kind && result) __defProp$8(target, key, result);
8198
+ if (kind && result) __defProp$9(target, key, result);
8191
8199
  return result;
8192
8200
  };
8193
8201
  class RadioGroup extends FASTElement {
@@ -8610,23 +8618,23 @@ class RadioGroup extends FASTElement {
8610
8618
  * @public
8611
8619
  */
8612
8620
  RadioGroup.formAssociated = true;
8613
- __decorateClass$8([observable], RadioGroup.prototype, "checkedIndex", 2);
8614
- __decorateClass$8([attr({
8621
+ __decorateClass$9([observable], RadioGroup.prototype, "checkedIndex", 2);
8622
+ __decorateClass$9([attr({
8615
8623
  attribute: "disabled",
8616
8624
  mode: "boolean"
8617
8625
  })], RadioGroup.prototype, "disabled", 2);
8618
- __decorateClass$8([attr({
8626
+ __decorateClass$9([attr({
8619
8627
  attribute: "value",
8620
8628
  mode: "fromView"
8621
8629
  })], RadioGroup.prototype, "initialValue", 2);
8622
- __decorateClass$8([attr], RadioGroup.prototype, "name", 2);
8623
- __decorateClass$8([attr], RadioGroup.prototype, "orientation", 2);
8624
- __decorateClass$8([observable], RadioGroup.prototype, "radios", 2);
8625
- __decorateClass$8([attr({
8630
+ __decorateClass$9([attr], RadioGroup.prototype, "name", 2);
8631
+ __decorateClass$9([attr], RadioGroup.prototype, "orientation", 2);
8632
+ __decorateClass$9([observable], RadioGroup.prototype, "radios", 2);
8633
+ __decorateClass$9([attr({
8626
8634
  mode: "boolean"
8627
8635
  })], RadioGroup.prototype, "required", 2);
8628
8636
 
8629
- const styles$b = css`
8637
+ const styles$c = css`
8630
8638
  ${display("flex")}
8631
8639
 
8632
8640
  :host{-webkit-tap-highlight-color:transparent;cursor:pointer;gap:${spacingVerticalL}}:host(${disabledState}),:host([orientation='vertical']){flex-direction:column;justify-content:flex-start}:host([orientation='horizontal']){flex-direction:row}::slotted(*){color:${colorNeutralForeground3}}::slotted(:hover){color:${colorNeutralForeground2}}::slotted(:active){color:${colorNeutralForeground1}}::slotted(${disabledState}){color:${colorNeutralForegroundDisabled}}::slotted(${checkedState}){color:${colorNeutralForeground1}}`;
@@ -8634,17 +8642,17 @@ const styles$b = css`
8634
8642
  function radioGroupTemplate() {
8635
8643
  return html`<template @disabled="${(x, c) => x.disabledRadioHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @click="${(x, c) => x.clickHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}"><slot @slotchange="${(x, c) => x.slotchangeHandler(c.event)}"></slot></template>`;
8636
8644
  }
8637
- const template$b = radioGroupTemplate();
8645
+ const template$c = radioGroupTemplate();
8638
8646
 
8639
- const definition$b = RadioGroup.compose({
8647
+ const definition$c = RadioGroup.compose({
8640
8648
  name: `${FluentDesignSystem.prefix}-radio-group`,
8641
- template: template$b,
8642
- styles: styles$b
8649
+ template: template$c,
8650
+ styles: styles$c
8643
8651
  });
8644
8652
 
8645
- definition$b.define(FluentDesignSystem.registry);
8653
+ definition$c.define(FluentDesignSystem.registry);
8646
8654
 
8647
- const styles$a = css`
8655
+ const styles$b = css`
8648
8656
  ${display("inline-flex")}
8649
8657
 
8650
8658
  :host{--size:16px;aspect-ratio:1;background-color:${colorNeutralBackground1};border:${strokeWidthThin} solid ${colorNeutralStrokeAccessible};border-radius:${borderRadiusCircular};box-sizing:border-box;position:relative;width:var(--size)}:host([size='large']){--size:20px}.checked-indicator{aspect-ratio:1;border-radius:${borderRadiusCircular};color:${colorNeutralForegroundInverted};inset:0;margin:auto;position:absolute;width:calc(var(--size) * 0.625)}:host(:not([slot='input']))::after{content:'' / '';position:absolute;display:block;inset:-8px;box-sizing:border-box;outline:none;border:${strokeWidthThick} solid ${colorTransparentStroke};border-radius:${borderRadiusMedium}}:host(:not([slot='input']):focus-visible)::after{border-color:${colorStrokeFocus2}}:host(:hover){border-color:${colorNeutralStrokeAccessibleHover}}:host(${checkedState}){border-color:${colorCompoundBrandStroke}}:host(${checkedState}) .checked-indicator{background-color:${colorCompoundBrandBackground}}:host(${checkedState}:hover) .checked-indicator{background-color:${colorCompoundBrandBackgroundHover}}:host(:active){border-color:${colorNeutralStrokeAccessiblePressed}}:host(${checkedState}:active) .checked-indicator{background-color:${colorCompoundBrandBackgroundPressed}}:host(:focus-visible){outline:none}:host(${disabledState}){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}:host(${checkedState}${disabledState}) .checked-indicator{background-color:${colorNeutralStrokeDisabled}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -8657,27 +8665,27 @@ const checkedIndicator = html.partial( /* html */
8657
8665
  function radioTemplate(options = {}) {
8658
8666
  return html`<template @click="${(x, c) => x.clickHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @keyup="${(x, c) => x.keyupHandler(c.event)}"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot></template>`;
8659
8667
  }
8660
- const template$a = radioTemplate({
8668
+ const template$b = radioTemplate({
8661
8669
  checkedIndicator
8662
8670
  });
8663
8671
 
8664
- const definition$a = Radio.compose({
8672
+ const definition$b = Radio.compose({
8665
8673
  name: `${FluentDesignSystem.prefix}-radio`,
8666
- template: template$a,
8667
- styles: styles$a
8674
+ template: template$b,
8675
+ styles: styles$b
8668
8676
  });
8669
8677
 
8670
- definition$a.define(FluentDesignSystem.registry);
8678
+ definition$b.define(FluentDesignSystem.registry);
8671
8679
 
8672
- var __defProp$7 = Object.defineProperty;
8673
- var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
8674
- var __decorateClass$7 = (decorators, target, key, kind) => {
8675
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
8680
+ var __defProp$8 = Object.defineProperty;
8681
+ var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
8682
+ var __decorateClass$8 = (decorators, target, key, kind) => {
8683
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
8676
8684
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8677
- if (kind && result) __defProp$7(target, key, result);
8685
+ if (kind && result) __defProp$8(target, key, result);
8678
8686
  return result;
8679
8687
  };
8680
- class RatingDisplay extends FASTElement {
8688
+ class BaseRatingDisplay extends FASTElement {
8681
8689
  constructor() {
8682
8690
  super();
8683
8691
  /**
@@ -8686,10 +8694,62 @@ class RatingDisplay extends FASTElement {
8686
8694
  * @internal
8687
8695
  */
8688
8696
  this.elementInternals = this.attachInternals();
8689
- this.compact = false;
8690
8697
  this.intlNumberFormatter = new Intl.NumberFormat();
8691
8698
  this.elementInternals.role = "img";
8692
8699
  }
8700
+ /**
8701
+ * Returns "count" as string, formatted according to the locale.
8702
+ *
8703
+ * @internal
8704
+ */
8705
+ get formattedCount() {
8706
+ return this.count ? this.intlNumberFormatter.format(this.count) : "";
8707
+ }
8708
+ /**
8709
+ * Gets the selected value
8710
+ *
8711
+ * @protected
8712
+ */
8713
+ getSelectedValue() {
8714
+ return Math.round((this.value ?? 0) * 2) / 2;
8715
+ }
8716
+ /**
8717
+ * Gets the maximum icons to render
8718
+ *
8719
+ * @protected
8720
+ */
8721
+ getMaxIcons() {
8722
+ return (this.max ?? 5) * 2;
8723
+ }
8724
+ /**
8725
+ * Generates the icon SVG elements based on the "max" attribute.
8726
+ *
8727
+ * @internal
8728
+ */
8729
+ generateIcons() {
8730
+ let htmlString = "";
8731
+ const selectedValue = this.getSelectedValue();
8732
+ for (let i = 0; i < this.getMaxIcons(); i++) {
8733
+ const iconValue = (i + 1) / 2;
8734
+ htmlString += `<svg aria-hidden="true" ${iconValue === selectedValue ? "selected" : ""}><use href="#star"></use></svg>`;
8735
+ }
8736
+ return htmlString;
8737
+ }
8738
+ }
8739
+ __decorateClass$8([attr({
8740
+ converter: nullableNumberConverter
8741
+ })], BaseRatingDisplay.prototype, "count", 2);
8742
+ __decorateClass$8([attr({
8743
+ converter: nullableNumberConverter
8744
+ })], BaseRatingDisplay.prototype, "max", 2);
8745
+ __decorateClass$8([attr({
8746
+ converter: nullableNumberConverter
8747
+ })], BaseRatingDisplay.prototype, "value", 2);
8748
+ class RatingDisplay extends BaseRatingDisplay {
8749
+ constructor() {
8750
+ super(...arguments);
8751
+ this.compact = false;
8752
+ }
8693
8753
  /**
8694
8754
  * Handles changes to the color attribute.
8695
8755
  *
@@ -8711,44 +8771,29 @@ class RatingDisplay extends FASTElement {
8711
8771
  if (next) toggleState(this.elementInternals, next, true);
8712
8772
  }
8713
8773
  /**
8714
- * Returns "count" as string, formatted according to the locale.
8774
+ * Overrides the selected value and returns 1 if compact is true.
8715
8775
  *
8716
- * @internal
8776
+ * @override
8717
8777
  */
8718
- get formattedCount() {
8719
- return this.count ? this.intlNumberFormatter.format(this.count) : "";
8778
+ getSelectedValue() {
8779
+ return Math.round((this.compact ? 1 : this.value ?? 0) * 2) / 2;
8720
8780
  }
8721
8781
  /**
8722
- * Generates the icon SVG elements based on the "max" attribute.
8782
+ * Overrides the maximum icons and returns a max of 1 if compact is true.
8723
8783
  *
8724
- * @internal
8784
+ * @override
8725
8785
  */
8726
- generateIcons() {
8727
- let htmlString = "";
8728
- const selectedValue = Math.round((this.compact ? 1 : this.value ?? 0) * 2) / 2;
8729
- for (let i = 0; i < (this.compact ? 1 : this.max ?? 5) * 2; i++) {
8730
- const iconValue = (i + 1) / 2;
8731
- htmlString += `<svg aria-hidden="true" ${iconValue === selectedValue ? "selected" : ""}><use href="#star"></use></svg>`;
8732
- }
8733
- return htmlString;
8786
+ getMaxIcons() {
8787
+ return (this.compact ? 1 : this.max ?? 5) * 2;
8734
8788
  }
8735
8789
  }
8736
- __decorateClass$7([attr], RatingDisplay.prototype, "color", 2);
8737
- __decorateClass$7([attr({
8790
+ __decorateClass$8([attr], RatingDisplay.prototype, "color", 2);
8791
+ __decorateClass$8([attr], RatingDisplay.prototype, "size", 2);
8792
+ __decorateClass$8([attr({
8738
8793
  mode: "boolean"
8739
8794
  })], RatingDisplay.prototype, "compact", 2);
8740
- __decorateClass$7([attr({
8741
- converter: nullableNumberConverter
8742
- })], RatingDisplay.prototype, "count", 2);
8743
- __decorateClass$7([attr({
8744
- converter: nullableNumberConverter
8745
- })], RatingDisplay.prototype, "max", 2);
8746
- __decorateClass$7([attr], RatingDisplay.prototype, "size", 2);
8747
- __decorateClass$7([attr({
8748
- converter: nullableNumberConverter
8749
- })], RatingDisplay.prototype, "value", 2);
8750
8795
 
8751
- const styles$9 = css`
8796
+ const styles$a = css`
8752
8797
  ${display("inline-flex")}
8753
8798
 
8754
8799
  :host{--icon-size:16px;align-items:center;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase200};line-height:${lineHeightBase200};contain:layout style;user-select:none}:host(${smallState}){--icon-size:12px}:host(${largeState}){--icon-size:20px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}svg{width:var(--icon-size);height:var(--icon-size);fill:${colorPaletteMarigoldBackground3};margin-inline-end:${spacingHorizontalXXS}}svg:nth-child(even){clip-path:inset(0 50% 0 0);margin-inline-end:calc(0px - var(--icon-size))}:host(${neutralState}) svg{fill:${colorNeutralForeground1}}:host(${brandState}) svg{fill:${colorBrandBackground}}:host(:is([value^='-'],[value='0'])) svg,:host(:not([value])) svg,svg[selected] ~ svg{fill:${colorPaletteMarigoldBackground2}}:host(${neutralState}:is([value^='-'],[value='0'])) svg,:host(${neutralState}:not([value])) svg,:host(${neutralState}) svg[selected] ~ svg{fill:${colorNeutralBackground1Pressed}}:host(${brandState}:is([value^='-'],[value='0'])) svg,:host(${brandState}:not([value])) svg,:host(${brandState}) svg[selected] ~ svg{fill:${colorBrandStroke2}}.value-label,::slotted([slot='value']){display:block;margin-inline-start:${spacingHorizontalXS};font-weight:${fontWeightSemibold}}:host(${smallState}) .value-label,:host(${smallState}) ::slotted([slot='value']){margin-inline-start:${spacingHorizontalXXS}}:host(${largeState}) .value-label,:host(${largeState}) ::slotted([slot='value']){margin-inline-start:${spacingHorizontalSNudge}}:host(:not([count])) .count-label{display:none}.count-label::before,::slotted([slot='count'])::before{content:'·';margin-inline:${spacingHorizontalXS}}:host(${smallState}) .count-label::before,:host(${smallState}) ::slotted([slot='count'])::before{margin-inline:${spacingHorizontalXXS}}:host(${largeState}) .count-label::before,:host(${largeState}) ::slotted([slot='count'])::before{margin-inline:${spacingHorizontalSNudge}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -8758,15 +8803,15 @@ const star = html`<svg xmlns="http://www.w3.org/2000/svg" style="display: none">
8758
8803
  function ratingDisplayTemplate() {
8759
8804
  return html` ${star} ${x => html`${html.partial(x.generateIcons())}`}<slot name="value"><span class="value-label" aria-hidden="true">${x => x.value}</span></slot><slot name="count"><span class="count-label" aria-hidden="true">${x => x.formattedCount}</span></slot>`;
8760
8805
  }
8761
- const template$9 = ratingDisplayTemplate();
8806
+ const template$a = ratingDisplayTemplate();
8762
8807
 
8763
- const definition$9 = RatingDisplay.compose({
8808
+ const definition$a = RatingDisplay.compose({
8764
8809
  name: `${FluentDesignSystem.prefix}-rating-display`,
8765
- template: template$9,
8766
- styles: styles$9
8810
+ template: template$a,
8811
+ styles: styles$a
8767
8812
  });
8768
8813
 
8769
- definition$9.define(FluentDesignSystem.registry);
8814
+ definition$a.define(FluentDesignSystem.registry);
8770
8815
 
8771
8816
  const SliderOrientation = Orientation;
8772
8817
  const SliderMode = {
@@ -8781,12 +8826,12 @@ function convertPixelToPercent(pixelPos, minPosition, maxPosition, direction) {
8781
8826
  return pct;
8782
8827
  }
8783
8828
 
8784
- var __defProp$6 = Object.defineProperty;
8785
- var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
8786
- var __decorateClass$6 = (decorators, target, key, kind) => {
8787
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
8829
+ var __defProp$7 = Object.defineProperty;
8830
+ var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
8831
+ var __decorateClass$7 = (decorators, target, key, kind) => {
8832
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
8788
8833
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8789
- if (kind && result) __defProp$6(target, key, result);
8834
+ if (kind && result) __defProp$7(target, key, result);
8790
8835
  return result;
8791
8836
  };
8792
8837
  class Slider extends FASTElement {
@@ -9325,36 +9370,36 @@ class Slider extends FASTElement {
9325
9370
  * @public
9326
9371
  */
9327
9372
  Slider.formAssociated = true;
9328
- __decorateClass$6([attr], Slider.prototype, "size", 2);
9329
- __decorateClass$6([attr({
9373
+ __decorateClass$7([attr], Slider.prototype, "size", 2);
9374
+ __decorateClass$7([attr({
9330
9375
  attribute: "value",
9331
9376
  mode: "fromView"
9332
9377
  })], Slider.prototype, "initialValue", 2);
9333
- __decorateClass$6([observable], Slider.prototype, "direction", 2);
9334
- __decorateClass$6([observable], Slider.prototype, "isDragging", 2);
9335
- __decorateClass$6([observable], Slider.prototype, "position", 2);
9336
- __decorateClass$6([observable], Slider.prototype, "trackWidth", 2);
9337
- __decorateClass$6([observable], Slider.prototype, "trackMinWidth", 2);
9338
- __decorateClass$6([observable], Slider.prototype, "trackHeight", 2);
9339
- __decorateClass$6([observable], Slider.prototype, "trackLeft", 2);
9340
- __decorateClass$6([observable], Slider.prototype, "trackMinHeight", 2);
9341
- __decorateClass$6([observable], Slider.prototype, "valueTextFormatter", 2);
9342
- __decorateClass$6([attr({
9378
+ __decorateClass$7([observable], Slider.prototype, "direction", 2);
9379
+ __decorateClass$7([observable], Slider.prototype, "isDragging", 2);
9380
+ __decorateClass$7([observable], Slider.prototype, "position", 2);
9381
+ __decorateClass$7([observable], Slider.prototype, "trackWidth", 2);
9382
+ __decorateClass$7([observable], Slider.prototype, "trackMinWidth", 2);
9383
+ __decorateClass$7([observable], Slider.prototype, "trackHeight", 2);
9384
+ __decorateClass$7([observable], Slider.prototype, "trackLeft", 2);
9385
+ __decorateClass$7([observable], Slider.prototype, "trackMinHeight", 2);
9386
+ __decorateClass$7([observable], Slider.prototype, "valueTextFormatter", 2);
9387
+ __decorateClass$7([attr({
9343
9388
  mode: "boolean"
9344
9389
  })], Slider.prototype, "disabled", 2);
9345
- __decorateClass$6([attr({
9390
+ __decorateClass$7([attr({
9346
9391
  converter: numberLikeStringConverter
9347
9392
  })], Slider.prototype, "min", 2);
9348
- __decorateClass$6([attr({
9393
+ __decorateClass$7([attr({
9349
9394
  converter: numberLikeStringConverter
9350
9395
  })], Slider.prototype, "max", 2);
9351
- __decorateClass$6([attr({
9396
+ __decorateClass$7([attr({
9352
9397
  converter: numberLikeStringConverter
9353
9398
  })], Slider.prototype, "step", 2);
9354
- __decorateClass$6([attr], Slider.prototype, "orientation", 2);
9355
- __decorateClass$6([attr], Slider.prototype, "mode", 2);
9399
+ __decorateClass$7([attr], Slider.prototype, "orientation", 2);
9400
+ __decorateClass$7([attr], Slider.prototype, "mode", 2);
9356
9401
 
9357
- const styles$8 = css`
9402
+ const styles$9 = css`
9358
9403
  ${display("inline-grid")}
9359
9404
 
9360
9405
  :host{--thumb-size:20px;--track-margin-inline:calc(var(--thumb-size) / 2);--track-size:4px;--track-overhang:calc(var(--track-size) / -2);--slider-direction:90deg;--border-radius:${borderRadiusMedium};--step-marker-inset:var(--track-overhang) -1px;position:relative;align-items:center;justify-content:center;box-sizing:border-box;outline:none;user-select:none;touch-action:none;min-width:120px;min-height:32px;grid-template-rows:1fr var(--thumb-size) 1fr;grid-template-columns:var(--track-margin-inline) 1fr var(--track-margin-inline)}:host(:not(:disabled)){cursor:pointer}:host(:dir(rtl)){--slider-direction:-90deg}:host(${smallState}){--thumb-size:16px;--track-overhang:-1px;--track-size:2px;--border-radius:${borderRadiusSmall}}:host(${verticalState}){--slider-direction:0deg;--step-marker-inset:-1px var(--track-overhang);min-height:120px;grid-template-rows:var(--track-margin-inline) 1fr var(--track-margin-inline);grid-template-columns:1fr var(--thumb-size) 1fr;width:unset;min-width:32px;justify-items:center}:host(:not([slot='input']):focus-visible){box-shadow:0 0 0 2pt ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}.track{position:relative;background-color:${colorNeutralStrokeAccessible};border-radius:var(--border-radius);grid-row:2 / 2;grid-column:2 / 2;width:100%;height:var(--track-size);forced-color-adjust:none}:host(${verticalState}) .track{top:var(--track-overhang);bottom:var(--track-overhang);width:var(--track-size);height:100%}.track::before{content:'';position:absolute;height:100%;border-radius:inherit;inset-inline-start:0;width:var(--slider-progress)}:host(${verticalState}) .track::before{width:100%;bottom:0;height:var(--slider-progress)}:host([step]) .track::after{content:'';position:absolute;border-radius:inherit;inset:var(--step-marker-inset);background-image:repeating-linear-gradient(
@@ -9365,24 +9410,24 @@ const styles$8 = css`
9365
9410
  function sliderTemplate(options = {}) {
9366
9411
  return html`<template tabindex="${x => x.disabled ? null : 0}" @pointerdown="${(x, c) => x.handlePointerDown(c.event)}"><div ${ref("track")} part="track-container" class="track" style="${x => x.position}"></div><div ${ref("thumb")} part="thumb-container" class="thumb-container" style="${x => x.position}" @pointerdown="${(x, c) => x.handleThumbPointerDown(c.event)}"><slot name="thumb">${staticallyCompose(options.thumb)}</slot></div></template>`;
9367
9412
  }
9368
- const template$8 = sliderTemplate({
9413
+ const template$9 = sliderTemplate({
9369
9414
  thumb: `<div class="thumb"></div>`
9370
9415
  });
9371
9416
 
9372
- const definition$8 = Slider.compose({
9417
+ const definition$9 = Slider.compose({
9373
9418
  name: `${FluentDesignSystem.prefix}-slider`,
9374
- template: template$8,
9375
- styles: styles$8
9419
+ template: template$9,
9420
+ styles: styles$9
9376
9421
  });
9377
9422
 
9378
- definition$8.define(FluentDesignSystem.registry);
9423
+ definition$9.define(FluentDesignSystem.registry);
9379
9424
 
9380
- var __defProp$5 = Object.defineProperty;
9381
- var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
9382
- var __decorateClass$5 = (decorators, target, key, kind) => {
9383
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
9425
+ var __defProp$6 = Object.defineProperty;
9426
+ var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
9427
+ var __decorateClass$6 = (decorators, target, key, kind) => {
9428
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
9384
9429
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9385
- if (kind && result) __defProp$5(target, key, result);
9430
+ if (kind && result) __defProp$6(target, key, result);
9386
9431
  return result;
9387
9432
  };
9388
9433
  class BaseSpinner extends FASTElement {
@@ -9425,24 +9470,24 @@ class Spinner extends BaseSpinner {
9425
9470
  }
9426
9471
  }
9427
9472
  }
9428
- __decorateClass$5([attr], Spinner.prototype, "size", 2);
9429
- __decorateClass$5([attr], Spinner.prototype, "appearance", 2);
9473
+ __decorateClass$6([attr], Spinner.prototype, "size", 2);
9474
+ __decorateClass$6([attr], Spinner.prototype, "appearance", 2);
9430
9475
 
9431
- const styles$7 = css`
9476
+ const styles$8 = css`
9432
9477
  ${display("inline-flex")}
9433
9478
 
9434
9479
  :host{--duration:1.5s;--indicatorSize:${strokeWidthThicker};--size:32px;height:var(--size);width:var(--size);contain:strict;content-visibility:auto}:host(${tinyState}){--indicatorSize:${strokeWidthThick};--size:20px}:host(${extraSmallState}){--indicatorSize:${strokeWidthThick};--size:24px}:host(${smallState}){--indicatorSize:${strokeWidthThick};--size:28px}:host(${largeState}){--indicatorSize:${strokeWidthThicker};--size:36px}:host(${extraLargeState}){--indicatorSize:${strokeWidthThicker};--size:40px}:host(${hugeState}){--indicatorSize:${strokeWidthThickest};--size:44px}.progress,.background,.spinner,.start,.end,.indicator{position:absolute;inset:0}.progress,.spinner,.indicator{animation:none var(--duration) infinite ${curveEasyEase}}.progress{animation-timing-function:linear;animation-name:spin-linear}.background{border:var(--indicatorSize) solid ${colorBrandStroke2};border-radius:50%}:host(${invertedState}) .background{border-color:rgba(255,255,255,0.2)}.spinner{animation-name:spin-swing}.start{overflow:hidden;inset-inline-end:50%}.end{overflow:hidden;inset-inline-start:50%}.indicator{color:${colorBrandStroke1};box-sizing:border-box;border-radius:50%;border:var(--indicatorSize) solid transparent;border-block-start-color:currentcolor;border-inline-end-color:currentcolor}:host(${invertedState}) .indicator{color:${colorNeutralStrokeOnBrand2}}.start .indicator{rotate:135deg;inset:0 -100% 0 0;animation-name:spin-start}.end .indicator{rotate:135deg;inset:0 0 0 -100%;animation-name:spin-end}@keyframes spin-linear{100%{transform:rotate(360deg)}}@keyframes spin-swing{0%{transform:rotate(-135deg)}50%{transform:rotate(0deg)}100%{transform:rotate(225deg)}}@keyframes spin-start{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-80deg)}}@keyframes spin-end{0%,100%{transform:rotate(0deg)}50%{transform:rotate(70deg)}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
9435
9480
  .background{display:none}.indicator{border-color:Canvas;border-block-start-color:Highlight;border-inline-end-color:Highlight}`));
9436
9481
 
9437
- const template$7 = html`<slot name="indicator"><div class="background"></div><div class="progress"><div class="spinner"><div class="start"><div class="indicator"></div></div><div class="end"><div class="indicator"></div></div></div></div></slot>`;
9482
+ const template$8 = html`<slot name="indicator"><div class="background"></div><div class="progress"><div class="spinner"><div class="start"><div class="indicator"></div></div><div class="end"><div class="indicator"></div></div></div></div></slot>`;
9438
9483
 
9439
- const definition$7 = Spinner.compose({
9484
+ const definition$8 = Spinner.compose({
9440
9485
  name: `${FluentDesignSystem.prefix}-spinner`,
9441
- template: template$7,
9442
- styles: styles$7
9486
+ template: template$8,
9487
+ styles: styles$8
9443
9488
  });
9444
9489
 
9445
- definition$7.define(FluentDesignSystem.registry);
9490
+ definition$8.define(FluentDesignSystem.registry);
9446
9491
 
9447
9492
  class Switch extends BaseCheckbox {
9448
9493
  constructor() {
@@ -9454,50 +9499,50 @@ class Switch extends BaseCheckbox {
9454
9499
  function switchTemplate(options = {}) {
9455
9500
  return html`<template tabindex="${x => !x.disabled ? 0 : void 0}" @click="${(x, c) => x.clickHandler(c.event)}" @input="${(x, c) => x.inputHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @keyup="${(x, c) => x.keyupHandler(c.event)}"><slot name="switch">${staticallyCompose(options.switch)}</slot></template>`;
9456
9501
  }
9457
- const template$6 = switchTemplate({
9502
+ const template$7 = switchTemplate({
9458
9503
  switch: `<span class="checked-indicator" part="checked-indicator"></span>`
9459
9504
  });
9460
9505
 
9461
- const styles$6 = css`
9506
+ const styles$7 = css`
9462
9507
  ${display("inline-flex")}
9463
9508
 
9464
9509
  :host{box-sizing:border-box;align-items:center;flex-direction:row;outline:none;user-select:none;contain:content;padding:0 ${spacingHorizontalXXS};width:40px;height:20px;background-color:${colorTransparentBackground};border:1px solid ${colorNeutralStrokeAccessible};border-radius:${borderRadiusCircular};cursor:pointer}:host(:hover){background:none;border-color:${colorNeutralStrokeAccessibleHover}}:host(:active){border-color:${colorNeutralStrokeAccessiblePressed}}:host(:disabled),:host([readonly]){border:1px solid ${colorNeutralStrokeDisabled};background-color:none;pointer:default}:host(${checkedState}){background:${colorCompoundBrandBackground};border-color:${colorCompoundBrandBackground}}:host(${checkedState}:hover){background:${colorCompoundBrandBackgroundHover};border-color:${colorCompoundBrandBackgroundHover}}:host(${checkedState}:active){background:${colorCompoundBrandBackgroundPressed};border-color:${colorCompoundBrandBackgroundPressed}}:host(${checkedState}:disabled){background:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}.checked-indicator{height:14px;width:14px;border-radius:50%;margin-inline-start:0;background-color:${colorNeutralForeground3};transition-duration:${durationNormal};transition-timing-function:${curveEasyEase};transition-property:margin-inline-start}:host(${checkedState}) .checked-indicator{background-color:${colorNeutralForegroundInverted};margin-inline-start:calc(100% - 14px)}:host(${checkedState}:hover) .checked-indicator{background:${colorNeutralForegroundInvertedHover}}:host(${checkedState}:active) .checked-indicator{background:${colorNeutralForegroundInvertedPressed}}:host(:hover) .checked-indicator{background-color:${colorNeutralForeground3Hover}}:host(:active) .checked-indicator{background-color:${colorNeutralForeground3Pressed}}:host(:disabled) .checked-indicator,:host([readonly]) .checked-indicator{background:${colorNeutralForegroundDisabled}}:host(${checkedState}:disabled) .checked-indicator{background:${colorNeutralForegroundDisabled}}:host(:focus-visible){outline:none}:host(:not([slot='input']):focus-visible){border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
9465
9510
  :host{border-color:InactiveBorder}:host(${checkedState}),:host(${checkedState}:active),:host(${checkedState}:hover){background:Highlight;border-color:Highlight}.checked-indicator,:host(:hover) .checked-indicator,:host(:active) .checked-indicator{background-color:ActiveCaption}:host(${checkedState}) .checked-indicator,:host(${checkedState}:hover) .checked-indicator,:host(${checkedState}:active) .checked-indicator{background-color:ButtonFace}`));
9466
9511
 
9467
- const definition$6 = Switch.compose({
9512
+ const definition$7 = Switch.compose({
9468
9513
  name: `${FluentDesignSystem.prefix}-switch`,
9469
- template: template$6,
9470
- styles: styles$6
9514
+ template: template$7,
9515
+ styles: styles$7
9471
9516
  });
9472
9517
 
9473
- definition$6.define(FluentDesignSystem.registry);
9518
+ definition$7.define(FluentDesignSystem.registry);
9474
9519
 
9475
9520
  class TabPanel extends FASTElement {}
9476
9521
 
9477
9522
  function tabPanelTemplate() {
9478
9523
  return html`<template slot="tabpanel" role="tabpanel"><slot></slot></template>`;
9479
9524
  }
9480
- const template$5 = tabPanelTemplate();
9525
+ const template$6 = tabPanelTemplate();
9481
9526
 
9482
- const styles$5 = css`
9527
+ const styles$6 = css`
9483
9528
  ${display("block")}
9484
9529
 
9485
9530
  :host{box-sizing:border-box;padding:${spacingHorizontalM} ${spacingHorizontalMNudge}}`;
9486
9531
 
9487
- const definition$5 = TabPanel.compose({
9532
+ const definition$6 = TabPanel.compose({
9488
9533
  name: `${FluentDesignSystem.prefix}-tab-panel`,
9489
- template: template$5,
9490
- styles: styles$5
9534
+ template: template$6,
9535
+ styles: styles$6
9491
9536
  });
9492
9537
 
9493
- definition$5.define(FluentDesignSystem.registry);
9538
+ definition$6.define(FluentDesignSystem.registry);
9494
9539
 
9495
- var __defProp$4 = Object.defineProperty;
9496
- var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
9497
- var __decorateClass$4 = (decorators, target, key, kind) => {
9498
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
9540
+ var __defProp$5 = Object.defineProperty;
9541
+ var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
9542
+ var __decorateClass$5 = (decorators, target, key, kind) => {
9543
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
9499
9544
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9500
- if (kind && result) __defProp$4(target, key, result);
9545
+ if (kind && result) __defProp$5(target, key, result);
9501
9546
  return result;
9502
9547
  };
9503
9548
  class Tab extends FASTElement {
@@ -9511,7 +9556,7 @@ class Tab extends FASTElement {
9511
9556
  this.$fastController.addStyles(this.styles);
9512
9557
  }
9513
9558
  }
9514
- __decorateClass$4([attr({
9559
+ __decorateClass$5([attr({
9515
9560
  mode: "boolean"
9516
9561
  })], Tab.prototype, "disabled", 2);
9517
9562
  applyMixins(Tab, StartEnd);
@@ -9519,21 +9564,21 @@ applyMixins(Tab, StartEnd);
9519
9564
  function tabTemplate(options = {}) {
9520
9565
  return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
9521
9566
  }
9522
- const template$4 = tabTemplate({});
9567
+ const template$5 = tabTemplate({});
9523
9568
 
9524
- const styles$4 = css`
9569
+ const styles$5 = css`
9525
9570
  ${display("inline-flex")}
9526
9571
 
9527
9572
  :host{position:relative;flex-direction:column;cursor:pointer;box-sizing:border-box;justify-content:center;line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-size:${fontSizeBase300};color:${colorNeutralForeground2};fill:currentcolor;grid-row:1;padding:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium}}:host .tab-content{display:inline-flex;flex-direction:column;padding:0 2px}:host([aria-selected='true']){color:${colorNeutralForeground1};font-weight:${fontWeightSemibold}}:host .tab-content::after{content:var(--textContent);visibility:hidden;height:0;line-height:${lineHeightBase300};font-weight:${fontWeightSemibold}}:host([aria-selected='true'])::after{background-color:${colorCompoundBrandStroke};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:2}:host([aria-selected='false']:hover)::after{background-color:${colorNeutralStroke1Hover};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:1}:host([aria-selected='true'][disabled])::after{background-color:${colorNeutralForegroundDisabled}}::slotted([slot='start']),::slotted([slot='end']){display:flex}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}:host([disabled]){cursor:not-allowed;fill:${colorNeutralForegroundDisabled};color:${colorNeutralForegroundDisabled}}:host([disabled]:hover)::after{background-color:unset}:host(:focus){outline:none}:host(:focus-visible){border-radius:${borderRadiusSmall};box-shadow:0 0 0 3px ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
9528
9573
  :host([aria-selected='true'])::after{background-color:Highlight}`));
9529
9574
 
9530
- const definition$4 = Tab.compose({
9575
+ const definition$5 = Tab.compose({
9531
9576
  name: `${FluentDesignSystem.prefix}-tab`,
9532
- template: template$4,
9533
- styles: styles$4
9577
+ template: template$5,
9578
+ styles: styles$5
9534
9579
  });
9535
9580
 
9536
- definition$4.define(FluentDesignSystem.registry);
9581
+ definition$5.define(FluentDesignSystem.registry);
9537
9582
 
9538
9583
  const TabsAppearance = {
9539
9584
  subtle: "subtle",
@@ -9541,12 +9586,12 @@ const TabsAppearance = {
9541
9586
  };
9542
9587
  const TabsOrientation = Orientation;
9543
9588
 
9544
- var __defProp$3 = Object.defineProperty;
9545
- var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
9546
- var __decorateClass$3 = (decorators, target, key, kind) => {
9547
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
9589
+ var __defProp$4 = Object.defineProperty;
9590
+ var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
9591
+ var __decorateClass$4 = (decorators, target, key, kind) => {
9592
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
9548
9593
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9549
- if (kind && result) __defProp$3(target, key, result);
9594
+ if (kind && result) __defProp$4(target, key, result);
9550
9595
  return result;
9551
9596
  };
9552
9597
  class BaseTabs extends FASTElement {
@@ -9790,10 +9835,10 @@ class BaseTabs extends FASTElement {
9790
9835
  this.activeTabIndex = this.getActiveIndex();
9791
9836
  }
9792
9837
  }
9793
- __decorateClass$3([attr], BaseTabs.prototype, "orientation", 2);
9794
- __decorateClass$3([attr], BaseTabs.prototype, "activeid", 2);
9795
- __decorateClass$3([observable], BaseTabs.prototype, "tabs", 2);
9796
- __decorateClass$3([observable], BaseTabs.prototype, "tabpanels", 2);
9838
+ __decorateClass$4([attr], BaseTabs.prototype, "orientation", 2);
9839
+ __decorateClass$4([attr], BaseTabs.prototype, "activeid", 2);
9840
+ __decorateClass$4([observable], BaseTabs.prototype, "tabs", 2);
9841
+ __decorateClass$4([observable], BaseTabs.prototype, "tabpanels", 2);
9797
9842
  class Tabs extends BaseTabs {
9798
9843
  constructor() {
9799
9844
  super(...arguments);
@@ -9925,25 +9970,425 @@ class Tabs extends BaseTabs {
9925
9970
  this.setTabData();
9926
9971
  }
9927
9972
  }
9928
- __decorateClass$3([attr], Tabs.prototype, "appearance", 2);
9929
- __decorateClass$3([attr({
9973
+ __decorateClass$4([attr], Tabs.prototype, "appearance", 2);
9974
+ __decorateClass$4([attr({
9930
9975
  mode: "boolean"
9931
9976
  })], Tabs.prototype, "disabled", 2);
9932
- __decorateClass$3([attr], Tabs.prototype, "size", 2);
9977
+ __decorateClass$4([attr], Tabs.prototype, "size", 2);
9933
9978
  applyMixins(Tabs, StartEnd);
9934
9979
 
9935
9980
  function tabsTemplate(options = {}) {
9936
9981
  return html` ${startSlotTemplate(options)}<div class="tablist" part="tablist" role="tablist"><slot name="tab" ${slotted("tabs")}></slot></div>${endSlotTemplate(options)}<div class="tabpanel" part="tabpanel"><slot name="tabpanel" ${slotted("tabpanels")}></slot></div>`;
9937
9982
  }
9938
- const template$3 = tabsTemplate({});
9983
+ const template$4 = tabsTemplate({});
9939
9984
 
9940
- const styles$3 = css`
9985
+ const styles$4 = css`
9941
9986
  ${display("grid")}
9942
9987
 
9943
9988
  :host{box-sizing:border-box;font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};color:${colorNeutralForeground2};grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr}:host([disabled]){cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab){pointer-events:none;cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:after){background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab[aria-selected='true'])::after{background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:hover):before{content:unset}:host ::slotted(fluent-tab){border-radius:${borderRadiusMedium}}:host ::slotted(fluent-tab[aria-selected='true'])::before{background-color:${colorNeutralForegroundDisabled}}.tablist{display:grid;grid-template-rows:auto auto;grid-template-columns:auto;position:relative;width:max-content;align-self:end;box-sizing:border-box}::slotted([slot='start']),::slotted([slot='end']){display:flex;align-self:center}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}.tabpanel{grid-row:2;grid-column-start:1;grid-column-end:4;position:relative}:host([orientation='vertical']){grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr}:host([orientation='vertical']) .tablist{grid-row-start:2;grid-row-end:2;display:grid;grid-template-rows:auto;grid-template-columns:auto 1fr;position:relative;width:max-content;justify-self:end;align-self:flex-start;width:100%}:host([orientation='vertical']) .tabpanel{grid-column:2;grid-row-start:1;grid-row-end:4}:host([orientation='vertical']) ::slotted([slot='end']){grid-row:3}:host([appearance='subtle']) ::slotted(fluent-tab:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground1Hover};fill:${colorCompoundBrandForeground1Hover}}:host([appearance='subtle']) ::slotted(fluent-tab:active){background-color:${colorSubtleBackgroundPressed};fill:${colorSubtleBackgroundPressed};color:${colorNeutralForeground1}}:host([size='small']) ::slotted(fluent-tab){font-size:${fontSizeBase300};line-height:${lineHeightBase300};padding:${spacingVerticalSNudge} ${spacingHorizontalSNudge}}:host([size='large']) ::slotted(fluent-tab){font-size:${fontSizeBase400};line-height:${lineHeightBase400};padding:${spacingVerticalL} ${spacingHorizontalMNudge}}:host ::slotted(fluent-tab[data-animate='true'])::after{transition-property:transform;transition-duration:${durationSlow};transition-timing-function:${curveDecelerateMax}}:host ::slotted(fluent-tab)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left;transform:translateX(var(--tabIndicatorOffset)) scaleX(var(--tabIndicatorScale))}:host([orientation='vertical']) ::slotted(fluent-tab)::after{width:${strokeWidthThicker};height:unset;margin-top:unset;transform-origin:top;transform:translateY(var(--tabIndicatorOffset)) scaleY(var(--tabIndicatorScale))}:host ::slotted(fluent-tab)::before{height:${strokeWidthThicker};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;margin-top:auto}:host([orientation='vertical']) ::slotted(fluent-tab)::before{height:unset;width:${strokeWidthThicker};margin-inline-end:auto;transform-origin:top}:host ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left}:host([orientation='vertical']) ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:unset;margin-inline-end:auto;transform-origin:top;width:${strokeWidthThicker}}:host([orientation='vertical']) ::slotted(fluent-tab){align-items:flex-start;grid-column:2;padding-top:${spacingVerticalSNudge};padding-bottom:${spacingVerticalSNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab){padding-top:${spacingVerticalXXS};padding-bottom:${spacingVerticalXXS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab){padding-top:${spacingVerticalS};padding-bottom:${spacingVerticalS}}:host([size='small']) ::slotted(fluent-tab)::after,:host([size='small']) ::slotted(fluent-tab)::before,:host([size='small']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalSNudge};left:${spacingHorizontalSNudge}}:host ::slotted(fluent-tab)::after,:host ::slotted(fluent-tab)::before,:host ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([size='large']) ::slotted(fluent-tab)::after,:host([size='large']) ::slotted(fluent-tab)::before,:host([size='large']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalSNudge};bottom:${spacingVerticalSNudge}}:host([orientation='vertical']) ::slotted(fluent-tab)::after,:host([orientation='vertical']) ::slotted(fluent-tab)::before,:host([orientation='vertical']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalS};bottom:${spacingVerticalS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalMNudge};bottom:${spacingVerticalMNudge}}`;
9944
9989
 
9945
- const definition$3 = Tabs.compose({
9990
+ const definition$4 = Tabs.compose({
9946
9991
  name: `${FluentDesignSystem.prefix}-tabs`,
9992
+ template: template$4,
9993
+ styles: styles$4
9994
+ });
9995
+
9996
+ definition$4.define(FluentDesignSystem.registry);
9997
+
9998
+ const isARIADisabledElement = el => {
9999
+ return el.getAttribute("aria-disabled") === "true";
10000
+ };
10001
+ const isHiddenElement = el => {
10002
+ return el.hasAttribute("hidden");
10003
+ };
10004
+ const isFocusableElement = el => {
10005
+ return !isARIADisabledElement(el) && !isHiddenElement(el);
10006
+ };
10007
+
10008
+ const TablistAppearance = {
10009
+ subtle: "subtle",
10010
+ transparent: "transparent"
10011
+ };
10012
+ const TablistOrientation = Orientation;
10013
+
10014
+ var __defProp$3 = Object.defineProperty;
10015
+ var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
10016
+ var __decorateClass$3 = (decorators, target, key, kind) => {
10017
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
10018
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10019
+ if (kind && result) __defProp$3(target, key, result);
10020
+ return result;
10021
+ };
10022
+ class BaseTablist extends FASTElement {
10023
+ constructor() {
10024
+ super(...arguments);
10025
+ /**
10026
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
10027
+ *
10028
+ * @internal
10029
+ */
10030
+ this.elementInternals = this.attachInternals();
10031
+ this.disabled = false;
10032
+ this.orientation = TablistOrientation.horizontal;
10033
+ this.prevActiveTabIndex = 0;
10034
+ this.activeTabIndex = 0;
10035
+ this.change = () => {
10036
+ this.$emit("change", this.activetab);
10037
+ };
10038
+ this.handleTabClick = event => {
10039
+ const selectedTab = event.currentTarget;
10040
+ if (selectedTab.nodeType === Node.ELEMENT_NODE && isFocusableElement(selectedTab)) {
10041
+ this.prevActiveTabIndex = this.activeTabIndex;
10042
+ this.activeTabIndex = this.tabs.indexOf(selectedTab);
10043
+ this.setComponent();
10044
+ }
10045
+ };
10046
+ this.handleTabKeyDown = event => {
10047
+ const dir = getDirection(this);
10048
+ switch (event.key) {
10049
+ case keyArrowLeft:
10050
+ if (!this.isHorizontal()) {
10051
+ return;
10052
+ }
10053
+ event.preventDefault();
10054
+ this.adjust(dir === "ltr" ? -1 : 1);
10055
+ break;
10056
+ case keyArrowRight:
10057
+ if (!this.isHorizontal()) {
10058
+ return;
10059
+ }
10060
+ event.preventDefault();
10061
+ this.adjust(dir === "ltr" ? 1 : -1);
10062
+ break;
10063
+ case keyArrowUp:
10064
+ if (this.isHorizontal()) {
10065
+ return;
10066
+ }
10067
+ event.preventDefault();
10068
+ this.adjust(-1);
10069
+ break;
10070
+ case keyArrowDown:
10071
+ if (this.isHorizontal()) {
10072
+ return;
10073
+ }
10074
+ event.preventDefault();
10075
+ this.adjust(1);
10076
+ break;
10077
+ case keyHome:
10078
+ event.preventDefault();
10079
+ this.adjust(-this.activeTabIndex);
10080
+ break;
10081
+ case keyEnd:
10082
+ event.preventDefault();
10083
+ this.adjust(this.tabs.filter(t => isFocusableElement(t)).length - this.activeTabIndex - 1);
10084
+ break;
10085
+ }
10086
+ };
10087
+ }
10088
+ /**
10089
+ * Handles disabled changes
10090
+ * @param prev - previous value
10091
+ * @param next - next value
10092
+ *
10093
+ * @internal
10094
+ */
10095
+ disabledChanged(prev, next) {
10096
+ toggleState(this.elementInternals, "disabled", next);
10097
+ }
10098
+ /**
10099
+ * @internal
10100
+ */
10101
+ orientationChanged(prev, next) {
10102
+ this.elementInternals.ariaOrientation = next ?? TablistOrientation.horizontal;
10103
+ if (prev) {
10104
+ toggleState(this.elementInternals, `${prev}`, false);
10105
+ }
10106
+ if (next) {
10107
+ toggleState(this.elementInternals, `${next}`, true);
10108
+ }
10109
+ if (this.$fastController.isConnected) {
10110
+ this.setTabs();
10111
+ }
10112
+ }
10113
+ /**
10114
+ * @internal
10115
+ */
10116
+ activeidChanged(oldValue, newValue) {
10117
+ if (this.$fastController.isConnected && this.tabs.length > 0) {
10118
+ this.prevActiveTabIndex = this.tabs.findIndex(item => item.id === oldValue);
10119
+ this.setTabs();
10120
+ }
10121
+ }
10122
+ /**
10123
+ * @internal
10124
+ */
10125
+ tabsChanged() {
10126
+ if (this.$fastController.isConnected && this.tabs.length > 0) {
10127
+ this.tabIds = this.getTabIds();
10128
+ this.setTabs();
10129
+ }
10130
+ }
10131
+ getActiveIndex() {
10132
+ const id = this.activeid;
10133
+ if (id !== void 0) {
10134
+ return this.tabIds.indexOf(this.activeid) === -1 ? 0 : this.tabIds.indexOf(this.activeid);
10135
+ } else {
10136
+ return 0;
10137
+ }
10138
+ }
10139
+ /**
10140
+ * Function that is invoked whenever the selected tab or the tab collection changes.
10141
+ *
10142
+ * @public
10143
+ */
10144
+ setTabs() {
10145
+ this.activeTabIndex = this.getActiveIndex();
10146
+ this.tabs.forEach((tab, index) => {
10147
+ if (tab.slot === "tab") {
10148
+ const isActiveTab = this.activeTabIndex === index && isFocusableElement(tab);
10149
+ const tabId = this.tabIds[index];
10150
+ tab.setAttribute("id", tabId);
10151
+ tab.setAttribute("aria-selected", isActiveTab ? "true" : "false");
10152
+ tab.addEventListener("click", this.handleTabClick);
10153
+ tab.addEventListener("keydown", this.handleTabKeyDown);
10154
+ tab.setAttribute("tabindex", isActiveTab && !this.disabled ? "0" : "-1");
10155
+ if (isActiveTab) {
10156
+ this.activetab = tab;
10157
+ this.activeid = tabId;
10158
+ }
10159
+ this.change();
10160
+ }
10161
+ });
10162
+ }
10163
+ getTabIds() {
10164
+ return this.tabs.map(tab => {
10165
+ return tab.getAttribute("id") ?? `tab-${uniqueId()}`;
10166
+ });
10167
+ }
10168
+ setComponent() {
10169
+ if (this.activeTabIndex !== this.prevActiveTabIndex) {
10170
+ this.activeid = this.tabIds[this.activeTabIndex];
10171
+ this.focusTab();
10172
+ this.change();
10173
+ }
10174
+ }
10175
+ isHorizontal() {
10176
+ return this.orientation === TablistOrientation.horizontal;
10177
+ }
10178
+ /**
10179
+ * The adjust method for FASTTabs
10180
+ * @public
10181
+ * @remarks
10182
+ * This method allows the active index to be adjusted by numerical increments
10183
+ */
10184
+ adjust(adjustment) {
10185
+ const focusableTabs = this.tabs.filter(t => isFocusableElement(t));
10186
+ const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);
10187
+ const nextTabIndex = wrapInBounds(0, focusableTabs.length - 1, currentActiveTabIndex + adjustment);
10188
+ const nextIndex = this.tabs.indexOf(focusableTabs[nextTabIndex]);
10189
+ if (nextIndex > -1) {
10190
+ this.activateTabByIndex(this.tabs, nextIndex);
10191
+ }
10192
+ }
10193
+ activateTabByIndex(group, index) {
10194
+ const tab = group[index];
10195
+ this.activetab = tab;
10196
+ this.prevActiveTabIndex = this.activeTabIndex;
10197
+ this.activeTabIndex = index;
10198
+ tab.focus();
10199
+ this.setComponent();
10200
+ }
10201
+ focusTab() {
10202
+ this.tabs[this.activeTabIndex].focus();
10203
+ }
10204
+ /**
10205
+ * @internal
10206
+ */
10207
+ connectedCallback() {
10208
+ super.connectedCallback();
10209
+ this.tabIds = this.getTabIds();
10210
+ this.activeTabIndex = this.getActiveIndex();
10211
+ }
10212
+ }
10213
+ __decorateClass$3([attr({
10214
+ mode: "boolean"
10215
+ })], BaseTablist.prototype, "disabled", 2);
10216
+ __decorateClass$3([attr], BaseTablist.prototype, "orientation", 2);
10217
+ __decorateClass$3([attr], BaseTablist.prototype, "activeid", 2);
10218
+ __decorateClass$3([observable], BaseTablist.prototype, "tabs", 2);
10219
+ class Tablist extends BaseTablist {
10220
+ constructor() {
10221
+ super(...arguments);
10222
+ /**
10223
+ * activeTabData
10224
+ * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
10225
+ */
10226
+ this.activeTabData = {
10227
+ x: 0,
10228
+ y: 0,
10229
+ height: 0,
10230
+ width: 0
10231
+ };
10232
+ /**
10233
+ * previousActiveTabData
10234
+ * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
10235
+ */
10236
+ this.previousActiveTabData = {
10237
+ x: 0,
10238
+ y: 0,
10239
+ height: 0,
10240
+ width: 0
10241
+ };
10242
+ /**
10243
+ * activeTabOffset
10244
+ * Used to position the active indicator for animations of the active indicator on active tab changes.
10245
+ */
10246
+ this.activeTabOffset = 0;
10247
+ /**
10248
+ * activeTabScale
10249
+ * Used to scale the tab active indicator up or down as animations of the active indicator occur.
10250
+ */
10251
+ this.activeTabScale = 1;
10252
+ this.appearance = TablistAppearance.transparent;
10253
+ }
10254
+ /**
10255
+ * @internal
10256
+ */
10257
+ appearanceChanged(prev, next) {
10258
+ if (prev) {
10259
+ toggleState(this.elementInternals, `${prev}`, false);
10260
+ }
10261
+ if (next) {
10262
+ toggleState(this.elementInternals, `${next}`, true);
10263
+ }
10264
+ }
10265
+ /**
10266
+ * @internal
10267
+ */
10268
+ sizeChanged(prev, next) {
10269
+ if (prev) {
10270
+ toggleState(this.elementInternals, `${prev}`, false);
10271
+ }
10272
+ if (next) {
10273
+ toggleState(this.elementInternals, `${next}`, true);
10274
+ }
10275
+ }
10276
+ /**
10277
+ * calculateAnimationProperties
10278
+ *
10279
+ * Recalculates the active tab offset and scale.
10280
+ * These values will be applied to css variables that control the tab active indicator position animations
10281
+ */
10282
+ calculateAnimationProperties(tab) {
10283
+ this.activeTabOffset = this.getTabPosition(tab);
10284
+ this.activeTabScale = this.getTabScale(tab);
10285
+ }
10286
+ /**
10287
+ * getSelectedTabPosition - gets the x or y coordinates of the tab
10288
+ */
10289
+ getTabPosition(tab) {
10290
+ if (this.orientation === TablistOrientation.horizontal) {
10291
+ return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
10292
+ } else return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
10293
+ }
10294
+ /**
10295
+ * getSelectedTabScale - gets the scale of the tab
10296
+ */
10297
+ getTabScale(tab) {
10298
+ if (this.orientation === TablistOrientation.horizontal) {
10299
+ return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
10300
+ } else return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
10301
+ }
10302
+ /**
10303
+ * Calculates and applies updated values to CSS variables.
10304
+ *
10305
+ * @param tab - the tab element to apply the updated values to
10306
+ * @internal
10307
+ */
10308
+ applyUpdatedCSSValues(tab) {
10309
+ this.calculateAnimationProperties(tab);
10310
+ this.setAnimationVars();
10311
+ }
10312
+ /**
10313
+ * Runs through all the operations required for setting the tab active indicator to its starting location, ending
10314
+ * location, and applying the animated css class to the tab.
10315
+ *
10316
+ * @param tab - the tab element to apply the updated values to
10317
+ * @internal
10318
+ */
10319
+ animationLoop(tab) {
10320
+ tab.setAttribute("data-animate", "false");
10321
+ this.applyUpdatedCSSValues(tab);
10322
+ this.previousActiveTabData = this.activeTabData;
10323
+ this.applyUpdatedCSSValues(tab);
10324
+ tab.setAttribute("data-animate", "true");
10325
+ }
10326
+ /**
10327
+ * Sets the data from the active tab onto the class. used for making all the animation calculations for the active
10328
+ * tab indicator.
10329
+ *
10330
+ * @internal
10331
+ */
10332
+ setTabData() {
10333
+ if (this.tabs && this.tabs.length > 0) {
10334
+ const tabs = this.tabs;
10335
+ const activeTab = this.activetab || tabs[0];
10336
+ const activeRect = activeTab?.getBoundingClientRect();
10337
+ const parentRect = this.getBoundingClientRect();
10338
+ this.activeTabData = {
10339
+ x: activeRect.x - parentRect.x,
10340
+ y: activeRect.y - parentRect.y,
10341
+ height: activeRect.height,
10342
+ width: activeRect.width
10343
+ };
10344
+ if (this.previousActiveTabData?.x !== this.activeTabData?.x && this.previousActiveTabData?.y !== this.activeTabData?.y) {
10345
+ this.previousActiveTabData = this.activeTabData;
10346
+ }
10347
+ }
10348
+ }
10349
+ /**
10350
+ * Sets the css variables for the active tab indicator.
10351
+ * @internal
10352
+ */
10353
+ setAnimationVars() {
10354
+ this.style.setProperty("--tabIndicatorOffset", `${this.activeTabOffset}px`);
10355
+ this.style.setProperty("--tabIndicatorScale", `${this.activeTabScale}`);
10356
+ }
10357
+ /**
10358
+ * Initiates the active tab indicator animation loop when activeid changes.
10359
+ * @param oldValue - the previous tabId
10360
+ * @param newValue - the new tabId
10361
+ */
10362
+ activeidChanged(oldValue, newValue) {
10363
+ super.activeidChanged(oldValue, newValue);
10364
+ this.setTabData();
10365
+ if (this.activetab) {
10366
+ this.animationLoop(this.activetab);
10367
+ }
10368
+ }
10369
+ /**
10370
+ * Initiates the active tab indicator animation loop when tabs change.
10371
+ */
10372
+ tabsChanged() {
10373
+ super.tabsChanged();
10374
+ this.setTabData();
10375
+ if (this.activetab) {
10376
+ this.animationLoop(this.activetab);
10377
+ }
10378
+ }
10379
+ }
10380
+ __decorateClass$3([attr], Tablist.prototype, "appearance", 2);
10381
+ __decorateClass$3([attr], Tablist.prototype, "size", 2);
10382
+
10383
+ const template$3 = html`<template role="tablist"><slot name="tab" ${slotted("tabs")}></slot></template>`;
10384
+
10385
+ const styles$3 = css`
10386
+ ${display("flex")}
10387
+
10388
+ :host{--tabPaddingInline:inherit;--tabPaddingBlock:inherit;--tabIndicatorInsetInline:0;--tabIndicatorInsetBlock:0;box-sizing:border-box;color:${colorNeutralForeground2};flex-direction:row}:host(${verticalState}){flex-direction:column}:host ::slotted([role='tab']){align-items:flex-start}:host ::slotted([slot='tab'][data-animate='true'])::after{transition-property:transform;transition-duration:${durationSlow};transition-timing-function:${curveDecelerateMax}}:host ::slotted([slot='tab'])::after{height:${strokeWidthThicker};margin-block-start:auto;transform-origin:left;transform:translateX(var(--tabIndicatorOffset)) scaleX(var(--tabIndicatorScale))}:host(${verticalState}) ::slotted([slot='tab'])::after{width:${strokeWidthThicker};height:unset;margin-block-start:unset;transform-origin:top;transform:translateY(var(--tabIndicatorOffset)) scaleY(var(--tabIndicatorScale))}:host ::slotted([slot='tab'])::before{height:${strokeWidthThicker};border-radius:${borderRadiusCircular};content:'';inset-inline:var(--tabIndicatorInsetInline);inset-block:var(--tabIndicatorInsetBlock);position:absolute;margin-top:auto}:host ::slotted([slot='tab'])::before{inset-inline:var(--tabIndicatorInsetInline);inset-block:var(--tabIndicatorInsetBlock)}:host ::slotted([slot='tab'][aria-selected='true'])::before{background-color:${colorNeutralForegroundDisabled}}:host ::slotted([slot='tab'][aria-selected='false']:hover)::after{height:${strokeWidthThicker};margin-block-start:auto;transform-origin:left}:host(${verticalState}) ::slotted([slot='tab'])::before,:host(${verticalState}) ::slotted([slot='tab'][aria-selected='false']:hover)::after{height:unset;width:${strokeWidthThicker};margin-inline-end:auto;transform-origin:top}:host(:where(${smallState},${largeState})) ::slotted([slot='tab']){padding-inline:var(--tabPaddingInline);padding-block:var(--tabPaddingBlock)}:host(${smallState}) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalSNudge};--tabPaddingInline:${spacingHorizontalSNudge};font-size:${fontSizeBase300};line-height:${lineHeightBase300}}:host(${largeState}) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalL};--tabPaddingInline:${spacingHorizontalMNudge};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host ::slotted([slot='tab'])::after,:host ::slotted([slot='tab'])::before,:host ::slotted([slot='tab']:hover)::after{inset-inline:var(--tabIndicatorInsetInline)}:host ::slotted([slot='tab']){--tabIndicatorInsetInline:${spacingHorizontalMNudge}}:host(${smallState}) ::slotted([slot='tab']){--tabIndicatorInsetInline:${spacingHorizontalSNudge}}:host(${largeState}) ::slotted([slot='tab']){--tabIndicatorInsetInline:${spacingHorizontalMNudge}}:host(${verticalState}) ::slotted([slot='tab']){padding-block:var(--tabPaddingBlock)}:host(${verticalState}) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalS}}:host(${verticalState}${smallState}) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalXXS}}:host(${verticalState}${largeState}) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalS}}:host(${verticalState}) ::slotted([slot='tab'])::after,:host(${verticalState}) ::slotted([slot='tab'])::before,:host(${verticalState}) ::slotted([slot='tab']:hover)::after{inset-inline:0;inset-block:var(--tabIndicatorInsetBlock)}:host(${verticalState}){--tabIndicatorInsetBlock:${spacingVerticalS}}:host(${verticalState}${smallState}){--tabIndicatorInsetBlock:${spacingVerticalSNudge}}:host(${verticalState}${largeState}){--tabIndicatorInsetBlock:${spacingVerticalMNudge}}:host(${disabledState}){cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host(${disabledState}) ::slotted([slot='tab']){pointer-events:none;cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host(${disabledState}) ::slotted([slot='tab']:after){background-color:${colorNeutralForegroundDisabled}}:host(${disabledState}) ::slotted([slot='tab'][aria-selected='true'])::after{background-color:${colorNeutralForegroundDisabled}}:host(${disabledState}) ::slotted([slot='tab']:hover):before{content:unset}:host(${subtleState}) ::slotted([slot='tab']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground1Hover};fill:${colorCompoundBrandForeground1Hover}}:host(${subtleState}) ::slotted([slot='tab']:active){background-color:${colorSubtleBackgroundPressed};fill:${colorSubtleBackgroundPressed};color:${colorNeutralForeground1}}`;
10389
+
10390
+ const definition$3 = Tablist.compose({
10391
+ name: `${FluentDesignSystem.prefix}-tablist`,
9947
10392
  template: template$3,
9948
10393
  styles: styles$3
9949
10394
  });
@@ -10593,7 +11038,7 @@ __decorateClass([attr({
10593
11038
  })], ToggleButton.prototype, "mixed", 2);
10594
11039
 
10595
11040
  const styles = css`
10596
- ${styles$w}
11041
+ ${styles$x}
10597
11042
 
10598
11043
  :host(${pressedState}){border-color:${colorNeutralStroke1};background-color:${colorNeutralBackground1Selected};color:${colorNeutralForeground1};border-width:${strokeWidthThin}}:host(${pressedState}:hover){border-color:${colorNeutralStroke1Hover};background-color:${colorNeutralBackground1Hover}}:host(${pressedState}:active){border-color:${colorNeutralStroke1Pressed};background-color:${colorNeutralBackground1Pressed}}:host(${pressedState}${primaryState}){border-color:transparent;background-color:${colorBrandBackgroundSelected};color:${colorNeutralForegroundOnBrand}}:host(${pressedState}${primaryState}:hover){background-color:${colorBrandBackgroundHover}}:host(${pressedState}${primaryState}:active){background-color:${colorBrandBackgroundPressed}}:host(${pressedState}${subtleState}){border-color:transparent;background-color:${colorSubtleBackgroundSelected};color:${colorNeutralForeground2Selected}}:host(${pressedState}${subtleState}:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover}}:host(${pressedState}${subtleState}:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed}}:host(${pressedState}${outlineState}),:host(${pressedState}${transparentState}){background-color:${colorTransparentBackgroundSelected}}:host(${pressedState}${outlineState}:hover),:host(${pressedState}${transparentState}:hover){background-color:${colorTransparentBackgroundHover}}:host(${pressedState}${outlineState}:active),:host(${pressedState}${transparentState}:active){background-color:${colorTransparentBackgroundPressed}}:host(${pressedState}${transparentState}){border-color:transparent;color:${colorNeutralForeground2BrandSelected}}:host(${pressedState}${transparentState}:hover){color:${colorNeutralForeground2BrandHover}}:host(${pressedState}${transparentState}:active){color:${colorNeutralForeground2BrandPressed}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
10599
11044
  :host(${pressedState}),:host(${pressedState}${primaryState}),:host(${pressedState}${subtleState}),:host(${pressedState}${outlineState}),:host(${pressedState}${transparentState}){background:SelectedItem;color:SelectedItemText}`));