@fluentui/web-components 3.0.0-beta.27 → 3.0.0-beta.29

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 (66) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/dist/dts/anchor-button/anchor-button.d.ts +88 -82
  3. package/dist/dts/anchor-button/anchor-button.options.d.ts +21 -0
  4. package/dist/dts/button/button.styles.d.ts +4 -0
  5. package/dist/dts/index-rollup.d.ts +1 -0
  6. package/dist/dts/index.d.ts +2 -3
  7. package/dist/dts/link/define.d.ts +1 -0
  8. package/dist/dts/link/index.d.ts +4 -0
  9. package/dist/dts/link/link.bench.d.ts +3 -0
  10. package/dist/dts/link/link.d.ts +33 -0
  11. package/dist/dts/link/link.definition.d.ts +7 -0
  12. package/dist/dts/link/link.options.d.ts +52 -0
  13. package/dist/dts/link/link.styles.d.ts +1 -0
  14. package/dist/dts/link/link.template.d.ts +12 -0
  15. package/dist/dts/progress-bar/index.d.ts +0 -1
  16. package/dist/dts/progress-bar/progress-bar.d.ts +56 -13
  17. package/dist/dts/progress-bar/progress-bar.options.d.ts +1 -10
  18. package/dist/dts/progress-bar/progress-bar.template.d.ts +1 -2
  19. package/dist/esm/anchor-button/anchor-button.definition.js +0 -3
  20. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  21. package/dist/esm/anchor-button/anchor-button.js +97 -81
  22. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  23. package/dist/esm/anchor-button/anchor-button.options.js +15 -0
  24. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  25. package/dist/esm/anchor-button/anchor-button.styles.js +6 -258
  26. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
  27. package/dist/esm/anchor-button/anchor-button.template.js +7 -35
  28. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  29. package/dist/esm/button/button.styles.js +16 -5
  30. package/dist/esm/button/button.styles.js.map +1 -1
  31. package/dist/esm/index-rollup.js +1 -0
  32. package/dist/esm/index-rollup.js.map +1 -1
  33. package/dist/esm/index.js +2 -1
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/link/define.js +4 -0
  36. package/dist/esm/link/define.js.map +1 -0
  37. package/dist/esm/link/index.js +5 -0
  38. package/dist/esm/link/index.js.map +1 -0
  39. package/dist/esm/link/link.bench.js +11 -0
  40. package/dist/esm/link/link.bench.js.map +1 -0
  41. package/dist/esm/link/link.definition.js +15 -0
  42. package/dist/esm/link/link.definition.js.map +1 -0
  43. package/dist/esm/link/link.js +36 -0
  44. package/dist/esm/link/link.js.map +1 -0
  45. package/dist/esm/link/link.options.js +21 -0
  46. package/dist/esm/link/link.options.js.map +1 -0
  47. package/dist/esm/link/link.styles.js +67 -0
  48. package/dist/esm/link/link.styles.js.map +1 -0
  49. package/dist/esm/link/link.template.js +22 -0
  50. package/dist/esm/link/link.template.js.map +1 -0
  51. package/dist/esm/progress-bar/index.js.map +1 -1
  52. package/dist/esm/progress-bar/progress-bar.js +62 -11
  53. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  54. package/dist/esm/progress-bar/progress-bar.styles.js +48 -127
  55. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  56. package/dist/esm/progress-bar/progress-bar.template.js +8 -26
  57. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  58. package/dist/esm/theme/set-theme.js +8 -3
  59. package/dist/esm/theme/set-theme.js.map +1 -1
  60. package/dist/web-components.d.ts +271 -391
  61. package/dist/web-components.js +351 -265
  62. package/dist/web-components.min.js +240 -246
  63. package/package.json +6 -1
  64. package/dist/dts/progress-bar/base-progress.d.ts +0 -41
  65. package/dist/esm/progress-bar/base-progress.js +0 -56
  66. package/dist/esm/progress-bar/base-progress.js.map +0 -1
@@ -774,6 +774,21 @@ const Observable = FAST.getById(KernelServiceId.observable, () => {
774
774
  function observable(target, nameOrAccessor) {
775
775
  Observable.defineProperty(target, nameOrAccessor);
776
776
  }
777
+ /**
778
+ * Decorator: Marks a property getter as having volatile observable dependencies.
779
+ * @param target - The target that the property is defined on.
780
+ * @param name - The property name.
781
+ * @param name - The existing descriptor.
782
+ * @public
783
+ */
784
+ function volatile(target, name, descriptor) {
785
+ return Object.assign({}, descriptor, {
786
+ get() {
787
+ Observable.trackVolatile();
788
+ return descriptor.get.apply(this);
789
+ }
790
+ });
791
+ }
777
792
  const contextEvent = FAST.getById(KernelServiceId.contextEvent, () => {
778
793
  let current = null;
779
794
  return {
@@ -3681,6 +3696,12 @@ const colorNeutralForeground3Hover = "var(--colorNeutralForeground3Hover)";
3681
3696
  const colorNeutralForeground3Pressed = "var(--colorNeutralForeground3Pressed)";
3682
3697
  const colorNeutralForeground4 = "var(--colorNeutralForeground4)";
3683
3698
  const colorNeutralForegroundDisabled = "var(--colorNeutralForegroundDisabled)";
3699
+ const colorBrandForegroundLink = "var(--colorBrandForegroundLink)";
3700
+ const colorBrandForegroundLinkHover = "var(--colorBrandForegroundLinkHover)";
3701
+ const colorBrandForegroundLinkPressed = "var(--colorBrandForegroundLinkPressed)";
3702
+ const colorNeutralForeground2Link = "var(--colorNeutralForeground2Link)";
3703
+ const colorNeutralForeground2LinkHover = "var(--colorNeutralForeground2LinkHover)";
3704
+ const colorNeutralForeground2LinkPressed = "var(--colorNeutralForeground2LinkPressed)";
3684
3705
  const colorCompoundBrandForeground1 = "var(--colorCompoundBrandForeground1)";
3685
3706
  const colorCompoundBrandForeground1Hover = "var(--colorCompoundBrandForeground1Hover)";
3686
3707
  const colorCompoundBrandForeground1Pressed = "var(--colorCompoundBrandForeground1Pressed)";
@@ -3748,14 +3769,12 @@ const colorPaletteRedForeground1 = "var(--colorPaletteRedForeground1)";
3748
3769
  const colorPaletteRedForeground2 = "var(--colorPaletteRedForeground2)";
3749
3770
  const colorPaletteRedForeground3 = "var(--colorPaletteRedForeground3)";
3750
3771
  const colorPaletteGreenBackground1 = "var(--colorPaletteGreenBackground1)";
3751
- const colorPaletteGreenBackground2 = "var(--colorPaletteGreenBackground2)";
3752
3772
  const colorPaletteGreenBackground3 = "var(--colorPaletteGreenBackground3)";
3753
3773
  const colorPaletteGreenBorder2 = "var(--colorPaletteGreenBorder2)";
3754
3774
  const colorPaletteGreenForeground1 = "var(--colorPaletteGreenForeground1)";
3755
3775
  const colorPaletteGreenForeground2 = "var(--colorPaletteGreenForeground2)";
3756
3776
  const colorPaletteGreenForeground3 = "var(--colorPaletteGreenForeground3)";
3757
3777
  const colorPaletteDarkOrangeBackground1 = "var(--colorPaletteDarkOrangeBackground1)";
3758
- const colorPaletteDarkOrangeBackground2 = "var(--colorPaletteDarkOrangeBackground2)";
3759
3778
  const colorPaletteDarkOrangeBackground3 = "var(--colorPaletteDarkOrangeBackground3)";
3760
3779
  const colorPaletteDarkOrangeBorder1 = "var(--colorPaletteDarkOrangeBorder1)";
3761
3780
  const colorPaletteDarkOrangeForeground1 = "var(--colorPaletteDarkOrangeForeground1)";
@@ -3897,7 +3916,7 @@ const curveEasyEaseMax = "var(--curveEasyEaseMax)";
3897
3916
  const curveEasyEase = "var(--curveEasyEase)";
3898
3917
  const curveLinear = "var(--curveLinear)";
3899
3918
 
3900
- const styles$t = css`
3919
+ const styles$u = css`
3901
3920
  ${display("block")}
3902
3921
 
3903
3922
  :host{max-width:fit-content;contain:content}.heading{height:44px;display:grid;position:relative;vertical-align:middle;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}.heading-content{height:100%;display:flex;align-items:center}.button{box-sizing:border-box;appearance:none;border:none;outline:none;text-align:start;cursor:pointer;font-family:inherit;height:44px;color:${colorNeutralForeground1};background:${colorTransparentBackground};line-height:${lineHeightBase300};height:auto;padding:0;font-size:inherit;grid-column:auto / span 2;grid-row:1}.button::before{content:'';position:absolute;inset:0px;cursor:pointer;border-radius:${borderRadiusSmall}}.icon{display:flex;align-items:center;justify-content:center;pointer-events:none;position:relative;height:100%;padding-right:${spacingHorizontalS};grid-column:1 / span 1;grid-row:1}.region{margin:0 ${spacingHorizontalM}}::slotted([slot='start']),::slotted([slot='end']){justify-content:center;align-items:center;padding-right:${spacingHorizontalS};grid-column:2 / span 1;grid-row:1 / span 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]) .region{display:block}:host([expanded]) .default-collapsed-icon,:host([expanded]) ::slotted([slot='collapsed-icon']),:host(:not([expanded])) .default-expanded-icon,:host(:not([expanded])) ::slotted([slot='expanded-icon']),:host([expanded]) ::slotted([slot='end']),::slotted([slot='start']),.region{display:none}:host([expanded]) ::slotted([slot='start']),:host([expanded]) ::slotted([slot='expanded-icon']),:host(:not([expanded])) ::slotted([slot='collapsed-icon']),::slotted([slot='end']){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([expand-icon-position='end']) :slotted(span[slot='start']),:host([expand-icon-position='end']) ::slotted(span[slot='end']){grid-column:1 / span 1;grid-row:1}:host([expand-icon-position='end']) ::slotted(span[slot='start']),:host([expand-icon-position='end']) ::slotted(span[slot='end']){grid-column:1 / span 1;grid-row:1}:host([expand-icon-position='end']) .icon{grid-column:4 / span 1;grid-row:1;display:flex;padding-left:10px;padding-right:0}:host([expand-icon-position='end']) .button{grid-column:2 / span 3;grid-row:1}:host([block]){max-width:100%}:host([expand-icon-position='end']) .heading{grid-template-columns:auto auto 28px}:host([expand-icon-position='end']) .icon{grid-column:5 / span 1}:host([block][expand-icon-position='end']) .heading{grid-template-columns:auto 1fr}:host([block][expand-icon-position='end']) .icon{grid-column:5 / span 1}`;
@@ -3931,18 +3950,18 @@ const chevronDown20Filled = html.partial(`<svg
3931
3950
  function accordionItemTemplate(options = {}) {
3932
3951
  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}" @click="${(x, c) => x.clickHandler(c.event)}"><span class="heading-content" part="heading-content"><slot name="heading"></slot></span></button>${startSlotTemplate(options)} ${endSlotTemplate(options)}<span class="icon" part="icon" aria-hidden="true"><slot name="expanded-icon">${staticallyCompose(options.expandedIcon)}</slot><slot name="collapsed-icon">${staticallyCompose(options.collapsedIcon)}</slot><span></div><div class="region" part="region" id="${x => x.id}-panel" role="region" aria-labelledby="${x => x.id}"><slot></slot></div>`;
3933
3952
  }
3934
- const template$u = accordionItemTemplate({
3953
+ const template$v = accordionItemTemplate({
3935
3954
  collapsedIcon: chevronRight20Filled,
3936
3955
  expandedIcon: chevronDown20Filled
3937
3956
  });
3938
3957
 
3939
- const definition$u = AccordionItem.compose({
3958
+ const definition$v = AccordionItem.compose({
3940
3959
  name: `${FluentDesignSystem.prefix}-accordion-item`,
3941
- template: template$u,
3942
- styles: styles$t
3960
+ template: template$v,
3961
+ styles: styles$u
3943
3962
  });
3944
3963
 
3945
- definition$u.define(FluentDesignSystem.registry);
3964
+ definition$v.define(FluentDesignSystem.registry);
3946
3965
 
3947
3966
  const AccordionExpandMode = {
3948
3967
  single: "single",
@@ -4137,7 +4156,7 @@ __decorateClass$q([attr({
4137
4156
  })], Accordion.prototype, "expandmode", 2);
4138
4157
  __decorateClass$q([observable], Accordion.prototype, "slottedAccordionItems", 2);
4139
4158
 
4140
- const styles$s = css`
4159
+ const styles$t = css`
4141
4160
  ${display("flex")}
4142
4161
 
4143
4162
  :host{flex-direction:column;width:100%;contain:content}`;
@@ -4148,15 +4167,32 @@ function accordionTemplate() {
4148
4167
  filter: elements()
4149
4168
  })}></slot></template>`;
4150
4169
  }
4151
- const template$t = accordionTemplate();
4170
+ const template$u = accordionTemplate();
4152
4171
 
4153
- const definition$t = Accordion.compose({
4172
+ const definition$u = Accordion.compose({
4154
4173
  name: `${FluentDesignSystem.prefix}-accordion`,
4155
- template: template$t,
4156
- styles: styles$s
4174
+ template: template$u,
4175
+ styles: styles$t
4157
4176
  });
4158
4177
 
4159
- definition$t.define(FluentDesignSystem.registry);
4178
+ definition$u.define(FluentDesignSystem.registry);
4179
+
4180
+ const ButtonType = {
4181
+ submit: "submit",
4182
+ reset: "reset",
4183
+ button: "button"
4184
+ };
4185
+
4186
+ const AnchorAttributes = {
4187
+ download: "download",
4188
+ href: "href",
4189
+ hreflang: "hreflang",
4190
+ ping: "ping",
4191
+ referrerpolicy: "referrerpolicy",
4192
+ rel: "rel",
4193
+ target: "target",
4194
+ type: "type"
4195
+ };
4160
4196
 
4161
4197
  var __defProp$p = Object.defineProperty;
4162
4198
  var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
@@ -4166,59 +4202,105 @@ var __decorateClass$p = (decorators, target, key, kind) => {
4166
4202
  if (kind && result) __defProp$p(target, key, result);
4167
4203
  return result;
4168
4204
  };
4169
- class AnchorButton extends FASTElement {
4205
+ class BaseAnchor extends FASTElement {
4170
4206
  constructor() {
4171
- super(...arguments);
4172
- this.iconOnly = false;
4173
- this.disabled = false;
4174
- this.disabledFocusable = false;
4207
+ super();
4175
4208
  /**
4176
- * Prevents disabledFocusable click events
4209
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
4210
+ *
4211
+ * @internal
4177
4212
  */
4178
- this.handleDisabledFocusableClick = e => {
4179
- if (e && this.disabled || this.disabledFocusable) {
4180
- e.stopImmediatePropagation();
4181
- return;
4182
- }
4183
- };
4213
+ this.elementInternals = this.attachInternals();
4214
+ /**
4215
+ * The proxy anchor element
4216
+ * @internal
4217
+ */
4218
+ this.internalProxyAnchor = this.createProxyElement();
4219
+ this.elementInternals.role = "link";
4184
4220
  }
4185
- disabledChanged(prev, next) {
4186
- if (this.disabled) {
4187
- this.setAttribute("aria-disabled", "true");
4188
- this.setAttribute("tabindex", "-1");
4189
- } else {
4190
- this.removeAttribute("aria-disabled");
4191
- this.removeAttribute("tabindex");
4221
+ connectedCallback() {
4222
+ super.connectedCallback();
4223
+ Observable.getNotifier(this).subscribe(this);
4224
+ Object.keys(this.$fastController.definition.attributeLookup).forEach(key => {
4225
+ this.handleChange(this, key);
4226
+ });
4227
+ this.append(this.internalProxyAnchor);
4228
+ }
4229
+ disconnectedCallback() {
4230
+ super.disconnectedCallback();
4231
+ Observable.getNotifier(this).unsubscribe(this);
4232
+ }
4233
+ /**
4234
+ * Handles changes to observable properties
4235
+ * @internal
4236
+ * @param source - the source of the change
4237
+ * @param propertyName - the property name being changed
4238
+ */
4239
+ handleChange(source, propertyName) {
4240
+ if (propertyName in AnchorAttributes) {
4241
+ const attribute = this.$fastController.definition.attributeLookup[propertyName]?.attribute;
4242
+ if (attribute) {
4243
+ this.handleProxyAttributeChange(attribute, this[propertyName]);
4244
+ }
4192
4245
  }
4193
4246
  }
4194
- disabledFocusableChanged(prev, next) {
4195
- if (!this.$fastController.isConnected) {
4247
+ /**
4248
+ * Handles the anchor click event.
4249
+ *
4250
+ * @param e - The event object
4251
+ * @internal
4252
+ */
4253
+ clickHandler() {
4254
+ this.internalProxyAnchor.click();
4255
+ return true;
4256
+ }
4257
+ /**
4258
+ * Handles keypress events for the anchor.
4259
+ *
4260
+ * @param e - the keyboard event
4261
+ * @returns - the return value of the click handler
4262
+ * @public
4263
+ */
4264
+ keypressHandler(e) {
4265
+ if (e.key === keyEnter) {
4266
+ this.internalProxyAnchor.click();
4196
4267
  return;
4197
4268
  }
4198
- if (this.disabledFocusable) {
4199
- this.setAttribute("aria-disabled", "true");
4269
+ return true;
4270
+ }
4271
+ /**
4272
+ * A method for updating proxy attributes when attributes have changed
4273
+ * @internal
4274
+ * @param attribute - an attribute to set/remove
4275
+ * @param value - the value of the attribute
4276
+ */
4277
+ handleProxyAttributeChange(attribute, value) {
4278
+ if (value) {
4279
+ this.internalProxyAnchor.setAttribute(attribute, value);
4200
4280
  } else {
4201
- this.removeAttribute("aria-disabled");
4281
+ this.internalProxyAnchor.removeAttribute(attribute);
4202
4282
  }
4203
4283
  }
4204
- connectedCallback() {
4205
- super.connectedCallback();
4206
- this.addEventListener("click", this.handleDisabledFocusableClick);
4284
+ createProxyElement() {
4285
+ const proxy = this.internalProxyAnchor ?? document.createElement("a");
4286
+ proxy.hidden = true;
4287
+ return proxy;
4207
4288
  }
4208
- disconnectedCallback() {
4209
- super.disconnectedCallback();
4210
- this.removeEventListener("click", this.handleDisabledFocusableClick);
4211
- }
4212
- }
4213
- __decorateClass$p([attr], AnchorButton.prototype, "download", 2);
4214
- __decorateClass$p([attr], AnchorButton.prototype, "href", 2);
4215
- __decorateClass$p([attr], AnchorButton.prototype, "hreflang", 2);
4216
- __decorateClass$p([attr], AnchorButton.prototype, "ping", 2);
4217
- __decorateClass$p([attr], AnchorButton.prototype, "referrerpolicy", 2);
4218
- __decorateClass$p([attr], AnchorButton.prototype, "rel", 2);
4219
- __decorateClass$p([attr], AnchorButton.prototype, "target", 2);
4220
- __decorateClass$p([attr], AnchorButton.prototype, "type", 2);
4221
- __decorateClass$p([observable], AnchorButton.prototype, "defaultSlottedContent", 2);
4289
+ }
4290
+ __decorateClass$p([attr], BaseAnchor.prototype, "download", 2);
4291
+ __decorateClass$p([attr], BaseAnchor.prototype, "href", 2);
4292
+ __decorateClass$p([attr], BaseAnchor.prototype, "hreflang", 2);
4293
+ __decorateClass$p([attr], BaseAnchor.prototype, "ping", 2);
4294
+ __decorateClass$p([attr], BaseAnchor.prototype, "referrerpolicy", 2);
4295
+ __decorateClass$p([attr], BaseAnchor.prototype, "rel", 2);
4296
+ __decorateClass$p([attr], BaseAnchor.prototype, "target", 2);
4297
+ __decorateClass$p([attr], BaseAnchor.prototype, "type", 2);
4298
+ class AnchorButton extends BaseAnchor {
4299
+ constructor() {
4300
+ super(...arguments);
4301
+ this.iconOnly = false;
4302
+ }
4303
+ }
4222
4304
  __decorateClass$p([attr], AnchorButton.prototype, "appearance", 2);
4223
4305
  __decorateClass$p([attr], AnchorButton.prototype, "shape", 2);
4224
4306
  __decorateClass$p([attr], AnchorButton.prototype, "size", 2);
@@ -4226,43 +4308,33 @@ __decorateClass$p([attr({
4226
4308
  attribute: "icon-only",
4227
4309
  mode: "boolean"
4228
4310
  })], AnchorButton.prototype, "iconOnly", 2);
4229
- __decorateClass$p([attr({
4230
- mode: "boolean"
4231
- })], AnchorButton.prototype, "disabled", 2);
4232
- __decorateClass$p([attr({
4233
- attribute: "disabled-focusable",
4234
- mode: "boolean"
4235
- })], AnchorButton.prototype, "disabledFocusable", 2);
4236
- class DelegatesARIALink {}
4237
- __decorateClass$p([attr({
4238
- attribute: "aria-expanded"
4239
- })], DelegatesARIALink.prototype, "ariaExpanded", 2);
4240
- applyMixins(DelegatesARIALink, ARIAGlobalStatesAndProperties);
4241
- applyMixins(AnchorButton, StartEnd, DelegatesARIALink);
4311
+ applyMixins(AnchorButton, StartEnd);
4242
4312
 
4243
- const styles$r = css`
4313
+ const baseButtonStyles = css`
4244
4314
  ${display("inline-flex")}
4245
4315
 
4246
- :host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle}:host .control{display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer}.content{display:inherit;text-align:center}:host(:hover) .control{background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active) .control{background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host .control:focus-visible{border-color:${colorTransparentStroke};outline:${strokeWidthThick}) solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]) .control{min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS}}:host([size='small']) .control{min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]) .control{min-width:24px;max-width:24px}:host([size='large']) .control{min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]) .control{min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']) .control,:host([shape='circular']) .control:focus-visible{border-radius:${borderRadiusCircular}}:host([shape='square']) .control,:host([shape='square']) .control:focus-visible{border-radius:${borderRadiusNone}}:host([appearance='primary']) .control{background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover) .control{background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover) .control,:host([appearance='primary']:hover:active) .control{border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active) .control{background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']) .control:focus-visible{border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary'])) .control,:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary']):hover) .control,:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary']):hover:active) .control{border-color:transparent}:host([appearance='outline']) .control{background-color:${colorTransparentBackground}}:host([appearance='outline']:hover) .control{background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active) .control{background-color:${colorTransparentBackgroundPressed}}:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline'])) .control,:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline']):hover) .control,:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline']):hover:active) .control{background-color:${colorTransparentBackground}}:host([appearance='subtle']) .control{background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover) .control{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active) .control{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle'])) .control,:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle']):hover) .control,:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle']):hover:active) .control{background-color:${colorTransparentBackground};border-color:transparent}:host([appearance='subtle']:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host([appearance='subtle']:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control{background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) .control{background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active) .control{background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control,:host([appearance='transparent']:hover) .control,:host([appearance='transparent']:hover:active) .control{border-color:transparent}:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent'])) .control,:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent']):hover) .control,:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent']):hover:active)
4247
- .control{border-color:transparent;background-color:${colorTransparentBackground}}:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable])) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover:active)
4248
- .control{background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`.withBehaviors(forcedColorsStylesheetBehavior(css`
4249
- :host([appearance='transparent']:hover) .control{border-color:Highlight}`));
4316
+ :host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle;align-items:center;box-sizing:border-box;justify-content:center;text-align:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer;user-select:none}.content{display:inherit}:host(:hover){background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active){background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host(:focus-visible){border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]){min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS};min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]){min-width:24px;max-width:24px}:host([size='large']){min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]){min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']),:host([shape='circular']:focus-visible){border-radius:${borderRadiusCircular}}:host([shape='square']),:host([shape='square']:focus-visible){border-radius:${borderRadiusNone}}:host([appearance='primary']){background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover),:host([appearance='primary']:hover:active){border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active){background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']:focus-visible){border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host([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([appearance='transparent']),:host([appearance='transparent']:hover),:host([appearance='transparent']:hover:active){border-color:transparent}`;
4317
+ const styles$s = css`
4318
+ ${baseButtonStyles}
4319
+
4320
+ :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(:is([disabled][appearance='primary'],[disabled-focusable][appearance='primary'])),:host(:is([disabled][appearance='primary'],[disabled-focusable][appearance='primary']):hover),:host(:is([disabled][appearance='primary'],[disabled-focusable][appearance='primary']):hover:active){border-color:transparent}:host(:is([disabled][appearance='outline'],[disabled-focusable][appearance='outline'])),:host(:is([disabled][appearance='outline'],[disabled-focusable][appearance='outline']):hover),:host(:is([disabled][appearance='outline'],[disabled-focusable][appearance='outline']):hover:active){background-color:${colorTransparentBackground}}:host(:is([disabled][appearance='subtle'],[disabled-focusable][appearance='subtle'])),:host(:is([disabled][appearance='subtle'],[disabled-focusable][appearance='subtle']):hover),:host(:is([disabled][appearance='subtle'],[disabled-focusable][appearance='subtle']):hover:active){background-color:${colorTransparentBackground};border-color:transparent}:host(:is([disabled][appearance='transparent'],[disabled-focusable][appearance='transparent'])),:host(:is([disabled][appearance='transparent'],[disabled-focusable][appearance='transparent']):hover),:host(:is([disabled][appearance='transparent'],[disabled-focusable][appearance='transparent']):hover:active){border-color:transparent;background-color:${colorTransparentBackground}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
4321
+ :host{background:ButtonFace;color:ButtonText}:host(:is(:hover,:focus-visible)){border-color:Highlight}`));
4322
+
4323
+ const styles$r = baseButtonStyles.withBehaviors(forcedColorsStylesheetBehavior(css`
4324
+ :host{border-color:LinkText;color:LinkText}`));
4250
4325
 
4251
- function anchorTemplate(options = {}) {
4252
- return html`<a class="control" part="control" download="${x => x.download}" href="${x => x.href}" hreflang="${x => x.hreflang}" ping="${x => x.ping}" referrerpolicy="${x => x.referrerpolicy}" rel="${x => x.rel}" target="${x => x.target}" type="${x => x.type}" aria-atomic="${x => x.ariaAtomic}" aria-busy="${x => x.ariaBusy}" aria-controls="${x => x.ariaControls}" aria-current="${x => x.ariaCurrent}" aria-describedby="${x => x.ariaDescribedby}" aria-details="${x => x.ariaDetails}" aria-disabled="${x => x.ariaDisabled}" aria-errormessage="${x => x.ariaErrormessage}" aria-expanded="${x => x.ariaExpanded}" aria-flowto="${x => x.ariaFlowto}" aria-haspopup="${x => x.ariaHaspopup}" aria-hidden="${x => x.ariaHidden}" aria-invalid="${x => x.ariaInvalid}" aria-keyshortcuts="${x => x.ariaKeyshortcuts}" aria-label="${x => x.ariaLabel}" aria-labelledby="${x => x.ariaLabelledby}" aria-live="${x => x.ariaLive}" aria-owns="${x => x.ariaOwns}" aria-relevant="${x => x.ariaRelevant}" aria-roledescription="${x => x.ariaRoledescription}" ${ref("control")}>${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</a>`;
4326
+ function anchorTemplate$1(options = {}) {
4327
+ return html`<template tabindex="0" @click="${x => x.clickHandler()}" @keypress="${(x, c) => x.keypressHandler(c.event)}">${startSlotTemplate(options)}<span class="content" part="content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
4253
4328
  }
4254
- const template$s = anchorTemplate();
4329
+ const template$t = anchorTemplate$1();
4255
4330
 
4256
- const definition$s = AnchorButton.compose({
4331
+ const definition$t = AnchorButton.compose({
4257
4332
  name: `${FluentDesignSystem.prefix}-anchor-button`,
4258
- template: template$s,
4259
- styles: styles$r,
4260
- shadowOptions: {
4261
- delegatesFocus: true
4262
- }
4333
+ template: template$t,
4334
+ styles: styles$r
4263
4335
  });
4264
4336
 
4265
- definition$s.define(FluentDesignSystem.registry);
4337
+ definition$t.define(FluentDesignSystem.registry);
4266
4338
 
4267
4339
  const UNWANTED_ENCLOSURES_REGEX = /[\(\[\{][^\)\]\}]*[\)\]\}]/g;
4268
4340
  const UNWANTED_CHARS_REGEX = /[\0-\u001F\!-/:-@\[-`\{-\u00BF\u0250-\u036F\uD800-\uFFFF]/g;
@@ -4426,15 +4498,15 @@ const defaultIconTemplate = html`<svg width="1em" height="1em" viewBox="0 0 20 2
4426
4498
  function avatarTemplate() {
4427
4499
  return html`<template role="img" data-color=${x => x.generateColor()}><slot>${x => x.name || x.initials ? x.generateInitials() : defaultIconTemplate}</slot><slot name="badge"></slot></template>`;
4428
4500
  }
4429
- const template$r = avatarTemplate();
4501
+ const template$s = avatarTemplate();
4430
4502
 
4431
- const definition$r = Avatar.compose({
4503
+ const definition$s = Avatar.compose({
4432
4504
  name: `${FluentDesignSystem.prefix}-avatar`,
4433
- template: template$r,
4505
+ template: template$s,
4434
4506
  styles: styles$q
4435
4507
  });
4436
4508
 
4437
- definition$r.define(FluentDesignSystem.registry);
4509
+ definition$s.define(FluentDesignSystem.registry);
4438
4510
 
4439
4511
  const BadgeAppearance = {
4440
4512
  filled: "filled",
@@ -4839,21 +4911,15 @@ const styles$p = css`
4839
4911
  function badgeTemplate(options = {}) {
4840
4912
  return html` ${startSlotTemplate(options)}<slot>${staticallyCompose(options.defaultContent)}</slot>${endSlotTemplate(options)} `;
4841
4913
  }
4842
- const template$q = badgeTemplate();
4914
+ const template$r = badgeTemplate();
4843
4915
 
4844
- const definition$q = Badge.compose({
4916
+ const definition$r = Badge.compose({
4845
4917
  name: `${FluentDesignSystem.prefix}-badge`,
4846
- template: template$q,
4918
+ template: template$r,
4847
4919
  styles: styles$p
4848
4920
  });
4849
4921
 
4850
- definition$q.define(FluentDesignSystem.registry);
4851
-
4852
- const ButtonType = {
4853
- submit: "submit",
4854
- reset: "reset",
4855
- button: "button"
4856
- };
4922
+ definition$r.define(FluentDesignSystem.registry);
4857
4923
 
4858
4924
  var __defProp$m = Object.defineProperty;
4859
4925
  var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
@@ -5106,24 +5172,18 @@ __decorateClass$m([attr], Button.prototype, "type", 2);
5106
5172
  __decorateClass$m([attr], Button.prototype, "value", 2);
5107
5173
  applyMixins(Button, StartEnd);
5108
5174
 
5109
- const styles$o = css`
5110
- ${display("inline-flex")}
5111
-
5112
- :host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle;align-items:center;box-sizing:border-box;justify-content:center;text-align:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer;user-select:none}.content{display:inherit}:host(:hover){background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active){background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host(:focus-visible){border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]){min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS};min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]){min-width:24px;max-width:24px}:host([size='large']){min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]){min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']),:host([shape='circular']:focus-visible){border-radius:${borderRadiusCircular}}:host([shape='square']),:host([shape='square']:focus-visible){border-radius:${borderRadiusNone}}:host([appearance='primary']){background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover),:host([appearance='primary']:hover:active){border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active){background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']:focus-visible){border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host([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([appearance='transparent']),:host([appearance='transparent']:hover),:host([appearance='transparent']:hover:active){border-color:transparent}: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(:is([disabled][appearance='primary'],[disabled-focusable][appearance='primary'])),:host(:is([disabled][appearance='primary'],[disabled-focusable][appearance='primary']):hover),:host(:is([disabled][appearance='primary'],[disabled-focusable][appearance='primary']):hover:active){border-color:transparent}:host(:is([disabled][appearance='outline'],[disabled-focusable][appearance='outline'])),:host(:is([disabled][appearance='outline'],[disabled-focusable][appearance='outline']):hover),:host(:is([disabled][appearance='outline'],[disabled-focusable][appearance='outline']):hover:active){background-color:${colorTransparentBackground}}:host(:is([disabled][appearance='subtle'],[disabled-focusable][appearance='subtle'])),:host(:is([disabled][appearance='subtle'],[disabled-focusable][appearance='subtle']):hover),:host(:is([disabled][appearance='subtle'],[disabled-focusable][appearance='subtle']):hover:active){background-color:${colorTransparentBackground};border-color:transparent}:host(:is([disabled][appearance='transparent'],[disabled-focusable][appearance='transparent'])),:host(:is([disabled][appearance='transparent'],[disabled-focusable][appearance='transparent']):hover),:host(:is([disabled][appearance='transparent'],[disabled-focusable][appearance='transparent']):hover:active){border-color:transparent;background-color:${colorTransparentBackground}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
5113
- :host([appearance='transparent']:hover){border-color:Highlight}`));
5114
-
5115
5175
  function buttonTemplate$1(options = {}) {
5116
5176
  return html`<template tabindex="${x => x.disabled ? -1 : 0}" @click="${(x, c) => x.clickHandler(c.event)}" @keypress="${(x, c) => x.keypressHandler(c.event)}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</template>`;
5117
5177
  }
5118
- const template$p = buttonTemplate$1();
5178
+ const template$q = buttonTemplate$1();
5119
5179
 
5120
- const definition$p = Button.compose({
5180
+ const definition$q = Button.compose({
5121
5181
  name: `${FluentDesignSystem.prefix}-button`,
5122
- template: template$p,
5123
- styles: styles$o
5182
+ template: template$q,
5183
+ styles: styles$s
5124
5184
  });
5125
5185
 
5126
- definition$p.define(FluentDesignSystem.registry);
5186
+ definition$q.define(FluentDesignSystem.registry);
5127
5187
 
5128
5188
  const CustomStatesSetSupported = CSS.supports("selector(:state(g))");
5129
5189
  function toggleState(elementInternals, state, force) {
@@ -5499,7 +5559,7 @@ __decorateClass$l([attr], Checkbox.prototype, "size", 2);
5499
5559
 
5500
5560
  const checkedState$1 = css.partial`:is([state--checked], :state(checked))`;
5501
5561
  const indeterminateState = css.partial`:is([state--indeterminate], :state(indeterminate))`;
5502
- const styles$n = css`
5562
+ const styles$o = css`
5503
5563
  ${display("inline-flex")}
5504
5564
 
5505
5565
  :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$1}:hover){background-color:${colorCompoundBrandBackgroundHover};border-color:${colorCompoundBrandStrokeHover}}:host(${checkedState$1}: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$1})) *:is(::slotted([slot='checked-indicator']),.checked-indicator){display:none}:host(${checkedState$1}),:host(${indeterminateState}){border-color:${colorCompoundBrandStroke}}:host(${checkedState$1}),: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$1}){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}:host([disabled]){cursor:unset}:host([disabled]${indeterminateState}) .indeterminate-indicator{background-color:${colorNeutralStrokeDisabled}}:host([disabled]${checkedState$1}) .checked-indicator{color:${colorNeutralStrokeDisabled}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
@@ -5525,23 +5585,23 @@ const indeterminateIndicator = html.partial( /* html */
5525
5585
  function checkboxTemplate(options = {}) {
5526
5586
  return html`<template tabindex="${x => !x.disabled ? 0 : void 0}" @click="${(x, c) => x.clickHandler(c.event)}" @input="${(x, c) => x.inputHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @keyup="${(x, c) => x.keyupHandler(c.event)}"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot><slot name="indeterminate-indicator">${staticallyCompose(options.indeterminateIndicator)}</slot></template>`;
5527
5587
  }
5528
- const template$o = checkboxTemplate({
5588
+ const template$p = checkboxTemplate({
5529
5589
  checkedIndicator,
5530
5590
  indeterminateIndicator
5531
5591
  });
5532
5592
 
5533
- const definition$o = Checkbox.compose({
5593
+ const definition$p = Checkbox.compose({
5534
5594
  name: `${FluentDesignSystem.prefix}-checkbox`,
5535
- template: template$o,
5536
- styles: styles$n
5595
+ template: template$p,
5596
+ styles: styles$o
5537
5597
  });
5538
5598
 
5539
- definition$o.define(FluentDesignSystem.registry);
5599
+ definition$p.define(FluentDesignSystem.registry);
5540
5600
 
5541
5601
  class CompoundButton extends Button {}
5542
5602
 
5543
- const styles$m = css`
5544
- ${styles$o}
5603
+ const styles$n = css`
5604
+ ${styles$s}
5545
5605
 
5546
5606
  :host,:host(:is([size])){gap:12px;height:auto;padding-top:14px;padding-inline:12px;padding-bottom:16px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}.content{display:flex;flex-direction:column;text-align:start}::slotted([slot='description']){color:${colorNeutralForeground2};line-height:100%;font-size:${fontSizeBase200};font-weight:${fontWeightRegular}}::slotted(svg),:host([size='large']) ::slotted(svg){font-size:40px;height:40px;width:40px}:host(:hover) ::slotted([slot='description']){color:${colorNeutralForeground2Hover}}:host(:active) ::slotted([slot='description']){color:${colorNeutralForeground2Pressed}}:host(:is([appearance='primary'],[appearance='primary']:hover,[appearance='primary']:active))
5547
5607
  ::slotted([slot='description']){color:${colorNeutralForegroundOnBrand}}:host(:is([appearance='subtle'],[appearance='subtle']:hover,[appearance='subtle']:active))
@@ -5551,15 +5611,15 @@ const styles$m = css`
5551
5611
  function buttonTemplate(options = {}) {
5552
5612
  return html`<template ?disabled="${x => x.disabled}" tabindex="${x => x.disabled ? -1 : 0}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot><slot name="description"></slot></span>${endSlotTemplate(options)}</template>`;
5553
5613
  }
5554
- const template$n = buttonTemplate();
5614
+ const template$o = buttonTemplate();
5555
5615
 
5556
- const definition$n = CompoundButton.compose({
5616
+ const definition$o = CompoundButton.compose({
5557
5617
  name: `${FluentDesignSystem.prefix}-compound-button`,
5558
- template: template$n,
5559
- styles: styles$m
5618
+ template: template$o,
5619
+ styles: styles$n
5560
5620
  });
5561
5621
 
5562
- definition$n.define(FluentDesignSystem.registry);
5622
+ definition$o.define(FluentDesignSystem.registry);
5563
5623
 
5564
5624
  var __defProp$k = Object.defineProperty;
5565
5625
  var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
@@ -5617,7 +5677,7 @@ __decorateClass$k([attr({
5617
5677
  })], CounterBadge.prototype, "dot", 2);
5618
5678
  applyMixins(CounterBadge, StartEnd);
5619
5679
 
5620
- const styles$l = css`
5680
+ const styles$m = css`
5621
5681
  :host([shape='rounded']){border-radius:${borderRadiusMedium}}:host([shape='rounded'][size='tiny']),:host([shape='rounded'][size='extra-small']),:host([shape='rounded'][size='small']){border-radius:${borderRadiusSmall}}${badgeSizeStyles}
5622
5682
  ${badgeFilledStyles}
5623
5683
  ${badgeGhostStyles}
@@ -5630,15 +5690,15 @@ function composeTemplate(options = {}) {
5630
5690
  defaultContent: html`${x => x.setCount()}`
5631
5691
  });
5632
5692
  }
5633
- const template$m = composeTemplate();
5693
+ const template$n = composeTemplate();
5634
5694
 
5635
- const definition$m = CounterBadge.compose({
5695
+ const definition$n = CounterBadge.compose({
5636
5696
  name: `${FluentDesignSystem.prefix}-counter-badge`,
5637
- template: template$m,
5638
- styles: styles$l
5697
+ template: template$n,
5698
+ styles: styles$m
5639
5699
  });
5640
5700
 
5641
- definition$m.define(FluentDesignSystem.registry);
5701
+ definition$n.define(FluentDesignSystem.registry);
5642
5702
 
5643
5703
  const DialogType = {
5644
5704
  modal: "modal",
@@ -5728,19 +5788,19 @@ __decorateClass$j([attr({
5728
5788
  })], Dialog.prototype, "ariaLabelledby", 2);
5729
5789
  __decorateClass$j([attr], Dialog.prototype, "type", 2);
5730
5790
 
5731
- const template$l = html`<dialog role="${x => x.type === DialogType.alert ? "alertdialog" : "dialog"}" type="${x => x.type}" class="dialog" part="dialog" aria-modal="${x => x.type === DialogType.modal || x.type === DialogType.alert ? "true" : void 0}" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${(x, c) => x.type === DialogType.alert ? c.event.preventDefault() : x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
5791
+ const template$m = html`<dialog role="${x => x.type === DialogType.alert ? "alertdialog" : "dialog"}" type="${x => x.type}" class="dialog" part="dialog" aria-modal="${x => x.type === DialogType.modal || x.type === DialogType.alert ? "true" : void 0}" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${(x, c) => x.type === DialogType.alert ? c.event.preventDefault() : x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
5732
5792
 
5733
- const styles$k = css`
5793
+ const styles$l = css`
5734
5794
  @layer base{:host{--dialog-backdrop:${colorBackgroundOverlay};--dialog-starting-scale:0.85}::backdrop{background:var(--dialog-backdrop,rgba(0,0,0,0.4))}dialog{background:${colorNeutralBackground1};border-radius:${borderRadiusXLarge};border:none;box-shadow:${shadow64};color:${colorNeutralForeground1};max-height:calc(-48px + 100vh);padding:0;width:100%;max-width:600px}:host([type='non-modal']) dialog{inset:0;position:fixed;z-index:2;overflow:auto}}@layer animations{@media (prefers-reduced-motion:no-preference){dialog,::backdrop{transition:display allow-discrete,opacity,overlay allow-discrete,scale;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid};opacity:0}::backdrop{transition-timing-function:${curveLinear}}[open],[open]::backdrop{opacity:1}dialog:not([open]){scale:var(--dialog-starting-scale);transition-timing-function:${curveAccelerateMid}}}@starting-style{[open],[open]::backdrop{opacity:0}dialog{scale:var(--dialog-starting-scale)}}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
5735
5795
  @layer base{dialog{border:${strokeWidthThin} solid ${colorTransparentStroke}}}`));
5736
5796
 
5737
- const definition$l = Dialog.compose({
5797
+ const definition$m = Dialog.compose({
5738
5798
  name: `${FluentDesignSystem.prefix}-dialog`,
5739
- template: template$l,
5740
- styles: styles$k
5799
+ template: template$m,
5800
+ styles: styles$l
5741
5801
  });
5742
5802
 
5743
- definition$l.define(FluentDesignSystem.registry);
5803
+ definition$m.define(FluentDesignSystem.registry);
5744
5804
 
5745
5805
  var __defProp$i = Object.defineProperty;
5746
5806
  var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
@@ -5775,20 +5835,20 @@ const dismissed16Regular = html.partial(`
5775
5835
  fill="currentColor"
5776
5836
  ></path>
5777
5837
  </svg>`);
5778
- const template$k = html`<div class="title" part="title"><slot name="title"></slot><slot name="title-action"><fluent-button ?hidden=${x => x.noTitleAction || x.parentNode?.type === DialogType.alert} tabindex="0" part="title-action" class="title-action" appearance="transparent" icon-only @click=${x => x.parentNode?.hide()} ${ref("defaultTitleAction")}>${dismissed16Regular}</fluent-button></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div>`;
5838
+ const template$l = html`<div class="title" part="title"><slot name="title"></slot><slot name="title-action"><fluent-button ?hidden=${x => x.noTitleAction || x.parentNode?.type === DialogType.alert} tabindex="0" part="title-action" class="title-action" appearance="transparent" icon-only @click=${x => x.parentNode?.hide()} ${ref("defaultTitleAction")}>${dismissed16Regular}</fluent-button></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div>`;
5779
5839
 
5780
- const styles$j = css`
5840
+ const styles$k = css`
5781
5841
  ${display("grid")}
5782
5842
 
5783
5843
  :host{background:${colorNeutralBackground1};box-sizing:border-box;gap:${spacingVerticalS};padding:${spacingVerticalXXL} ${spacingHorizontalXXL};container:dialog-body / inline-size}.title{box-sizing:border-box;align-items:flex-start;background:${colorNeutralBackground1};color:${colorNeutralForeground1};column-gap:8px;display:flex;font-family:${fontFamilyBase};font-size:${fontSizeBase500};font-weight:${fontWeightSemibold};inset-block-start:0;justify-content:space-between;line-height:${lineHeightBase500};margin-block-end:calc(${spacingVerticalS} * -1);margin-block-start:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalS};padding-block-start:${spacingVerticalXXL};position:sticky;z-index:1}.content{box-sizing:border-box;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};min-height:32px}.actions{box-sizing:border-box;background:${colorNeutralBackground1};display:flex;flex-direction:column;gap:${spacingVerticalS};inset-block-end:0;margin-block-end:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalXXL};padding-block-start:${spacingVerticalL};position:sticky;z-index:2}:not(:has(:is([slot='title'],[slot='title-action']))) .title:not(:has(.title-action)),:not(:has([slot='action'])) .actions{display:none}@container (min-width:480px){.actions{align-items:center;flex-direction:row;justify-content:flex-end;margin-block-start:calc(${spacingVerticalS} * -1);padding-block-start:${spacingVerticalS}}}`;
5784
5844
 
5785
- const definition$k = DialogBody.compose({
5845
+ const definition$l = DialogBody.compose({
5786
5846
  name: `${FluentDesignSystem.prefix}-dialog-body`,
5787
- template: template$k,
5788
- styles: styles$j
5847
+ template: template$l,
5848
+ styles: styles$k
5789
5849
  });
5790
5850
 
5791
- definition$k.define(FluentDesignSystem.registry);
5851
+ definition$l.define(FluentDesignSystem.registry);
5792
5852
 
5793
5853
  const DividerRole = {
5794
5854
  /**
@@ -5868,21 +5928,21 @@ __decorateClass$h([attr({
5868
5928
  function dividerTemplate() {
5869
5929
  return html`<slot></slot>`;
5870
5930
  }
5871
- const template$j = dividerTemplate();
5931
+ const template$k = dividerTemplate();
5872
5932
 
5873
- const styles$i = css`
5933
+ const styles$j = css`
5874
5934
  ${display("flex")}
5875
5935
 
5876
5936
  :host{contain:content}:host::after,:host::before{align-self:center;background:${colorNeutralStroke2};box-sizing:border-box;content:'';display:flex;flex-grow:1;height:${strokeWidthThin}}:host([inset]){padding:0 12px}:host ::slotted(*){color:${colorNeutralForeground2};font-family:${fontFamilyBase};font-size:${fontSizeBase200};font-weight:${fontWeightRegular};margin:0;padding:0 12px}:host([align-content='start'])::before,:host([align-content='end'])::after{flex-basis:12px;flex-grow:0;flex-shrink:0}:host([orientation='vertical']){height:100%;min-height:84px}:host([orientation='vertical']):empty{min-height:20px}:host([orientation='vertical']){flex-direction:column;align-items:center}:host([orientation='vertical'][inset])::before{margin-top:12px}:host([orientation='vertical'][inset])::after{margin-bottom:12px}:host([orientation='vertical']):empty::before,:host([orientation='vertical']):empty::after{height:10px;min-height:10px;flex-grow:0}:host([orientation='vertical'])::before,:host([orientation='vertical'])::after{width:${strokeWidthThin};min-height:20px;height:100%}:host([orientation='vertical']) ::slotted(*){display:flex;flex-direction:column;padding:12px 0;line-height:20px}:host([orientation='vertical'][align-content='start'])::before{min-height:8px}:host([orientation='vertical'][align-content='end'])::after{min-height:8px}:host([appearance='strong'])::before,:host([appearance='strong'])::after{background:${colorNeutralStroke1}}:host([appearance='strong']) ::slotted(*){color:${colorNeutralForeground1}}:host([appearance='brand'])::before,:host([appearance='brand'])::after{background:${colorBrandStroke1}}:host([appearance='brand']) ::slotted(*){color:${colorBrandForeground1}}:host([appearance='subtle'])::before,:host([appearance='subtle'])::after{background:${colorNeutralStroke3}}:host([appearance='subtle']) ::slotted(*){color:${colorNeutralForeground3}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
5877
5937
  :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}`));
5878
5938
 
5879
- const definition$j = Divider.compose({
5939
+ const definition$k = Divider.compose({
5880
5940
  name: `${FluentDesignSystem.prefix}-divider`,
5881
- template: template$j,
5882
- styles: styles$i
5941
+ template: template$k,
5942
+ styles: styles$j
5883
5943
  });
5884
5944
 
5885
- definition$j.define(FluentDesignSystem.registry);
5945
+ definition$k.define(FluentDesignSystem.registry);
5886
5946
 
5887
5947
  const LabelPosition = {
5888
5948
  above: "above",
@@ -6047,12 +6107,12 @@ const tooShortState = css.partial`:is([state--${ValidationFlags.tooShort}], :sta
6047
6107
  const typeMismatchState = css.partial`:is([state--${ValidationFlags.typeMismatch}], :state(${ValidationFlags.typeMismatch}))`;
6048
6108
  const validState = css.partial`:is([state-${ValidationFlags.valid}], :state(${ValidationFlags.valid}))`;
6049
6109
  const valueMissingState = css.partial`:is([state--${ValidationFlags.valueMissing}], :state(${ValidationFlags.valueMissing}))`;
6050
- const styles$h = css`
6110
+ const styles$i = css`
6051
6111
  ${display("inline-grid")}
6052
6112
 
6053
6113
  :host{align-items:center;cursor:pointer;gap:0 ${spacingHorizontalM};justify-items:start;padding:${spacingVerticalS}}: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'}::slotted([slot='label']){cursor:pointer;grid-area:label}::slotted([slot='input']){grid-area:input}::slotted([slot='message']){margin-block-start:${spacingVerticalXXS};grid-area:message}:host(${focusVisibleState}:focus-within){border-radius:${borderRadiusMedium};outline:${strokeWidthThick} solid ${colorStrokeFocus2}}::slotted(label){display:inline-flex;color:${colorNeutralForeground1};cursor:pointer;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};user-select:none}:host([size='small']) ::slotted(label){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']) ::slotted(label){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large']) ::slotted(label),:host([weight='semibold']) ::slotted(label){font-weight:${fontWeightSemibold}}:host(${disabledState}) ::slotted(label){color:${colorNeutralForeground1};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}`;
6054
6114
 
6055
- const template$i = html`<template @click="${(x, c) => x.clickHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" ${children({
6115
+ const template$j = html`<template @click="${(x, c) => x.clickHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" ${children({
6056
6116
  property: "slottedInputs",
6057
6117
  attributes: true,
6058
6118
  attributeFilter: ["disabled", "required", "readonly"],
@@ -6064,16 +6124,16 @@ const template$i = html`<template @click="${(x, c) => x.clickHandler(c.event)}"
6064
6124
  filter: elements("[flag]")
6065
6125
  })}></slot></template>`;
6066
6126
 
6067
- const definition$i = Field.compose({
6127
+ const definition$j = Field.compose({
6068
6128
  name: `${FluentDesignSystem.prefix}-field`,
6069
- template: template$i,
6070
- styles: styles$h,
6129
+ template: template$j,
6130
+ styles: styles$i,
6071
6131
  shadowOptions: {
6072
6132
  delegatesFocus: true
6073
6133
  }
6074
6134
  });
6075
6135
 
6076
- definition$i.define(FluentDesignSystem.registry);
6136
+ definition$j.define(FluentDesignSystem.registry);
6077
6137
 
6078
6138
  var __defProp$f = Object.defineProperty;
6079
6139
  var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
@@ -6096,18 +6156,18 @@ __decorateClass$f([attr({
6096
6156
  __decorateClass$f([attr], Image.prototype, "fit", 2);
6097
6157
  __decorateClass$f([attr], Image.prototype, "shape", 2);
6098
6158
 
6099
- const template$h = html`<slot></slot>`;
6159
+ const template$i = html`<slot></slot>`;
6100
6160
 
6101
- const styles$g = css`
6161
+ const styles$h = css`
6102
6162
  :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}}`;
6103
6163
 
6104
- const definition$h = Image.compose({
6164
+ const definition$i = Image.compose({
6105
6165
  name: `${FluentDesignSystem.prefix}-image`,
6106
- template: template$h,
6107
- styles: styles$g
6166
+ template: template$i,
6167
+ styles: styles$h
6108
6168
  });
6109
6169
 
6110
- definition$h.define(FluentDesignSystem.registry);
6170
+ definition$i.define(FluentDesignSystem.registry);
6111
6171
 
6112
6172
  var __defProp$e = Object.defineProperty;
6113
6173
  var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
@@ -6133,7 +6193,7 @@ __decorateClass$e([attr({
6133
6193
  mode: "boolean"
6134
6194
  })], Label.prototype, "required", 2);
6135
6195
 
6136
- const styles$f = css`
6196
+ const styles$g = css`
6137
6197
  ${display("inline-flex")}
6138
6198
 
6139
6199
  :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([size='large']),:host([weight='semibold']){font-weight:${fontWeightSemibold}}:host([disabled]),:host([disabled]) .asterisk{color:${colorNeutralForegroundDisabled}}`;
@@ -6141,10 +6201,48 @@ const styles$f = css`
6141
6201
  function labelTemplate() {
6142
6202
  return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
6143
6203
  }
6144
- const template$g = labelTemplate();
6204
+ const template$h = labelTemplate();
6145
6205
 
6146
- const definition$g = Label.compose({
6206
+ const definition$h = Label.compose({
6147
6207
  name: `${FluentDesignSystem.prefix}-label`,
6208
+ template: template$h,
6209
+ styles: styles$g
6210
+ });
6211
+
6212
+ definition$h.define(FluentDesignSystem.registry);
6213
+
6214
+ var __defProp$d = Object.defineProperty;
6215
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
6216
+ var __decorateClass$d = (decorators, target, key, kind) => {
6217
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
6218
+ for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6219
+ if (kind && result) __defProp$d(target, key, result);
6220
+ return result;
6221
+ };
6222
+ class Link extends BaseAnchor {
6223
+ constructor() {
6224
+ super(...arguments);
6225
+ this.inline = false;
6226
+ }
6227
+ }
6228
+ __decorateClass$d([attr], Link.prototype, "appearance", 2);
6229
+ __decorateClass$d([attr({
6230
+ mode: "boolean"
6231
+ })], Link.prototype, "inline", 2);
6232
+
6233
+ const styles$f = css`
6234
+ ${display("inline")}
6235
+
6236
+ :host{box-sizing:border-box;background-color:transparent;color:${colorBrandForegroundLink};cursor:pointer;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};margin:0;padding:0;overflow:inherit;text-align:left;text-decoration:none;text-decoration-thinkness:${strokeWidthThin};text-overflow:inherit;user-select:text}:host(:is(:hover,:focus-visible)){outline:none;text-decoration-line:underline}@media (hover:hover){:host(:hover){color:${colorBrandForegroundLinkHover}}:host(:active){color:${colorBrandForegroundLinkPressed}}:host([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}`.withBehaviors(forcedColorsStylesheetBehavior(css`
6237
+ :host{color:LinkText}`));
6238
+
6239
+ function anchorTemplate() {
6240
+ return html`<template tabindex="0" @click="${x => x.clickHandler()}" @keypress="${(x, c) => x.keypressHandler(c.event)}"><slot></slot></template>`;
6241
+ }
6242
+ const template$g = anchorTemplate();
6243
+
6244
+ const definition$g = Link.compose({
6245
+ name: `${FluentDesignSystem.prefix}-link`,
6148
6246
  template: template$g,
6149
6247
  styles: styles$f
6150
6248
  });
@@ -6165,7 +6263,7 @@ const template$f = buttonTemplate$1({
6165
6263
  const definition$f = MenuButton.compose({
6166
6264
  name: `${FluentDesignSystem.prefix}-menu-button`,
6167
6265
  template: template$f,
6168
- styles: styles$o
6266
+ styles: styles$s
6169
6267
  });
6170
6268
 
6171
6269
  definition$f.define(FluentDesignSystem.registry);
@@ -7105,12 +7203,12 @@ const MenuItemRole = {
7105
7203
  [MenuItemRole.menuitemradio]: "menuitemradio"
7106
7204
  });
7107
7205
 
7108
- var __defProp$d = Object.defineProperty;
7109
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
7110
- var __decorateClass$d = (decorators, target, key, kind) => {
7111
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
7206
+ var __defProp$c = Object.defineProperty;
7207
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
7208
+ var __decorateClass$c = (decorators, target, key, kind) => {
7209
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
7112
7210
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7113
- if (kind && result) __defProp$d(target, key, result);
7211
+ if (kind && result) __defProp$c(target, key, result);
7114
7212
  return result;
7115
7213
  };
7116
7214
  class MenuItem extends FASTElement {
@@ -7315,21 +7413,21 @@ class MenuItem extends FASTElement {
7315
7413
  });
7316
7414
  }
7317
7415
  }
7318
- __decorateClass$d([attr({
7416
+ __decorateClass$c([attr({
7319
7417
  mode: "boolean"
7320
7418
  })], MenuItem.prototype, "disabled", 2);
7321
- __decorateClass$d([attr({
7419
+ __decorateClass$c([attr({
7322
7420
  mode: "boolean"
7323
7421
  })], MenuItem.prototype, "expanded", 2);
7324
- __decorateClass$d([attr], MenuItem.prototype, "role", 2);
7325
- __decorateClass$d([attr({
7422
+ __decorateClass$c([attr], MenuItem.prototype, "role", 2);
7423
+ __decorateClass$c([attr({
7326
7424
  mode: "boolean"
7327
7425
  })], MenuItem.prototype, "checked", 2);
7328
- __decorateClass$d([attr({
7426
+ __decorateClass$c([attr({
7329
7427
  mode: "boolean"
7330
7428
  })], MenuItem.prototype, "hidden", 2);
7331
- __decorateClass$d([observable], MenuItem.prototype, "slottedSubmenu", 2);
7332
- __decorateClass$d([observable], MenuItem.prototype, "submenu", 2);
7429
+ __decorateClass$c([observable], MenuItem.prototype, "slottedSubmenu", 2);
7430
+ __decorateClass$c([observable], MenuItem.prototype, "submenu", 2);
7333
7431
  applyMixins(MenuItem, StartEnd);
7334
7432
 
7335
7433
  const styles$e = css`
@@ -7359,12 +7457,12 @@ const definition$e = MenuItem.compose({
7359
7457
 
7360
7458
  definition$e.define(FluentDesignSystem.registry);
7361
7459
 
7362
- var __defProp$c = Object.defineProperty;
7363
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
7364
- var __decorateClass$c = (decorators, target, key, kind) => {
7365
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
7460
+ var __defProp$b = Object.defineProperty;
7461
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
7462
+ var __decorateClass$b = (decorators, target, key, kind) => {
7463
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
7366
7464
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7367
- if (kind && result) __defProp$c(target, key, result);
7465
+ if (kind && result) __defProp$b(target, key, result);
7368
7466
  return result;
7369
7467
  };
7370
7468
  const _MenuList = class _MenuList extends FASTElement {
@@ -7605,7 +7703,7 @@ const _MenuList = class _MenuList extends FASTElement {
7605
7703
  }
7606
7704
  };
7607
7705
  _MenuList.focusableElementRoles = MenuItemRole;
7608
- __decorateClass$c([observable], _MenuList.prototype, "items", 2);
7706
+ __decorateClass$b([observable], _MenuList.prototype, "items", 2);
7609
7707
  let MenuList = _MenuList;
7610
7708
 
7611
7709
  const styles$d = css`
@@ -7626,12 +7724,12 @@ const definition$d = MenuList.compose({
7626
7724
 
7627
7725
  definition$d.define(FluentDesignSystem.registry);
7628
7726
 
7629
- var __defProp$b = Object.defineProperty;
7630
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
7631
- var __decorateClass$b = (decorators, target, key, kind) => {
7632
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
7727
+ var __defProp$a = Object.defineProperty;
7728
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
7729
+ var __decorateClass$a = (decorators, target, key, kind) => {
7730
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
7633
7731
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7634
- if (kind && result) __defProp$b(target, key, result);
7732
+ if (kind && result) __defProp$a(target, key, result);
7635
7733
  return result;
7636
7734
  };
7637
7735
  class Menu extends FASTElement {
@@ -7967,27 +8065,27 @@ class Menu extends FASTElement {
7967
8065
  }
7968
8066
  }
7969
8067
  }
7970
- __decorateClass$b([observable, attr({
8068
+ __decorateClass$a([observable, attr({
7971
8069
  attribute: "open-on-hover",
7972
8070
  mode: "boolean"
7973
8071
  })], Menu.prototype, "openOnHover", 2);
7974
- __decorateClass$b([observable, attr({
8072
+ __decorateClass$a([observable, attr({
7975
8073
  attribute: "open-on-context",
7976
8074
  mode: "boolean"
7977
8075
  })], Menu.prototype, "openOnContext", 2);
7978
- __decorateClass$b([observable, attr({
8076
+ __decorateClass$a([observable, attr({
7979
8077
  attribute: "close-on-scroll",
7980
8078
  mode: "boolean"
7981
8079
  })], Menu.prototype, "closeOnScroll", 2);
7982
- __decorateClass$b([observable, attr({
8080
+ __decorateClass$a([observable, attr({
7983
8081
  attribute: "persist-on-item-click",
7984
8082
  mode: "boolean"
7985
8083
  })], Menu.prototype, "persistOnItemClick", 2);
7986
- __decorateClass$b([observable, attr({
8084
+ __decorateClass$a([observable, attr({
7987
8085
  mode: "boolean"
7988
8086
  })], Menu.prototype, "open", 2);
7989
- __decorateClass$b([observable], Menu.prototype, "slottedMenuList", 2);
7990
- __decorateClass$b([observable], Menu.prototype, "slottedTriggers", 2);
8087
+ __decorateClass$a([observable], Menu.prototype, "slottedMenuList", 2);
8088
+ __decorateClass$a([observable], Menu.prototype, "slottedTriggers", 2);
7991
8089
 
7992
8090
  const styles$c = css`
7993
8091
  :host{position:relative;z-index:var(--z-index-menu,1)}.positioning-container{position:fixed;top:0;left:0;transform:translate(0,0)}`;
@@ -8011,70 +8109,59 @@ const definition$c = Menu.compose({
8011
8109
 
8012
8110
  definition$c.define(FluentDesignSystem.registry);
8013
8111
 
8014
- var __defProp$a = Object.defineProperty;
8015
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
8016
- var __decorateClass$a = (decorators, target, key, kind) => {
8017
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
8112
+ var __defProp$9 = Object.defineProperty;
8113
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
8114
+ var __decorateClass$9 = (decorators, target, key, kind) => {
8115
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
8018
8116
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8019
- if (kind && result) __defProp$a(target, key, result);
8117
+ if (kind && result) __defProp$9(target, key, result);
8020
8118
  return result;
8021
8119
  };
8022
- class BaseProgress extends FASTElement {
8120
+ class ProgressBar extends FASTElement {
8023
8121
  constructor() {
8024
- super(...arguments);
8025
- this.percentComplete = 0;
8026
- }
8027
- valueChanged() {
8028
- this.updatePercentComplete();
8122
+ super();
8123
+ /**
8124
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
8125
+ *
8126
+ * @internal
8127
+ */
8128
+ this.elementInternals = this.attachInternals();
8129
+ this.validationState = null;
8130
+ this.elementInternals.role = "progressbar";
8029
8131
  }
8030
- minChanged() {
8031
- if (this.$fastController.isConnected) {
8032
- this.updatePercentComplete();
8033
- }
8132
+ /**
8133
+ * Updates the percent complete when the `value` property changes.
8134
+ *
8135
+ * @internal
8136
+ */
8137
+ valueChanged(prev, next) {
8138
+ this.elementInternals.ariaValueNow = typeof next === "number" ? `${next}` : null;
8034
8139
  }
8035
- maxChanged() {
8036
- if (this.$fastController.isConnected) {
8037
- this.updatePercentComplete();
8038
- }
8140
+ /**
8141
+ * Updates the percent complete when the `min` property changes.
8142
+ *
8143
+ * @param prev - The previous min value
8144
+ * @param next - The current min value
8145
+ */
8146
+ minChanged(prev, next) {
8147
+ this.elementInternals.ariaValueMin = typeof next === "number" ? `${next}` : null;
8039
8148
  }
8040
8149
  /**
8150
+ * Updates the percent complete when the `max` property changes.
8151
+ *
8152
+ * @param prev - The previous max value
8153
+ * @param next - The current max value
8041
8154
  * @internal
8042
8155
  */
8043
- connectedCallback() {
8044
- super.connectedCallback();
8045
- this.updatePercentComplete();
8156
+ maxChanged(prev, next) {
8157
+ this.elementInternals.ariaValueMax = typeof next === "number" ? `${next}` : null;
8046
8158
  }
8047
- updatePercentComplete() {
8048
- const min = typeof this.min === "number" ? this.min : 0;
8049
- const max = typeof this.max === "number" ? this.max : 100;
8050
- const value = typeof this.value === "number" ? this.value : 0;
8159
+ get percentComplete() {
8160
+ const min = this.min ?? 0;
8161
+ const max = this.max ?? 100;
8162
+ const value = this.value ?? 0;
8051
8163
  const range = max - min;
8052
- this.percentComplete = range === 0 ? 0 : Math.fround((value - min) / range * 100);
8053
- }
8054
- }
8055
- __decorateClass$a([attr({
8056
- converter: nullableNumberConverter
8057
- })], BaseProgress.prototype, "value", 2);
8058
- __decorateClass$a([attr({
8059
- converter: nullableNumberConverter
8060
- })], BaseProgress.prototype, "min", 2);
8061
- __decorateClass$a([attr({
8062
- converter: nullableNumberConverter
8063
- })], BaseProgress.prototype, "max", 2);
8064
- __decorateClass$a([observable], BaseProgress.prototype, "percentComplete", 2);
8065
-
8066
- var __defProp$9 = Object.defineProperty;
8067
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
8068
- var __decorateClass$9 = (decorators, target, key, kind) => {
8069
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
8070
- for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8071
- if (kind && result) __defProp$9(target, key, result);
8072
- return result;
8073
- };
8074
- class ProgressBar extends BaseProgress {
8075
- constructor() {
8076
- super(...arguments);
8077
- this.validationState = null;
8164
+ return range === 0 ? 0 : Math.fround((value - min) / range * 100);
8078
8165
  }
8079
8166
  }
8080
8167
  __decorateClass$9([attr], ProgressBar.prototype, "thickness", 2);
@@ -8082,30 +8169,29 @@ __decorateClass$9([attr], ProgressBar.prototype, "shape", 2);
8082
8169
  __decorateClass$9([attr({
8083
8170
  attribute: "validation-state"
8084
8171
  })], ProgressBar.prototype, "validationState", 2);
8172
+ __decorateClass$9([attr({
8173
+ converter: nullableNumberConverter
8174
+ })], ProgressBar.prototype, "value", 2);
8175
+ __decorateClass$9([attr({
8176
+ converter: nullableNumberConverter
8177
+ })], ProgressBar.prototype, "min", 2);
8178
+ __decorateClass$9([attr({
8179
+ converter: nullableNumberConverter
8180
+ })], ProgressBar.prototype, "max", 2);
8181
+ __decorateClass$9([volatile], ProgressBar.prototype, "percentComplete", 1);
8085
8182
 
8086
8183
  const styles$b = css`
8087
- ${display("flex")}
8184
+ ${display("block")}
8088
8185
 
8089
- :host{align-items:center;height:2px;overflow-x:hidden;border-radius:${borderRadiusMedium};contain:content}:host([thickness='large']),:host([thickness='large']) .progress,:host([thickness='large']) .determinate{height:4px}:host([shape='square']),:host([shape='square']) .progress,:host([shape='square']) .determinate{border-radius:0}:host([validation-state='error']) .determinate{background-color:${colorPaletteRedBackground3}}:host([validation-state='error']) .indeterminate-indicator-1,:host([validation-state='error']) .indeterminate-indicator-2{background:linear-gradient(
8090
- to right,${colorPaletteRedBackground2} 0%,${colorPaletteRedBackground3} 50%,${colorPaletteRedBackground2}
8091
- )}:host([validation-state='warning']) .determinate{background-color:${colorPaletteDarkOrangeBackground3}}:host([validation-state='warning']) .indeterminate-indicator-1,:host([validation-state='warning']) .indeterminate-indicator-2{background:linear-gradient(
8092
- to right,${colorPaletteDarkOrangeBackground2} 0%,${colorPaletteDarkOrangeBackground3} 50%,${colorPaletteDarkOrangeBackground2}
8093
- )}:host([validation-state='success']) .determinate{background-color:${colorPaletteGreenBackground3}}:host([validation-state='success']) .indeterminate-indicator-1,:host([validation-state='success']) .indeterminate-indicator-2{background:linear-gradient(
8094
- to right,${colorPaletteGreenBackground2} 0%,${colorPaletteGreenBackground3} 50%,${colorPaletteGreenBackground2}
8095
- )}.progress{background-color:${colorNeutralBackground6};border-radius:${borderRadiusMedium};width:100%;height:2px;display:flex;align-items:center;position:relative}.determinate{background-color:${colorCompoundBrandBackground};border-radius:${borderRadiusMedium};height:2px;transition:all 0.2s ease-in-out;display:flex}.indeterminate-indicator-1{position:absolute;opacity:0;height:100%;background:linear-gradient(
8096
- to right,${colorBrandBackground2} 0%,${colorCompoundBrandBackground} 50%,${colorBrandBackground2}
8097
- );border-radius:${borderRadiusMedium};animation-timing-function:cubic-bezier(0.4,0,0.6,1);width:40%;animation:indeterminate-1 3s infinite}.indeterminate-indicator-2{position:absolute;opacity:0;height:100%;background:linear-gradient(
8098
- to right,${colorBrandBackground2} 0%,${colorCompoundBrandBackground} 50%,${colorBrandBackground2}
8099
- );border-radius:${borderRadiusMedium};animation-timing-function:cubic-bezier(0.4,0,0.6,1);width:60%;animation:indeterminate-2 3s infinite}@keyframes indeterminate-1{0%{opacity:1;transform:translateX(-100%)}70%{opacity:1;transform:translateX(300%)}70.01%{opacity:0}100%{opacity:0;transform:translateX(300%)}}@keyframes indeterminate-2{0%{opacity:0;transform:translateX(-150%)}29.99%{opacity:0}30%{opacity:1;transform:translateX(-150%)}100%{transform:translateX(166.66%);opacity:1}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
8100
- .progress{background-color:HighlightText}.determinate,:host([validation-state='success']) .determinate,:host([validation-state='warning']) .determinate,:host([validation-state='error']) .determinate,:host([validation-state='success']) ..indeterminate-indicator-1,:host([validation-state='success']) ..indeterminate-indicator-2,:host([validation-state='warning']) .indeterminate-indicator-1,:host([validation-state='warning']) .indeterminate-indicator-2,:host([validation-state='error']) .indeterminate-indicator-1,:host([validation-state='error']) .indeterminate-indicator-2{background-color:Highlight}`));
8101
-
8102
- function progressTemplate(options = {}) {
8103
- return html`<template role="progressbar" aria-valuenow="${x => x.value}" aria-valuemin="${x => x.min}" aria-valuemax="${x => x.max}">${when(x => typeof x.value === "number", html`<div class="progress" part="progress" slot="determinate"><div class="determinate" part="determinate" style="width: ${x => x.percentComplete}%"></div></div>`, html`<div class="progress" part="progress" slot="indeterminate"><slot name="indeterminate">${staticallyCompose(options.indeterminateIndicator1)} ${staticallyCompose(options.indeterminateIndicator2)}</slot></div>`)}</template>`;
8104
- }
8105
- const template$b = progressTemplate({
8106
- indeterminateIndicator1: `<span class="indeterminate-indicator-1" part="indeterminate-indicator-1></span>`,
8107
- indeterminateIndicator2: `<span class="indeterminate-indicator-2" part="indeterminate-indicator-2"></span>`
8108
- });
8186
+ :host{width:100%;height:2px;overflow-x:hidden;background-color:${colorNeutralBackground6};border-radius:${borderRadiusMedium};contain:content}: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}:host(:not([value])) .indicator{position:relative;width:33%;background-image:linear-gradient(
8187
+ to right,${colorNeutralBackground6} 0%,${colorTransparentBackground} 50%,${colorNeutralBackground6} 100%
8188
+ );animation-name:indeterminate;animation-duration:3s;animation-timing-function:linear;animation-iteration-count:infinite}:host([validation-state='error']) .indicator{background-color:${colorPaletteRedBackground3}}:host([validation-state='warning']) .indicator{background-color:${colorPaletteDarkOrangeBackground3}}:host([validation-state='success']) .indicator{background-color:${colorPaletteGreenBackground3}}@layer animations{@media (prefers-reduced-motion:no-preference){:host([value]){transition:none}:host(:not([value])) .indicator{animation-duration:0.01ms;animation-iteration-count:1}}}@keyframes indeterminate{0%{inset-inline-start:-33%}100%{inset-inline-start:100%}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
8189
+ :host{background-color:CanvasText}.indicator,:host(:is([validation-state='success'],[validation-state='warning'],[validation-state='error'])) .indicator{background-color:Highlight}`));
8190
+
8191
+ function progressTemplate() {
8192
+ return html`<div class="indicator" part="indicator" style="${x => typeof x.value === "number" ? `width: ${x.percentComplete}%` : void 0}"></div>`;
8193
+ }
8194
+ const template$b = progressTemplate();
8109
8195
 
8110
8196
  const definition$b = ProgressBar.compose({
8111
8197
  name: `${FluentDesignSystem.prefix}-progress-bar`,
@@ -10468,7 +10554,7 @@ __decorateClass([attr({
10468
10554
  })], ToggleButton.prototype, "mixed", 2);
10469
10555
 
10470
10556
  const styles = css`
10471
- ${styles$o}
10557
+ ${styles$s}
10472
10558
 
10473
10559
  :host([aria-pressed='true']){border-color:${colorNeutralStroke1};background-color:${colorNeutralBackground1Selected};color:${colorNeutralForeground1};border-width:${strokeWidthThin}}:host([aria-pressed='true']:hover){border-color:${colorNeutralStroke1Hover};background-color:${colorNeutralBackground1Hover}}:host([aria-pressed='true']:active){border-color:${colorNeutralStroke1Pressed};background-color:${colorNeutralBackground1Pressed}}:host([aria-pressed='true'][appearance='primary']){border-color:transparent;background-color:${colorBrandBackgroundSelected};color:${colorNeutralForegroundOnBrand}}:host([aria-pressed='true'][appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([aria-pressed='true'][appearance='primary']:active){background-color:${colorBrandBackgroundPressed}}:host([aria-pressed='true'][appearance='subtle']){border-color:transparent;background-color:${colorSubtleBackgroundSelected};color:${colorNeutralForeground2Selected}}:host([aria-pressed='true'][appearance='subtle']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover}}:host([aria-pressed='true'][appearance='subtle']:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed}}:host([aria-pressed='true'][appearance='outline']),:host([aria-pressed='true'][appearance='transparent']){background-color:${colorTransparentBackgroundSelected}}:host([aria-pressed='true'][appearance='outline']:hover),:host([aria-pressed='true'][appearance='transparent']:hover){background-color:${colorTransparentBackgroundHover}}:host([aria-pressed='true'][appearance='outline']:active),:host([aria-pressed='true'][appearance='transparent']:active){background-color:${colorTransparentBackgroundPressed}}:host([aria-pressed='true'][appearance='transparent']){border-color:transparent;color:${colorNeutralForeground2BrandSelected}}:host([aria-pressed='true'][appearance='transparent']:hover){color:${colorNeutralForeground2BrandHover}}:host([aria-pressed='true'][appearance='transparent']:active){color:${colorNeutralForeground2BrandPressed}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
10474
10560
  :host([aria-pressed='true']),:host([aria-pressed='true'][appearance='primary']),:host([aria-pressed='true'][appearance='subtle']),:host([aria-pressed='true'][appearance='outline']),:host([aria-pressed='true'][appearance='transparent']){background:SelectedItem;color:SelectedItemText}`));