@fluentui/web-components 3.0.0-rc.1 → 3.0.0-rc.10

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 (124) hide show
  1. package/CHANGELOG.md +84 -2
  2. package/custom-elements.json +705 -1223
  3. package/dist/esm/anchor-button/anchor-button.base.js +3 -0
  4. package/dist/esm/anchor-button/anchor-button.base.js.map +1 -1
  5. package/dist/esm/avatar/avatar.base.d.ts +20 -0
  6. package/dist/esm/avatar/avatar.base.js +37 -1
  7. package/dist/esm/avatar/avatar.base.js.map +1 -1
  8. package/dist/esm/avatar/avatar.js +1 -1
  9. package/dist/esm/avatar/avatar.js.map +1 -1
  10. package/dist/esm/avatar/avatar.styles.js +4 -4
  11. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  12. package/dist/esm/avatar/avatar.template.js +2 -2
  13. package/dist/esm/avatar/avatar.template.js.map +1 -1
  14. package/dist/esm/badge/badge.options.d.ts +3 -1
  15. package/dist/esm/badge/badge.options.js.map +1 -1
  16. package/dist/esm/compound-button/compound-button.styles.js +1 -1
  17. package/dist/esm/compound-button/compound-button.styles.js.map +1 -1
  18. package/dist/esm/counter-badge/counter-badge.d.ts +2 -1
  19. package/dist/esm/counter-badge/counter-badge.js +2 -1
  20. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  21. package/dist/esm/dialog/dialog.d.ts +23 -8
  22. package/dist/esm/dialog/dialog.js +15 -6
  23. package/dist/esm/dialog/dialog.js.map +1 -1
  24. package/dist/esm/dialog/dialog.template.js.map +1 -1
  25. package/dist/esm/dialog-body/dialog-body.js +1 -1
  26. package/dist/esm/dialog-body/dialog-body.js.map +1 -1
  27. package/dist/esm/drawer/drawer.d.ts +18 -9
  28. package/dist/esm/drawer/drawer.js +12 -6
  29. package/dist/esm/drawer/drawer.js.map +1 -1
  30. package/dist/esm/drawer-body/drawer-body.js +1 -1
  31. package/dist/esm/drawer-body/drawer-body.js.map +1 -1
  32. package/dist/esm/index-rollup.d.ts +1 -2
  33. package/dist/esm/index-rollup.js +1 -2
  34. package/dist/esm/index-rollup.js.map +1 -1
  35. package/dist/esm/index.d.ts +2 -4
  36. package/dist/esm/index.js +0 -2
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/menu-list/menu-list.js +4 -4
  39. package/dist/esm/menu-list/menu-list.js.map +1 -1
  40. package/dist/esm/message-bar/message-bar.d.ts +2 -1
  41. package/dist/esm/message-bar/message-bar.js +2 -1
  42. package/dist/esm/message-bar/message-bar.js.map +1 -1
  43. package/dist/esm/message-bar/message-bar.options.d.ts +6 -3
  44. package/dist/esm/message-bar/message-bar.options.js +6 -3
  45. package/dist/esm/message-bar/message-bar.options.js.map +1 -1
  46. package/dist/esm/progress-bar/progress-bar.base.d.ts +16 -4
  47. package/dist/esm/progress-bar/progress-bar.base.js +4 -1
  48. package/dist/esm/progress-bar/progress-bar.base.js.map +1 -1
  49. package/dist/esm/progress-bar/progress-bar.d.ts +8 -2
  50. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  51. package/dist/esm/styles/partials/badge.partials.d.ts +2 -1
  52. package/dist/esm/styles/partials/badge.partials.js +2 -1
  53. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  54. package/dist/esm/textarea/textarea.base.d.ts +5 -0
  55. package/dist/esm/textarea/textarea.base.js +4 -1
  56. package/dist/esm/textarea/textarea.base.js.map +1 -1
  57. package/dist/esm/textarea/textarea.template.js +1 -1
  58. package/dist/esm/textarea/textarea.template.js.map +1 -1
  59. package/dist/esm/theme/design-tokens.d.ts +115 -0
  60. package/dist/esm/theme/design-tokens.js +115 -0
  61. package/dist/esm/theme/design-tokens.js.map +1 -1
  62. package/dist/esm/theme/set-theme.d.ts +2 -2
  63. package/dist/esm/theme/set-theme.js +1 -1
  64. package/dist/esm/tree/tree.base.d.ts +1 -1
  65. package/dist/esm/tree/tree.base.js +1 -1
  66. package/dist/esm/tree/tree.base.js.map +1 -1
  67. package/dist/esm/tree/tree.d.ts +8 -2
  68. package/dist/esm/tree/tree.js +8 -2
  69. package/dist/esm/tree/tree.js.map +1 -1
  70. package/dist/esm/tree-item/tree-item.base.d.ts +8 -2
  71. package/dist/esm/tree-item/tree-item.base.js +8 -2
  72. package/dist/esm/tree-item/tree-item.base.js.map +1 -1
  73. package/dist/web-components.d.ts +256 -284
  74. package/dist/web-components.js +956 -1232
  75. package/dist/web-components.min.js +276 -270
  76. package/package.json +5 -6
  77. package/dist/esm/tab-panel/define.d.ts +0 -1
  78. package/dist/esm/tab-panel/define.js +0 -7
  79. package/dist/esm/tab-panel/define.js.map +0 -1
  80. package/dist/esm/tab-panel/index.d.ts +0 -4
  81. package/dist/esm/tab-panel/index.js +0 -5
  82. package/dist/esm/tab-panel/index.js.map +0 -1
  83. package/dist/esm/tab-panel/tab-panel.bench.d.ts +0 -3
  84. package/dist/esm/tab-panel/tab-panel.bench.js +0 -13
  85. package/dist/esm/tab-panel/tab-panel.bench.js.map +0 -1
  86. package/dist/esm/tab-panel/tab-panel.d.ts +0 -8
  87. package/dist/esm/tab-panel/tab-panel.definition.d.ts +0 -5
  88. package/dist/esm/tab-panel/tab-panel.definition.js +0 -13
  89. package/dist/esm/tab-panel/tab-panel.definition.js.map +0 -1
  90. package/dist/esm/tab-panel/tab-panel.js +0 -9
  91. package/dist/esm/tab-panel/tab-panel.js.map +0 -1
  92. package/dist/esm/tab-panel/tab-panel.styles.d.ts +0 -1
  93. package/dist/esm/tab-panel/tab-panel.styles.js +0 -12
  94. package/dist/esm/tab-panel/tab-panel.styles.js.map +0 -1
  95. package/dist/esm/tab-panel/tab-panel.template.d.ts +0 -7
  96. package/dist/esm/tab-panel/tab-panel.template.js +0 -13
  97. package/dist/esm/tab-panel/tab-panel.template.js.map +0 -1
  98. package/dist/esm/tabs/define.d.ts +0 -1
  99. package/dist/esm/tabs/define.js +0 -7
  100. package/dist/esm/tabs/define.js.map +0 -1
  101. package/dist/esm/tabs/index.d.ts +0 -6
  102. package/dist/esm/tabs/index.js +0 -6
  103. package/dist/esm/tabs/index.js.map +0 -1
  104. package/dist/esm/tabs/tabs.base.d.ts +0 -90
  105. package/dist/esm/tabs/tabs.base.js +0 -279
  106. package/dist/esm/tabs/tabs.base.js.map +0 -1
  107. package/dist/esm/tabs/tabs.bench.d.ts +0 -3
  108. package/dist/esm/tabs/tabs.bench.js +0 -32
  109. package/dist/esm/tabs/tabs.bench.js.map +0 -1
  110. package/dist/esm/tabs/tabs.d.ts +0 -100
  111. package/dist/esm/tabs/tabs.definition.d.ts +0 -5
  112. package/dist/esm/tabs/tabs.definition.js +0 -13
  113. package/dist/esm/tabs/tabs.definition.js.map +0 -1
  114. package/dist/esm/tabs/tabs.js +0 -180
  115. package/dist/esm/tabs/tabs.js.map +0 -1
  116. package/dist/esm/tabs/tabs.options.d.ts +0 -32
  117. package/dist/esm/tabs/tabs.options.js +0 -16
  118. package/dist/esm/tabs/tabs.options.js.map +0 -1
  119. package/dist/esm/tabs/tabs.styles.d.ts +0 -1
  120. package/dist/esm/tabs/tabs.styles.js +0 -230
  121. package/dist/esm/tabs/tabs.styles.js.map +0 -1
  122. package/dist/esm/tabs/tabs.template.d.ts +0 -8
  123. package/dist/esm/tabs/tabs.template.js +0 -19
  124. package/dist/esm/tabs/tabs.template.js.map +0 -1
@@ -3943,70 +3943,70 @@ const FASTElement = Object.assign(createFASTElement(HTMLElement), {
3943
3943
  compose
3944
3944
  });
3945
3945
 
3946
- var __defProp$R = Object.defineProperty;
3947
- var __getOwnPropDesc$R = Object.getOwnPropertyDescriptor;
3948
- var __decorateClass$R = (decorators, target, key, kind) => {
3949
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$R(target, key) : target;
3946
+ var __defProp$P = Object.defineProperty;
3947
+ var __getOwnPropDesc$P = Object.getOwnPropertyDescriptor;
3948
+ var __decorateClass$P = (decorators, target, key, kind) => {
3949
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$P(target, key) : target;
3950
3950
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
3951
- if (kind && result) __defProp$R(target, key, result);
3951
+ if (kind && result) __defProp$P(target, key, result);
3952
3952
  return result;
3953
3953
  };
3954
3954
  class ARIAGlobalStatesAndProperties {}
3955
- __decorateClass$R([attr({
3955
+ __decorateClass$P([attr({
3956
3956
  attribute: "aria-atomic"
3957
3957
  })], ARIAGlobalStatesAndProperties.prototype, "ariaAtomic", 2);
3958
- __decorateClass$R([attr({
3958
+ __decorateClass$P([attr({
3959
3959
  attribute: "aria-busy"
3960
3960
  })], ARIAGlobalStatesAndProperties.prototype, "ariaBusy", 2);
3961
- __decorateClass$R([attr({
3961
+ __decorateClass$P([attr({
3962
3962
  attribute: "aria-controls"
3963
3963
  })], ARIAGlobalStatesAndProperties.prototype, "ariaControls", 2);
3964
- __decorateClass$R([attr({
3964
+ __decorateClass$P([attr({
3965
3965
  attribute: "aria-current"
3966
3966
  })], ARIAGlobalStatesAndProperties.prototype, "ariaCurrent", 2);
3967
- __decorateClass$R([attr({
3967
+ __decorateClass$P([attr({
3968
3968
  attribute: "aria-describedby"
3969
3969
  })], ARIAGlobalStatesAndProperties.prototype, "ariaDescribedby", 2);
3970
- __decorateClass$R([attr({
3970
+ __decorateClass$P([attr({
3971
3971
  attribute: "aria-details"
3972
3972
  })], ARIAGlobalStatesAndProperties.prototype, "ariaDetails", 2);
3973
- __decorateClass$R([attr({
3973
+ __decorateClass$P([attr({
3974
3974
  attribute: "aria-disabled"
3975
3975
  })], ARIAGlobalStatesAndProperties.prototype, "ariaDisabled", 2);
3976
- __decorateClass$R([attr({
3976
+ __decorateClass$P([attr({
3977
3977
  attribute: "aria-errormessage"
3978
3978
  })], ARIAGlobalStatesAndProperties.prototype, "ariaErrormessage", 2);
3979
- __decorateClass$R([attr({
3979
+ __decorateClass$P([attr({
3980
3980
  attribute: "aria-flowto"
3981
3981
  })], ARIAGlobalStatesAndProperties.prototype, "ariaFlowto", 2);
3982
- __decorateClass$R([attr({
3982
+ __decorateClass$P([attr({
3983
3983
  attribute: "aria-haspopup"
3984
3984
  })], ARIAGlobalStatesAndProperties.prototype, "ariaHaspopup", 2);
3985
- __decorateClass$R([attr({
3985
+ __decorateClass$P([attr({
3986
3986
  attribute: "aria-hidden"
3987
3987
  })], ARIAGlobalStatesAndProperties.prototype, "ariaHidden", 2);
3988
- __decorateClass$R([attr({
3988
+ __decorateClass$P([attr({
3989
3989
  attribute: "aria-invalid"
3990
3990
  })], ARIAGlobalStatesAndProperties.prototype, "ariaInvalid", 2);
3991
- __decorateClass$R([attr({
3991
+ __decorateClass$P([attr({
3992
3992
  attribute: "aria-keyshortcuts"
3993
3993
  })], ARIAGlobalStatesAndProperties.prototype, "ariaKeyshortcuts", 2);
3994
- __decorateClass$R([attr({
3994
+ __decorateClass$P([attr({
3995
3995
  attribute: "aria-label"
3996
3996
  })], ARIAGlobalStatesAndProperties.prototype, "ariaLabel", 2);
3997
- __decorateClass$R([attr({
3997
+ __decorateClass$P([attr({
3998
3998
  attribute: "aria-labelledby"
3999
3999
  })], ARIAGlobalStatesAndProperties.prototype, "ariaLabelledby", 2);
4000
- __decorateClass$R([attr({
4000
+ __decorateClass$P([attr({
4001
4001
  attribute: "aria-live"
4002
4002
  })], ARIAGlobalStatesAndProperties.prototype, "ariaLive", 2);
4003
- __decorateClass$R([attr({
4003
+ __decorateClass$P([attr({
4004
4004
  attribute: "aria-owns"
4005
4005
  })], ARIAGlobalStatesAndProperties.prototype, "ariaOwns", 2);
4006
- __decorateClass$R([attr({
4006
+ __decorateClass$P([attr({
4007
4007
  attribute: "aria-relevant"
4008
4008
  })], ARIAGlobalStatesAndProperties.prototype, "ariaRelevant", 2);
4009
- __decorateClass$R([attr({
4009
+ __decorateClass$P([attr({
4010
4010
  attribute: "aria-roledescription"
4011
4011
  })], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", 2);
4012
4012
 
@@ -4273,12 +4273,12 @@ function applyMixins(derivedCtor, ...baseCtors) {
4273
4273
  });
4274
4274
  }
4275
4275
 
4276
- var __defProp$Q = Object.defineProperty;
4277
- var __getOwnPropDesc$Q = Object.getOwnPropertyDescriptor;
4278
- var __decorateClass$Q = (decorators, target, key, kind) => {
4279
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Q(target, key) : target;
4276
+ var __defProp$O = Object.defineProperty;
4277
+ var __getOwnPropDesc$O = Object.getOwnPropertyDescriptor;
4278
+ var __decorateClass$O = (decorators, target, key, kind) => {
4279
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$O(target, key) : target;
4280
4280
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4281
- if (kind && result) __defProp$Q(target, key, result);
4281
+ if (kind && result) __defProp$O(target, key, result);
4282
4282
  return result;
4283
4283
  };
4284
4284
  class BaseAccordionItem extends FASTElement {
@@ -4296,25 +4296,25 @@ class BaseAccordionItem extends FASTElement {
4296
4296
  this.id = uniqueId$1("accordion-");
4297
4297
  }
4298
4298
  }
4299
- __decorateClass$Q([attr({
4299
+ __decorateClass$O([attr({
4300
4300
  attribute: "heading-level",
4301
4301
  mode: "fromView",
4302
4302
  converter: nullableNumberConverter
4303
4303
  })], BaseAccordionItem.prototype, "headinglevel", 2);
4304
- __decorateClass$Q([attr({
4304
+ __decorateClass$O([attr({
4305
4305
  mode: "boolean"
4306
4306
  })], BaseAccordionItem.prototype, "expanded", 2);
4307
- __decorateClass$Q([attr({
4307
+ __decorateClass$O([attr({
4308
4308
  mode: "boolean"
4309
4309
  })], BaseAccordionItem.prototype, "disabled", 2);
4310
- __decorateClass$Q([attr], BaseAccordionItem.prototype, "id", 2);
4310
+ __decorateClass$O([attr], BaseAccordionItem.prototype, "id", 2);
4311
4311
 
4312
- var __defProp$P = Object.defineProperty;
4313
- var __getOwnPropDesc$P = Object.getOwnPropertyDescriptor;
4314
- var __decorateClass$P = (decorators, target, key, kind) => {
4315
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$P(target, key) : target;
4312
+ var __defProp$N = Object.defineProperty;
4313
+ var __getOwnPropDesc$N = Object.getOwnPropertyDescriptor;
4314
+ var __decorateClass$N = (decorators, target, key, kind) => {
4315
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$N(target, key) : target;
4316
4316
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4317
- if (kind && result) __defProp$P(target, key, result);
4317
+ if (kind && result) __defProp$N(target, key, result);
4318
4318
  return result;
4319
4319
  };
4320
4320
  class AccordionItem extends BaseAccordionItem {
@@ -4323,11 +4323,11 @@ class AccordionItem extends BaseAccordionItem {
4323
4323
  this.block = false;
4324
4324
  }
4325
4325
  }
4326
- __decorateClass$P([attr], AccordionItem.prototype, "size", 2);
4327
- __decorateClass$P([attr({
4326
+ __decorateClass$N([attr], AccordionItem.prototype, "size", 2);
4327
+ __decorateClass$N([attr({
4328
4328
  attribute: "marker-position"
4329
4329
  })], AccordionItem.prototype, "markerPosition", 2);
4330
- __decorateClass$P([attr({
4330
+ __decorateClass$N([attr({
4331
4331
  mode: "boolean"
4332
4332
  })], AccordionItem.prototype, "block", 2);
4333
4333
  applyMixins(AccordionItem, StartEnd);
@@ -4578,7 +4578,7 @@ const curveEasyEaseMax = "var(--curveEasyEaseMax)";
4578
4578
  const curveEasyEase = "var(--curveEasyEase)";
4579
4579
  const curveLinear = "var(--curveLinear)";
4580
4580
 
4581
- const styles$G = css`
4581
+ const styles$E = css`
4582
4582
  ${display("block")}
4583
4583
 
4584
4584
  :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([disabled]) .button{color:${colorNeutralForegroundDisabled}}:host([disabled]) svg{filter:invert(89%) sepia(0%) saturate(569%) hue-rotate(155deg) brightness(88%) contrast(87%)}:host([expanded]) .content{display:block}:host([expanded]) .default-marker-collapsed,:host([expanded]) ::slotted([slot='marker-collapsed']),:host(:not([expanded])) :is(.default-marker-expanded,.content),:host(:not([expanded])) ::slotted([slot='marker-expanded']){display:none}:host([expanded]) ::slotted([slot='marker-expanded']),:host(:not([expanded])) ::slotted([slot='marker-collapsed']){display:flex}.heading{font-size:${fontSizeBase300};line-height:${lineHeightBase300}}:host([size='small']) .heading{font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']) .heading{font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='extra-large']) .heading{font-size:${fontSizeBase500};line-height:${lineHeightBase500}}:host([marker-position='end']) ::slotted([slot='start']){grid-column:1 / span 1}:host([marker-position='end']) :is(.default-marker-collapsed,.default-marker-expanded){grid-column:4 / span 1;padding-inline-start:${spacingHorizontalS};padding-inline-end:0}:host([marker-position='end']) .button{grid-column:2 / span 3}:host([block]){max-width:100%}:host([marker-position='end']) .heading{grid-template-columns:auto auto 28px;padding-inline:${spacingHorizontalM}}:host([marker-position='end']:has([slot='start'])) .heading{padding-inline:${spacingHorizontalMNudge} ${spacingHorizontalM}}:host([block][marker-position='end']) .heading{grid-template-columns:auto 1fr}:host([marker-position='end']) :is(.default-marker-collapsed,.default-marker-expanded){grid-column:5 / span 1}`;
@@ -4614,30 +4614,30 @@ const chevronDown20Filled = html.partial(`<svg
4614
4614
  function accordionItemTemplate(options = {}) {
4615
4615
  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>`;
4616
4616
  }
4617
- const template$H = accordionItemTemplate({
4617
+ const template$F = accordionItemTemplate({
4618
4618
  collapsedIcon: chevronRight20Filled,
4619
4619
  expandedIcon: chevronDown20Filled
4620
4620
  });
4621
4621
 
4622
- const definition$H = AccordionItem.compose({
4622
+ const definition$F = AccordionItem.compose({
4623
4623
  name: `${FluentDesignSystem.prefix}-accordion-item`,
4624
- template: template$H,
4625
- styles: styles$G
4624
+ template: template$F,
4625
+ styles: styles$E
4626
4626
  });
4627
4627
 
4628
- definition$H.define(FluentDesignSystem.registry);
4628
+ definition$F.define(FluentDesignSystem.registry);
4629
4629
 
4630
4630
  const AccordionExpandMode = {
4631
4631
  single: "single",
4632
4632
  multi: "multi"
4633
4633
  };
4634
4634
 
4635
- var __defProp$O = Object.defineProperty;
4636
- var __getOwnPropDesc$O = Object.getOwnPropertyDescriptor;
4637
- var __decorateClass$O = (decorators, target, key, kind) => {
4638
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$O(target, key) : target;
4635
+ var __defProp$M = Object.defineProperty;
4636
+ var __getOwnPropDesc$M = Object.getOwnPropertyDescriptor;
4637
+ var __decorateClass$M = (decorators, target, key, kind) => {
4638
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$M(target, key) : target;
4639
4639
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4640
- if (kind && result) __defProp$O(target, key, result);
4640
+ if (kind && result) __defProp$M(target, key, result);
4641
4641
  return result;
4642
4642
  };
4643
4643
  class Accordion extends FASTElement {
@@ -4774,12 +4774,12 @@ class Accordion extends FASTElement {
4774
4774
  });
4775
4775
  }
4776
4776
  }
4777
- __decorateClass$O([attr({
4777
+ __decorateClass$M([attr({
4778
4778
  attribute: "expand-mode"
4779
4779
  })], Accordion.prototype, "expandmode", 2);
4780
- __decorateClass$O([observable], Accordion.prototype, "slottedAccordionItems", 2);
4780
+ __decorateClass$M([observable], Accordion.prototype, "slottedAccordionItems", 2);
4781
4781
 
4782
- const styles$F = css`
4782
+ const styles$D = css`
4783
4783
  ${display("flex")}
4784
4784
 
4785
4785
  :host{flex-direction:column;width:100%;contain:content}`;
@@ -4790,15 +4790,15 @@ function accordionTemplate() {
4790
4790
  filter: elements()
4791
4791
  })}></slot></template>`;
4792
4792
  }
4793
- const template$G = accordionTemplate();
4793
+ const template$E = accordionTemplate();
4794
4794
 
4795
- const definition$G = Accordion.compose({
4795
+ const definition$E = Accordion.compose({
4796
4796
  name: `${FluentDesignSystem.prefix}-accordion`,
4797
- template: template$G,
4798
- styles: styles$F
4797
+ template: template$E,
4798
+ styles: styles$D
4799
4799
  });
4800
4800
 
4801
- definition$G.define(FluentDesignSystem.registry);
4801
+ definition$E.define(FluentDesignSystem.registry);
4802
4802
 
4803
4803
  const statesMap = /* @__PURE__ */new Map();
4804
4804
  function stateSelector(state) {
@@ -4873,12 +4873,12 @@ const AnchorAttributes = {
4873
4873
  type: "type"
4874
4874
  };
4875
4875
 
4876
- var __defProp$N = Object.defineProperty;
4877
- var __getOwnPropDesc$N = Object.getOwnPropertyDescriptor;
4878
- var __decorateClass$N = (decorators, target, key, kind) => {
4879
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$N(target, key) : target;
4876
+ var __defProp$L = Object.defineProperty;
4877
+ var __getOwnPropDesc$L = Object.getOwnPropertyDescriptor;
4878
+ var __decorateClass$L = (decorators, target, key, kind) => {
4879
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$L(target, key) : target;
4880
4880
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4881
- if (kind && result) __defProp$N(target, key, result);
4881
+ if (kind && result) __defProp$L(target, key, result);
4882
4882
  return result;
4883
4883
  };
4884
4884
  class BaseAnchor extends FASTElement {
@@ -4937,6 +4937,9 @@ class BaseAnchor extends FASTElement {
4937
4937
  clickHandler(e) {
4938
4938
  if (this.href) {
4939
4939
  const newTab = !this.isMac ? e.ctrlKey : e.metaKey;
4940
+ if (newTab) {
4941
+ e.preventDefault();
4942
+ }
4940
4943
  this.handleNavigation(newTab);
4941
4944
  }
4942
4945
  return true;
@@ -4986,21 +4989,21 @@ class BaseAnchor extends FASTElement {
4986
4989
  return proxy;
4987
4990
  }
4988
4991
  }
4989
- __decorateClass$N([attr], BaseAnchor.prototype, "download", 2);
4990
- __decorateClass$N([attr], BaseAnchor.prototype, "href", 2);
4991
- __decorateClass$N([attr], BaseAnchor.prototype, "hreflang", 2);
4992
- __decorateClass$N([attr], BaseAnchor.prototype, "ping", 2);
4993
- __decorateClass$N([attr], BaseAnchor.prototype, "referrerpolicy", 2);
4994
- __decorateClass$N([attr], BaseAnchor.prototype, "rel", 2);
4995
- __decorateClass$N([attr], BaseAnchor.prototype, "target", 2);
4996
- __decorateClass$N([attr], BaseAnchor.prototype, "type", 2);
4992
+ __decorateClass$L([attr], BaseAnchor.prototype, "download", 2);
4993
+ __decorateClass$L([attr], BaseAnchor.prototype, "href", 2);
4994
+ __decorateClass$L([attr], BaseAnchor.prototype, "hreflang", 2);
4995
+ __decorateClass$L([attr], BaseAnchor.prototype, "ping", 2);
4996
+ __decorateClass$L([attr], BaseAnchor.prototype, "referrerpolicy", 2);
4997
+ __decorateClass$L([attr], BaseAnchor.prototype, "rel", 2);
4998
+ __decorateClass$L([attr], BaseAnchor.prototype, "target", 2);
4999
+ __decorateClass$L([attr], BaseAnchor.prototype, "type", 2);
4997
5000
 
4998
- var __defProp$M = Object.defineProperty;
4999
- var __getOwnPropDesc$M = Object.getOwnPropertyDescriptor;
5000
- var __decorateClass$M = (decorators, target, key, kind) => {
5001
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$M(target, key) : target;
5001
+ var __defProp$K = Object.defineProperty;
5002
+ var __getOwnPropDesc$K = Object.getOwnPropertyDescriptor;
5003
+ var __decorateClass$K = (decorators, target, key, kind) => {
5004
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$K(target, key) : target;
5002
5005
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5003
- if (kind && result) __defProp$M(target, key, result);
5006
+ if (kind && result) __defProp$K(target, key, result);
5004
5007
  return result;
5005
5008
  };
5006
5009
  class AnchorButton extends BaseAnchor {
@@ -5041,10 +5044,10 @@ class AnchorButton extends BaseAnchor {
5041
5044
  toggleState(this.elementInternals, "icon", !!next);
5042
5045
  }
5043
5046
  }
5044
- __decorateClass$M([attr], AnchorButton.prototype, "appearance", 2);
5045
- __decorateClass$M([attr], AnchorButton.prototype, "shape", 2);
5046
- __decorateClass$M([attr], AnchorButton.prototype, "size", 2);
5047
- __decorateClass$M([attr({
5047
+ __decorateClass$K([attr], AnchorButton.prototype, "appearance", 2);
5048
+ __decorateClass$K([attr], AnchorButton.prototype, "shape", 2);
5049
+ __decorateClass$K([attr], AnchorButton.prototype, "size", 2);
5050
+ __decorateClass$K([attr({
5048
5051
  attribute: "icon-only",
5049
5052
  mode: "boolean"
5050
5053
  })], AnchorButton.prototype, "iconOnly", 2);
@@ -5054,13 +5057,13 @@ const baseButtonStyles = css`
5054
5057
  ${display("inline-flex")}
5055
5058
 
5056
5059
  :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){:host{transition-duration:0.01ms}}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}::slotted([slot='end']),[slot='end']{flex-shrink:0;margin-inline-start:var(--icon-spacing)}:host([icon-only]){min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS};min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]){min-width:24px;max-width:24px}:host([size='large']){min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]){min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host(:is([shape='circular'],[shape='circular']:focus-visible)){border-radius:${borderRadiusCircular}}:host(:is([shape='square'],[shape='square']:focus-visible)){border-radius:${borderRadiusNone}}:host([appearance='primary']){background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:is(:hover,:hover:active):not(:focus-visible)){border-color:transparent}:host([appearance='primary']:is(:hover,:hover:active)){color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active){background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']:focus-visible){border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host([appearance='outline']){background-color:${colorTransparentBackground}}:host([appearance='outline']:hover){background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active){background-color:${colorTransparentBackgroundPressed}}:host([appearance='subtle']){background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host([appearance='subtle']:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host([appearance='subtle']:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']){background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover){background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active){background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host(:is([appearance='transparent'],[appearance='transparent']:is(:hover,:active))){border-color:transparent}`;
5057
- const styles$E = css`
5060
+ const styles$C = css`
5058
5061
  ${baseButtonStyles}
5059
5062
 
5060
5063
  :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([appearance='primary']:is(:disabled,[disabled-focusable])),:host([appearance='primary']:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){border-color:transparent}:host([appearance='outline']:is(:disabled,[disabled-focusable])),:host([appearance='outline']:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){background-color:${colorTransparentBackground}}:host([appearance='subtle']:is(:disabled,[disabled-focusable])),:host([appearance='subtle']:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){background-color:${colorTransparentBackground};border-color:transparent}:host([appearance='transparent']:is(:disabled,[disabled-focusable])),:host([appearance='transparent']:is(:disabled,[disabled-focusable]):is(:hover,:hover:active)){border-color:transparent;background-color:${colorTransparentBackground}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
5061
5064
  :host{background-color:ButtonFace;color:ButtonText}:host(:is(:hover,:focus-visible)){border-color:Highlight !important}:host([appearance='primary']:not(:is(:hover,:focus-visible))){background-color:Highlight;color:HighlightText;forced-color-adjust:none}:host(:is(:disabled,[disabled-focusable],[appearance]:disabled,[appearance][disabled-focusable])){background-color:ButtonFace;color:GrayText;border-color:ButtonText}`));
5062
5065
 
5063
- const styles$D = css`
5066
+ const styles$B = css`
5064
5067
  ${baseButtonStyles}
5065
5068
 
5066
5069
  ::slotted(a){position:absolute;inset:0}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -5069,15 +5072,15 @@ const styles$D = css`
5069
5072
  function anchorTemplate$1(options = {}) {
5070
5073
  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>`;
5071
5074
  }
5072
- const template$F = anchorTemplate$1();
5075
+ const template$D = anchorTemplate$1();
5073
5076
 
5074
- const definition$F = AnchorButton.compose({
5077
+ const definition$D = AnchorButton.compose({
5075
5078
  name: `${FluentDesignSystem.prefix}-anchor-button`,
5076
- template: template$F,
5077
- styles: styles$D
5079
+ template: template$D,
5080
+ styles: styles$B
5078
5081
  });
5079
5082
 
5080
- definition$F.define(FluentDesignSystem.registry);
5083
+ definition$D.define(FluentDesignSystem.registry);
5081
5084
 
5082
5085
  const UNWANTED_ENCLOSURES_REGEX = /[\(\[\{][^\)\]\}]*[\)\]\}]/g;
5083
5086
  const UNWANTED_CHARS_REGEX = /[\0-\u001F\!-/:-@\[-`\{-\u00BF\u0250-\u036F\uD800-\uFFFF]/g;
@@ -5120,12 +5123,12 @@ function getInitials(displayName, isRtl, options) {
5120
5123
  return getInitialsLatin(displayName, isRtl, options?.firstInitialOnly);
5121
5124
  }
5122
5125
 
5123
- var __defProp$L = Object.defineProperty;
5124
- var __getOwnPropDesc$L = Object.getOwnPropertyDescriptor;
5125
- var __decorateClass$L = (decorators, target, key, kind) => {
5126
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$L(target, key) : target;
5126
+ var __defProp$J = Object.defineProperty;
5127
+ var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
5128
+ var __decorateClass$J = (decorators, target, key, kind) => {
5129
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
5127
5130
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5128
- if (kind && result) __defProp$L(target, key, result);
5131
+ if (kind && result) __defProp$J(target, key, result);
5129
5132
  return result;
5130
5133
  };
5131
5134
  class BaseAvatar extends FASTElement {
@@ -5139,9 +5142,43 @@ class BaseAvatar extends FASTElement {
5139
5142
  this.elementInternals = this.attachInternals();
5140
5143
  this.elementInternals.role = "img";
5141
5144
  }
5145
+ connectedCallback() {
5146
+ super.connectedCallback();
5147
+ this.slotchangeHandler();
5148
+ }
5149
+ disconnectedCallback() {
5150
+ this.abortSignal?.abort();
5151
+ this.abortSignal = void 0;
5152
+ super.disconnectedCallback();
5153
+ }
5154
+ /**
5155
+ * Removes any empty text nodes from the default slot when the slotted content changes.
5156
+ *
5157
+ * @param e - The event object
5158
+ * @internal
5159
+ */
5160
+ slotchangeHandler() {
5161
+ this.normalize();
5162
+ const elements = this.defaultSlot.assignedElements();
5163
+ if (!elements.length && !this.innerText.trim()) {
5164
+ const nodes = this.defaultSlot.assignedNodes();
5165
+ nodes.filter(node => node.nodeType === Node.TEXT_NODE).forEach(node => {
5166
+ this.removeChild(node);
5167
+ });
5168
+ }
5169
+ Updates.enqueue(() => {
5170
+ if (!this.abortSignal || this.abortSignal.signal.aborted) {
5171
+ this.abortSignal = new AbortController();
5172
+ }
5173
+ this.defaultSlot.addEventListener("slotchange", () => this.slotchangeHandler(), {
5174
+ once: true,
5175
+ signal: this.abortSignal.signal
5176
+ });
5177
+ });
5178
+ }
5142
5179
  }
5143
- __decorateClass$L([attr], BaseAvatar.prototype, "name", 2);
5144
- __decorateClass$L([attr], BaseAvatar.prototype, "initials", 2);
5180
+ __decorateClass$J([attr], BaseAvatar.prototype, "name", 2);
5181
+ __decorateClass$J([attr], BaseAvatar.prototype, "initials", 2);
5145
5182
 
5146
5183
  const AvatarNamedColor = {
5147
5184
  darkRed: "dark-red",
@@ -5182,12 +5219,12 @@ const AvatarColor = {
5182
5219
  ...AvatarNamedColor
5183
5220
  };
5184
5221
 
5185
- var __defProp$K = Object.defineProperty;
5186
- var __getOwnPropDesc$K = Object.getOwnPropertyDescriptor;
5187
- var __decorateClass$K = (decorators, target, key, kind) => {
5188
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$K(target, key) : target;
5222
+ var __defProp$I = Object.defineProperty;
5223
+ var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
5224
+ var __decorateClass$I = (decorators, target, key, kind) => {
5225
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
5189
5226
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5190
- if (kind && result) __defProp$K(target, key, result);
5227
+ if (kind && result) __defProp$I(target, key, result);
5191
5228
  return result;
5192
5229
  };
5193
5230
  const _Avatar = class _Avatar extends BaseAvatar {
@@ -5214,7 +5251,7 @@ const _Avatar = class _Avatar extends BaseAvatar {
5214
5251
  return;
5215
5252
  }
5216
5253
  const size = this.size ?? 32;
5217
- return this.initials ?? getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
5254
+ return this.initials || getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
5218
5255
  firstInitialOnly: size <= 16
5219
5256
  });
5220
5257
  }
@@ -5242,14 +5279,14 @@ const _Avatar = class _Avatar extends BaseAvatar {
5242
5279
  * An array of the available Avatar named colors
5243
5280
  */
5244
5281
  _Avatar.colors = Object.values(AvatarNamedColor);
5245
- __decorateClass$K([attr], _Avatar.prototype, "active", 2);
5246
- __decorateClass$K([attr], _Avatar.prototype, "shape", 2);
5247
- __decorateClass$K([attr], _Avatar.prototype, "appearance", 2);
5248
- __decorateClass$K([attr({
5282
+ __decorateClass$I([attr], _Avatar.prototype, "active", 2);
5283
+ __decorateClass$I([attr], _Avatar.prototype, "shape", 2);
5284
+ __decorateClass$I([attr], _Avatar.prototype, "appearance", 2);
5285
+ __decorateClass$I([attr({
5249
5286
  converter: nullableNumberConverter
5250
5287
  })], _Avatar.prototype, "size", 2);
5251
- __decorateClass$K([attr], _Avatar.prototype, "color", 2);
5252
- __decorateClass$K([attr({
5288
+ __decorateClass$I([attr], _Avatar.prototype, "color", 2);
5289
+ __decorateClass$I([attr({
5253
5290
  attribute: "color-id"
5254
5291
  })], _Avatar.prototype, "colorId", 2);
5255
5292
  let Avatar = _Avatar;
@@ -5274,22 +5311,22 @@ const animations = {
5274
5311
  normalEase: curveEasyEase,
5275
5312
  nullEasing: curveLinear
5276
5313
  };
5277
- const styles$C = css`
5278
- ${display("inline-flex")} :host{position:relative;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};font-size:${fontSizeBase300};border-radius:${borderRadiusCircular};color:${colorNeutralForeground3};background-color:${colorNeutralBackground6};contain:layout style}.default-icon,::slotted(svg){width:20px;height:20px;font-size:20px}::slotted(img){box-sizing:border-box;width:100%;height:100%;border-radius:${borderRadiusCircular}}::slotted([slot='badge']){position:absolute;bottom:0;right:0;box-shadow:0 0 0 ${strokeWidthThin}) ${colorNeutralBackground1}}:host([size='64']) ::slotted([slot='badge']),:host([size='72']) ::slotted([slot='badge']),:host([size='96']) ::slotted([slot='badge']),:host([size='120']) ::slotted([slot='badge']),:host([size='128']) ::slotted([slot='badge']){box-shadow:0 0 0 ${strokeWidthThick}) ${colorNeutralBackground1}}:host([size='16']),:host([size='20']),:host([size='24']){font-size:${fontSizeBase100};font-weight:${fontWeightRegular}}:host([size='16']){width:16px;height:16px}:host([size='20']){width:20px;height:20px}:host([size='24']){width:24px;height:24px}:host([size='16']) .default-icon,:host([size='16']) ::slotted(svg){width:12px;height:12px;font-size:12px}:host([size='20']) .default-icon,:host([size='24']) .default-icon,:host([size='20']) ::slotted(svg),:host([size='24']) ::slotted(svg){width:16px;height:16px;font-size:16px}:host([size='28']){width:28px;height:28px;font-size:${fontSizeBase200}}:host([size='36']){width:36px;height:36px}:host([size='40']){width:40px;height:40px}:host([size='48']),:host([size='56']){font-size:${fontSizeBase400}}:host([size='48']){width:48px;height:48px}:host([size='48']) .default-icon,:host([size='48']) ::slotted(svg){width:24px;height:24px;font-size:24px}:host([size='56']){width:56px;height:56px}:host([size='56']) .default-icon,:host([size='56']) ::slotted(svg){width:28px;height:28px;font-size:28px}:host([size='64']),:host([size='72']),:host([size='96']){font-size:${fontSizeBase500}}:host([size='64']) .default-icon,:host([size='72']) .default-icon,:host([size='64']) ::slotted(svg),:host([size='72']) ::slotted(svg){width:32px;height:32px;font-size:32px}:host([size='64']){width:64px;height:64px}:host([size='72']){width:72px;height:72px}:host([size='96']){width:96px;height:96px}:host([size='96']) .default-icon,:host([size='120']) .default-icon,:host([size='128']) .default-icon,:host([size='96']) ::slotted(svg),:host([size='120']) ::slotted(svg),:host([size='128']) ::slotted(svg){width:48px;height:48px;font-size:48px}:host([size='120']),:host([size='128']){font-size:${fontSizeBase600}}:host([size='120']){width:120px;height:120px}:host([size='128']){width:128px;height:128px}:host([shape='square']){border-radius:${borderRadiusMedium}}:host([shape='square'][size='20']),:host([shape='square'][size='24']){border-radius:${borderRadiusSmall}}:host([shape='square'][size='56']),:host([shape='square'][size='64']),:host([shape='square'][size='72']){border-radius:${borderRadiusLarge}}:host([shape='square'][size='96']),:host([shape='square'][size='120']),:host([shape='square'][size='128']){border-radius:${borderRadiusXLarge}}:host([data-color='brand']){color:${colorNeutralForegroundStaticInverted};background-color:${colorBrandBackgroundStatic}}:host([data-color='dark-red']){color:${colorPaletteDarkRedForeground2};background-color:${colorPaletteDarkRedBackground2}}:host([data-color='cranberry']){color:${colorPaletteCranberryForeground2};background-color:${colorPaletteCranberryBackground2}}:host([data-color='red']){color:${colorPaletteRedForeground2};background-color:${colorPaletteRedBackground2}}:host([data-color='pumpkin']){color:${colorPalettePumpkinForeground2};background-color:${colorPalettePumpkinBackground2}}:host([data-color='peach']){color:${colorPalettePeachForeground2};background-color:${colorPalettePeachBackground2}}:host([data-color='marigold']){color:${colorPaletteMarigoldForeground2};background-color:${colorPaletteMarigoldBackground2}}:host([data-color='gold']){color:${colorPaletteGoldForeground2};background-color:${colorPaletteGoldBackground2}}:host([data-color='brass']){color:${colorPaletteBrassForeground2};background-color:${colorPaletteBrassBackground2}}:host([data-color='brown']){color:${colorPaletteBrownForeground2};background-color:${colorPaletteBrownBackground2}}:host([data-color='forest']){color:${colorPaletteForestForeground2};background-color:${colorPaletteForestBackground2}}:host([data-color='seafoam']){color:${colorPaletteSeafoamForeground2};background-color:${colorPaletteSeafoamBackground2}}:host([data-color='dark-green']){color:${colorPaletteDarkGreenForeground2};background-color:${colorPaletteDarkGreenBackground2}}:host([data-color='light-teal']){color:${colorPaletteLightTealForeground2};background-color:${colorPaletteLightTealBackground2}}:host([data-color='teal']){color:${colorPaletteTealForeground2};background-color:${colorPaletteTealBackground2}}:host([data-color='steel']){color:${colorPaletteSteelForeground2};background-color:${colorPaletteSteelBackground2}}:host([data-color='blue']){color:${colorPaletteBlueForeground2};background-color:${colorPaletteBlueBackground2}}:host([data-color='royal-blue']){color:${colorPaletteRoyalBlueForeground2};background-color:${colorPaletteRoyalBlueBackground2}}:host([data-color='cornflower']){color:${colorPaletteCornflowerForeground2};background-color:${colorPaletteCornflowerBackground2}}:host([data-color='navy']){color:${colorPaletteNavyForeground2};background-color:${colorPaletteNavyBackground2}}:host([data-color='lavender']){color:${colorPaletteLavenderForeground2};background-color:${colorPaletteLavenderBackground2}}:host([data-color='purple']){color:${colorPalettePurpleForeground2};background-color:${colorPalettePurpleBackground2}}:host([data-color='grape']){color:${colorPaletteGrapeForeground2};background-color:${colorPaletteGrapeBackground2}}:host([data-color='lilac']){color:${colorPaletteLilacForeground2};background-color:${colorPaletteLilacBackground2}}:host([data-color='pink']){color:${colorPalettePinkForeground2};background-color:${colorPalettePinkBackground2}}:host([data-color='magenta']){color:${colorPaletteMagentaForeground2};background-color:${colorPaletteMagentaBackground2}}:host([data-color='plum']){color:${colorPalettePlumForeground2};background-color:${colorPalettePlumBackground2}}:host([data-color='beige']){color:${colorPaletteBeigeForeground2};background-color:${colorPaletteBeigeBackground2}}:host([data-color='mink']){color:${colorPaletteMinkForeground2};background-color:${colorPaletteMinkBackground2}}:host([data-color='platinum']){color:${colorPalettePlatinumForeground2};background-color:${colorPalettePlatinumBackground2}}:host([data-color='anchor']){color:${colorPaletteAnchorForeground2};background-color:${colorPaletteAnchorBackground2}}:host([active]){transform:perspective(1px);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;transition-property:margin,opacity;transition-duration:${durationUltraSlow}),${durationSlower};transition-delay:${animations.fastEase}),${animations.nullEasing})}:host([active])::before{box-shadow:${shadow8};border-style:solid;border-color:${colorBrandBackgroundStatic}}:host([active][appearance='shadow'])::before{border-style:none;border-color:none}:host([active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThick});border-width:${strokeWidthThick}}:host([size='56'][active]:not([appearance='shadow']))::before,:host([size='64'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThicker});border-width:${strokeWidthThicker}}:host([size='72'][active]:not([appearance='shadow']))::before,:host([size='96'][active]:not([appearance='shadow']))::before,:host([size='120'][active]:not([appearance='shadow']))::before,:host([size='128'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThickest});border-width:${strokeWidthThickest}}:host([size='20'][active][appearance])::before,:host([size='24'][active][appearance])::before,:host([size='28'][active][appearance])::before{box-shadow:${shadow4}}:host([size='56'][active][appearance])::before,:host([size='64'][active][appearance])::before{box-shadow:${shadow16}}:host([size='72'][active][appearance])::before,:host([size='96'][active][appearance])::before,:host([size='120'][active][appearance])::before,:host([size='128'][active][appearance])::before{box-shadow:${shadow28}}:host([active][appearance='ring'])::before{box-shadow:none}:host([active='inactive']){opacity:0.8;transform:scale(0.875);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}:host([active='inactive'])::before{margin:0;opacity:0;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}@media screen and (prefers-reduced-motion:reduce){:host([active]){transition-duration:0.01ms}:host([active])::before{transition-duration:0.01ms;transition-delay:0.01ms}}`;
5314
+ const styles$A = css`
5315
+ ${display("inline-flex")} :host{position:relative;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};font-size:${fontSizeBase300};border-radius:${borderRadiusCircular};color:${colorNeutralForeground3};background-color:${colorNeutralBackground6};contain:layout style}.default-icon,::slotted(svg){width:20px;height:20px;font-size:20px}::slotted(img){box-sizing:border-box;width:100%;height:100%;border-radius:${borderRadiusCircular}}::slotted([slot='badge']){position:absolute;bottom:0;right:0;box-shadow:0 0 0 ${strokeWidthThin} ${colorNeutralBackground1}}:host([size='64']) ::slotted([slot='badge']),:host([size='72']) ::slotted([slot='badge']),:host([size='96']) ::slotted([slot='badge']),:host([size='120']) ::slotted([slot='badge']),:host([size='128']) ::slotted([slot='badge']){box-shadow:0 0 0 ${strokeWidthThick} ${colorNeutralBackground1}}:host([size='16']),:host([size='20']),:host([size='24']){font-size:${fontSizeBase100};font-weight:${fontWeightRegular}}:host([size='16']){width:16px;height:16px}:host([size='20']){width:20px;height:20px}:host([size='24']){width:24px;height:24px}:host([size='16']) .default-icon,:host([size='16']) ::slotted(svg){width:12px;height:12px;font-size:12px}:host([size='20']) .default-icon,:host([size='24']) .default-icon,:host([size='20']) ::slotted(svg),:host([size='24']) ::slotted(svg){width:16px;height:16px;font-size:16px}:host([size='28']){width:28px;height:28px;font-size:${fontSizeBase200}}:host([size='36']){width:36px;height:36px}:host([size='40']){width:40px;height:40px}:host([size='48']),:host([size='56']){font-size:${fontSizeBase400}}:host([size='48']){width:48px;height:48px}:host([size='48']) .default-icon,:host([size='48']) ::slotted(svg){width:24px;height:24px;font-size:24px}:host([size='56']){width:56px;height:56px}:host([size='56']) .default-icon,:host([size='56']) ::slotted(svg){width:28px;height:28px;font-size:28px}:host([size='64']),:host([size='72']),:host([size='96']){font-size:${fontSizeBase500}}:host([size='64']) .default-icon,:host([size='72']) .default-icon,:host([size='64']) ::slotted(svg),:host([size='72']) ::slotted(svg){width:32px;height:32px;font-size:32px}:host([size='64']){width:64px;height:64px}:host([size='72']){width:72px;height:72px}:host([size='96']){width:96px;height:96px}:host([size='96']) .default-icon,:host([size='120']) .default-icon,:host([size='128']) .default-icon,:host([size='96']) ::slotted(svg),:host([size='120']) ::slotted(svg),:host([size='128']) ::slotted(svg){width:48px;height:48px;font-size:48px}:host([size='120']),:host([size='128']){font-size:${fontSizeBase600}}:host([size='120']){width:120px;height:120px}:host([size='128']){width:128px;height:128px}:host([shape='square']){border-radius:${borderRadiusMedium}}:host([shape='square'][size='20']),:host([shape='square'][size='24']){border-radius:${borderRadiusSmall}}:host([shape='square'][size='56']),:host([shape='square'][size='64']),:host([shape='square'][size='72']){border-radius:${borderRadiusLarge}}:host([shape='square'][size='96']),:host([shape='square'][size='120']),:host([shape='square'][size='128']){border-radius:${borderRadiusXLarge}}:host([data-color='brand']){color:${colorNeutralForegroundStaticInverted};background-color:${colorBrandBackgroundStatic}}:host([data-color='dark-red']){color:${colorPaletteDarkRedForeground2};background-color:${colorPaletteDarkRedBackground2}}:host([data-color='cranberry']){color:${colorPaletteCranberryForeground2};background-color:${colorPaletteCranberryBackground2}}:host([data-color='red']){color:${colorPaletteRedForeground2};background-color:${colorPaletteRedBackground2}}:host([data-color='pumpkin']){color:${colorPalettePumpkinForeground2};background-color:${colorPalettePumpkinBackground2}}:host([data-color='peach']){color:${colorPalettePeachForeground2};background-color:${colorPalettePeachBackground2}}:host([data-color='marigold']){color:${colorPaletteMarigoldForeground2};background-color:${colorPaletteMarigoldBackground2}}:host([data-color='gold']){color:${colorPaletteGoldForeground2};background-color:${colorPaletteGoldBackground2}}:host([data-color='brass']){color:${colorPaletteBrassForeground2};background-color:${colorPaletteBrassBackground2}}:host([data-color='brown']){color:${colorPaletteBrownForeground2};background-color:${colorPaletteBrownBackground2}}:host([data-color='forest']){color:${colorPaletteForestForeground2};background-color:${colorPaletteForestBackground2}}:host([data-color='seafoam']){color:${colorPaletteSeafoamForeground2};background-color:${colorPaletteSeafoamBackground2}}:host([data-color='dark-green']){color:${colorPaletteDarkGreenForeground2};background-color:${colorPaletteDarkGreenBackground2}}:host([data-color='light-teal']){color:${colorPaletteLightTealForeground2};background-color:${colorPaletteLightTealBackground2}}:host([data-color='teal']){color:${colorPaletteTealForeground2};background-color:${colorPaletteTealBackground2}}:host([data-color='steel']){color:${colorPaletteSteelForeground2};background-color:${colorPaletteSteelBackground2}}:host([data-color='blue']){color:${colorPaletteBlueForeground2};background-color:${colorPaletteBlueBackground2}}:host([data-color='royal-blue']){color:${colorPaletteRoyalBlueForeground2};background-color:${colorPaletteRoyalBlueBackground2}}:host([data-color='cornflower']){color:${colorPaletteCornflowerForeground2};background-color:${colorPaletteCornflowerBackground2}}:host([data-color='navy']){color:${colorPaletteNavyForeground2};background-color:${colorPaletteNavyBackground2}}:host([data-color='lavender']){color:${colorPaletteLavenderForeground2};background-color:${colorPaletteLavenderBackground2}}:host([data-color='purple']){color:${colorPalettePurpleForeground2};background-color:${colorPalettePurpleBackground2}}:host([data-color='grape']){color:${colorPaletteGrapeForeground2};background-color:${colorPaletteGrapeBackground2}}:host([data-color='lilac']){color:${colorPaletteLilacForeground2};background-color:${colorPaletteLilacBackground2}}:host([data-color='pink']){color:${colorPalettePinkForeground2};background-color:${colorPalettePinkBackground2}}:host([data-color='magenta']){color:${colorPaletteMagentaForeground2};background-color:${colorPaletteMagentaBackground2}}:host([data-color='plum']){color:${colorPalettePlumForeground2};background-color:${colorPalettePlumBackground2}}:host([data-color='beige']){color:${colorPaletteBeigeForeground2};background-color:${colorPaletteBeigeBackground2}}:host([data-color='mink']){color:${colorPaletteMinkForeground2};background-color:${colorPaletteMinkBackground2}}:host([data-color='platinum']){color:${colorPalettePlatinumForeground2};background-color:${colorPalettePlatinumBackground2}}:host([data-color='anchor']){color:${colorPaletteAnchorForeground2};background-color:${colorPaletteAnchorBackground2}}:host([active]){transform:perspective(1px);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{box-shadow:${shadow8};border-style:solid;border-color:${colorBrandBackgroundStatic}}:host([active][appearance='shadow'])::before{border-style:none;border-color:none}:host([active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThick});border-width:${strokeWidthThick}}:host([size='56'][active]:not([appearance='shadow']))::before,:host([size='64'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThicker});border-width:${strokeWidthThicker}}:host([size='72'][active]:not([appearance='shadow']))::before,:host([size='96'][active]:not([appearance='shadow']))::before,:host([size='120'][active]:not([appearance='shadow']))::before,:host([size='128'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThickest});border-width:${strokeWidthThickest}}:host([size='20'][active][appearance])::before,:host([size='24'][active][appearance])::before,:host([size='28'][active][appearance])::before{box-shadow:${shadow4}}:host([size='56'][active][appearance])::before,:host([size='64'][active][appearance])::before{box-shadow:${shadow16}}:host([size='72'][active][appearance])::before,:host([size='96'][active][appearance])::before,:host([size='120'][active][appearance])::before,:host([size='128'][active][appearance])::before{box-shadow:${shadow28}}:host([active][appearance='ring'])::before{box-shadow:none}:host([active='inactive']){opacity:0.8;transform:scale(0.875);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}:host([active='inactive'])::before{margin:0;opacity:0;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}@media screen and (prefers-reduced-motion:reduce){:host([active]){transition-duration:0.01ms}:host([active])::before{transition-duration:0.01ms;transition-delay:0.01ms}}`;
5279
5316
 
5280
5317
  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>`;
5281
5318
  function avatarTemplate() {
5282
- return html`<slot>${x => x.name || x.initials ? x.generateInitials() : defaultIconTemplate}</slot><slot name="badge"></slot>`;
5319
+ return html`<slot ${ref("defaultSlot")}>${x => x.name || x.initials ? x.generateInitials() : defaultIconTemplate}</slot><slot name="badge"></slot>`;
5283
5320
  }
5284
- const template$E = avatarTemplate();
5321
+ const template$C = avatarTemplate();
5285
5322
 
5286
- const definition$E = Avatar.compose({
5323
+ const definition$C = Avatar.compose({
5287
5324
  name: `${FluentDesignSystem.prefix}-avatar`,
5288
- template: template$E,
5289
- styles: styles$C
5325
+ template: template$C,
5326
+ styles: styles$A
5290
5327
  });
5291
5328
 
5292
- definition$E.define(FluentDesignSystem.registry);
5329
+ definition$C.define(FluentDesignSystem.registry);
5293
5330
 
5294
5331
  const BadgeAppearance = {
5295
5332
  filled: "filled",
@@ -5308,12 +5345,12 @@ const BadgeColor = {
5308
5345
  warning: "warning"
5309
5346
  };
5310
5347
 
5311
- var __defProp$J = Object.defineProperty;
5312
- var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
5313
- var __decorateClass$J = (decorators, target, key, kind) => {
5314
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
5348
+ var __defProp$H = Object.defineProperty;
5349
+ var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
5350
+ var __decorateClass$H = (decorators, target, key, kind) => {
5351
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
5315
5352
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5316
- if (kind && result) __defProp$J(target, key, result);
5353
+ if (kind && result) __defProp$H(target, key, result);
5317
5354
  return result;
5318
5355
  };
5319
5356
  class Badge extends FASTElement {
@@ -5323,10 +5360,10 @@ class Badge extends FASTElement {
5323
5360
  this.color = BadgeColor.brand;
5324
5361
  }
5325
5362
  }
5326
- __decorateClass$J([attr], Badge.prototype, "appearance", 2);
5327
- __decorateClass$J([attr], Badge.prototype, "color", 2);
5328
- __decorateClass$J([attr], Badge.prototype, "shape", 2);
5329
- __decorateClass$J([attr], Badge.prototype, "size", 2);
5363
+ __decorateClass$H([attr], Badge.prototype, "appearance", 2);
5364
+ __decorateClass$H([attr], Badge.prototype, "color", 2);
5365
+ __decorateClass$H([attr], Badge.prototype, "shape", 2);
5366
+ __decorateClass$H([attr], Badge.prototype, "size", 2);
5330
5367
  applyMixins(Badge, StartEnd);
5331
5368
 
5332
5369
  const badgeBaseStyles = css.partial`
@@ -5680,7 +5717,7 @@ css.partial`
5680
5717
  font-weight: ${fontWeightSemibold};
5681
5718
  `;
5682
5719
 
5683
- const styles$B = css`
5720
+ const styles$z = css`
5684
5721
  :host([shape='square']){border-radius:${borderRadiusNone}}:host([shape='rounded']){border-radius:${borderRadiusMedium}}:host([shape='rounded']:is([size='tiny'],[size='extra-small'],[size='small'])){border-radius:${borderRadiusSmall}}${badgeTintStyles}
5685
5722
  ${badgeOutlineStyles}
5686
5723
  ${badgeGhostStyles}
@@ -5693,22 +5730,22 @@ const styles$B = css`
5693
5730
  function badgeTemplate(options = {}) {
5694
5731
  return html` ${startSlotTemplate(options)}<slot>${staticallyCompose(options.defaultContent)}</slot>${endSlotTemplate(options)} `;
5695
5732
  }
5696
- const template$D = badgeTemplate();
5733
+ const template$B = badgeTemplate();
5697
5734
 
5698
- const definition$D = Badge.compose({
5735
+ const definition$B = Badge.compose({
5699
5736
  name: `${FluentDesignSystem.prefix}-badge`,
5700
- template: template$D,
5701
- styles: styles$B
5737
+ template: template$B,
5738
+ styles: styles$z
5702
5739
  });
5703
5740
 
5704
- definition$D.define(FluentDesignSystem.registry);
5741
+ definition$B.define(FluentDesignSystem.registry);
5705
5742
 
5706
- var __defProp$I = Object.defineProperty;
5707
- var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
5708
- var __decorateClass$I = (decorators, target, key, kind) => {
5709
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
5743
+ var __defProp$G = Object.defineProperty;
5744
+ var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
5745
+ var __decorateClass$G = (decorators, target, key, kind) => {
5746
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
5710
5747
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5711
- if (kind && result) __defProp$I(target, key, result);
5748
+ if (kind && result) __defProp$G(target, key, result);
5712
5749
  return result;
5713
5750
  };
5714
5751
  class BaseButton extends FASTElement {
@@ -5923,46 +5960,46 @@ class BaseButton extends FASTElement {
5923
5960
  * @public
5924
5961
  */
5925
5962
  BaseButton.formAssociated = true;
5926
- __decorateClass$I([attr({
5963
+ __decorateClass$G([attr({
5927
5964
  mode: "boolean"
5928
5965
  })], BaseButton.prototype, "autofocus", 2);
5929
- __decorateClass$I([observable], BaseButton.prototype, "defaultSlottedContent", 2);
5930
- __decorateClass$I([attr({
5966
+ __decorateClass$G([observable], BaseButton.prototype, "defaultSlottedContent", 2);
5967
+ __decorateClass$G([attr({
5931
5968
  mode: "boolean"
5932
5969
  })], BaseButton.prototype, "disabled", 2);
5933
- __decorateClass$I([attr({
5970
+ __decorateClass$G([attr({
5934
5971
  attribute: "disabled-focusable",
5935
5972
  mode: "boolean"
5936
5973
  })], BaseButton.prototype, "disabledFocusable", 2);
5937
- __decorateClass$I([attr({
5974
+ __decorateClass$G([attr({
5938
5975
  attribute: "formaction"
5939
5976
  })], BaseButton.prototype, "formAction", 2);
5940
- __decorateClass$I([attr({
5977
+ __decorateClass$G([attr({
5941
5978
  attribute: "form"
5942
5979
  })], BaseButton.prototype, "formAttribute", 2);
5943
- __decorateClass$I([attr({
5980
+ __decorateClass$G([attr({
5944
5981
  attribute: "formenctype"
5945
5982
  })], BaseButton.prototype, "formEnctype", 2);
5946
- __decorateClass$I([attr({
5983
+ __decorateClass$G([attr({
5947
5984
  attribute: "formmethod"
5948
5985
  })], BaseButton.prototype, "formMethod", 2);
5949
- __decorateClass$I([attr({
5986
+ __decorateClass$G([attr({
5950
5987
  attribute: "formnovalidate",
5951
5988
  mode: "boolean"
5952
5989
  })], BaseButton.prototype, "formNoValidate", 2);
5953
- __decorateClass$I([attr({
5990
+ __decorateClass$G([attr({
5954
5991
  attribute: "formtarget"
5955
5992
  })], BaseButton.prototype, "formTarget", 2);
5956
- __decorateClass$I([attr], BaseButton.prototype, "name", 2);
5957
- __decorateClass$I([attr], BaseButton.prototype, "type", 2);
5958
- __decorateClass$I([attr], BaseButton.prototype, "value", 2);
5993
+ __decorateClass$G([attr], BaseButton.prototype, "name", 2);
5994
+ __decorateClass$G([attr], BaseButton.prototype, "type", 2);
5995
+ __decorateClass$G([attr], BaseButton.prototype, "value", 2);
5959
5996
 
5960
- var __defProp$H = Object.defineProperty;
5961
- var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
5962
- var __decorateClass$H = (decorators, target, key, kind) => {
5963
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
5997
+ var __defProp$F = Object.defineProperty;
5998
+ var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
5999
+ var __decorateClass$F = (decorators, target, key, kind) => {
6000
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
5964
6001
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5965
- if (kind && result) __defProp$H(target, key, result);
6002
+ if (kind && result) __defProp$F(target, key, result);
5966
6003
  return result;
5967
6004
  };
5968
6005
  class Button extends BaseButton {
@@ -5971,10 +6008,10 @@ class Button extends BaseButton {
5971
6008
  this.iconOnly = false;
5972
6009
  }
5973
6010
  }
5974
- __decorateClass$H([attr], Button.prototype, "appearance", 2);
5975
- __decorateClass$H([attr], Button.prototype, "shape", 2);
5976
- __decorateClass$H([attr], Button.prototype, "size", 2);
5977
- __decorateClass$H([attr({
6011
+ __decorateClass$F([attr], Button.prototype, "appearance", 2);
6012
+ __decorateClass$F([attr], Button.prototype, "shape", 2);
6013
+ __decorateClass$F([attr], Button.prototype, "size", 2);
6014
+ __decorateClass$F([attr({
5978
6015
  attribute: "icon-only",
5979
6016
  mode: "boolean"
5980
6017
  })], Button.prototype, "iconOnly", 2);
@@ -5983,22 +6020,22 @@ applyMixins(Button, StartEnd);
5983
6020
  function buttonTemplate$1(options = {}) {
5984
6021
  return html`<template @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>`;
5985
6022
  }
5986
- const template$C = buttonTemplate$1();
6023
+ const template$A = buttonTemplate$1();
5987
6024
 
5988
- const definition$C = Button.compose({
6025
+ const definition$A = Button.compose({
5989
6026
  name: `${FluentDesignSystem.prefix}-button`,
5990
- template: template$C,
5991
- styles: styles$E
6027
+ template: template$A,
6028
+ styles: styles$C
5992
6029
  });
5993
6030
 
5994
- definition$C.define(FluentDesignSystem.registry);
6031
+ definition$A.define(FluentDesignSystem.registry);
5995
6032
 
5996
- var __defProp$G = Object.defineProperty;
5997
- var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
5998
- var __decorateClass$G = (decorators, target, key, kind) => {
5999
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
6033
+ var __defProp$E = Object.defineProperty;
6034
+ var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
6035
+ var __decorateClass$E = (decorators, target, key, kind) => {
6036
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
6000
6037
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6001
- if (kind && result) __defProp$G(target, key, result);
6038
+ if (kind && result) __defProp$E(target, key, result);
6002
6039
  return result;
6003
6040
  };
6004
6041
  class BaseCheckbox extends FASTElement {
@@ -6349,36 +6386,36 @@ class BaseCheckbox extends FASTElement {
6349
6386
  * @public
6350
6387
  */
6351
6388
  BaseCheckbox.formAssociated = true;
6352
- __decorateClass$G([attr({
6389
+ __decorateClass$E([attr({
6353
6390
  mode: "boolean"
6354
6391
  })], BaseCheckbox.prototype, "autofocus", 2);
6355
- __decorateClass$G([observable], BaseCheckbox.prototype, "disabled", 2);
6356
- __decorateClass$G([attr({
6392
+ __decorateClass$E([observable], BaseCheckbox.prototype, "disabled", 2);
6393
+ __decorateClass$E([attr({
6357
6394
  attribute: "disabled",
6358
6395
  mode: "boolean"
6359
6396
  })], BaseCheckbox.prototype, "disabledAttribute", 2);
6360
- __decorateClass$G([attr({
6397
+ __decorateClass$E([attr({
6361
6398
  attribute: "form"
6362
6399
  })], BaseCheckbox.prototype, "formAttribute", 2);
6363
- __decorateClass$G([attr({
6400
+ __decorateClass$E([attr({
6364
6401
  attribute: "checked",
6365
6402
  mode: "boolean"
6366
6403
  })], BaseCheckbox.prototype, "initialChecked", 2);
6367
- __decorateClass$G([attr({
6404
+ __decorateClass$E([attr({
6368
6405
  attribute: "value",
6369
6406
  mode: "fromView"
6370
6407
  })], BaseCheckbox.prototype, "initialValue", 2);
6371
- __decorateClass$G([attr], BaseCheckbox.prototype, "name", 2);
6372
- __decorateClass$G([attr({
6408
+ __decorateClass$E([attr], BaseCheckbox.prototype, "name", 2);
6409
+ __decorateClass$E([attr({
6373
6410
  mode: "boolean"
6374
6411
  })], BaseCheckbox.prototype, "required", 2);
6375
6412
 
6376
- var __defProp$F = Object.defineProperty;
6377
- var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
6378
- var __decorateClass$F = (decorators, target, key, kind) => {
6379
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
6413
+ var __defProp$D = Object.defineProperty;
6414
+ var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
6415
+ var __decorateClass$D = (decorators, target, key, kind) => {
6416
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
6380
6417
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6381
- if (kind && result) __defProp$F(target, key, result);
6418
+ if (kind && result) __defProp$D(target, key, result);
6382
6419
  return result;
6383
6420
  };
6384
6421
  class Checkbox extends BaseCheckbox {
@@ -6421,9 +6458,9 @@ class Checkbox extends BaseCheckbox {
6421
6458
  super.toggleChecked(force);
6422
6459
  }
6423
6460
  }
6424
- __decorateClass$F([observable], Checkbox.prototype, "indeterminate", 2);
6425
- __decorateClass$F([attr], Checkbox.prototype, "shape", 2);
6426
- __decorateClass$F([attr], Checkbox.prototype, "size", 2);
6461
+ __decorateClass$D([observable], Checkbox.prototype, "indeterminate", 2);
6462
+ __decorateClass$D([attr], Checkbox.prototype, "shape", 2);
6463
+ __decorateClass$D([attr], Checkbox.prototype, "size", 2);
6427
6464
 
6428
6465
  const activeState = stateSelector("active");
6429
6466
  const badInputState = stateSelector("bad-input");
@@ -6454,7 +6491,7 @@ const userInvalidState = stateSelector("user-invalid");
6454
6491
  const validState = stateSelector("valid");
6455
6492
  const valueMissingState = stateSelector("value-missing");
6456
6493
 
6457
- const styles$A = css`
6494
+ const styles$y = css`
6458
6495
  ${display("inline-flex")}
6459
6496
 
6460
6497
  :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([size='large']){--size:20px}:host([size='large']) ::slotted([slot='checked-indicator']),:host([size='large']) .checked-indicator{width:16px}:host([shape='circular']),:host([shape='circular']) .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`
@@ -6480,23 +6517,23 @@ const indeterminateIndicator = html.partial(/* html */
6480
6517
  function checkboxTemplate(options = {}) {
6481
6518
  return html`<template @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>`;
6482
6519
  }
6483
- const template$B = checkboxTemplate({
6520
+ const template$z = checkboxTemplate({
6484
6521
  checkedIndicator: checkedIndicator$2,
6485
6522
  indeterminateIndicator
6486
6523
  });
6487
6524
 
6488
- const definition$B = Checkbox.compose({
6525
+ const definition$z = Checkbox.compose({
6489
6526
  name: `${FluentDesignSystem.prefix}-checkbox`,
6490
- template: template$B,
6491
- styles: styles$A
6527
+ template: template$z,
6528
+ styles: styles$y
6492
6529
  });
6493
6530
 
6494
- definition$B.define(FluentDesignSystem.registry);
6531
+ definition$z.define(FluentDesignSystem.registry);
6495
6532
 
6496
6533
  class CompoundButton extends Button {}
6497
6534
 
6498
- const styles$z = css`
6499
- ${styles$E}
6535
+ const styles$x = css`
6536
+ ${styles$C}
6500
6537
 
6501
6538
  :host,:host(:is([size])){gap:12px;height:auto;padding-top:14px;padding-inline:12px;padding-bottom:16px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}.content{display:flex;flex-direction:column;text-align:start}::slotted([slot='description']){color:${colorNeutralForeground2};line-height:100%;font-size:${fontSizeBase200};font-weight:${fontWeightRegular}}::slotted(svg),:host([size='large']) ::slotted(svg){font-size:40px;height:40px;width:40px}:host(:hover) ::slotted([slot='description']){color:${colorNeutralForeground2Hover}}:host(:active) ::slotted([slot='description']){color:${colorNeutralForeground2Pressed}}:host(:is([appearance='primary'],[appearance='primary']:is(:hover,:active))) ::slotted([slot='description']){color:${colorNeutralForegroundOnBrand}}:host(:is([appearance='transparent'],[appearance='subtle'],[appearance='subtle']:is(:hover,:active)))
6502
6539
  ::slotted([slot='description']){color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) ::slotted([slot='description']){color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:active) ::slotted([slot='description']){color:${colorNeutralForeground2BrandPressed}}:host(:is(:disabled,:disabled[appearance],[disabled-focusable],[disabled-focusable][appearance]))
@@ -6507,22 +6544,22 @@ const styles$z = css`
6507
6544
  function buttonTemplate(options = {}) {
6508
6545
  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>`;
6509
6546
  }
6510
- const template$A = buttonTemplate();
6547
+ const template$y = buttonTemplate();
6511
6548
 
6512
- const definition$A = CompoundButton.compose({
6549
+ const definition$y = CompoundButton.compose({
6513
6550
  name: `${FluentDesignSystem.prefix}-compound-button`,
6514
- template: template$A,
6515
- styles: styles$z
6551
+ template: template$y,
6552
+ styles: styles$x
6516
6553
  });
6517
6554
 
6518
- definition$A.define(FluentDesignSystem.registry);
6555
+ definition$y.define(FluentDesignSystem.registry);
6519
6556
 
6520
- var __defProp$E = Object.defineProperty;
6521
- var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
6522
- var __decorateClass$E = (decorators, target, key, kind) => {
6523
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
6557
+ var __defProp$C = Object.defineProperty;
6558
+ var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
6559
+ var __decorateClass$C = (decorators, target, key, kind) => {
6560
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
6524
6561
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6525
- if (kind && result) __defProp$E(target, key, result);
6562
+ if (kind && result) __defProp$C(target, key, result);
6526
6563
  return result;
6527
6564
  };
6528
6565
  class CounterBadge extends FASTElement {
@@ -6546,10 +6583,11 @@ class CounterBadge extends FASTElement {
6546
6583
  this.setCount();
6547
6584
  }
6548
6585
  /**
6549
- * @internal
6550
6586
  * Function to set the count
6551
6587
  * This is the default slotted content for the counter badge
6552
6588
  * If children are slotted, that will override the value returned
6589
+ *
6590
+ * @internal
6553
6591
  */
6554
6592
  setCount() {
6555
6593
  const count = this.count ?? 0;
@@ -6559,27 +6597,27 @@ class CounterBadge extends FASTElement {
6559
6597
  return;
6560
6598
  }
6561
6599
  }
6562
- __decorateClass$E([attr], CounterBadge.prototype, "appearance", 2);
6563
- __decorateClass$E([attr], CounterBadge.prototype, "color", 2);
6564
- __decorateClass$E([attr], CounterBadge.prototype, "shape", 2);
6565
- __decorateClass$E([attr], CounterBadge.prototype, "size", 2);
6566
- __decorateClass$E([attr({
6600
+ __decorateClass$C([attr], CounterBadge.prototype, "appearance", 2);
6601
+ __decorateClass$C([attr], CounterBadge.prototype, "color", 2);
6602
+ __decorateClass$C([attr], CounterBadge.prototype, "shape", 2);
6603
+ __decorateClass$C([attr], CounterBadge.prototype, "size", 2);
6604
+ __decorateClass$C([attr({
6567
6605
  converter: nullableNumberConverter
6568
6606
  })], CounterBadge.prototype, "count", 2);
6569
- __decorateClass$E([attr({
6607
+ __decorateClass$C([attr({
6570
6608
  attribute: "overflow-count",
6571
6609
  converter: nullableNumberConverter
6572
6610
  })], CounterBadge.prototype, "overflowCount", 2);
6573
- __decorateClass$E([attr({
6611
+ __decorateClass$C([attr({
6574
6612
  attribute: "show-zero",
6575
6613
  mode: "boolean"
6576
6614
  })], CounterBadge.prototype, "showZero", 2);
6577
- __decorateClass$E([attr({
6615
+ __decorateClass$C([attr({
6578
6616
  mode: "boolean"
6579
6617
  })], CounterBadge.prototype, "dot", 2);
6580
6618
  applyMixins(CounterBadge, StartEnd);
6581
6619
 
6582
- const styles$y = css`
6620
+ const styles$w = css`
6583
6621
  :host([shape='rounded']){border-radius:${borderRadiusMedium}}:host([shape='rounded']:is([size='tiny'],[size='extra-small'],[size='small'])){border-radius:${borderRadiusSmall}}${badgeSizeStyles}
6584
6622
  ${badgeFilledStyles}
6585
6623
  ${badgeGhostStyles}
@@ -6592,15 +6630,15 @@ function composeTemplate(options = {}) {
6592
6630
  defaultContent: html`${x => x.setCount()}`
6593
6631
  });
6594
6632
  }
6595
- const template$z = composeTemplate();
6633
+ const template$x = composeTemplate();
6596
6634
 
6597
- const definition$z = CounterBadge.compose({
6635
+ const definition$x = CounterBadge.compose({
6598
6636
  name: `${FluentDesignSystem.prefix}-counter-badge`,
6599
- template: template$z,
6600
- styles: styles$y
6637
+ template: template$x,
6638
+ styles: styles$w
6601
6639
  });
6602
6640
 
6603
- definition$z.define(FluentDesignSystem.registry);
6641
+ definition$x.define(FluentDesignSystem.registry);
6604
6642
 
6605
6643
  const DialogType = {
6606
6644
  modal: "modal",
@@ -6614,12 +6652,12 @@ function isDialog(element, tagName = "-dialog") {
6614
6652
  return element.tagName.toLowerCase().endsWith(tagName);
6615
6653
  }
6616
6654
 
6617
- var __defProp$D = Object.defineProperty;
6618
- var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
6619
- var __decorateClass$D = (decorators, target, key, kind) => {
6620
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
6655
+ var __defProp$B = Object.defineProperty;
6656
+ var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
6657
+ var __decorateClass$B = (decorators, target, key, kind) => {
6658
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
6621
6659
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6622
- if (kind && result) __defProp$D(target, key, result);
6660
+ if (kind && result) __defProp$B(target, key, result);
6623
6661
  return result;
6624
6662
  };
6625
6663
  class Dialog extends FASTElement {
@@ -6627,9 +6665,10 @@ class Dialog extends FASTElement {
6627
6665
  super(...arguments);
6628
6666
  this.type = DialogType.modal;
6629
6667
  /**
6630
- * @public
6631
6668
  * Method to emit an event before the dialog's open state changes
6632
6669
  * HTML spec proposal: https://github.com/whatwg/html/issues/9733
6670
+ *
6671
+ * @public
6633
6672
  */
6634
6673
  this.emitBeforeToggle = () => {
6635
6674
  this.$emit("beforetoggle", {
@@ -6638,9 +6677,10 @@ class Dialog extends FASTElement {
6638
6677
  });
6639
6678
  };
6640
6679
  /**
6641
- * @public
6642
6680
  * Method to emit an event after the dialog's open state changes
6643
6681
  * HTML spec proposal: https://github.com/whatwg/html/issues/9733
6682
+ *
6683
+ * @public
6644
6684
  */
6645
6685
  this.emitToggle = () => {
6646
6686
  this.$emit("toggle", {
@@ -6670,8 +6710,9 @@ class Dialog extends FASTElement {
6670
6710
  this.typeChanged(void 0, this.type);
6671
6711
  }
6672
6712
  /**
6673
- * @public
6674
6713
  * Method to show the dialog
6714
+ *
6715
+ * @public
6675
6716
  */
6676
6717
  show() {
6677
6718
  Updates.enqueue(() => {
@@ -6685,8 +6726,9 @@ class Dialog extends FASTElement {
6685
6726
  });
6686
6727
  }
6687
6728
  /**
6688
- * @public
6689
6729
  * Method to hide the dialog
6730
+ *
6731
+ * @public
6690
6732
  */
6691
6733
  hide() {
6692
6734
  this.emitBeforeToggle();
@@ -6694,8 +6736,9 @@ class Dialog extends FASTElement {
6694
6736
  this.emitToggle();
6695
6737
  }
6696
6738
  /**
6697
- * @public
6698
6739
  * Handles click events on the dialog overlay for light-dismiss
6740
+ *
6741
+ * @public
6699
6742
  * @param event - The click event
6700
6743
  * @returns boolean
6701
6744
  */
@@ -6706,28 +6749,31 @@ class Dialog extends FASTElement {
6706
6749
  return true;
6707
6750
  }
6708
6751
  }
6709
- __decorateClass$D([observable], Dialog.prototype, "dialog", 2);
6710
- __decorateClass$D([attr({
6752
+ __decorateClass$B([observable], Dialog.prototype, "dialog", 2);
6753
+ __decorateClass$B([attr({
6711
6754
  attribute: "aria-describedby"
6712
6755
  })], Dialog.prototype, "ariaDescribedby", 2);
6713
- __decorateClass$D([attr({
6756
+ __decorateClass$B([attr({
6714
6757
  attribute: "aria-labelledby"
6715
6758
  })], Dialog.prototype, "ariaLabelledby", 2);
6716
- __decorateClass$D([attr], Dialog.prototype, "type", 2);
6759
+ __decorateClass$B([attr({
6760
+ attribute: "aria-label"
6761
+ })], Dialog.prototype, "ariaLabel", 2);
6762
+ __decorateClass$B([attr], Dialog.prototype, "type", 2);
6717
6763
 
6718
- const template$y = html`<dialog class="dialog" part="dialog" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${x => x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
6764
+ const template$w = html`<dialog class="dialog" part="dialog" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${x => x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
6719
6765
 
6720
- const styles$x = css`
6766
+ const styles$v = css`
6721
6767
  @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:100vh;padding:0;width:100%;max-width:600px}:host([type='non-modal']) dialog{inset:0;position:fixed;z-index:2;overflow:auto}@supports (max-height:1dvh){dialog{max-height:100dvh}}}@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`
6722
6768
  @layer base{dialog{border:${strokeWidthThin} solid ${colorTransparentStroke}}}`));
6723
6769
 
6724
- const definition$y = Dialog.compose({
6770
+ const definition$w = Dialog.compose({
6725
6771
  name: `${FluentDesignSystem.prefix}-dialog`,
6726
- template: template$y,
6727
- styles: styles$x
6772
+ template: template$w,
6773
+ styles: styles$v
6728
6774
  });
6729
6775
 
6730
- definition$y.define(FluentDesignSystem.registry);
6776
+ definition$w.define(FluentDesignSystem.registry);
6731
6777
 
6732
6778
  class DialogBody extends FASTElement {
6733
6779
  /**
@@ -6747,20 +6793,20 @@ class DialogBody extends FASTElement {
6747
6793
  }
6748
6794
  }
6749
6795
 
6750
- const template$x = html`<template><div class="title" part="title"><slot name="title"></slot><slot name="title-action"></slot><slot name="close" @click="${(x, c) => x.clickHandler(c.event)}"></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div></template>`;
6796
+ const template$v = html`<template><div class="title" part="title"><slot name="title"></slot><slot name="title-action"></slot><slot name="close" @click="${(x, c) => x.clickHandler(c.event)}"></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div></template>`;
6751
6797
 
6752
- const styles$w = css`
6798
+ const styles$u = css`
6753
6799
  ${display("grid")}
6754
6800
 
6755
6801
  :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}}.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}}::slotted([slot='title-action']){margin-inline-start:auto}::slotted([slot='title']){font:inherit;padding:0;margin:0}:not(:has(:is([slot='title'],[slot='title-action']))) .title{justify-content:end}@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}}}@media (min-height:480px){.title{position:sticky;z-index:1}.actions{position:sticky;z-index:2}`;
6756
6802
 
6757
- const definition$x = DialogBody.compose({
6803
+ const definition$v = DialogBody.compose({
6758
6804
  name: `${FluentDesignSystem.prefix}-dialog-body`,
6759
- template: template$x,
6760
- styles: styles$w
6805
+ template: template$v,
6806
+ styles: styles$u
6761
6807
  });
6762
6808
 
6763
- definition$x.define(FluentDesignSystem.registry);
6809
+ definition$v.define(FluentDesignSystem.registry);
6764
6810
 
6765
6811
  const DividerRole = {
6766
6812
  /**
@@ -6774,12 +6820,12 @@ const DividerRole = {
6774
6820
  };
6775
6821
  const DividerOrientation = Orientation;
6776
6822
 
6777
- var __defProp$C = Object.defineProperty;
6778
- var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
6779
- var __decorateClass$C = (decorators, target, key, kind) => {
6780
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
6823
+ var __defProp$A = Object.defineProperty;
6824
+ var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
6825
+ var __decorateClass$A = (decorators, target, key, kind) => {
6826
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
6781
6827
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6782
- if (kind && result) __defProp$C(target, key, result);
6828
+ if (kind && result) __defProp$A(target, key, result);
6783
6829
  return result;
6784
6830
  };
6785
6831
  class BaseDivider extends FASTElement {
@@ -6826,44 +6872,44 @@ class BaseDivider extends FASTElement {
6826
6872
  swapStates(this.elementInternals, previous, next, DividerOrientation);
6827
6873
  }
6828
6874
  }
6829
- __decorateClass$C([attr], BaseDivider.prototype, "role", 2);
6830
- __decorateClass$C([attr], BaseDivider.prototype, "orientation", 2);
6875
+ __decorateClass$A([attr], BaseDivider.prototype, "role", 2);
6876
+ __decorateClass$A([attr], BaseDivider.prototype, "orientation", 2);
6831
6877
 
6832
- var __defProp$B = Object.defineProperty;
6833
- var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
6834
- var __decorateClass$B = (decorators, target, key, kind) => {
6835
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
6878
+ var __defProp$z = Object.defineProperty;
6879
+ var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
6880
+ var __decorateClass$z = (decorators, target, key, kind) => {
6881
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
6836
6882
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6837
- if (kind && result) __defProp$B(target, key, result);
6883
+ if (kind && result) __defProp$z(target, key, result);
6838
6884
  return result;
6839
6885
  };
6840
6886
  class Divider extends BaseDivider {}
6841
- __decorateClass$B([attr({
6887
+ __decorateClass$z([attr({
6842
6888
  attribute: "align-content"
6843
6889
  })], Divider.prototype, "alignContent", 2);
6844
- __decorateClass$B([attr], Divider.prototype, "appearance", 2);
6845
- __decorateClass$B([attr({
6890
+ __decorateClass$z([attr], Divider.prototype, "appearance", 2);
6891
+ __decorateClass$z([attr({
6846
6892
  mode: "boolean"
6847
6893
  })], Divider.prototype, "inset", 2);
6848
6894
 
6849
6895
  function dividerTemplate() {
6850
6896
  return html`<slot></slot>`;
6851
6897
  }
6852
- const template$w = dividerTemplate();
6898
+ const template$u = dividerTemplate();
6853
6899
 
6854
- const styles$v = css`
6900
+ const styles$t = css`
6855
6901
  ${display("flex")}
6856
6902
 
6857
6903
  :host{contain:content}:host::after,:host::before{align-self:center;background:${colorNeutralStroke2};box-sizing:border-box;content:'';display:flex;flex-grow:1;height:${strokeWidthThin}}:host([inset]){padding:0 12px}:host ::slotted(*){color:${colorNeutralForeground2};font-family:${fontFamilyBase};font-size:${fontSizeBase200};font-weight:${fontWeightRegular};margin:0;padding:0 12px}:host([align-content='start'])::before,:host([align-content='end'])::after{flex-basis:12px;flex-grow:0;flex-shrink:0}:host([orientation='vertical']){align-items:center;flex-direction:column;height:100%;min-height:84px}:host([orientation='vertical']):empty{min-height:20px}:host([orientation='vertical'][inset])::before{margin-top:12px}:host([orientation='vertical'][inset])::after{margin-bottom:12px}:host([orientation='vertical']):empty::before,:host([orientation='vertical']):empty::after{height:10px;min-height:10px;flex-grow:0}:host([orientation='vertical'])::before,:host([orientation='vertical'])::after{width:${strokeWidthThin};min-height:20px;height:100%}:host([orientation='vertical']) ::slotted(*){display:flex;flex-direction:column;padding:12px 0;line-height:20px}:host([orientation='vertical'][align-content='start'])::before{min-height:8px}:host([orientation='vertical'][align-content='end'])::after{min-height:8px}:host([appearance='strong'])::before,:host([appearance='strong'])::after{background:${colorNeutralStroke1}}:host([appearance='strong']) ::slotted(*){color:${colorNeutralForeground1}}:host([appearance='brand'])::before,:host([appearance='brand'])::after{background:${colorBrandStroke1}}:host([appearance='brand']) ::slotted(*){color:${colorBrandForeground1}}:host([appearance='subtle'])::before,:host([appearance='subtle'])::after{background:${colorNeutralStroke3}}:host([appearance='subtle']) ::slotted(*){color:${colorNeutralForeground3}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
6858
6904
  :host([appearance='strong'])::before,:host([appearance='strong'])::after,:host([appearance='brand'])::before,:host([appearance='brand'])::after,:host([appearance='subtle'])::before,:host([appearance='subtle'])::after,:host::after,:host::before{background:WindowText;color:WindowText}`));
6859
6905
 
6860
- const definition$w = Divider.compose({
6906
+ const definition$u = Divider.compose({
6861
6907
  name: `${FluentDesignSystem.prefix}-divider`,
6862
- template: template$w,
6863
- styles: styles$v
6908
+ template: template$u,
6909
+ styles: styles$t
6864
6910
  });
6865
6911
 
6866
- definition$w.define(FluentDesignSystem.registry);
6912
+ definition$u.define(FluentDesignSystem.registry);
6867
6913
 
6868
6914
  const DrawerPosition = {
6869
6915
  start: "start",
@@ -6881,12 +6927,12 @@ const DrawerType = {
6881
6927
  inline: "inline"
6882
6928
  };
6883
6929
 
6884
- var __defProp$A = Object.defineProperty;
6885
- var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
6886
- var __decorateClass$A = (decorators, target, key, kind) => {
6887
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
6930
+ var __defProp$y = Object.defineProperty;
6931
+ var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
6932
+ var __decorateClass$y = (decorators, target, key, kind) => {
6933
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
6888
6934
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6889
- if (kind && result) __defProp$A(target, key, result);
6935
+ if (kind && result) __defProp$y(target, key, result);
6890
6936
  return result;
6891
6937
  };
6892
6938
  class Drawer extends FASTElement {
@@ -6896,9 +6942,10 @@ class Drawer extends FASTElement {
6896
6942
  this.position = DrawerPosition.start;
6897
6943
  this.size = DrawerSize.medium;
6898
6944
  /**
6899
- * @public
6900
6945
  * Method to emit an event after the dialog's open state changes
6901
6946
  * HTML spec proposal: https://github.com/whatwg/html/issues/9733
6947
+ *
6948
+ * @public
6902
6949
  */
6903
6950
  this.emitToggle = () => {
6904
6951
  this.$emit("toggle", {
@@ -6907,9 +6954,10 @@ class Drawer extends FASTElement {
6907
6954
  });
6908
6955
  };
6909
6956
  /**
6910
- * @public
6911
6957
  * Method to emit an event before the dialog's open state changes
6912
6958
  * HTML spec proposal: https://github.com/whatwg/html/issues/9733
6959
+ *
6960
+ * @public
6913
6961
  */
6914
6962
  this.emitBeforeToggle = () => {
6915
6963
  this.$emit("beforetoggle", {
@@ -6941,8 +6989,9 @@ class Drawer extends FASTElement {
6941
6989
  this.roleAttrObserver.disconnect();
6942
6990
  }
6943
6991
  /**
6944
- * @public
6945
6992
  * Method to show the drawer
6993
+ *
6994
+ * @public
6946
6995
  */
6947
6996
  show() {
6948
6997
  Updates.enqueue(() => {
@@ -6956,8 +7005,9 @@ class Drawer extends FASTElement {
6956
7005
  });
6957
7006
  }
6958
7007
  /**
6959
- * @public
6960
7008
  * Method to hide the drawer
7009
+ *
7010
+ * @public
6961
7011
  */
6962
7012
  hide() {
6963
7013
  this.emitBeforeToggle();
@@ -6978,8 +7028,9 @@ class Drawer extends FASTElement {
6978
7028
  return true;
6979
7029
  }
6980
7030
  /**
6981
- * @public
6982
7031
  * Handles cancel events on the drawer.
7032
+ *
7033
+ * @public
6983
7034
  */
6984
7035
  cancelHandler() {
6985
7036
  this.hide();
@@ -7004,20 +7055,20 @@ class Drawer extends FASTElement {
7004
7055
  this.dialog.role = this.type === DrawerType.modal ? "dialog" : this.role;
7005
7056
  }
7006
7057
  }
7007
- __decorateClass$A([attr], Drawer.prototype, "type", 2);
7008
- __decorateClass$A([attr({
7058
+ __decorateClass$y([attr], Drawer.prototype, "type", 2);
7059
+ __decorateClass$y([attr({
7009
7060
  attribute: "aria-labelledby"
7010
7061
  })], Drawer.prototype, "ariaLabelledby", 2);
7011
- __decorateClass$A([attr({
7062
+ __decorateClass$y([attr({
7012
7063
  attribute: "aria-describedby"
7013
7064
  })], Drawer.prototype, "ariaDescribedby", 2);
7014
- __decorateClass$A([attr], Drawer.prototype, "position", 2);
7015
- __decorateClass$A([attr({
7065
+ __decorateClass$y([attr], Drawer.prototype, "position", 2);
7066
+ __decorateClass$y([attr({
7016
7067
  attribute: "size"
7017
7068
  })], Drawer.prototype, "size", 2);
7018
- __decorateClass$A([observable], Drawer.prototype, "dialog", 2);
7069
+ __decorateClass$y([observable], Drawer.prototype, "dialog", 2);
7019
7070
 
7020
- const styles$u = css`
7071
+ const styles$s = css`
7021
7072
  ${display("block")}
7022
7073
 
7023
7074
  :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}}}`;
@@ -7025,15 +7076,15 @@ const styles$u = css`
7025
7076
  function drawerTemplate() {
7026
7077
  return html`<dialog class="dialog" part="dialog" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" size="${x => x.size}" position="${x => x.position}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${x => x.cancelHandler()}" ${ref("dialog")}><slot></slot></dialog>`;
7027
7078
  }
7028
- const template$v = drawerTemplate();
7079
+ const template$t = drawerTemplate();
7029
7080
 
7030
- const definition$v = Drawer.compose({
7081
+ const definition$t = Drawer.compose({
7031
7082
  name: `${FluentDesignSystem.prefix}-drawer`,
7032
- template: template$v,
7033
- styles: styles$u
7083
+ template: template$t,
7084
+ styles: styles$s
7034
7085
  });
7035
7086
 
7036
- definition$v.define(FluentDesignSystem.registry);
7087
+ definition$t.define(FluentDesignSystem.registry);
7037
7088
 
7038
7089
  class DrawerBody extends FASTElement {
7039
7090
  /**
@@ -7053,22 +7104,22 @@ class DrawerBody extends FASTElement {
7053
7104
  }
7054
7105
  }
7055
7106
 
7056
- const styles$t = css`
7107
+ const styles$r = css`
7057
7108
  ${display("grid")}
7058
7109
  :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}}::slotted([slot='title']){font:inherit;padding:0;margin:0}`;
7059
7110
 
7060
7111
  function drawerBodyTemplate() {
7061
7112
  return html`<div class="header" part="header"><slot name="title"></slot><slot name="close" @click="${(x, c) => x.clickHandler(c.event)}"></slot></div><div class="content" part="content"><slot></slot></div><div class="footer" part="footer"><slot name="footer"></slot></div>`;
7062
7113
  }
7063
- const template$u = drawerBodyTemplate();
7114
+ const template$s = drawerBodyTemplate();
7064
7115
 
7065
- const definition$u = DrawerBody.compose({
7116
+ const definition$s = DrawerBody.compose({
7066
7117
  name: `${FluentDesignSystem.prefix}-drawer-body`,
7067
- template: template$u,
7068
- styles: styles$t
7118
+ template: template$s,
7119
+ styles: styles$r
7069
7120
  });
7070
7121
 
7071
- definition$u.define(FluentDesignSystem.registry);
7122
+ definition$s.define(FluentDesignSystem.registry);
7072
7123
 
7073
7124
  function isListbox(element, tagName = "-listbox") {
7074
7125
  if (element?.nodeType !== Node.ELEMENT_NODE) {
@@ -7152,16 +7203,16 @@ const dropdownButtonTemplate = html`<button aria-activedescendant="${x => x.acti
7152
7203
  function dropdownTemplate(options = {}) {
7153
7204
  return html`<template @click="${(x, c) => x.clickHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @mousedown="${(x, c) => x.mousedownHandler(c.event)}"><div class="control"><slot name="control" ${ref("controlSlot")}></slot><slot name="indicator" ${ref("indicatorSlot")}>${staticallyCompose(options.indicator)}</slot></div><slot @slotchange="${(x, c) => x.slotchangeHandler(c.event)}"></slot></template>`;
7154
7205
  }
7155
- const template$t = dropdownTemplate({
7206
+ const template$r = dropdownTemplate({
7156
7207
  indicator: dropdownIndicatorTemplate
7157
7208
  });
7158
7209
 
7159
- var __defProp$z = Object.defineProperty;
7160
- var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
7161
- var __decorateClass$z = (decorators, target, key, kind) => {
7162
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
7210
+ var __defProp$x = Object.defineProperty;
7211
+ var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
7212
+ var __decorateClass$x = (decorators, target, key, kind) => {
7213
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
7163
7214
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7164
- if (kind && result) __defProp$z(target, key, result);
7215
+ if (kind && result) __defProp$x(target, key, result);
7165
7216
  return result;
7166
7217
  };
7167
7218
  const _BaseDropdown = class _BaseDropdown extends FASTElement {
@@ -7877,48 +7928,48 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
7877
7928
  * @public
7878
7929
  */
7879
7930
  _BaseDropdown.formAssociated = true;
7880
- __decorateClass$z([volatile], _BaseDropdown.prototype, "activeDescendant", 1);
7881
- __decorateClass$z([observable], _BaseDropdown.prototype, "activeIndex", 2);
7882
- __decorateClass$z([attr({
7931
+ __decorateClass$x([volatile], _BaseDropdown.prototype, "activeDescendant", 1);
7932
+ __decorateClass$x([observable], _BaseDropdown.prototype, "activeIndex", 2);
7933
+ __decorateClass$x([attr({
7883
7934
  attribute: "aria-labelledby",
7884
7935
  mode: "fromView"
7885
7936
  })], _BaseDropdown.prototype, "ariaLabelledBy", 2);
7886
- __decorateClass$z([observable], _BaseDropdown.prototype, "control", 2);
7887
- __decorateClass$z([attr({
7937
+ __decorateClass$x([observable], _BaseDropdown.prototype, "control", 2);
7938
+ __decorateClass$x([attr({
7888
7939
  mode: "boolean"
7889
7940
  })], _BaseDropdown.prototype, "disabled", 2);
7890
- __decorateClass$z([volatile], _BaseDropdown.prototype, "displayValue", 1);
7891
- __decorateClass$z([attr({
7941
+ __decorateClass$x([volatile], _BaseDropdown.prototype, "displayValue", 1);
7942
+ __decorateClass$x([attr({
7892
7943
  attribute: "id"
7893
7944
  })], _BaseDropdown.prototype, "id", 2);
7894
- __decorateClass$z([observable], _BaseDropdown.prototype, "indicator", 2);
7895
- __decorateClass$z([observable], _BaseDropdown.prototype, "indicatorSlot", 2);
7896
- __decorateClass$z([attr({
7945
+ __decorateClass$x([observable], _BaseDropdown.prototype, "indicator", 2);
7946
+ __decorateClass$x([observable], _BaseDropdown.prototype, "indicatorSlot", 2);
7947
+ __decorateClass$x([attr({
7897
7948
  attribute: "value",
7898
7949
  mode: "fromView"
7899
7950
  })], _BaseDropdown.prototype, "initialValue", 2);
7900
- __decorateClass$z([observable], _BaseDropdown.prototype, "listbox", 2);
7901
- __decorateClass$z([attr({
7951
+ __decorateClass$x([observable], _BaseDropdown.prototype, "listbox", 2);
7952
+ __decorateClass$x([attr({
7902
7953
  mode: "boolean"
7903
7954
  })], _BaseDropdown.prototype, "multiple", 2);
7904
- __decorateClass$z([attr], _BaseDropdown.prototype, "name", 2);
7905
- __decorateClass$z([observable], _BaseDropdown.prototype, "open", 2);
7906
- __decorateClass$z([attr], _BaseDropdown.prototype, "placeholder", 2);
7907
- __decorateClass$z([attr({
7955
+ __decorateClass$x([attr], _BaseDropdown.prototype, "name", 2);
7956
+ __decorateClass$x([observable], _BaseDropdown.prototype, "open", 2);
7957
+ __decorateClass$x([attr], _BaseDropdown.prototype, "placeholder", 2);
7958
+ __decorateClass$x([attr({
7908
7959
  mode: "boolean"
7909
7960
  })], _BaseDropdown.prototype, "required", 2);
7910
- __decorateClass$z([attr], _BaseDropdown.prototype, "type", 2);
7911
- __decorateClass$z([attr({
7961
+ __decorateClass$x([attr], _BaseDropdown.prototype, "type", 2);
7962
+ __decorateClass$x([attr({
7912
7963
  attribute: "value"
7913
7964
  })], _BaseDropdown.prototype, "valueAttribute", 2);
7914
7965
  let BaseDropdown = _BaseDropdown;
7915
7966
 
7916
- var __defProp$y = Object.defineProperty;
7917
- var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
7918
- var __decorateClass$y = (decorators, target, key, kind) => {
7919
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
7967
+ var __defProp$w = Object.defineProperty;
7968
+ var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
7969
+ var __decorateClass$w = (decorators, target, key, kind) => {
7970
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
7920
7971
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7921
- if (kind && result) __defProp$y(target, key, result);
7972
+ if (kind && result) __defProp$w(target, key, result);
7922
7973
  return result;
7923
7974
  };
7924
7975
  class Dropdown extends BaseDropdown {
@@ -7927,21 +7978,21 @@ class Dropdown extends BaseDropdown {
7927
7978
  this.appearance = DropdownAppearance.outline;
7928
7979
  }
7929
7980
  }
7930
- __decorateClass$y([attr], Dropdown.prototype, "appearance", 2);
7931
- __decorateClass$y([attr], Dropdown.prototype, "size", 2);
7981
+ __decorateClass$w([attr], Dropdown.prototype, "appearance", 2);
7982
+ __decorateClass$w([attr], Dropdown.prototype, "size", 2);
7932
7983
 
7933
- const styles$s = css`
7984
+ const styles$q = css`
7934
7985
  ${display("inline-flex")}
7935
7986
 
7936
7987
  :host{anchor-name:--dropdown-trigger;box-sizing:border-box;color:${colorNeutralForeground1};cursor:pointer}:host(${placeholderShownState}){color:${colorNeutralForeground4}}.control{appearance:none;background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border:${strokeWidthThin} solid ${colorTransparentStroke};box-shadow:inset 0 0 0 ${strokeWidthThin} var(--control-border-color);box-sizing:border-box;color:inherit;column-gap:${spacingHorizontalXXS};display:inline-flex;justify-content:space-between;min-width:160px;overflow:hidden;padding:${spacingVerticalSNudge} ${spacingHorizontalMNudge};position:relative;text-align:start;width:100%;z-index:1;${typographyBody1Styles}}:host([size='small']) .control{column-gap:${spacingHorizontalXXS};padding:${spacingVerticalXS} ${spacingHorizontalSNudge};${typographyCaption1Styles}}:host([size='large']) .control{column-gap:${spacingHorizontalS};padding:${spacingVerticalS} ${spacingHorizontalM};${typographyBody2Styles}}::slotted(:is(input,button)){all:unset;flex:1 1 auto}::slotted(button){cursor:pointer}::slotted(input){cursor:text}:where(slot[name='indicator'] > *,::slotted([slot='indicator'])){all:unset;align-items:center;appearance:none;aspect-ratio:1;color:${colorNeutralForeground3};display:inline-flex;justify-content:center;width:20px}:host([size='small']) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){width:16px}:host([size='large']) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){width:24px}.control::after,.control::before{content:'' / '';inset:auto 0 0;pointer-events:none;position:absolute}.control::before{height:${strokeWidthThin}}.control::after{background-color:${colorCompoundBrandStroke};height:${strokeWidthThick};scale:0 1;transition:scale ${durationUltraFast} ${curveDecelerateMid}}:host(:where(:focus-within)) .control{border-radius:${borderRadiusMedium};box-shadow:inset 0 0 0 1px ${colorStrokeFocus1};outline:${strokeWidthThick} solid ${colorStrokeFocus2}}:host(:where(${openState},:focus-within)) .control::after{scale:1 1;transition-duration:${durationNormal};transition-timing-function:${curveAccelerateMid}}:host(:where([appearance='outline'],[appearance='transparent'])) .control::before{background-color:${colorNeutralStrokeAccessible}}:host([appearance='transparent']) .control{--control-border-color:${colorTransparentStrokeInteractive};background-color:${colorTransparentBackground};border-radius:${borderRadiusNone}}:host([appearance='outline']) .control{--control-border-color:${colorNeutralStroke1}}:host([appearance='outline']) .control:hover{--control-border-color:${colorNeutralStroke1Hover}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:hover::before{background-color:${colorNeutralStrokeAccessibleHover}}:host([appearance='outline']) .control:hover::after{background-color:${colorCompoundBrandBackgroundHover}}:host([appearance='outline']) .control:active{--control-border-color:${colorNeutralStroke1Pressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::before{background-color:${colorNeutralStrokeAccessiblePressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::after{background-color:${colorCompoundBrandBackgroundPressed}}:host([appearance='filled-darker']) .control{background-color:${colorNeutralBackground3}}:host(:where([appearance='filled-lighter'],[appearance='filled-darker'])) .control{--control-border-color:${colorTransparentStroke}}:host(:disabled),:host(:disabled) ::slotted(:where(button,input)){cursor:not-allowed}:host(:disabled) .control::before,:host(:disabled) .control::after{content:none}:host(:disabled) .control:is(*,:active,:hover),:host(:disabled) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){--control-border-color:${colorNeutralStrokeDisabled};background-color:${colorNeutralBackgroundDisabled};color:${colorNeutralForegroundDisabled}}::slotted([popover]:not(:popover-open)){display:none}@supports not (anchor-name:--anchor){:host{--listbox-max-height:50vh;--margin-offset:calc(${lineHeightBase300} + (${spacingVerticalSNudge} * 2) + ${strokeWidthThin})}:host([size='small']){--margin-offset:calc(${lineHeightBase200} + (${spacingVerticalXS} * 2) + ${strokeWidthThin})}:host([size='large']){--margin-offset:calc(${lineHeightBase400} + (${spacingVerticalS} * 2) + ${strokeWidthThin})}}@media (forced-colors:active){:host(:disabled) .control{border-color:GrayText}:host(:disabled) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){color:GrayText}`;
7937
7988
 
7938
- const definition$t = Dropdown.compose({
7989
+ const definition$r = Dropdown.compose({
7939
7990
  name: `${FluentDesignSystem.prefix}-dropdown`,
7940
- template: template$t,
7941
- styles: styles$s
7991
+ template: template$r,
7992
+ styles: styles$q
7942
7993
  });
7943
7994
 
7944
- definition$t.define(FluentDesignSystem.registry);
7995
+ definition$r.define(FluentDesignSystem.registry);
7945
7996
 
7946
7997
  const LabelPosition = {
7947
7998
  above: "above",
@@ -7962,12 +8013,12 @@ const ValidationFlags = {
7962
8013
  valid: "valid"
7963
8014
  };
7964
8015
 
7965
- var __defProp$x = Object.defineProperty;
7966
- var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
7967
- var __decorateClass$x = (decorators, target, key, kind) => {
7968
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
8016
+ var __defProp$v = Object.defineProperty;
8017
+ var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
8018
+ var __decorateClass$v = (decorators, target, key, kind) => {
8019
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
7969
8020
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7970
- if (kind && result) __defProp$x(target, key, result);
8021
+ if (kind && result) __defProp$v(target, key, result);
7971
8022
  return result;
7972
8023
  };
7973
8024
  class BaseField extends FASTElement {
@@ -8146,17 +8197,17 @@ class BaseField extends FASTElement {
8146
8197
  }
8147
8198
  }
8148
8199
  }
8149
- __decorateClass$x([observable], BaseField.prototype, "labelSlot", 2);
8150
- __decorateClass$x([observable], BaseField.prototype, "messageSlot", 2);
8151
- __decorateClass$x([observable], BaseField.prototype, "slottedInputs", 2);
8152
- __decorateClass$x([observable], BaseField.prototype, "input", 2);
8200
+ __decorateClass$v([observable], BaseField.prototype, "labelSlot", 2);
8201
+ __decorateClass$v([observable], BaseField.prototype, "messageSlot", 2);
8202
+ __decorateClass$v([observable], BaseField.prototype, "slottedInputs", 2);
8203
+ __decorateClass$v([observable], BaseField.prototype, "input", 2);
8153
8204
 
8154
- var __defProp$w = Object.defineProperty;
8155
- var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
8156
- var __decorateClass$w = (decorators, target, key, kind) => {
8157
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
8205
+ var __defProp$u = Object.defineProperty;
8206
+ var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
8207
+ var __decorateClass$u = (decorators, target, key, kind) => {
8208
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
8158
8209
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8159
- if (kind && result) __defProp$w(target, key, result);
8210
+ if (kind && result) __defProp$u(target, key, result);
8160
8211
  return result;
8161
8212
  };
8162
8213
  class Field extends BaseField {
@@ -8165,71 +8216,71 @@ class Field extends BaseField {
8165
8216
  this.labelPosition = LabelPosition.above;
8166
8217
  }
8167
8218
  }
8168
- __decorateClass$w([attr({
8219
+ __decorateClass$u([attr({
8169
8220
  attribute: "label-position"
8170
8221
  })], Field.prototype, "labelPosition", 2);
8171
8222
 
8172
- const styles$r = css`
8223
+ const styles$p = css`
8173
8224
  ${display("inline-grid")}
8174
8225
 
8175
8226
  :host{color:${colorNeutralForeground1};align-items:center;gap:0 ${spacingHorizontalM};justify-items:start}: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(${requiredState}) ::slotted([slot='label'])::after{content:'*' / '';color:${colorPaletteRedForeground1};margin-inline-start:${spacingHorizontalXS}}::slotted([slot='input']){grid-area:input}::slotted([slot='message']){color:${colorNeutralForeground3};font-family:${fontFamilyBase};font-size:${fontSizeBase200};font-weight:${fontWeightRegular};grid-area:message;line-height:${lineHeightBase200};margin-block-start:${spacingVerticalXXS}}: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};justify-self:stretch;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}`;
8176
8227
 
8177
- const template$s = 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)}"><slot name="label" part="label" ${slotted("labelSlot")}></slot><slot name="input" part="input" ${slotted("slottedInputs")}></slot><slot name="message" part="message" ${slotted({
8228
+ const template$q = 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)}"><slot name="label" part="label" ${slotted("labelSlot")}></slot><slot name="input" part="input" ${slotted("slottedInputs")}></slot><slot name="message" part="message" ${slotted({
8178
8229
  property: "messageSlot",
8179
8230
  filter: elements("[flag]")
8180
8231
  })}></slot></template>`;
8181
8232
 
8182
- const definition$s = Field.compose({
8233
+ const definition$q = Field.compose({
8183
8234
  name: `${FluentDesignSystem.prefix}-field`,
8184
- template: template$s,
8185
- styles: styles$r,
8235
+ template: template$q,
8236
+ styles: styles$p,
8186
8237
  shadowOptions: {
8187
8238
  delegatesFocus: true
8188
8239
  }
8189
8240
  });
8190
8241
 
8191
- definition$s.define(FluentDesignSystem.registry);
8242
+ definition$q.define(FluentDesignSystem.registry);
8192
8243
 
8193
- var __defProp$v = Object.defineProperty;
8194
- var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
8195
- var __decorateClass$v = (decorators, target, key, kind) => {
8196
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
8244
+ var __defProp$t = Object.defineProperty;
8245
+ var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
8246
+ var __decorateClass$t = (decorators, target, key, kind) => {
8247
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
8197
8248
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8198
- if (kind && result) __defProp$v(target, key, result);
8249
+ if (kind && result) __defProp$t(target, key, result);
8199
8250
  return result;
8200
8251
  };
8201
8252
  class Image extends FASTElement {}
8202
- __decorateClass$v([attr({
8253
+ __decorateClass$t([attr({
8203
8254
  mode: "boolean"
8204
8255
  })], Image.prototype, "block", 2);
8205
- __decorateClass$v([attr({
8256
+ __decorateClass$t([attr({
8206
8257
  mode: "boolean"
8207
8258
  })], Image.prototype, "bordered", 2);
8208
- __decorateClass$v([attr({
8259
+ __decorateClass$t([attr({
8209
8260
  mode: "boolean"
8210
8261
  })], Image.prototype, "shadow", 2);
8211
- __decorateClass$v([attr], Image.prototype, "fit", 2);
8212
- __decorateClass$v([attr], Image.prototype, "shape", 2);
8262
+ __decorateClass$t([attr], Image.prototype, "fit", 2);
8263
+ __decorateClass$t([attr], Image.prototype, "shape", 2);
8213
8264
 
8214
- const template$r = html`<slot></slot>`;
8265
+ const template$p = html`<slot></slot>`;
8215
8266
 
8216
- const styles$q = css`
8267
+ const styles$o = css`
8217
8268
  :host{contain:content}:host ::slotted(img){box-sizing:border-box;min-height:8px;min-width:8px;display:inline-block}:host([block]) ::slotted(img){width:100%;height:auto}:host([bordered]) ::slotted(img){border:${strokeWidthThin} solid ${colorNeutralStroke2}}:host([fit='none']) ::slotted(img){object-fit:none;object-position:top left;height:100%;width:100%}:host([fit='center']) ::slotted(img){object-fit:none;object-position:center;height:100%;width:100%}:host([fit='contain']) ::slotted(img){object-fit:contain;object-position:center;height:100%;width:100%}:host([fit='cover']) ::slotted(img){object-fit:cover;object-position:center;height:100%;width:100%}:host([shadow]) ::slotted(img){box-shadow:${shadow4}}:host([shape='circular']) ::slotted(img){border-radius:${borderRadiusCircular}}:host([shape='rounded']) ::slotted(img){border-radius:${borderRadiusMedium}}`;
8218
8269
 
8219
- const definition$r = Image.compose({
8270
+ const definition$p = Image.compose({
8220
8271
  name: `${FluentDesignSystem.prefix}-image`,
8221
- template: template$r,
8222
- styles: styles$q
8272
+ template: template$p,
8273
+ styles: styles$o
8223
8274
  });
8224
8275
 
8225
- definition$r.define(FluentDesignSystem.registry);
8276
+ definition$p.define(FluentDesignSystem.registry);
8226
8277
 
8227
- var __defProp$u = Object.defineProperty;
8228
- var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
8229
- var __decorateClass$u = (decorators, target, key, kind) => {
8230
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
8278
+ var __defProp$s = Object.defineProperty;
8279
+ var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
8280
+ var __decorateClass$s = (decorators, target, key, kind) => {
8281
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
8231
8282
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8232
- if (kind && result) __defProp$u(target, key, result);
8283
+ if (kind && result) __defProp$s(target, key, result);
8233
8284
  return result;
8234
8285
  };
8235
8286
  class Label extends FASTElement {
@@ -8239,16 +8290,16 @@ class Label extends FASTElement {
8239
8290
  this.required = false;
8240
8291
  }
8241
8292
  }
8242
- __decorateClass$u([attr], Label.prototype, "size", 2);
8243
- __decorateClass$u([attr], Label.prototype, "weight", 2);
8244
- __decorateClass$u([attr({
8293
+ __decorateClass$s([attr], Label.prototype, "size", 2);
8294
+ __decorateClass$s([attr], Label.prototype, "weight", 2);
8295
+ __decorateClass$s([attr({
8245
8296
  mode: "boolean"
8246
8297
  })], Label.prototype, "disabled", 2);
8247
- __decorateClass$u([attr({
8298
+ __decorateClass$s([attr({
8248
8299
  mode: "boolean"
8249
8300
  })], Label.prototype, "required", 2);
8250
8301
 
8251
- const styles$p = css`
8302
+ const styles$n = css`
8252
8303
  ${display("inline-flex")}
8253
8304
 
8254
8305
  :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([size='small']){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host(:is([size='large'],[weight='semibold'])){font-weight:${fontWeightSemibold}}:host([disabled]),:host([disabled]) .asterisk{color:${colorNeutralForegroundDisabled}}`;
@@ -8256,22 +8307,22 @@ const styles$p = css`
8256
8307
  function labelTemplate() {
8257
8308
  return html`<slot></slot><span part="asterisk" class="asterisk" aria-hidden="true" ?hidden="${x => !x.required}">*</span>`;
8258
8309
  }
8259
- const template$q = labelTemplate();
8310
+ const template$o = labelTemplate();
8260
8311
 
8261
- const definition$q = Label.compose({
8312
+ const definition$o = Label.compose({
8262
8313
  name: `${FluentDesignSystem.prefix}-label`,
8263
- template: template$q,
8264
- styles: styles$p
8314
+ template: template$o,
8315
+ styles: styles$n
8265
8316
  });
8266
8317
 
8267
- definition$q.define(FluentDesignSystem.registry);
8318
+ definition$o.define(FluentDesignSystem.registry);
8268
8319
 
8269
- var __defProp$t = Object.defineProperty;
8270
- var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
8271
- var __decorateClass$t = (decorators, target, key, kind) => {
8272
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
8320
+ var __defProp$r = Object.defineProperty;
8321
+ var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
8322
+ var __decorateClass$r = (decorators, target, key, kind) => {
8323
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
8273
8324
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8274
- if (kind && result) __defProp$t(target, key, result);
8325
+ if (kind && result) __defProp$r(target, key, result);
8275
8326
  return result;
8276
8327
  };
8277
8328
  class Link extends BaseAnchor {
@@ -8280,12 +8331,12 @@ class Link extends BaseAnchor {
8280
8331
  this.inline = false;
8281
8332
  }
8282
8333
  }
8283
- __decorateClass$t([attr], Link.prototype, "appearance", 2);
8284
- __decorateClass$t([attr({
8334
+ __decorateClass$r([attr], Link.prototype, "appearance", 2);
8335
+ __decorateClass$r([attr({
8285
8336
  mode: "boolean"
8286
8337
  })], Link.prototype, "inline", 2);
8287
8338
 
8288
- const styles$o = css`
8339
+ const styles$m = css`
8289
8340
  ${display("inline")}
8290
8341
 
8291
8342
  :host{position:relative;box-sizing:border-box;background-color:transparent;color:${colorBrandForegroundLink};cursor:pointer;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};overflow:inherit;text-align:start;text-decoration:none;text-decoration-thickness:${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([appearance='subtle']:hover){color:${colorNeutralForeground2LinkHover}}:host([appearance='subtle']:active){color:${colorNeutralForeground2LinkPressed}}}:host([appearance='subtle']){color:${colorNeutralForeground2Link}}:host-context(:is(h1,h2,h3,h4,h5,h6,p,fluent-text)),:host([inline]){font:inherit;text-decoration:underline}:host(:not([href])){color:inherit;text-decoration:none}::slotted(a){position:absolute;inset:0}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -8294,22 +8345,22 @@ const styles$o = css`
8294
8345
  function anchorTemplate() {
8295
8346
  return html`<template tabindex="0" @click="${(x, c) => x.clickHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}"><slot></slot></template>`;
8296
8347
  }
8297
- const template$p = anchorTemplate();
8348
+ const template$n = anchorTemplate();
8298
8349
 
8299
- const definition$p = Link.compose({
8350
+ const definition$n = Link.compose({
8300
8351
  name: `${FluentDesignSystem.prefix}-link`,
8301
- template: template$p,
8302
- styles: styles$o
8352
+ template: template$n,
8353
+ styles: styles$m
8303
8354
  });
8304
8355
 
8305
- definition$p.define(FluentDesignSystem.registry);
8356
+ definition$n.define(FluentDesignSystem.registry);
8306
8357
 
8307
- var __defProp$s = Object.defineProperty;
8308
- var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
8309
- var __decorateClass$s = (decorators, target, key, kind) => {
8310
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
8358
+ var __defProp$q = Object.defineProperty;
8359
+ var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
8360
+ var __decorateClass$q = (decorators, target, key, kind) => {
8361
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
8311
8362
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8312
- if (kind && result) __defProp$s(target, key, result);
8363
+ if (kind && result) __defProp$q(target, key, result);
8313
8364
  return result;
8314
8365
  };
8315
8366
  class Listbox extends FASTElement {
@@ -8457,16 +8508,16 @@ class Listbox extends FASTElement {
8457
8508
  });
8458
8509
  }
8459
8510
  }
8460
- __decorateClass$s([attr({
8511
+ __decorateClass$q([attr({
8461
8512
  attribute: "id",
8462
8513
  mode: "fromView"
8463
8514
  })], Listbox.prototype, "id", 2);
8464
- __decorateClass$s([observable], Listbox.prototype, "multiple", 2);
8465
- __decorateClass$s([observable], Listbox.prototype, "options", 2);
8466
- __decorateClass$s([observable], Listbox.prototype, "selectedIndex", 2);
8467
- __decorateClass$s([observable], Listbox.prototype, "dropdown", 2);
8515
+ __decorateClass$q([observable], Listbox.prototype, "multiple", 2);
8516
+ __decorateClass$q([observable], Listbox.prototype, "options", 2);
8517
+ __decorateClass$q([observable], Listbox.prototype, "selectedIndex", 2);
8518
+ __decorateClass$q([observable], Listbox.prototype, "dropdown", 2);
8468
8519
 
8469
- const styles$n = css`
8520
+ const styles$l = css`
8470
8521
  ${display("inline-flex")}
8471
8522
 
8472
8523
  :host{background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border:${strokeWidthThin} solid ${colorTransparentStroke};box-shadow:${shadow16};box-sizing:border-box;flex-direction:column;margin:0;min-width:160px;padding:${spacingHorizontalXS};row-gap:${spacingHorizontalXXS};width:auto}:host([popover]){inset:unset;overflow:auto}@supports (anchor-name:--anchor){:host([popover]){position:absolute;margin-block-start:0;max-height:var(--listbox-max-height,calc(50vh - anchor-size(self-block)));min-width:anchor-size(width);position-anchor:--dropdown;position-area:block-end span-inline-end;position-try-fallbacks:flip-inline,flip-block,--flip-block,block-start}@position-try --flip-block{bottom:anchor(top);top:unset}}@supports not (anchor-name:--anchor){:host([popover]){margin-block-start:var(--margin-offset,0);max-height:var(--listbox-max-height,50vh);position:fixed}:host([popover]${flipBlockState}){margin-block-start:revert;translate:0 -100%}}`;
@@ -8474,19 +8525,19 @@ const styles$n = css`
8474
8525
  function listboxTemplate() {
8475
8526
  return html`<template id="${x => x.id}" @beforetoggle="${(x, c) => x.beforetoggleHandler(c.event)}" @click="${(x, c) => x.clickHandler(c.event)}"><slot @slotchange="${(x, c) => x.slotchangeHandler(c.event)}"></slot></template>`;
8476
8527
  }
8477
- const template$o = listboxTemplate();
8528
+ const template$m = listboxTemplate();
8478
8529
 
8479
- const definition$o = Listbox.compose({
8530
+ const definition$m = Listbox.compose({
8480
8531
  name: `${FluentDesignSystem.prefix}-listbox`,
8481
- template: template$o,
8482
- styles: styles$n
8532
+ template: template$m,
8533
+ styles: styles$l
8483
8534
  });
8484
8535
 
8485
- definition$o.define(FluentDesignSystem.registry);
8536
+ definition$m.define(FluentDesignSystem.registry);
8486
8537
 
8487
8538
  class MenuButton extends Button {}
8488
8539
 
8489
- const template$n = buttonTemplate$1({
8540
+ const template$l = buttonTemplate$1({
8490
8541
  end: html.partial(/* html */
8491
8542
  `
8492
8543
  <svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
@@ -8495,13 +8546,13 @@ const template$n = buttonTemplate$1({
8495
8546
  `)
8496
8547
  });
8497
8548
 
8498
- const definition$n = MenuButton.compose({
8549
+ const definition$l = MenuButton.compose({
8499
8550
  name: `${FluentDesignSystem.prefix}-menu-button`,
8500
- template: template$n,
8501
- styles: styles$E
8551
+ template: template$l,
8552
+ styles: styles$C
8502
8553
  });
8503
8554
 
8504
- definition$n.define(FluentDesignSystem.registry);
8555
+ definition$l.define(FluentDesignSystem.registry);
8505
8556
 
8506
8557
  const MenuItemRole = {
8507
8558
  /**
@@ -8529,12 +8580,12 @@ function isMenuItem(element, tagName = "-menu-item") {
8529
8580
  return element.tagName.toLowerCase().endsWith(tagName);
8530
8581
  }
8531
8582
 
8532
- var __defProp$r = Object.defineProperty;
8533
- var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
8534
- var __decorateClass$r = (decorators, target, key, kind) => {
8535
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
8583
+ var __defProp$p = Object.defineProperty;
8584
+ var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
8585
+ var __decorateClass$p = (decorators, target, key, kind) => {
8586
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
8536
8587
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8537
- if (kind && result) __defProp$r(target, key, result);
8588
+ if (kind && result) __defProp$p(target, key, result);
8538
8589
  return result;
8539
8590
  };
8540
8591
  class MenuItem extends FASTElement {
@@ -8723,21 +8774,21 @@ class MenuItem extends FASTElement {
8723
8774
  this.elementInternals.ariaChecked = this.role !== MenuItemRole.menuitem ? `${!!this.checked}` : null;
8724
8775
  }
8725
8776
  }
8726
- __decorateClass$r([attr({
8777
+ __decorateClass$p([attr({
8727
8778
  mode: "boolean"
8728
8779
  })], MenuItem.prototype, "disabled", 2);
8729
- __decorateClass$r([attr], MenuItem.prototype, "role", 2);
8730
- __decorateClass$r([attr({
8780
+ __decorateClass$p([attr], MenuItem.prototype, "role", 2);
8781
+ __decorateClass$p([attr({
8731
8782
  mode: "boolean"
8732
8783
  })], MenuItem.prototype, "checked", 2);
8733
- __decorateClass$r([attr({
8784
+ __decorateClass$p([attr({
8734
8785
  mode: "boolean"
8735
8786
  })], MenuItem.prototype, "hidden", 2);
8736
- __decorateClass$r([observable], MenuItem.prototype, "slottedSubmenu", 2);
8737
- __decorateClass$r([observable], MenuItem.prototype, "submenu", 2);
8787
+ __decorateClass$p([observable], MenuItem.prototype, "slottedSubmenu", 2);
8788
+ __decorateClass$p([observable], MenuItem.prototype, "submenu", 2);
8738
8789
  applyMixins(MenuItem, StartEnd);
8739
8790
 
8740
- const styles$m = css`
8791
+ const styles$k = css`
8741
8792
  ${display("grid")}
8742
8793
 
8743
8794
  :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]){margin:0;max-height:var(--menu-max-height,auto);position:absolute;position-anchor:--menu-trigger;position-area:inline-end span-block-end;position-try-fallbacks:flip-inline,block-start,block-end;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`
@@ -8750,25 +8801,25 @@ function menuItemTemplate(options = {}) {
8750
8801
  property: "slottedSubmenu"
8751
8802
  })}></slot></template>`;
8752
8803
  }
8753
- const template$m = menuItemTemplate({
8804
+ const template$k = menuItemTemplate({
8754
8805
  indicator: Checkmark16Filled,
8755
8806
  submenuGlyph: chevronRight16Filled
8756
8807
  });
8757
8808
 
8758
- const definition$m = MenuItem.compose({
8809
+ const definition$k = MenuItem.compose({
8759
8810
  name: `${FluentDesignSystem.prefix}-menu-item`,
8760
- template: template$m,
8761
- styles: styles$m
8811
+ template: template$k,
8812
+ styles: styles$k
8762
8813
  });
8763
8814
 
8764
- definition$m.define(FluentDesignSystem.registry);
8815
+ definition$k.define(FluentDesignSystem.registry);
8765
8816
 
8766
- var __defProp$q = Object.defineProperty;
8767
- var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
8768
- var __decorateClass$q = (decorators, target, key, kind) => {
8769
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
8817
+ var __defProp$o = Object.defineProperty;
8818
+ var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
8819
+ var __decorateClass$o = (decorators, target, key, kind) => {
8820
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
8770
8821
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8771
- if (kind && result) __defProp$q(target, key, result);
8822
+ if (kind && result) __defProp$o(target, key, result);
8772
8823
  return result;
8773
8824
  };
8774
8825
  const _MenuList = class _MenuList extends FASTElement {
@@ -8826,7 +8877,7 @@ const _MenuList = class _MenuList extends FASTElement {
8826
8877
  if (changedMenuItem.role === "menuitemradio" && changedMenuItem.checked === true) {
8827
8878
  for (let i = changeItemIndex - 1; i >= 0; --i) {
8828
8879
  const item = this.menuItems[i];
8829
- const role = item.getAttribute("role");
8880
+ const role = item.role;
8830
8881
  if (role === MenuItemRole.menuitemradio) {
8831
8882
  item.checked = false;
8832
8883
  }
@@ -8837,7 +8888,7 @@ const _MenuList = class _MenuList extends FASTElement {
8837
8888
  const maxIndex = this.menuItems.length - 1;
8838
8889
  for (let i = changeItemIndex + 1; i <= maxIndex; ++i) {
8839
8890
  const item = this.menuItems[i];
8840
- const role = item.getAttribute("role");
8891
+ const role = item.role;
8841
8892
  if (role === MenuItemRole.menuitemradio) {
8842
8893
  item.checked = false;
8843
8894
  }
@@ -8851,7 +8902,7 @@ const _MenuList = class _MenuList extends FASTElement {
8851
8902
  * check if the item is a menu item
8852
8903
  */
8853
8904
  this.isMenuItemElement = el => {
8854
- return isMenuItem(el) || isHTMLElement(el) && el.getAttribute("role") in _MenuList.focusableElementRoles;
8905
+ return isMenuItem(el) || isHTMLElement(el) && !!el.role && el.role in _MenuList.focusableElementRoles;
8855
8906
  };
8856
8907
  /**
8857
8908
  * check if the item is focusable
@@ -8924,7 +8975,7 @@ const _MenuList = class _MenuList extends FASTElement {
8924
8975
  });
8925
8976
  }
8926
8977
  static elementIndent(el) {
8927
- const role = el.getAttribute("role");
8978
+ const role = el.role;
8928
8979
  const startSlot = el.querySelector("[slot=start]");
8929
8980
  if (role && role !== MenuItemRole.menuitem) {
8930
8981
  return startSlot ? 2 : 1;
@@ -8982,10 +9033,10 @@ const _MenuList = class _MenuList extends FASTElement {
8982
9033
  }
8983
9034
  };
8984
9035
  _MenuList.focusableElementRoles = MenuItemRole;
8985
- __decorateClass$q([observable], _MenuList.prototype, "items", 2);
9036
+ __decorateClass$o([observable], _MenuList.prototype, "items", 2);
8986
9037
  let MenuList = _MenuList;
8987
9038
 
8988
- const styles$l = css`
9039
+ const styles$j = css`
8989
9040
  ${display("flex")}
8990
9041
 
8991
9042
  :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}`;
@@ -8993,22 +9044,22 @@ const styles$l = css`
8993
9044
  function menuTemplate$1() {
8994
9045
  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>`;
8995
9046
  }
8996
- const template$l = menuTemplate$1();
9047
+ const template$j = menuTemplate$1();
8997
9048
 
8998
- const definition$l = MenuList.compose({
9049
+ const definition$j = MenuList.compose({
8999
9050
  name: `${FluentDesignSystem.prefix}-menu-list`,
9000
- template: template$l,
9001
- styles: styles$l
9051
+ template: template$j,
9052
+ styles: styles$j
9002
9053
  });
9003
9054
 
9004
- definition$l.define(FluentDesignSystem.registry);
9055
+ definition$j.define(FluentDesignSystem.registry);
9005
9056
 
9006
- var __defProp$p = Object.defineProperty;
9007
- var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
9008
- var __decorateClass$p = (decorators, target, key, kind) => {
9009
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
9057
+ var __defProp$n = Object.defineProperty;
9058
+ var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
9059
+ var __decorateClass$n = (decorators, target, key, kind) => {
9060
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
9010
9061
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9011
- if (kind && result) __defProp$p(target, key, result);
9062
+ if (kind && result) __defProp$n(target, key, result);
9012
9063
  return result;
9013
9064
  };
9014
9065
  class Menu extends FASTElement {
@@ -9292,30 +9343,30 @@ class Menu extends FASTElement {
9292
9343
  }
9293
9344
  }
9294
9345
  }
9295
- __decorateClass$p([attr({
9346
+ __decorateClass$n([attr({
9296
9347
  attribute: "open-on-hover",
9297
9348
  mode: "boolean"
9298
9349
  })], Menu.prototype, "openOnHover", 2);
9299
- __decorateClass$p([attr({
9350
+ __decorateClass$n([attr({
9300
9351
  attribute: "open-on-context",
9301
9352
  mode: "boolean"
9302
9353
  })], Menu.prototype, "openOnContext", 2);
9303
- __decorateClass$p([attr({
9354
+ __decorateClass$n([attr({
9304
9355
  attribute: "close-on-scroll",
9305
9356
  mode: "boolean"
9306
9357
  })], Menu.prototype, "closeOnScroll", 2);
9307
- __decorateClass$p([attr({
9358
+ __decorateClass$n([attr({
9308
9359
  attribute: "persist-on-item-click",
9309
9360
  mode: "boolean"
9310
9361
  })], Menu.prototype, "persistOnItemClick", 2);
9311
- __decorateClass$p([attr({
9362
+ __decorateClass$n([attr({
9312
9363
  mode: "boolean"
9313
9364
  })], Menu.prototype, "split", 2);
9314
- __decorateClass$p([observable], Menu.prototype, "slottedMenuList", 2);
9315
- __decorateClass$p([observable], Menu.prototype, "slottedTriggers", 2);
9316
- __decorateClass$p([observable], Menu.prototype, "primaryAction", 2);
9365
+ __decorateClass$n([observable], Menu.prototype, "slottedMenuList", 2);
9366
+ __decorateClass$n([observable], Menu.prototype, "slottedTriggers", 2);
9367
+ __decorateClass$n([observable], Menu.prototype, "primaryAction", 2);
9317
9368
 
9318
- const styles$k = css`
9369
+ const styles$i = css`
9319
9370
  ${display("inline-block")}
9320
9371
 
9321
9372
  ::slotted([slot='trigger']){anchor-name:--menu-trigger}::slotted([popover]){margin:0;max-height:var(--menu-max-height,auto);position-anchor:--menu-trigger;position-area:block-end span-inline-end;position-try-fallbacks:flip-block;position:absolute;z-index:1}:host([split]) ::slotted([popover]){position-area:block-end span-inline-start}::slotted([popover]:popover-open){inset:unset}::slotted([popover]:not(:popover-open)){display:none}:host([split]){display:inline-flex}:host([split]) ::slotted([slot='primary-action']){border-inline-end:${strokeWidthThin} solid ${colorNeutralStroke1};border-start-end-radius:0;border-end-end-radius:0}:host([split]) ::slotted([slot='primary-action']:focus-visible){z-index:1}:host([split]) ::slotted([slot='primary-action'][appearance='primary']){border-inline-end:${strokeWidthThin} solid white}:host([split]) ::slotted([slot='trigger']){border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0}`;
@@ -9329,22 +9380,22 @@ function menuTemplate() {
9329
9380
  filter: elements()
9330
9381
  })}></slot></template>`;
9331
9382
  }
9332
- const template$k = menuTemplate();
9383
+ const template$i = menuTemplate();
9333
9384
 
9334
- const definition$k = Menu.compose({
9385
+ const definition$i = Menu.compose({
9335
9386
  name: `${FluentDesignSystem.prefix}-menu`,
9336
- template: template$k,
9337
- styles: styles$k
9387
+ template: template$i,
9388
+ styles: styles$i
9338
9389
  });
9339
9390
 
9340
- definition$k.define(FluentDesignSystem.registry);
9391
+ definition$i.define(FluentDesignSystem.registry);
9341
9392
 
9342
- var __defProp$o = Object.defineProperty;
9343
- var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
9344
- var __decorateClass$o = (decorators, target, key, kind) => {
9345
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
9393
+ var __defProp$m = Object.defineProperty;
9394
+ var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
9395
+ var __decorateClass$m = (decorators, target, key, kind) => {
9396
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
9346
9397
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9347
- if (kind && result) __defProp$o(target, key, result);
9398
+ if (kind && result) __defProp$m(target, key, result);
9348
9399
  return result;
9349
9400
  };
9350
9401
  class MessageBar extends FASTElement {
@@ -9357,8 +9408,9 @@ class MessageBar extends FASTElement {
9357
9408
  */
9358
9409
  this.elementInternals = this.attachInternals();
9359
9410
  /**
9360
- * @public
9361
9411
  * Method to emit a `dismiss` event when the message bar is dismissed
9412
+ *
9413
+ * @public
9362
9414
  */
9363
9415
  this.dismissMessageBar = () => {
9364
9416
  this.$emit("dismiss", {});
@@ -9366,36 +9418,36 @@ class MessageBar extends FASTElement {
9366
9418
  this.elementInternals.role = "status";
9367
9419
  }
9368
9420
  }
9369
- __decorateClass$o([attr], MessageBar.prototype, "shape", 2);
9370
- __decorateClass$o([attr], MessageBar.prototype, "layout", 2);
9371
- __decorateClass$o([attr], MessageBar.prototype, "intent", 2);
9421
+ __decorateClass$m([attr], MessageBar.prototype, "shape", 2);
9422
+ __decorateClass$m([attr], MessageBar.prototype, "layout", 2);
9423
+ __decorateClass$m([attr], MessageBar.prototype, "intent", 2);
9372
9424
 
9373
- const styles$j = css`
9425
+ const styles$h = css`
9374
9426
  :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([shape='square']){border-radius:0}:host([intent='success']){background-color:${colorPaletteGreenBackground1};border-color:${colorPaletteGreenBorder1}}:host([intent='warning']){background-color:${colorPaletteDarkOrangeBackground1};border-color:${colorPaletteDarkOrangeBorder1}}:host([intent='error']){background-color:${colorPaletteRedBackground1};border-color:${colorPaletteRedBorder1}}:host([layout='multiline']){grid-template-areas:'icon body dismiss'
9375
9427
  '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([layout='multiline']) .content{padding:0}::slotted([slot='icon']){display:flex;grid-area:icon;flex-direction:column;align-items:center;color:${colorNeutralForeground3};margin-inline-end:${spacingHorizontalS}}:host([layout='multiline']) ::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([layout='multiline']) .actions{margin-block-start:${spacingVerticalMNudge};margin-inline-end:0}:host([layout='multiline']) ::slotted([slot='dismiss']){align-items:start;height:100%;padding-block-start:${spacingVerticalS}}::slotted(*){font-size:inherit}`;
9376
9428
 
9377
9429
  function messageBarTemplate() {
9378
9430
  return html`<slot name="icon"></slot><div class="content"><slot></slot></div><div class="actions"><slot name="actions"></slot></div><slot name="dismiss"></slot>`;
9379
9431
  }
9380
- const template$j = messageBarTemplate();
9432
+ const template$h = messageBarTemplate();
9381
9433
 
9382
- const definition$j = MessageBar.compose({
9434
+ const definition$h = MessageBar.compose({
9383
9435
  name: `${FluentDesignSystem.prefix}-message-bar`,
9384
- template: template$j,
9385
- styles: styles$j,
9436
+ template: template$h,
9437
+ styles: styles$h,
9386
9438
  shadowOptions: {
9387
9439
  mode: FluentDesignSystem.shadowRootMode
9388
9440
  }
9389
9441
  });
9390
9442
 
9391
- definition$j.define(FluentDesignSystem.registry);
9443
+ definition$h.define(FluentDesignSystem.registry);
9392
9444
 
9393
- var __defProp$n = Object.defineProperty;
9394
- var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
9395
- var __decorateClass$n = (decorators, target, key, kind) => {
9396
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
9445
+ var __defProp$l = Object.defineProperty;
9446
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
9447
+ var __decorateClass$l = (decorators, target, key, kind) => {
9448
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
9397
9449
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9398
- if (kind && result) __defProp$n(target, key, result);
9450
+ if (kind && result) __defProp$l(target, key, result);
9399
9451
  return result;
9400
9452
  };
9401
9453
  class DropdownOption extends FASTElement {
@@ -9606,43 +9658,43 @@ class DropdownOption extends FASTElement {
9606
9658
  * @public
9607
9659
  */
9608
9660
  DropdownOption.formAssociated = true;
9609
- __decorateClass$n([observable], DropdownOption.prototype, "active", 2);
9610
- __decorateClass$n([attr({
9661
+ __decorateClass$l([observable], DropdownOption.prototype, "active", 2);
9662
+ __decorateClass$l([attr({
9611
9663
  attribute: "current-selected",
9612
9664
  mode: "boolean"
9613
9665
  })], DropdownOption.prototype, "currentSelected", 2);
9614
- __decorateClass$n([attr({
9666
+ __decorateClass$l([attr({
9615
9667
  attribute: "selected",
9616
9668
  mode: "boolean"
9617
9669
  })], DropdownOption.prototype, "defaultSelected", 2);
9618
- __decorateClass$n([observable], DropdownOption.prototype, "descriptionSlot", 2);
9619
- __decorateClass$n([observable], DropdownOption.prototype, "disabled", 2);
9620
- __decorateClass$n([attr({
9670
+ __decorateClass$l([observable], DropdownOption.prototype, "descriptionSlot", 2);
9671
+ __decorateClass$l([observable], DropdownOption.prototype, "disabled", 2);
9672
+ __decorateClass$l([attr({
9621
9673
  attribute: "disabled",
9622
9674
  mode: "boolean"
9623
9675
  })], DropdownOption.prototype, "disabledAttribute", 2);
9624
- __decorateClass$n([attr({
9676
+ __decorateClass$l([attr({
9625
9677
  attribute: "form"
9626
9678
  })], DropdownOption.prototype, "formAttribute", 2);
9627
- __decorateClass$n([attr({
9679
+ __decorateClass$l([attr({
9628
9680
  mode: "boolean"
9629
9681
  })], DropdownOption.prototype, "freeform", 2);
9630
- __decorateClass$n([attr({
9682
+ __decorateClass$l([attr({
9631
9683
  attribute: "id"
9632
9684
  })], DropdownOption.prototype, "id", 2);
9633
- __decorateClass$n([attr({
9685
+ __decorateClass$l([attr({
9634
9686
  attribute: "value",
9635
9687
  mode: "fromView"
9636
9688
  })], DropdownOption.prototype, "initialValue", 2);
9637
- __decorateClass$n([observable], DropdownOption.prototype, "multiple", 2);
9638
- __decorateClass$n([attr], DropdownOption.prototype, "name", 2);
9639
- __decorateClass$n([observable], DropdownOption.prototype, "start", 2);
9640
- __decorateClass$n([attr({
9689
+ __decorateClass$l([observable], DropdownOption.prototype, "multiple", 2);
9690
+ __decorateClass$l([attr], DropdownOption.prototype, "name", 2);
9691
+ __decorateClass$l([observable], DropdownOption.prototype, "start", 2);
9692
+ __decorateClass$l([attr({
9641
9693
  attribute: "text",
9642
9694
  mode: "fromView"
9643
9695
  })], DropdownOption.prototype, "textAttribute", 2);
9644
9696
 
9645
- const styles$i = css`
9697
+ const styles$g = css`
9646
9698
  ${display("inline-grid")}
9647
9699
 
9648
9700
  :host{-webkit-tap-highlight-color:transparent;${typographyBody1Styles}
@@ -9668,17 +9720,17 @@ function dropdownOptionTemplate(options = {}) {
9668
9720
  filter: elements("output")
9669
9721
  })}></slot></div><div class="description" part="description"><slot name="description" ${slotted("descriptionSlot")}></slot></div>`;
9670
9722
  }
9671
- const template$i = dropdownOptionTemplate({
9723
+ const template$g = dropdownOptionTemplate({
9672
9724
  checkedIndicator: checkedIndicator$1
9673
9725
  });
9674
9726
 
9675
- const definition$i = DropdownOption.compose({
9727
+ const definition$g = DropdownOption.compose({
9676
9728
  name: `${FluentDesignSystem.prefix}-option`,
9677
- template: template$i,
9678
- styles: styles$i
9729
+ template: template$g,
9730
+ styles: styles$g
9679
9731
  });
9680
9732
 
9681
- definition$i.define(FluentDesignSystem.registry);
9733
+ definition$g.define(FluentDesignSystem.registry);
9682
9734
 
9683
9735
  const ProgressBarValidationState = {
9684
9736
  success: "success",
@@ -9686,12 +9738,12 @@ const ProgressBarValidationState = {
9686
9738
  error: "error"
9687
9739
  };
9688
9740
 
9689
- var __defProp$m = Object.defineProperty;
9690
- var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
9691
- var __decorateClass$m = (decorators, target, key, kind) => {
9692
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
9741
+ var __defProp$k = Object.defineProperty;
9742
+ var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
9743
+ var __decorateClass$k = (decorators, target, key, kind) => {
9744
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
9693
9745
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9694
- if (kind && result) __defProp$m(target, key, result);
9746
+ if (kind && result) __defProp$k(target, key, result);
9695
9747
  return result;
9696
9748
  };
9697
9749
  class BaseProgressBar extends FASTElement {
@@ -9764,33 +9816,33 @@ class BaseProgressBar extends FASTElement {
9764
9816
  this.indicator.style.setProperty("width", `${width}%`);
9765
9817
  }
9766
9818
  }
9767
- __decorateClass$m([observable], BaseProgressBar.prototype, "indicator", 2);
9768
- __decorateClass$m([attr({
9819
+ __decorateClass$k([observable], BaseProgressBar.prototype, "indicator", 2);
9820
+ __decorateClass$k([attr({
9769
9821
  attribute: "validation-state"
9770
9822
  })], BaseProgressBar.prototype, "validationState", 2);
9771
- __decorateClass$m([attr({
9823
+ __decorateClass$k([attr({
9772
9824
  converter: nullableNumberConverter
9773
9825
  })], BaseProgressBar.prototype, "value", 2);
9774
- __decorateClass$m([attr({
9826
+ __decorateClass$k([attr({
9775
9827
  converter: nullableNumberConverter
9776
9828
  })], BaseProgressBar.prototype, "min", 2);
9777
- __decorateClass$m([attr({
9829
+ __decorateClass$k([attr({
9778
9830
  converter: nullableNumberConverter
9779
9831
  })], BaseProgressBar.prototype, "max", 2);
9780
9832
 
9781
- var __defProp$l = Object.defineProperty;
9782
- var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
9783
- var __decorateClass$l = (decorators, target, key, kind) => {
9784
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
9833
+ var __defProp$j = Object.defineProperty;
9834
+ var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
9835
+ var __decorateClass$j = (decorators, target, key, kind) => {
9836
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
9785
9837
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9786
- if (kind && result) __defProp$l(target, key, result);
9838
+ if (kind && result) __defProp$j(target, key, result);
9787
9839
  return result;
9788
9840
  };
9789
9841
  class ProgressBar extends BaseProgressBar {}
9790
- __decorateClass$l([attr], ProgressBar.prototype, "thickness", 2);
9791
- __decorateClass$l([attr], ProgressBar.prototype, "shape", 2);
9842
+ __decorateClass$j([attr], ProgressBar.prototype, "thickness", 2);
9843
+ __decorateClass$j([attr], ProgressBar.prototype, "shape", 2);
9792
9844
 
9793
- const styles$h = css`
9845
+ const styles$f = css`
9794
9846
  ${display("block")}
9795
9847
 
9796
9848
  :host{width:100%;height:2px;overflow-x:hidden;background-color:${colorNeutralBackground6};border-radius:${borderRadiusMedium};contain:content;@supports (width:attr(value type(<number>))){--max:attr(max type(<number>),100);--min:attr(min type(<number>),0);--value:attr(value type(<number>),0);--indicator-width:clamp(0%,calc((var(--value) - var(--min)) / (var(--max) - var(--min)) * 100%),100%)}}:host([thickness='large']){height:4px}:host([shape='square']){border-radius:${borderRadiusNone}}.indicator{background-color:${colorCompoundBrandBackground};border-radius:inherit;height:100%}:host([value]) .indicator{transition:all 0.2s ease-in-out;@supports (width:attr(value type(<number>))){width:var(--indicator-width)}}:host(:not([value])) .indicator{position:relative;width:33%;background-image:linear-gradient(
@@ -9801,15 +9853,15 @@ const styles$h = css`
9801
9853
  function progressTemplate() {
9802
9854
  return html`<div class="indicator" part="indicator" ${ref("indicator")}></div>`;
9803
9855
  }
9804
- const template$h = progressTemplate();
9856
+ const template$f = progressTemplate();
9805
9857
 
9806
- const definition$h = ProgressBar.compose({
9858
+ const definition$f = ProgressBar.compose({
9807
9859
  name: `${FluentDesignSystem.prefix}-progress-bar`,
9808
- template: template$h,
9809
- styles: styles$h
9860
+ template: template$f,
9861
+ styles: styles$f
9810
9862
  });
9811
9863
 
9812
- definition$h.define(FluentDesignSystem.registry);
9864
+ definition$f.define(FluentDesignSystem.registry);
9813
9865
 
9814
9866
  class Radio extends BaseCheckbox {
9815
9867
  constructor() {
@@ -9887,12 +9939,12 @@ function getRootActiveElement(element) {
9887
9939
 
9888
9940
  const RadioGroupOrientation = Orientation;
9889
9941
 
9890
- var __defProp$k = Object.defineProperty;
9891
- var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
9892
- var __decorateClass$k = (decorators, target, key, kind) => {
9893
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
9942
+ var __defProp$i = Object.defineProperty;
9943
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
9944
+ var __decorateClass$i = (decorators, target, key, kind) => {
9945
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
9894
9946
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9895
- if (kind && result) __defProp$k(target, key, result);
9947
+ if (kind && result) __defProp$i(target, key, result);
9896
9948
  return result;
9897
9949
  };
9898
9950
  class RadioGroup extends FASTElement {
@@ -10355,23 +10407,23 @@ class RadioGroup extends FASTElement {
10355
10407
  * @public
10356
10408
  */
10357
10409
  RadioGroup.formAssociated = true;
10358
- __decorateClass$k([observable], RadioGroup.prototype, "checkedIndex", 2);
10359
- __decorateClass$k([attr({
10410
+ __decorateClass$i([observable], RadioGroup.prototype, "checkedIndex", 2);
10411
+ __decorateClass$i([attr({
10360
10412
  attribute: "disabled",
10361
10413
  mode: "boolean"
10362
10414
  })], RadioGroup.prototype, "disabled", 2);
10363
- __decorateClass$k([attr({
10415
+ __decorateClass$i([attr({
10364
10416
  attribute: "value",
10365
10417
  mode: "fromView"
10366
10418
  })], RadioGroup.prototype, "initialValue", 2);
10367
- __decorateClass$k([attr], RadioGroup.prototype, "name", 2);
10368
- __decorateClass$k([attr], RadioGroup.prototype, "orientation", 2);
10369
- __decorateClass$k([observable], RadioGroup.prototype, "radios", 2);
10370
- __decorateClass$k([attr({
10419
+ __decorateClass$i([attr], RadioGroup.prototype, "name", 2);
10420
+ __decorateClass$i([attr], RadioGroup.prototype, "orientation", 2);
10421
+ __decorateClass$i([observable], RadioGroup.prototype, "radios", 2);
10422
+ __decorateClass$i([attr({
10371
10423
  mode: "boolean"
10372
10424
  })], RadioGroup.prototype, "required", 2);
10373
10425
 
10374
- const styles$g = css`
10426
+ const styles$e = css`
10375
10427
  ${display("flex")}
10376
10428
 
10377
10429
  :host{-webkit-tap-highlight-color:transparent;cursor:pointer;gap:${spacingVerticalL}}: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}}:host([slot='input']){margin:${spacingVerticalS} ${spacingHorizontalS}}`;
@@ -10379,17 +10431,17 @@ const styles$g = css`
10379
10431
  function radioGroupTemplate() {
10380
10432
  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>`;
10381
10433
  }
10382
- const template$g = radioGroupTemplate();
10434
+ const template$e = radioGroupTemplate();
10383
10435
 
10384
- const definition$g = RadioGroup.compose({
10436
+ const definition$e = RadioGroup.compose({
10385
10437
  name: `${FluentDesignSystem.prefix}-radio-group`,
10386
- template: template$g,
10387
- styles: styles$g
10438
+ template: template$e,
10439
+ styles: styles$e
10388
10440
  });
10389
10441
 
10390
- definition$g.define(FluentDesignSystem.registry);
10442
+ definition$e.define(FluentDesignSystem.registry);
10391
10443
 
10392
- const styles$f = css`
10444
+ const styles$d = css`
10393
10445
  ${display("inline-flex")}
10394
10446
 
10395
10447
  :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`
@@ -10402,24 +10454,24 @@ const checkedIndicator = html.partial(/* html */
10402
10454
  function radioTemplate(options = {}) {
10403
10455
  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>`;
10404
10456
  }
10405
- const template$f = radioTemplate({
10457
+ const template$d = radioTemplate({
10406
10458
  checkedIndicator
10407
10459
  });
10408
10460
 
10409
- const definition$f = Radio.compose({
10461
+ const definition$d = Radio.compose({
10410
10462
  name: `${FluentDesignSystem.prefix}-radio`,
10411
- template: template$f,
10412
- styles: styles$f
10463
+ template: template$d,
10464
+ styles: styles$d
10413
10465
  });
10414
10466
 
10415
- definition$f.define(FluentDesignSystem.registry);
10467
+ definition$d.define(FluentDesignSystem.registry);
10416
10468
 
10417
- var __defProp$j = Object.defineProperty;
10418
- var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
10419
- var __decorateClass$j = (decorators, target, key, kind) => {
10420
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
10469
+ var __defProp$h = Object.defineProperty;
10470
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
10471
+ var __decorateClass$h = (decorators, target, key, kind) => {
10472
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
10421
10473
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10422
- if (kind && result) __defProp$j(target, key, result);
10474
+ if (kind && result) __defProp$h(target, key, result);
10423
10475
  return result;
10424
10476
  };
10425
10477
  const SUPPORTS_ATTR_TYPE = CSS.supports("width: attr(value type(<number>))");
@@ -10508,25 +10560,25 @@ class BaseRatingDisplay extends FASTElement {
10508
10560
  }
10509
10561
  }
10510
10562
  }
10511
- __decorateClass$j([attr({
10563
+ __decorateClass$h([attr({
10512
10564
  converter: nullableNumberConverter
10513
10565
  })], BaseRatingDisplay.prototype, "count", 2);
10514
- __decorateClass$j([attr({
10566
+ __decorateClass$h([attr({
10515
10567
  attribute: "icon-view-box"
10516
10568
  })], BaseRatingDisplay.prototype, "iconViewBox", 2);
10517
- __decorateClass$j([attr({
10569
+ __decorateClass$h([attr({
10518
10570
  converter: nullableNumberConverter
10519
10571
  })], BaseRatingDisplay.prototype, "max", 2);
10520
- __decorateClass$j([attr({
10572
+ __decorateClass$h([attr({
10521
10573
  converter: nullableNumberConverter
10522
10574
  })], BaseRatingDisplay.prototype, "value", 2);
10523
10575
 
10524
- var __defProp$i = Object.defineProperty;
10525
- var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
10526
- var __decorateClass$i = (decorators, target, key, kind) => {
10527
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
10576
+ var __defProp$g = Object.defineProperty;
10577
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
10578
+ var __decorateClass$g = (decorators, target, key, kind) => {
10579
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
10528
10580
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10529
- if (kind && result) __defProp$i(target, key, result);
10581
+ if (kind && result) __defProp$g(target, key, result);
10530
10582
  return result;
10531
10583
  };
10532
10584
  class RatingDisplay extends BaseRatingDisplay {
@@ -10535,9 +10587,9 @@ class RatingDisplay extends BaseRatingDisplay {
10535
10587
  this.compact = false;
10536
10588
  }
10537
10589
  }
10538
- __decorateClass$i([attr], RatingDisplay.prototype, "color", 2);
10539
- __decorateClass$i([attr], RatingDisplay.prototype, "size", 2);
10540
- __decorateClass$i([attr({
10590
+ __decorateClass$g([attr], RatingDisplay.prototype, "color", 2);
10591
+ __decorateClass$g([attr], RatingDisplay.prototype, "size", 2);
10592
+ __decorateClass$g([attr({
10541
10593
  mode: "boolean"
10542
10594
  })], RatingDisplay.prototype, "compact", 2);
10543
10595
 
@@ -10553,9 +10605,9 @@ const defaultIconOutlined = `
10553
10605
  function ratingDisplayTemplate() {
10554
10606
  return html`<div ${ref("display")} class="display" aria-hidden="true"></div><slot name="icon" ${ref("iconSlot")} @slotchange="${x => x.handleSlotChange()}"></slot><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>`;
10555
10607
  }
10556
- const template$e = ratingDisplayTemplate();
10608
+ const template$c = ratingDisplayTemplate();
10557
10609
 
10558
- const styles$e = css`
10610
+ const styles$c = css`
10559
10611
  ${display("inline-flex")}
10560
10612
 
10561
10613
  :host{--_icon-size:16px;--_icon-gradient-degree:90deg;--_icon-color-value:${colorPaletteMarigoldBorderActive};--_icon-color-empty:${colorPaletteMarigoldBackground2};--_default-value:0;--_default-max:5;--_mask-image-filled:url(${svgToDataURI(defaultIconFilled)});--_mask-image-outlined:url(${svgToDataURI(defaultIconOutlined)});--_mask-position-x:left;align-items:center;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase200};line-height:${lineHeightBase200};contain:layout style;user-select:none}:host(:dir(rtl)){--_icon-gradient-degree:-90deg;--_mask-position-x:right}:host([size='small']){--_icon-size:12px}:host([size='large']){--_icon-size:20px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}::slotted([slot='icon']){display:none}:host([color='neutral']){--_icon-color-value:${colorNeutralForeground1};--_icon-color-empty:${colorNeutralBackground6}}:host([color='brand']){--_icon-color-value:${colorBrandForeground1};--_icon-color-empty:${colorBrandBackground2}}@supports (width:attr(value type(<number>))){:host{--_attr-value:attr(value type(<number>));--_attr-max:attr(max type(<number>))}}:host([compact]) .display{--_max:1}.display{--_value:max(0,round(var(--_attr-value,var(--_default-value)) * 2) / 2);--_max:max(1,var(--_attr-max,var(--_default-max)));--_mask-inline-size:calc(var(--_icon-size) + ${spacingHorizontalXXS});--_icon-gradient-stop-visual-adjustment:0px;--_icon-gradient-stop:calc(
@@ -10565,13 +10617,13 @@ const styles$e = css`
10565
10617
  );block-size:var(--_icon-size);display:grid;inline-size:calc(var(--_max) * var(--_mask-inline-size) - ${spacingHorizontalXXS} / 2);mask-image:var(--_mask-image-filled);mask-repeat:repeat no-repeat;mask-size:var(--_mask-inline-size) var(--_icon-size);mask-position:var(--_mask-position-x) center}.value-label,::slotted([slot='value']){display:block;margin-inline-start:${spacingHorizontalXS};font-weight:${fontWeightSemibold}}:host([size='small']) .value-label,:host([size='small']) ::slotted([slot='value']){margin-inline-start:${spacingHorizontalXXS}}:host([size='large']) .value-label,:host([size='large']) ::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([size='small']) .count-label::before,:host([size='small']) ::slotted([slot='count'])::before{margin-inline:${spacingHorizontalXXS}}:host([size='large']) .count-label::before,:host([size='large']) ::slotted([slot='count'])::before{margin-inline:${spacingHorizontalSNudge}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
10566
10618
  .display{--_icon-color-value:CanvasText;--_icon-color-empty:Canvas;--_icon-gradient-stop-visual-adjustment:0.5px;forced-color-adjust:none}.display::before{background-color:var(--_icon-color-value);content:'';grid-area:1 / 1 / -1 / -1;mask:inherit;mask-image:var(--_mask-image-outlined)}`));
10567
10619
 
10568
- const definition$e = RatingDisplay.compose({
10620
+ const definition$c = RatingDisplay.compose({
10569
10621
  name: `${FluentDesignSystem.prefix}-rating-display`,
10570
- template: template$e,
10571
- styles: styles$e
10622
+ template: template$c,
10623
+ styles: styles$c
10572
10624
  });
10573
10625
 
10574
- definition$e.define(FluentDesignSystem.registry);
10626
+ definition$c.define(FluentDesignSystem.registry);
10575
10627
 
10576
10628
  const SliderOrientation = Orientation;
10577
10629
  const SliderMode = {
@@ -10586,12 +10638,12 @@ function convertPixelToPercent(pixelPos, minPosition, maxPosition, direction) {
10586
10638
  return pct;
10587
10639
  }
10588
10640
 
10589
- var __defProp$h = Object.defineProperty;
10590
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
10591
- var __decorateClass$h = (decorators, target, key, kind) => {
10592
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
10641
+ var __defProp$f = Object.defineProperty;
10642
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
10643
+ var __decorateClass$f = (decorators, target, key, kind) => {
10644
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
10593
10645
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10594
- if (kind && result) __defProp$h(target, key, result);
10646
+ if (kind && result) __defProp$f(target, key, result);
10595
10647
  return result;
10596
10648
  };
10597
10649
  class Slider extends FASTElement {
@@ -11061,678 +11113,217 @@ class Slider extends FASTElement {
11061
11113
  get midpoint() {
11062
11114
  return `${this.convertToConstrainedValue((this.maxAsNumber + this.minAsNumber) / 2)}`;
11063
11115
  }
11064
- setupDefaultValue() {
11065
- if (!this._value) {
11066
- this.value = this.initialValue ?? this.midpoint;
11067
- }
11068
- if (!Number.isNaN(this.valueAsNumber) && (this.valueAsNumber < this.minAsNumber || this.valueAsNumber > this.maxAsNumber)) {
11069
- this.value = this.midpoint;
11070
- }
11071
- this.elementInternals.ariaValueNow = this.value;
11072
- }
11073
- /**
11074
- * Calculate the new value based on the given raw pixel value.
11075
- *
11076
- * @param rawValue - the value to be converted to a constrained value
11077
- * @returns the constrained value
11078
- *
11079
- * @internal
11080
- */
11081
- calculateNewValue(rawValue) {
11082
- this.setupTrackConstraints();
11083
- const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.vertical ? this.trackMinHeight : this.trackMinWidth, this.orientation === Orientation.vertical ? this.trackHeight : this.trackWidth, this.orientation === Orientation.vertical ? void 0 : this.direction);
11084
- const newValue = (this.maxAsNumber - this.minAsNumber) * newPosition + this.minAsNumber;
11085
- return this.convertToConstrainedValue(newValue);
11086
- }
11087
- convertToConstrainedValue(value) {
11088
- if (isNaN(value)) {
11089
- value = this.minAsNumber;
11090
- }
11091
- let constrainedValue = value - this.minAsNumber;
11092
- const roundedConstrainedValue = Math.round(constrainedValue / this.stepAsNumber);
11093
- const remainderValue = constrainedValue - roundedConstrainedValue * (this.stepMultiplier * this.stepAsNumber) / this.stepMultiplier;
11094
- constrainedValue = remainderValue >= Number(this.stepAsNumber) / 2 ? constrainedValue - remainderValue + Number(this.stepAsNumber) : constrainedValue - remainderValue;
11095
- return constrainedValue + this.minAsNumber;
11096
- }
11097
- /**
11098
- * Makes sure the side effects of set up when the disabled state changes.
11099
- */
11100
- setDisabledSideEffect(disabled) {
11101
- if (!this.$fastController.isConnected) {
11102
- return;
11103
- }
11104
- this.elementInternals.ariaDisabled = disabled.toString();
11105
- this.tabIndex = disabled ? -1 : 0;
11106
- }
11107
- }
11108
- /**
11109
- * The form-associated flag.
11110
- * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
11111
- *
11112
- * @public
11113
- */
11114
- Slider.formAssociated = true;
11115
- __decorateClass$h([attr], Slider.prototype, "size", 2);
11116
- __decorateClass$h([attr({
11117
- attribute: "value",
11118
- mode: "fromView"
11119
- })], Slider.prototype, "initialValue", 2);
11120
- __decorateClass$h([observable], Slider.prototype, "direction", 2);
11121
- __decorateClass$h([observable], Slider.prototype, "isDragging", 2);
11122
- __decorateClass$h([observable], Slider.prototype, "position", 2);
11123
- __decorateClass$h([observable], Slider.prototype, "trackWidth", 2);
11124
- __decorateClass$h([observable], Slider.prototype, "trackMinWidth", 2);
11125
- __decorateClass$h([observable], Slider.prototype, "trackHeight", 2);
11126
- __decorateClass$h([observable], Slider.prototype, "trackLeft", 2);
11127
- __decorateClass$h([observable], Slider.prototype, "trackMinHeight", 2);
11128
- __decorateClass$h([observable], Slider.prototype, "valueTextFormatter", 2);
11129
- __decorateClass$h([attr({
11130
- mode: "boolean"
11131
- })], Slider.prototype, "disabled", 2);
11132
- __decorateClass$h([attr({
11133
- converter: numberLikeStringConverter
11134
- })], Slider.prototype, "min", 2);
11135
- __decorateClass$h([attr({
11136
- converter: numberLikeStringConverter
11137
- })], Slider.prototype, "max", 2);
11138
- __decorateClass$h([attr({
11139
- converter: numberLikeStringConverter
11140
- })], Slider.prototype, "step", 2);
11141
- __decorateClass$h([attr], Slider.prototype, "orientation", 2);
11142
- __decorateClass$h([attr], Slider.prototype, "mode", 2);
11143
-
11144
- const styles$d = css`
11145
- ${display("inline-grid")}
11146
-
11147
- :host{--thumb-size:20px;--track-margin-inline:calc(var(--thumb-size) / 2);--track-size:4px;--track-overhang:calc(var(--track-size) / -2);--rail-color:${colorCompoundBrandBackground};--track-color:${colorNeutralStrokeAccessible};--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(:hover){--rail-color:${colorCompoundBrandBackgroundHover}}:host(:active){--rail-color:${colorCompoundBrandBackgroundPressed}}:host(:disabled){--rail-color:${colorNeutralForegroundDisabled};--track-color:${colorNeutralBackgroundDisabled}}:host(:not(:disabled)){cursor:pointer}:host(:dir(rtl)){--slider-direction:-90deg}:host([size='small']){--thumb-size:16px;--track-overhang:-1px;--track-size:2px;--border-radius:${borderRadiusSmall}}:host([orientation='vertical']){--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}}:host:after,.track{height:var(--track-size);width:100%}:host:after{background-image:linear-gradient(
11148
- var(--slider-direction),var(--rail-color) 0%,var(--rail-color) 50%,var(--track-color) 50.1%,var(--track-color) 100%
11149
- );border-radius:var(--border-radius);content:'';grid-row:1 / -1;grid-column:1 / -1}.track{position:relative;background-color:var(--track-color);grid-row:2 / 2;grid-column:2 / 2;forced-color-adjust:none;overflow:hidden}:host([orientation='vertical'])::after,:host([orientation='vertical']) .track{height:100%;width:var(--track-size)}.track::before{content:'';position:absolute;height:100%;border-radius:inherit;inset-inline-start:0;width:var(--slider-progress)}:host(:dir(rtl)) .track::before{width:calc(100% - var(--slider-progress))}:host([orientation='vertical']) .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(
11150
- var(--slider-direction),#0000 0%,#0000 calc(var(--step-rate) - 1px),${colorNeutralBackground1} calc(var(--step-rate) - 1px),${colorNeutralBackground1} var(--step-rate)
11151
- )}.thumb-container{position:absolute;grid-row:2 / 2;grid-column:2 / 2;transform:translateX(-50%);left:var(--slider-thumb)}:host([orientation='vertical']) .thumb-container{transform:translateY(50%);left:unset;bottom:var(--slider-thumb)}:host(:not(:active)) :is(.thumb-container,.track::before){transition:all 0.2s ease}.thumb{width:var(--thumb-size);height:var(--thumb-size);border-radius:${borderRadiusCircular};box-shadow:0 0 0 calc(var(--thumb-size) * 0.2) ${colorNeutralBackground1} inset;border:calc(var(--thumb-size) * 0.05) solid ${colorNeutralStroke1};box-sizing:border-box}.thumb,.track::before{background-color:var(--rail-color)}`.withBehaviors(forcedColorsStylesheetBehavior(css`
11152
- .track:hover,.track:active,.track{background:WindowText}.thumb:hover,.thumb:active,.thumb{background:ButtonText}:host(:hover) .track::before,:host(:active) .track::before,.track::before{background:Highlight}`));
11153
-
11154
- function sliderTemplate(options = {}) {
11155
- return html`<template @pointerdown="${(x, c) => x.handlePointerDown(c.event)}" @keydown="${(x, c) => x.handleKeydown(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>`;
11156
- }
11157
- const template$d = sliderTemplate({
11158
- thumb: `<div class="thumb"></div>`
11159
- });
11160
-
11161
- const definition$d = Slider.compose({
11162
- name: `${FluentDesignSystem.prefix}-slider`,
11163
- template: template$d,
11164
- styles: styles$d
11165
- });
11166
-
11167
- definition$d.define(FluentDesignSystem.registry);
11168
-
11169
- class BaseSpinner extends FASTElement {
11170
- constructor() {
11171
- super();
11172
- /**
11173
- * The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
11174
- *
11175
- * @internal
11176
- */
11177
- this.elementInternals = this.attachInternals();
11178
- this.elementInternals.role = "progressbar";
11179
- }
11180
- }
11181
-
11182
- var __defProp$g = Object.defineProperty;
11183
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
11184
- var __decorateClass$g = (decorators, target, key, kind) => {
11185
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
11186
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11187
- if (kind && result) __defProp$g(target, key, result);
11188
- return result;
11189
- };
11190
- class Spinner extends BaseSpinner {}
11191
- __decorateClass$g([attr], Spinner.prototype, "size", 2);
11192
- __decorateClass$g([attr], Spinner.prototype, "appearance", 2);
11193
-
11194
- const styles$c = css`
11195
- ${display("inline-flex")}
11196
-
11197
- :host{--duration:1.5s;--indicatorSize:${strokeWidthThicker};--size:32px;height:var(--size);width:var(--size);contain:strict;content-visibility:auto}:host([size='tiny']){--indicatorSize:${strokeWidthThick};--size:20px}:host([size='extra-small']){--indicatorSize:${strokeWidthThick};--size:24px}:host([size='small']){--indicatorSize:${strokeWidthThick};--size:28px}:host([size='large']){--indicatorSize:${strokeWidthThicker};--size:36px}:host([size='extra-large']){--indicatorSize:${strokeWidthThicker};--size:40px}:host([size='huge']){--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([appearance='inverted']) .background{border-color:rgba(255,255,255,0.2)}.spinner{animation-name:spin-swing}.start{overflow:hidden;right:50%}.end{overflow:hidden;left:50%}.indicator{color:${colorBrandStroke1};box-sizing:border-box;border-radius:50%;border:var(--indicatorSize) solid transparent;border-block-start-color:currentcolor;border-right-color:currentcolor}:host([appearance='inverted']) .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`
11198
- .background{display:none}.indicator{border-color:Canvas;border-block-start-color:Highlight;border-right-color:Highlight}`));
11199
-
11200
- const template$c = 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>`;
11201
-
11202
- const definition$c = Spinner.compose({
11203
- name: `${FluentDesignSystem.prefix}-spinner`,
11204
- template: template$c,
11205
- styles: styles$c
11206
- });
11207
-
11208
- definition$c.define(FluentDesignSystem.registry);
11209
-
11210
- class Switch extends BaseCheckbox {
11211
- constructor() {
11212
- super();
11213
- this.elementInternals.role = "switch";
11214
- }
11215
- }
11216
-
11217
- function switchTemplate(options = {}) {
11218
- return html`<template @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>`;
11219
- }
11220
- const template$b = switchTemplate({
11221
- switch: `<span class="checked-indicator" part="checked-indicator"></span>`
11222
- });
11223
-
11224
- const styles$b = css`
11225
- ${display("inline-flex")}
11226
-
11227
- :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}}:host(:enabled){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};outline-offset:1px;box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
11228
- :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}:host(:disabled) .checked-indicator,:host(${checkedState}:disabled) .checked-indicator{background-color:GrayText}`));
11229
-
11230
- const definition$b = Switch.compose({
11231
- name: `${FluentDesignSystem.prefix}-switch`,
11232
- template: template$b,
11233
- styles: styles$b
11234
- });
11235
-
11236
- definition$b.define(FluentDesignSystem.registry);
11237
-
11238
- class TabPanel extends FASTElement {}
11239
-
11240
- function tabPanelTemplate() {
11241
- return html`<template slot="tabpanel" role="tabpanel"><slot></slot></template>`;
11242
- }
11243
- const template$a = tabPanelTemplate();
11244
-
11245
- const styles$a = css`
11246
- ${display("block")}
11247
-
11248
- :host{box-sizing:border-box;padding:${spacingHorizontalM} ${spacingHorizontalMNudge}}`;
11249
-
11250
- const definition$a = TabPanel.compose({
11251
- name: `${FluentDesignSystem.prefix}-tab-panel`,
11252
- template: template$a,
11253
- styles: styles$a
11254
- });
11255
-
11256
- definition$a.define(FluentDesignSystem.registry);
11257
-
11258
- var __defProp$f = Object.defineProperty;
11259
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
11260
- var __decorateClass$f = (decorators, target, key, kind) => {
11261
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
11262
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11263
- if (kind && result) __defProp$f(target, key, result);
11264
- return result;
11265
- };
11266
- class Tab extends FASTElement {
11267
- connectedCallback() {
11268
- super.connectedCallback();
11269
- if (this.styles !== void 0) {
11270
- this.$fastController.removeStyles(this.styles);
11271
- }
11272
- this.styles = css`
11273
- :host{--textContent:'${this.textContent}'}`;
11274
- this.$fastController.addStyles(this.styles);
11275
- }
11276
- }
11277
- __decorateClass$f([attr({
11278
- mode: "boolean"
11279
- })], Tab.prototype, "disabled", 2);
11280
- applyMixins(Tab, StartEnd);
11281
-
11282
- function tabTemplate(options = {}) {
11283
- return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
11284
- }
11285
- const template$9 = tabTemplate({});
11286
-
11287
- const styles$9 = css`
11288
- ${display("inline-flex")}
11289
-
11290
- :host{position:relative;flex-direction:row;align-items:center;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};gap:4px}: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}: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}}:host([data-hasIndent]){display:grid;grid-template-columns:20px 1fr auto}:host([data-hasIndent]) .tab-content{grid-column:2}`.withBehaviors(forcedColorsStylesheetBehavior(css`
11291
- :host([aria-selected='true'])::after{background-color:Highlight}`));
11292
-
11293
- const definition$9 = Tab.compose({
11294
- name: `${FluentDesignSystem.prefix}-tab`,
11295
- template: template$9,
11296
- styles: styles$9
11297
- });
11298
-
11299
- definition$9.define(FluentDesignSystem.registry);
11300
-
11301
- const TabsAppearance = {
11302
- subtle: "subtle",
11303
- transparent: "transparent"
11304
- };
11305
- const TabsOrientation = Orientation;
11306
-
11307
- var __defProp$e = Object.defineProperty;
11308
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
11309
- var __decorateClass$e = (decorators, target, key, kind) => {
11310
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
11311
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11312
- if (kind && result) __defProp$e(target, key, result);
11313
- return result;
11314
- };
11315
- class BaseTabs extends FASTElement {
11316
- constructor() {
11317
- super(...arguments);
11318
- this.orientation = TabsOrientation.horizontal;
11319
- this.prevActiveTabIndex = 0;
11320
- this.activeTabIndex = 0;
11321
- this.change = () => {
11322
- this.$emit("change", this.activetab);
11323
- };
11324
- this.isDisabledElement = el => {
11325
- return el.getAttribute("aria-disabled") === "true";
11326
- };
11327
- this.isHiddenElement = el => {
11328
- return el.hasAttribute("hidden");
11329
- };
11330
- this.isFocusableElement = el => {
11331
- return !this.isDisabledElement(el) && !this.isHiddenElement(el);
11332
- };
11333
- this.handleTabClick = event => {
11334
- const selectedTab = event.currentTarget;
11335
- if (selectedTab.nodeType === 1 && this.isFocusableElement(selectedTab)) {
11336
- this.prevActiveTabIndex = this.activeTabIndex;
11337
- this.activeTabIndex = this.tabs.indexOf(selectedTab);
11338
- this.setComponent();
11339
- }
11340
- };
11341
- this.handleTabKeyDown = event => {
11342
- if (this.isHorizontal()) {
11343
- switch (event.key) {
11344
- case keyArrowLeft:
11345
- event.preventDefault();
11346
- this.adjustBackward(event);
11347
- break;
11348
- case keyArrowRight:
11349
- event.preventDefault();
11350
- this.adjustForward(event);
11351
- break;
11352
- }
11353
- } else {
11354
- switch (event.key) {
11355
- case keyArrowUp:
11356
- event.preventDefault();
11357
- this.adjustBackward(event);
11358
- break;
11359
- case keyArrowDown:
11360
- event.preventDefault();
11361
- this.adjustForward(event);
11362
- break;
11363
- }
11364
- }
11365
- switch (event.key) {
11366
- case keyHome:
11367
- event.preventDefault();
11368
- this.adjust(-this.activeTabIndex);
11369
- break;
11370
- case keyEnd:
11371
- event.preventDefault();
11372
- this.adjust(this.tabs.length - this.activeTabIndex - 1);
11373
- break;
11374
- }
11375
- };
11376
- }
11377
- /**
11378
- * @internal
11379
- */
11380
- orientationChanged() {
11381
- if (this.$fastController.isConnected) {
11382
- this.setTabs();
11383
- }
11384
- }
11385
- /**
11386
- * @internal
11387
- */
11388
- activeidChanged(oldValue, newValue) {
11389
- if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
11390
- this.prevActiveTabIndex = this.tabs.findIndex(item => item.id === oldValue);
11391
- this.setTabs();
11392
- }
11393
- }
11394
- /**
11395
- * @internal
11396
- */
11397
- tabsChanged() {
11398
- if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
11399
- this.tabIds = this.getTabIds();
11400
- this.tabpanelIds = this.getTabPanelIds();
11401
- this.setTabs();
11402
- }
11403
- }
11404
- /**
11405
- * @internal
11406
- */
11407
- tabpanelsChanged() {
11408
- if (this.$fastController.isConnected && this.tabpanels.length <= this.tabs.length) {
11409
- this.tabIds = this.getTabIds();
11410
- this.tabpanelIds = this.getTabPanelIds();
11411
- this.setTabs();
11412
- }
11413
- }
11414
- getActiveIndex() {
11415
- const id = this.activeid;
11416
- if (id !== void 0) {
11417
- return this.tabIds.indexOf(this.activeid) === -1 ? 0 : this.tabIds.indexOf(this.activeid);
11418
- } else {
11419
- return 0;
11420
- }
11421
- }
11422
- /**
11423
- * Function that is invoked whenever the selected tab or the tab collection changes.
11424
- *
11425
- * @public
11426
- */
11427
- setTabs() {
11428
- const gridHorizontalProperty = "gridColumn";
11429
- const gridVerticalProperty = "gridRow";
11430
- const gridProperty = this.isHorizontal() ? gridHorizontalProperty : gridVerticalProperty;
11431
- this.activeTabIndex = this.getActiveIndex();
11432
- this.tabs.forEach((tab, index) => {
11433
- if (tab.slot === "tab") {
11434
- const isActiveTab = this.activeTabIndex === index && this.isFocusableElement(tab);
11435
- const tabId = this.tabIds[index];
11436
- const tabpanelId = this.tabpanelIds[index];
11437
- tab.setAttribute("id", tabId);
11438
- tab.setAttribute("aria-selected", isActiveTab ? "true" : "false");
11439
- tab.setAttribute("aria-controls", tabpanelId);
11440
- tab.addEventListener("click", this.handleTabClick);
11441
- tab.addEventListener("keydown", this.handleTabKeyDown);
11442
- tab.setAttribute("tabindex", isActiveTab ? "0" : "-1");
11443
- if (isActiveTab) {
11444
- this.activetab = tab;
11445
- this.activeid = tabId;
11446
- }
11447
- }
11448
- tab.style[gridHorizontalProperty] = "";
11449
- tab.style[gridVerticalProperty] = "";
11450
- tab.style[gridProperty] = `${index + 1}`;
11451
- !this.isHorizontal() ? tab.classList.add("vertical") : tab.classList.remove("vertical");
11452
- });
11453
- this.setTabPanels();
11454
- }
11455
- setTabPanels() {
11456
- this.tabpanels.forEach((tabpanel, index) => {
11457
- const tabId = this.tabIds[index];
11458
- const tabpanelId = this.tabpanelIds[index];
11459
- tabpanel.setAttribute("id", tabpanelId);
11460
- tabpanel.setAttribute("aria-labelledby", tabId);
11461
- this.activeTabIndex !== index ? tabpanel.setAttribute("hidden", "") : tabpanel.removeAttribute("hidden");
11462
- });
11463
- }
11464
- getTabIds() {
11465
- return this.tabs.map(tab => {
11466
- return tab.getAttribute("id") ?? `tab-${uniqueId$1()}`;
11467
- });
11468
- }
11469
- getTabPanelIds() {
11470
- return this.tabpanels.map(tabPanel => {
11471
- return tabPanel.getAttribute("id") ?? `panel-${uniqueId$1()}`;
11472
- });
11473
- }
11474
- setComponent() {
11475
- if (this.activeTabIndex !== this.prevActiveTabIndex) {
11476
- this.activeid = this.tabIds[this.activeTabIndex];
11477
- this.focusTab();
11478
- this.change();
11479
- }
11480
- }
11481
- isHorizontal() {
11482
- return this.orientation === TabsOrientation.horizontal;
11483
- }
11484
- /**
11485
- * The adjust method for FASTTabs
11486
- * @public
11487
- * @remarks
11488
- * This method allows the active index to be adjusted by numerical increments
11489
- */
11490
- adjust(adjustment) {
11491
- const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));
11492
- const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);
11493
- const nextTabIndex = limit(0, focusableTabs.length - 1, currentActiveTabIndex + adjustment);
11494
- const nextIndex = this.tabs.indexOf(focusableTabs[nextTabIndex]);
11495
- if (nextIndex > -1) {
11496
- this.moveToTabByIndex(this.tabs, nextIndex);
11497
- }
11498
- }
11499
- adjustForward(e) {
11500
- const group = this.tabs;
11501
- let index = 0;
11502
- index = this.activetab ? group.indexOf(this.activetab) + 1 : 1;
11503
- if (index === group.length) {
11504
- index = 0;
11505
- }
11506
- while (index < group.length && group.length > 1) {
11507
- if (this.isFocusableElement(group[index])) {
11508
- this.moveToTabByIndex(group, index);
11509
- break;
11510
- } else if (this.activetab && index === group.indexOf(this.activetab)) {
11511
- break;
11512
- } else if (index + 1 >= group.length) {
11513
- index = 0;
11514
- } else {
11515
- index += 1;
11516
- }
11517
- }
11518
- }
11519
- adjustBackward(e) {
11520
- const group = this.tabs;
11521
- let index = 0;
11522
- index = this.activetab ? group.indexOf(this.activetab) - 1 : 0;
11523
- index = index < 0 ? group.length - 1 : index;
11524
- while (index >= 0 && group.length > 1) {
11525
- if (this.isFocusableElement(group[index])) {
11526
- this.moveToTabByIndex(group, index);
11527
- break;
11528
- } else if (index - 1 < 0) {
11529
- index = group.length - 1;
11530
- } else {
11531
- index -= 1;
11532
- }
11533
- }
11534
- }
11535
- moveToTabByIndex(group, index) {
11536
- const tab = group[index];
11537
- this.activetab = tab;
11538
- this.prevActiveTabIndex = this.activeTabIndex;
11539
- this.activeTabIndex = index;
11540
- tab.focus();
11541
- this.setComponent();
11542
- }
11543
- focusTab() {
11544
- this.tabs[this.activeTabIndex].focus();
11545
- }
11546
- /**
11547
- * @internal
11548
- */
11549
- connectedCallback() {
11550
- super.connectedCallback();
11551
- this.tabIds = this.getTabIds();
11552
- this.tabpanelIds = this.getTabPanelIds();
11553
- this.activeTabIndex = this.getActiveIndex();
11554
- }
11555
- }
11556
- __decorateClass$e([attr], BaseTabs.prototype, "orientation", 2);
11557
- __decorateClass$e([attr], BaseTabs.prototype, "activeid", 2);
11558
- __decorateClass$e([observable], BaseTabs.prototype, "tabs", 2);
11559
- __decorateClass$e([observable], BaseTabs.prototype, "tabpanels", 2);
11560
-
11561
- var __defProp$d = Object.defineProperty;
11562
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
11563
- var __decorateClass$d = (decorators, target, key, kind) => {
11564
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
11565
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11566
- if (kind && result) __defProp$d(target, key, result);
11567
- return result;
11568
- };
11569
- class Tabs extends BaseTabs {
11570
- constructor() {
11571
- super(...arguments);
11572
- /**
11573
- * activeTabData
11574
- * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
11575
- */
11576
- this.activeTabData = {
11577
- x: 0,
11578
- y: 0,
11579
- height: 0,
11580
- width: 0
11581
- };
11582
- /**
11583
- * previousActiveTabData
11584
- * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
11585
- */
11586
- this.previousActiveTabData = {
11587
- x: 0,
11588
- y: 0,
11589
- height: 0,
11590
- width: 0
11591
- };
11592
- /**
11593
- * activeTabOffset
11594
- * Used to position the active indicator for animations of the active indicator on active tab changes.
11595
- */
11596
- this.activeTabOffset = 0;
11597
- /**
11598
- * activeTabScale
11599
- * Used to scale the tab active indicator up or down as animations of the active indicator occur.
11600
- */
11601
- this.activeTabScale = 1;
11602
- this.appearance = TabsAppearance.transparent;
11603
- }
11604
- /**
11605
- * calculateAnimationProperties
11606
- *
11607
- * Recalculates the active tab offset and scale.
11608
- * These values will be applied to css variables that control the tab active indicator position animations
11609
- */
11610
- calculateAnimationProperties(tab) {
11611
- this.activeTabOffset = this.getTabPosition(tab);
11612
- this.activeTabScale = this.getTabScale(tab);
11613
- }
11614
- /**
11615
- * getSelectedTabPosition - gets the x or y coordinates of the tab
11616
- */
11617
- getTabPosition(tab) {
11618
- if (this.orientation === TabsOrientation.horizontal) {
11619
- return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
11620
- } else return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
11621
- }
11622
- /**
11623
- * getSelectedTabScale - gets the scale of the tab
11624
- */
11625
- getTabScale(tab) {
11626
- if (this.orientation === TabsOrientation.horizontal) {
11627
- return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
11628
- } else return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
11629
- }
11630
- /**
11631
- * Calculates and applies updated values to CSS variables.
11632
- *
11633
- * @param tab - the tab element to apply the updated values to
11634
- * @internal
11635
- */
11636
- applyUpdatedCSSValues(tab) {
11637
- this.calculateAnimationProperties(tab);
11638
- this.setTabScaleCSSVar();
11639
- this.setTabOffsetCSSVar();
11116
+ setupDefaultValue() {
11117
+ if (!this._value) {
11118
+ this.value = this.initialValue ?? this.midpoint;
11119
+ }
11120
+ if (!Number.isNaN(this.valueAsNumber) && (this.valueAsNumber < this.minAsNumber || this.valueAsNumber > this.maxAsNumber)) {
11121
+ this.value = this.midpoint;
11122
+ }
11123
+ this.elementInternals.ariaValueNow = this.value;
11640
11124
  }
11641
11125
  /**
11642
- * Runs through all the operations required for setting the tab active indicator to its starting location, ending
11643
- * location, and applying the animated css class to the tab.
11126
+ * Calculate the new value based on the given raw pixel value.
11127
+ *
11128
+ * @param rawValue - the value to be converted to a constrained value
11129
+ * @returns the constrained value
11644
11130
  *
11645
- * @param tab - the tab element to apply the updated values to
11646
11131
  * @internal
11647
11132
  */
11648
- animationLoop(tab) {
11649
- tab.setAttribute("data-animate", "false");
11650
- this.applyUpdatedCSSValues(tab);
11651
- this.previousActiveTabData = this.activeTabData;
11652
- this.applyUpdatedCSSValues(tab);
11653
- tab.setAttribute("data-animate", "true");
11133
+ calculateNewValue(rawValue) {
11134
+ this.setupTrackConstraints();
11135
+ const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.vertical ? this.trackMinHeight : this.trackMinWidth, this.orientation === Orientation.vertical ? this.trackHeight : this.trackWidth, this.orientation === Orientation.vertical ? void 0 : this.direction);
11136
+ const newValue = (this.maxAsNumber - this.minAsNumber) * newPosition + this.minAsNumber;
11137
+ return this.convertToConstrainedValue(newValue);
11654
11138
  }
11655
- /**
11656
- * Gets the position data for a tab element relative to its parent
11657
- * @param tab - The tab element to get position data for
11658
- * @returns The position data for the tab
11659
- */
11660
- getTabPositionData(tab) {
11661
- const rect = tab.getBoundingClientRect();
11662
- const parentRect = this.getBoundingClientRect();
11663
- return {
11664
- x: rect.x - parentRect.x,
11665
- y: rect.y - parentRect.y,
11666
- height: rect.height,
11667
- width: rect.width
11668
- };
11139
+ convertToConstrainedValue(value) {
11140
+ if (isNaN(value)) {
11141
+ value = this.minAsNumber;
11142
+ }
11143
+ let constrainedValue = value - this.minAsNumber;
11144
+ const roundedConstrainedValue = Math.round(constrainedValue / this.stepAsNumber);
11145
+ const remainderValue = constrainedValue - roundedConstrainedValue * (this.stepMultiplier * this.stepAsNumber) / this.stepMultiplier;
11146
+ constrainedValue = remainderValue >= Number(this.stepAsNumber) / 2 ? constrainedValue - remainderValue + Number(this.stepAsNumber) : constrainedValue - remainderValue;
11147
+ return constrainedValue + this.minAsNumber;
11669
11148
  }
11670
11149
  /**
11671
- * Sets the data from the active tab onto the class. used for making all the animation calculations for the active
11672
- * tab indicator.
11673
- *
11674
- * @internal
11150
+ * Makes sure the side effects of set up when the disabled state changes.
11675
11151
  */
11676
- setTabData() {
11677
- if (this.tabs && this.tabs.length > 0) {
11678
- const tabs = this.tabs;
11679
- const activeTab = this.activetab || tabs[0];
11680
- this.activeTabData = this.getTabPositionData(activeTab);
11681
- if (this.previousActiveTabData?.x !== this.activeTabData?.x && this.previousActiveTabData?.y !== this.activeTabData?.y) {
11682
- this.previousActiveTabData = this.activeTabData;
11683
- }
11152
+ setDisabledSideEffect(disabled) {
11153
+ if (!this.$fastController.isConnected) {
11154
+ return;
11684
11155
  }
11156
+ this.elementInternals.ariaDisabled = disabled.toString();
11157
+ this.tabIndex = disabled ? -1 : 0;
11685
11158
  }
11686
- setTabOffsetCSSVar() {
11687
- this.styles = css`
11688
- :host{--tabIndicatorOffset:${this.activeTabOffset.toString()}px}`;
11689
- this.$fastController.addStyles(this.styles);
11690
- }
11691
- setTabScaleCSSVar() {
11692
- this.styles = css`
11693
- :host{--tabIndicatorScale:${this.activeTabScale.toString()}}`;
11694
- this.$fastController.addStyles(this.styles);
11159
+ }
11160
+ /**
11161
+ * The form-associated flag.
11162
+ * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
11163
+ *
11164
+ * @public
11165
+ */
11166
+ Slider.formAssociated = true;
11167
+ __decorateClass$f([attr], Slider.prototype, "size", 2);
11168
+ __decorateClass$f([attr({
11169
+ attribute: "value",
11170
+ mode: "fromView"
11171
+ })], Slider.prototype, "initialValue", 2);
11172
+ __decorateClass$f([observable], Slider.prototype, "direction", 2);
11173
+ __decorateClass$f([observable], Slider.prototype, "isDragging", 2);
11174
+ __decorateClass$f([observable], Slider.prototype, "position", 2);
11175
+ __decorateClass$f([observable], Slider.prototype, "trackWidth", 2);
11176
+ __decorateClass$f([observable], Slider.prototype, "trackMinWidth", 2);
11177
+ __decorateClass$f([observable], Slider.prototype, "trackHeight", 2);
11178
+ __decorateClass$f([observable], Slider.prototype, "trackLeft", 2);
11179
+ __decorateClass$f([observable], Slider.prototype, "trackMinHeight", 2);
11180
+ __decorateClass$f([observable], Slider.prototype, "valueTextFormatter", 2);
11181
+ __decorateClass$f([attr({
11182
+ mode: "boolean"
11183
+ })], Slider.prototype, "disabled", 2);
11184
+ __decorateClass$f([attr({
11185
+ converter: numberLikeStringConverter
11186
+ })], Slider.prototype, "min", 2);
11187
+ __decorateClass$f([attr({
11188
+ converter: numberLikeStringConverter
11189
+ })], Slider.prototype, "max", 2);
11190
+ __decorateClass$f([attr({
11191
+ converter: numberLikeStringConverter
11192
+ })], Slider.prototype, "step", 2);
11193
+ __decorateClass$f([attr], Slider.prototype, "orientation", 2);
11194
+ __decorateClass$f([attr], Slider.prototype, "mode", 2);
11195
+
11196
+ const styles$b = css`
11197
+ ${display("inline-grid")}
11198
+
11199
+ :host{--thumb-size:20px;--track-margin-inline:calc(var(--thumb-size) / 2);--track-size:4px;--track-overhang:calc(var(--track-size) / -2);--rail-color:${colorCompoundBrandBackground};--track-color:${colorNeutralStrokeAccessible};--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(:hover){--rail-color:${colorCompoundBrandBackgroundHover}}:host(:active){--rail-color:${colorCompoundBrandBackgroundPressed}}:host(:disabled){--rail-color:${colorNeutralForegroundDisabled};--track-color:${colorNeutralBackgroundDisabled}}:host(:not(:disabled)){cursor:pointer}:host(:dir(rtl)){--slider-direction:-90deg}:host([size='small']){--thumb-size:16px;--track-overhang:-1px;--track-size:2px;--border-radius:${borderRadiusSmall}}:host([orientation='vertical']){--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}}:host:after,.track{height:var(--track-size);width:100%}:host:after{background-image:linear-gradient(
11200
+ var(--slider-direction),var(--rail-color) 0%,var(--rail-color) 50%,var(--track-color) 50.1%,var(--track-color) 100%
11201
+ );border-radius:var(--border-radius);content:'';grid-row:1 / -1;grid-column:1 / -1}.track{position:relative;background-color:var(--track-color);grid-row:2 / 2;grid-column:2 / 2;forced-color-adjust:none;overflow:hidden}:host([orientation='vertical'])::after,:host([orientation='vertical']) .track{height:100%;width:var(--track-size)}.track::before{content:'';position:absolute;height:100%;border-radius:inherit;inset-inline-start:0;width:var(--slider-progress)}:host(:dir(rtl)) .track::before{width:calc(100% - var(--slider-progress))}:host([orientation='vertical']) .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(
11202
+ var(--slider-direction),#0000 0%,#0000 calc(var(--step-rate) - 1px),${colorNeutralBackground1} calc(var(--step-rate) - 1px),${colorNeutralBackground1} var(--step-rate)
11203
+ )}.thumb-container{position:absolute;grid-row:2 / 2;grid-column:2 / 2;transform:translateX(-50%);left:var(--slider-thumb)}:host([orientation='vertical']) .thumb-container{transform:translateY(50%);left:unset;bottom:var(--slider-thumb)}:host(:not(:active)) :is(.thumb-container,.track::before){transition:all 0.2s ease}.thumb{width:var(--thumb-size);height:var(--thumb-size);border-radius:${borderRadiusCircular};box-shadow:0 0 0 calc(var(--thumb-size) * 0.2) ${colorNeutralBackground1} inset;border:calc(var(--thumb-size) * 0.05) solid ${colorNeutralStroke1};box-sizing:border-box}.thumb,.track::before{background-color:var(--rail-color)}`.withBehaviors(forcedColorsStylesheetBehavior(css`
11204
+ .track:hover,.track:active,.track{background:WindowText}.thumb:hover,.thumb:active,.thumb{background:ButtonText}:host(:hover) .track::before,:host(:active) .track::before,.track::before{background:Highlight}`));
11205
+
11206
+ function sliderTemplate(options = {}) {
11207
+ return html`<template @pointerdown="${(x, c) => x.handlePointerDown(c.event)}" @keydown="${(x, c) => x.handleKeydown(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>`;
11208
+ }
11209
+ const template$b = sliderTemplate({
11210
+ thumb: `<div class="thumb"></div>`
11211
+ });
11212
+
11213
+ const definition$b = Slider.compose({
11214
+ name: `${FluentDesignSystem.prefix}-slider`,
11215
+ template: template$b,
11216
+ styles: styles$b
11217
+ });
11218
+
11219
+ definition$b.define(FluentDesignSystem.registry);
11220
+
11221
+ class BaseSpinner extends FASTElement {
11222
+ constructor() {
11223
+ super();
11224
+ /**
11225
+ * The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
11226
+ *
11227
+ * @internal
11228
+ */
11229
+ this.elementInternals = this.attachInternals();
11230
+ this.elementInternals.role = "progressbar";
11695
11231
  }
11696
- activeidChanged(oldValue, newValue) {
11697
- if (oldValue && this.tabs) {
11698
- const oldTab = this.tabs.find(tab => tab.id === oldValue);
11699
- if (oldTab) {
11700
- this.previousActiveTabData = this.getTabPositionData(oldTab);
11701
- }
11702
- }
11703
- super.activeidChanged(oldValue, newValue);
11704
- this.setTabData();
11705
- if (this.activetab) {
11706
- this.animationLoop(this.activetab);
11707
- }
11232
+ }
11233
+
11234
+ var __defProp$e = Object.defineProperty;
11235
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
11236
+ var __decorateClass$e = (decorators, target, key, kind) => {
11237
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
11238
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11239
+ if (kind && result) __defProp$e(target, key, result);
11240
+ return result;
11241
+ };
11242
+ class Spinner extends BaseSpinner {}
11243
+ __decorateClass$e([attr], Spinner.prototype, "size", 2);
11244
+ __decorateClass$e([attr], Spinner.prototype, "appearance", 2);
11245
+
11246
+ const styles$a = css`
11247
+ ${display("inline-flex")}
11248
+
11249
+ :host{--duration:1.5s;--indicatorSize:${strokeWidthThicker};--size:32px;height:var(--size);width:var(--size);contain:strict;content-visibility:auto}:host([size='tiny']){--indicatorSize:${strokeWidthThick};--size:20px}:host([size='extra-small']){--indicatorSize:${strokeWidthThick};--size:24px}:host([size='small']){--indicatorSize:${strokeWidthThick};--size:28px}:host([size='large']){--indicatorSize:${strokeWidthThicker};--size:36px}:host([size='extra-large']){--indicatorSize:${strokeWidthThicker};--size:40px}:host([size='huge']){--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([appearance='inverted']) .background{border-color:rgba(255,255,255,0.2)}.spinner{animation-name:spin-swing}.start{overflow:hidden;right:50%}.end{overflow:hidden;left:50%}.indicator{color:${colorBrandStroke1};box-sizing:border-box;border-radius:50%;border:var(--indicatorSize) solid transparent;border-block-start-color:currentcolor;border-right-color:currentcolor}:host([appearance='inverted']) .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`
11250
+ .background{display:none}.indicator{border-color:Canvas;border-block-start-color:Highlight;border-right-color:Highlight}`));
11251
+
11252
+ const template$a = 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>`;
11253
+
11254
+ const definition$a = Spinner.compose({
11255
+ name: `${FluentDesignSystem.prefix}-spinner`,
11256
+ template: template$a,
11257
+ styles: styles$a
11258
+ });
11259
+
11260
+ definition$a.define(FluentDesignSystem.registry);
11261
+
11262
+ class Switch extends BaseCheckbox {
11263
+ constructor() {
11264
+ super();
11265
+ this.elementInternals.role = "switch";
11708
11266
  }
11709
- tabsChanged() {
11710
- super.tabsChanged();
11711
- this.setTabData();
11712
- if (this.activetab) {
11713
- this.animationLoop(this.activetab);
11267
+ }
11268
+
11269
+ function switchTemplate(options = {}) {
11270
+ return html`<template @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>`;
11271
+ }
11272
+ const template$9 = switchTemplate({
11273
+ switch: `<span class="checked-indicator" part="checked-indicator"></span>`
11274
+ });
11275
+
11276
+ const styles$9 = css`
11277
+ ${display("inline-flex")}
11278
+
11279
+ :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}}:host(:enabled){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};outline-offset:1px;box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
11280
+ :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}:host(:disabled) .checked-indicator,:host(${checkedState}:disabled) .checked-indicator{background-color:GrayText}`));
11281
+
11282
+ const definition$9 = Switch.compose({
11283
+ name: `${FluentDesignSystem.prefix}-switch`,
11284
+ template: template$9,
11285
+ styles: styles$9
11286
+ });
11287
+
11288
+ definition$9.define(FluentDesignSystem.registry);
11289
+
11290
+ var __defProp$d = Object.defineProperty;
11291
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
11292
+ var __decorateClass$d = (decorators, target, key, kind) => {
11293
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
11294
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11295
+ if (kind && result) __defProp$d(target, key, result);
11296
+ return result;
11297
+ };
11298
+ class Tab extends FASTElement {
11299
+ connectedCallback() {
11300
+ super.connectedCallback();
11301
+ if (this.styles !== void 0) {
11302
+ this.$fastController.removeStyles(this.styles);
11714
11303
  }
11304
+ this.styles = css`
11305
+ :host{--textContent:'${this.textContent}'}`;
11306
+ this.$fastController.addStyles(this.styles);
11715
11307
  }
11716
11308
  }
11717
- __decorateClass$d([attr], Tabs.prototype, "appearance", 2);
11718
11309
  __decorateClass$d([attr({
11719
11310
  mode: "boolean"
11720
- })], Tabs.prototype, "disabled", 2);
11721
- __decorateClass$d([attr], Tabs.prototype, "size", 2);
11722
- applyMixins(Tabs, StartEnd);
11311
+ })], Tab.prototype, "disabled", 2);
11312
+ applyMixins(Tab, StartEnd);
11723
11313
 
11724
- function tabsTemplate(options = {}) {
11725
- 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>`;
11314
+ function tabTemplate(options = {}) {
11315
+ return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
11726
11316
  }
11727
- const template$8 = tabsTemplate({});
11317
+ const template$8 = tabTemplate({});
11728
11318
 
11729
11319
  const styles$8 = css`
11730
- ${display("grid")}
11320
+ ${display("inline-flex")}
11731
11321
 
11732
- :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}}`;
11322
+ :host{position:relative;flex-direction:row;align-items:center;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};gap:4px}: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}: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}}:host([data-hasIndent]){display:grid;grid-template-columns:20px 1fr auto}:host([data-hasIndent]) .tab-content{grid-column:2}`.withBehaviors(forcedColorsStylesheetBehavior(css`
11323
+ :host([aria-selected='true'])::after{background-color:Highlight}`));
11733
11324
 
11734
- const definition$8 = Tabs.compose({
11735
- name: `${FluentDesignSystem.prefix}-tabs`,
11325
+ const definition$8 = Tab.compose({
11326
+ name: `${FluentDesignSystem.prefix}-tab`,
11736
11327
  template: template$8,
11737
11328
  styles: styles$8
11738
11329
  });
@@ -12518,7 +12109,7 @@ class BaseTextArea extends FASTElement {
12518
12109
  this.autoSizerEl.classList.add("auto-sizer");
12519
12110
  this.autoSizerEl.ariaHidden = "true";
12520
12111
  }
12521
- this.shadowRoot.prepend(this.autoSizerEl);
12112
+ this.rootEl?.prepend(this.autoSizerEl);
12522
12113
  if (!this.autoSizerObserver) {
12523
12114
  this.autoSizerObserver = new ResizeObserver((_, observer) => {
12524
12115
  const blockSizePropName = window.getComputedStyle(this).writingMode.startsWith("horizontal") ? "height" : "width";
@@ -12667,7 +12258,7 @@ const styles$6 = css`
12667
12258
  :host{--border-color:FieldText;--border-block-end-color:FieldText;--focus-indicator-color:Highlight;--placeholder-color:FieldText}:host(:hover),:host(:active),:host(:focus-within){--border-color:Highlight;--border-block-end-color:Highlight}:host(:disabled){--color:GrayText;--border-color:GrayText;--border-block-end-color:GrayText;--placeholder-color:GrayText}`));
12668
12259
 
12669
12260
  function textAreaTemplate() {
12670
- return html`<template><label ${ref("labelEl")} for="control" part="label"><slot name="label" ${slotted("labelSlottedNodes")}></slot></label><div class="root" part="root"><textarea ${ref("controlEl")} id="control" class="control" part="control" ?required="${x => x.required}" ?disabled="${x => x.disabled}" ?readonly="${x => x.readOnly}" ?spellcheck="${x => x.spellcheck}" autocomplete="${x => x.autocomplete}" maxlength="${x => x.maxLength}" minlength="${x => x.minLength}" placeholder="${x => x.placeholder}" @change="${x => x.handleControlChange()}" @select="${x => x.handleControlSelect()}" @input="${x => x.handleControlInput()}"></textarea></div><div hidden><slot ${slotted("defaultSlottedNodes")}></slot></div></template>`;
12261
+ return html`<template><label ${ref("labelEl")} for="control" part="label"><slot name="label" ${slotted("labelSlottedNodes")}></slot></label><div class="root" part="root" ${ref("rootEl")}><textarea ${ref("controlEl")} id="control" class="control" part="control" ?required="${x => x.required}" ?disabled="${x => x.disabled}" ?readonly="${x => x.readOnly}" ?spellcheck="${x => x.spellcheck}" autocomplete="${x => x.autocomplete}" maxlength="${x => x.maxLength}" minlength="${x => x.minLength}" placeholder="${x => x.placeholder}" @change="${x => x.handleControlChange()}" @select="${x => x.handleControlSelect()}" @input="${x => x.handleControlInput()}"></textarea></div><div hidden><slot ${slotted("defaultSlottedNodes")}></slot></div></template>`;
12671
12262
  }
12672
12263
  const template$6 = textAreaTemplate();
12673
12264
 
@@ -13242,7 +12833,7 @@ __decorateClass$5([attr({
13242
12833
  })], ToggleButton.prototype, "mixed", 2);
13243
12834
 
13244
12835
  const styles$3 = css`
13245
- ${styles$E}
12836
+ ${styles$C}
13246
12837
 
13247
12838
  :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}[appearance='primary']:not(:focus-visible)){border-color:transparent}:host(${pressedState}[appearance='primary']){background-color:${colorBrandBackgroundSelected};color:${colorNeutralForegroundOnBrand}}:host(${pressedState}[appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host(${pressedState}[appearance='primary']:active){background-color:${colorBrandBackgroundPressed}}:host(${pressedState}[appearance='subtle']){border-color:transparent;background-color:${colorSubtleBackgroundSelected};color:${colorNeutralForeground2Selected}}:host(${pressedState}[appearance='subtle']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover}}:host(${pressedState}[appearance='subtle']:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed}}:host(${pressedState}[appearance='outline']),:host(${pressedState}[appearance='transparent']){background-color:${colorTransparentBackgroundSelected}}:host(${pressedState}[appearance='outline']:hover),:host(${pressedState}[appearance='transparent']:hover){background-color:${colorTransparentBackgroundHover}}:host(${pressedState}[appearance='outline']:active),:host(${pressedState}[appearance='transparent']:active){background-color:${colorTransparentBackgroundPressed}}:host(${pressedState}[appearance='transparent']){border-color:transparent;color:${colorNeutralForeground2BrandSelected}}:host(${pressedState}[appearance='transparent']:hover){color:${colorNeutralForeground2BrandHover}}:host(${pressedState}[appearance='transparent']:active){color:${colorNeutralForeground2BrandPressed}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
13248
12839
  :host(${pressedState}),:host(
@@ -13977,3 +13568,136 @@ const definition = TreeItem.compose({
13977
13568
  });
13978
13569
 
13979
13570
  definition.define(FluentDesignSystem.registry);
13571
+
13572
+ const SUPPORTS_ADOPTED_STYLE_SHEETS = "adoptedStyleSheets" in document;
13573
+ const SUPPORTS_CSS_SCOPE = "CSSScopeRule" in window;
13574
+ const themeStyleTextMap = /* @__PURE__ */new Map();
13575
+ const scopedThemeKeyMap = /* @__PURE__ */new Map();
13576
+ const shadowAdoptedStyleSheetMap = /* @__PURE__ */new Map();
13577
+ const elementThemeMap = /* @__PURE__ */new Map();
13578
+ const globalThemeStyleSheet = new CSSStyleSheet();
13579
+ function setTheme(theme, node = document) {
13580
+ if (!node || !isThemeableNode(node)) {
13581
+ return;
13582
+ }
13583
+ if (!SUPPORTS_ADOPTED_STYLE_SHEETS || node instanceof HTMLElement && !node.shadowRoot && !SUPPORTS_CSS_SCOPE) {
13584
+ const target = node === document ? document.documentElement : node;
13585
+ setThemePropertiesOnElement(theme, target);
13586
+ return;
13587
+ }
13588
+ if ([document, document.documentElement, document.body].includes(node)) {
13589
+ setGlobalTheme(theme);
13590
+ } else {
13591
+ setLocalTheme(theme, node);
13592
+ }
13593
+ }
13594
+ function getThemeStyleText(theme) {
13595
+ if (!themeStyleTextMap.has(theme)) {
13596
+ const tokenDeclarations = [];
13597
+ for (const [tokenName, tokenValue] of Object.entries(theme)) {
13598
+ tokenDeclarations.push(`--${tokenName}:${tokenValue.toString()};`);
13599
+ }
13600
+ themeStyleTextMap.set(theme, tokenDeclarations.join(""));
13601
+ }
13602
+ return themeStyleTextMap.get(theme);
13603
+ }
13604
+ function isThemeableNode(node) {
13605
+ return [document, document.documentElement].includes(node) || node instanceof HTMLElement && !!node.closest("body");
13606
+ }
13607
+ function setGlobalTheme(theme) {
13608
+ if (theme === null) {
13609
+ if (document.adoptedStyleSheets.includes(globalThemeStyleSheet)) {
13610
+ globalThemeStyleSheet.replaceSync("");
13611
+ }
13612
+ return;
13613
+ }
13614
+ globalThemeStyleSheet.replaceSync(`
13615
+ html {
13616
+ ${getThemeStyleText(theme)}
13617
+ }
13618
+ `);
13619
+ if (!document.adoptedStyleSheets.includes(globalThemeStyleSheet)) {
13620
+ document.adoptedStyleSheets.push(globalThemeStyleSheet);
13621
+ }
13622
+ }
13623
+ function setLocalTheme(theme, element) {
13624
+ if (theme === null) {
13625
+ if (element.shadowRoot && shadowAdoptedStyleSheetMap.has(element)) {
13626
+ shadowAdoptedStyleSheetMap.get(element).replaceSync("");
13627
+ } else {
13628
+ delete element.dataset.fluentTheme;
13629
+ forceRepaint(element);
13630
+ }
13631
+ return;
13632
+ }
13633
+ if (element.shadowRoot) {
13634
+ getShadowAdoptedStyleSheet(element).replaceSync(`
13635
+ :host {
13636
+ ${getThemeStyleText(theme)}
13637
+ }
13638
+ `);
13639
+ } else {
13640
+ element.dataset.fluentTheme = getScopedThemeKey(theme);
13641
+ forceRepaint(element);
13642
+ }
13643
+ }
13644
+ function getShadowAdoptedStyleSheet(element) {
13645
+ if (!shadowAdoptedStyleSheetMap.has(element)) {
13646
+ const shadowAdoptedStyleSheet = new CSSStyleSheet();
13647
+ shadowAdoptedStyleSheetMap.set(element, shadowAdoptedStyleSheet);
13648
+ element.shadowRoot?.adoptedStyleSheets.push(shadowAdoptedStyleSheet);
13649
+ }
13650
+ return shadowAdoptedStyleSheetMap.get(element);
13651
+ }
13652
+ function getScopedThemeKey(theme) {
13653
+ if (!scopedThemeKeyMap.has(theme)) {
13654
+ const themeKey = uniqueId$1("fluent-theme-");
13655
+ const scopedThemeStyleSheet = new CSSStyleSheet();
13656
+ scopedThemeKeyMap.set(theme, themeKey);
13657
+ scopedThemeStyleSheet.replaceSync(`
13658
+ @scope ([data-fluent-theme="${themeKey}"]) {
13659
+ :scope {
13660
+ ${getThemeStyleText(theme)}
13661
+ }
13662
+ }
13663
+ `);
13664
+ document.adoptedStyleSheets.push(scopedThemeStyleSheet);
13665
+ }
13666
+ return scopedThemeKeyMap.get(theme);
13667
+ }
13668
+ function setThemePropertiesOnElement(theme, element) {
13669
+ let tokens;
13670
+ if (theme === null) {
13671
+ if (!elementThemeMap.has(element)) {
13672
+ return;
13673
+ }
13674
+ tokens = elementThemeMap.get(element);
13675
+ } else {
13676
+ elementThemeMap.set(element, theme);
13677
+ tokens = theme;
13678
+ }
13679
+ for (const [tokenName, tokenValue] of Object.entries(tokens)) {
13680
+ if (theme === null) {
13681
+ element.style.removeProperty(`--${tokenName}`);
13682
+ } else {
13683
+ element.style.setProperty(`--${tokenName}`, tokenValue.toString());
13684
+ }
13685
+ }
13686
+ }
13687
+ const {
13688
+ userAgent: UA
13689
+ } = navigator;
13690
+ const isWebkit = /\bAppleWebKit\/[\d+\.]+\b/.test(UA);
13691
+ function forceRepaint(element) {
13692
+ if (!isWebkit) {
13693
+ return;
13694
+ }
13695
+ const name = "visibility";
13696
+ const tempValue = "hidden";
13697
+ const currentValue = element.style.getPropertyValue(name);
13698
+ element.style.setProperty(name, tempValue);
13699
+ Updates.process();
13700
+ element.style.setProperty(name, currentValue);
13701
+ }
13702
+
13703
+ export { setTheme };