@fluentui/web-components 3.0.0-beta.46 → 3.0.0-beta.48

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 (37) hide show
  1. package/CHANGELOG.md +23 -2
  2. package/dist/dts/button/index.d.ts +1 -1
  3. package/dist/dts/divider/divider.d.ts +28 -20
  4. package/dist/dts/divider/index.d.ts +1 -1
  5. package/dist/dts/index.d.ts +5 -5
  6. package/dist/dts/progress-bar/index.d.ts +1 -1
  7. package/dist/dts/progress-bar/progress-bar.d.ts +35 -27
  8. package/dist/dts/spinner/index.d.ts +1 -1
  9. package/dist/dts/spinner/spinner.d.ts +10 -2
  10. package/dist/dts/theme/index.d.ts +1 -1
  11. package/dist/dts/theme/set-theme.d.ts +6 -1
  12. package/dist/esm/button/index.js +1 -1
  13. package/dist/esm/button/index.js.map +1 -1
  14. package/dist/esm/divider/divider.js +56 -45
  15. package/dist/esm/divider/divider.js.map +1 -1
  16. package/dist/esm/divider/index.js +1 -1
  17. package/dist/esm/divider/index.js.map +1 -1
  18. package/dist/esm/index.js +4 -4
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/progress-bar/index.js +1 -1
  21. package/dist/esm/progress-bar/index.js.map +1 -1
  22. package/dist/esm/progress-bar/progress-bar.js +47 -39
  23. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  24. package/dist/esm/spinner/index.js +1 -1
  25. package/dist/esm/spinner/index.js.map +1 -1
  26. package/dist/esm/spinner/spinner.js +19 -11
  27. package/dist/esm/spinner/spinner.js.map +1 -1
  28. package/dist/esm/spinner/spinner.styles.js +117 -42
  29. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  30. package/dist/esm/spinner/spinner.template.js +13 -5
  31. package/dist/esm/spinner/spinner.template.js.map +1 -1
  32. package/dist/esm/theme/index.js.map +1 -1
  33. package/dist/esm/theme/set-theme.js.map +1 -1
  34. package/dist/web-components.d.ts +152 -119
  35. package/dist/web-components.js +86 -76
  36. package/dist/web-components.min.js +191 -190
  37. package/package.json +1 -1
@@ -11,7 +11,6 @@ import type { HostController } from '@microsoft/fast-element';
11
11
  import { HTMLDirective } from '@microsoft/fast-element';
12
12
  import { Orientation } from '@microsoft/fast-web-utilities';
13
13
  import type { SyntheticViewTemplate } from '@microsoft/fast-element';
14
- import type { Theme } from '@fluentui/tokens';
15
14
  import { ViewTemplate } from '@microsoft/fast-element';
16
15
 
17
16
  /**
@@ -1050,7 +1049,7 @@ declare class BaseAnchor extends FASTElement {
1050
1049
  *
1051
1050
  * @public
1052
1051
  */
1053
- declare class BaseButton extends FASTElement {
1052
+ export declare class BaseButton extends FASTElement {
1054
1053
  /**
1055
1054
  * Indicates the button should be focused when the page is loaded.
1056
1055
  * @see The {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#autofocus | `autofocus`} attribute
@@ -1568,6 +1567,140 @@ declare class BaseCheckbox extends FASTElement {
1568
1567
  toggleChecked(force?: boolean): void;
1569
1568
  }
1570
1569
 
1570
+ /**
1571
+ * A Divider Custom HTML Element.
1572
+ * A divider groups sections of content to create visual rhythm and hierarchy. Use dividers along with spacing and headers to organize content in your layout.
1573
+ *
1574
+ * @public
1575
+ */
1576
+ export declare class BaseDivider extends FASTElement {
1577
+ /**
1578
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
1579
+ *
1580
+ * @internal
1581
+ */
1582
+ elementInternals: ElementInternals;
1583
+ /**
1584
+ * The role of the element.
1585
+ *
1586
+ * @public
1587
+ * @remarks
1588
+ * HTML Attribute: role
1589
+ */
1590
+ role: DividerRole;
1591
+ /**
1592
+ * The orientation of the divider.
1593
+ *
1594
+ * @public
1595
+ * @remarks
1596
+ * HTML Attribute: orientation
1597
+ */
1598
+ orientation?: DividerOrientation;
1599
+ connectedCallback(): void;
1600
+ /**
1601
+ * Sets the element's internal role when the role attribute changes.
1602
+ *
1603
+ * @param previous - the previous role value
1604
+ * @param next - the current role value
1605
+ * @internal
1606
+ */
1607
+ roleChanged(previous: string | null, next: string | null): void;
1608
+ /**
1609
+ * Sets the element's internal orientation when the orientation attribute changes.
1610
+ *
1611
+ * @param previous - the previous orientation value
1612
+ * @param next - the current orientation value
1613
+ * @internal
1614
+ */
1615
+ orientationChanged(previous: string | null, next: string | null): void;
1616
+ }
1617
+
1618
+ /**
1619
+ * A Progress HTML Element.
1620
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#progressbar | ARIA progressbar }.
1621
+ *
1622
+ * @public
1623
+ */
1624
+ export declare class BaseProgressBar extends FASTElement {
1625
+ /**
1626
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
1627
+ *
1628
+ * @internal
1629
+ */
1630
+ elementInternals: ElementInternals;
1631
+ /**
1632
+ * The validation state of the progress bar
1633
+ * @public
1634
+ * HTML Attribute: `validation-state`
1635
+ */
1636
+ validationState: ProgressBarValidationState | null;
1637
+ /**
1638
+ * Handles changes to validation-state attribute custom states
1639
+ * @param prev - the previous state
1640
+ * @param next - the next state
1641
+ */
1642
+ validationStateChanged(prev: ProgressBarValidationState | undefined, next: ProgressBarValidationState | undefined): void;
1643
+ /**
1644
+ * The value of the progress
1645
+ * @internal
1646
+ * HTML Attribute: `value`
1647
+ */
1648
+ value?: number;
1649
+ /**
1650
+ * Updates the percent complete when the `value` property changes.
1651
+ *
1652
+ * @internal
1653
+ */
1654
+ protected valueChanged(prev: number | undefined, next: number | undefined): void;
1655
+ /**
1656
+ * The minimum value
1657
+ * @internal
1658
+ * HTML Attribute: `min`
1659
+ */
1660
+ min?: number;
1661
+ /**
1662
+ * Updates the percent complete when the `min` property changes.
1663
+ *
1664
+ * @param prev - The previous min value
1665
+ * @param next - The current min value
1666
+ */
1667
+ protected minChanged(prev: number | undefined, next: number | undefined): void;
1668
+ /**
1669
+ * The maximum value
1670
+ * @internal
1671
+ * HTML Attribute: `max`
1672
+ */
1673
+ max?: number;
1674
+ /**
1675
+ * Updates the percent complete when the `max` property changes.
1676
+ *
1677
+ * @param prev - The previous max value
1678
+ * @param next - The current max value
1679
+ * @internal
1680
+ */
1681
+ protected maxChanged(prev: number | undefined, next: number | undefined): void;
1682
+ /**
1683
+ * Indicates progress in %
1684
+ * @internal
1685
+ */
1686
+ get percentComplete(): number;
1687
+ constructor();
1688
+ }
1689
+
1690
+ /**
1691
+ * The base class used for constructing a fluent-spinner custom element
1692
+ * @public
1693
+ */
1694
+ export declare class BaseSpinner extends FASTElement {
1695
+ /**
1696
+ * The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
1697
+ *
1698
+ * @internal
1699
+ */
1700
+ elementInternals: ElementInternals;
1701
+ constructor();
1702
+ }
1703
+
1571
1704
  /**
1572
1705
  * A Tabs component that wraps a collection of tab and tab panel elements.
1573
1706
  *
@@ -4576,33 +4709,11 @@ export declare function display(displayValue: CSSDisplayPropertyValue): string;
4576
4709
 
4577
4710
  /**
4578
4711
  * A Divider Custom HTML Element.
4712
+ * Based on BaseDivider and includes style and layout specific attributes
4579
4713
  *
4580
- * @remarks
4581
- * A divider groups sections of content to create visual rhythm and hierarchy. Use dividers along with spacing and headers to organize content in your layout.
4714
+ * @public
4582
4715
  */
4583
- export declare class Divider extends FASTElement {
4584
- /**
4585
- * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
4586
- *
4587
- * @internal
4588
- */
4589
- elementInternals: ElementInternals;
4590
- /**
4591
- * The role of the element.
4592
- *
4593
- * @public
4594
- * @remarks
4595
- * HTML Attribute: role
4596
- */
4597
- role: DividerRole;
4598
- /**
4599
- * The orientation of the divider.
4600
- *
4601
- * @public
4602
- * @remarks
4603
- * HTML Attribute: orientation
4604
- */
4605
- orientation?: DividerOrientation;
4716
+ export declare class Divider extends BaseDivider {
4606
4717
  /**
4607
4718
  * @public
4608
4719
  * @remarks
@@ -4639,23 +4750,6 @@ export declare class Divider extends FASTElement {
4639
4750
  * @param next - the next state
4640
4751
  */
4641
4752
  insetChanged(prev: boolean, next: boolean): void;
4642
- connectedCallback(): void;
4643
- /**
4644
- * Sets the element's internal role when the role attribute changes.
4645
- *
4646
- * @param previous - the previous role value
4647
- * @param next - the current role value
4648
- * @internal
4649
- */
4650
- roleChanged(previous: string | null, next: string | null): void;
4651
- /**
4652
- * Sets the element's internal orientation when the orientation attribute changes.
4653
- *
4654
- * @param previous - the previous orientation value
4655
- * @param next - the current orientation value
4656
- * @internal
4657
- */
4658
- orientationChanged(previous: string | null, next: string | null): void;
4659
4753
  }
4660
4754
 
4661
4755
  /**
@@ -6358,18 +6452,12 @@ export declare const MenuStyles: ElementStyles;
6358
6452
  export declare const MenuTemplate: ElementViewTemplate<Menu>;
6359
6453
 
6360
6454
  /**
6361
- * An Progress HTML Element.
6362
- * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#progressbar | ARIA progressbar }.
6455
+ * A Progress HTML Element.
6456
+ * Based on BaseProgressBar and includes style and layout specific attributes
6363
6457
  *
6364
6458
  * @public
6365
6459
  */
6366
- export declare class ProgressBar extends FASTElement {
6367
- /**
6368
- * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
6369
- *
6370
- * @internal
6371
- */
6372
- elementInternals: ElementInternals;
6460
+ export declare class ProgressBar extends BaseProgressBar {
6373
6461
  /**
6374
6462
  * The thickness of the progress bar
6375
6463
  *
@@ -6395,63 +6483,6 @@ export declare class ProgressBar extends FASTElement {
6395
6483
  * @param next - the next state
6396
6484
  */
6397
6485
  shapeChanged(prev: ProgressBarShape | undefined, next: ProgressBarShape | undefined): void;
6398
- /**
6399
- * The validation state of the progress bar
6400
- * @public
6401
- * HTML Attribute: `validation-state`
6402
- */
6403
- validationState: ProgressBarValidationState | null;
6404
- /**
6405
- * Handles changes to validation-state attribute custom states
6406
- * @param prev - the previous state
6407
- * @param next - the next state
6408
- */
6409
- validationStateChanged(prev: ProgressBarValidationState | undefined, next: ProgressBarValidationState | undefined): void;
6410
- /**
6411
- * The value of the progress
6412
- * @internal
6413
- * HTML Attribute: `value`
6414
- */
6415
- value?: number;
6416
- /**
6417
- * Updates the percent complete when the `value` property changes.
6418
- *
6419
- * @internal
6420
- */
6421
- protected valueChanged(prev: number | undefined, next: number | undefined): void;
6422
- /**
6423
- * The minimum value
6424
- * @internal
6425
- * HTML Attribute: `min`
6426
- */
6427
- min?: number;
6428
- /**
6429
- * Updates the percent complete when the `min` property changes.
6430
- *
6431
- * @param prev - The previous min value
6432
- * @param next - The current min value
6433
- */
6434
- protected minChanged(prev: number | undefined, next: number | undefined): void;
6435
- /**
6436
- * The maximum value
6437
- * @internal
6438
- * HTML Attribute: `max`
6439
- */
6440
- max?: number;
6441
- /**
6442
- * Updates the percent complete when the `max` property changes.
6443
- *
6444
- * @param prev - The previous max value
6445
- * @param next - The current max value
6446
- * @internal
6447
- */
6448
- protected maxChanged(prev: number | undefined, next: number | undefined): void;
6449
- /**
6450
- * Indicates progress in %
6451
- * @internal
6452
- */
6453
- get percentComplete(): number;
6454
- constructor();
6455
6486
  }
6456
6487
 
6457
6488
  /**
@@ -7734,16 +7765,12 @@ export declare const spacingVerticalXXS = "var(--spacingVerticalXXS)";
7734
7765
  export declare const spacingVerticalXXXL = "var(--spacingVerticalXXXL)";
7735
7766
 
7736
7767
  /**
7737
- * The base class used for constructing a fluent-spinner custom element
7768
+ * A Spinner Custom HTML Element.
7769
+ * Based on BaseSpinner and includes style and layout specific attributes
7770
+ *
7738
7771
  * @public
7739
7772
  */
7740
- export declare class Spinner extends FASTElement {
7741
- /**
7742
- * The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
7743
- *
7744
- * @internal
7745
- */
7746
- elementInternals: ElementInternals;
7773
+ export declare class Spinner extends BaseSpinner {
7747
7774
  /**
7748
7775
  * The size of the spinner
7749
7776
  *
@@ -7771,7 +7798,6 @@ export declare class Spinner extends FASTElement {
7771
7798
  * @param next - the next state
7772
7799
  */
7773
7800
  appearanceChanged(prev: SpinnerAppearance | undefined, next: SpinnerAppearance | undefined): void;
7774
- constructor();
7775
7801
  }
7776
7802
 
7777
7803
  /**
@@ -8807,6 +8833,13 @@ export declare const TextWeight: {
8807
8833
  */
8808
8834
  export declare type TextWeight = ValuesOf<typeof TextWeight>;
8809
8835
 
8836
+ /**
8837
+ * Not using the `Theme` type from `@fluentui/tokens` package to allow custom
8838
+ * tokens to be added.
8839
+ * @internal
8840
+ */
8841
+ export declare type Theme = Record<string, string | number>;
8842
+
8810
8843
  /**
8811
8844
  * The base class used for constructing a `<fluent-toggle-button>` custom element.
8812
8845
  *
@@ -6278,7 +6278,7 @@ var __decorateClass$j = (decorators, target, key, kind) => {
6278
6278
  if (kind && result) __defProp$j(target, key, result);
6279
6279
  return result;
6280
6280
  };
6281
- class Divider extends FASTElement {
6281
+ class BaseDivider extends FASTElement {
6282
6282
  constructor() {
6283
6283
  super(...arguments);
6284
6284
  /**
@@ -6287,41 +6287,6 @@ class Divider extends FASTElement {
6287
6287
  * @internal
6288
6288
  */
6289
6289
  this.elementInternals = this.attachInternals();
6290
- this.inset = false;
6291
- }
6292
- /**
6293
- * Handles changes to align-content attribute custom states
6294
- * @param prev - the previous state
6295
- * @param next - the next state
6296
- */
6297
- alignContentChanged(prev, next) {
6298
- if (prev) {
6299
- toggleState(this.elementInternals, `align-${prev}`, false);
6300
- }
6301
- if (next) {
6302
- toggleState(this.elementInternals, `align-${next}`, true);
6303
- }
6304
- }
6305
- /**
6306
- * Handles changes to appearance attribute custom states
6307
- * @param prev - the previous state
6308
- * @param next - the next state
6309
- */
6310
- appearanceChanged(prev, next) {
6311
- if (prev) {
6312
- toggleState(this.elementInternals, `${prev}`, false);
6313
- }
6314
- if (next) {
6315
- toggleState(this.elementInternals, `${next}`, true);
6316
- }
6317
- }
6318
- /**
6319
- * Handles changes to inset custom states
6320
- * @param prev - the previous state
6321
- * @param next - the next state
6322
- */
6323
- insetChanged(prev, next) {
6324
- toggleState(this.elementInternals, "inset", next);
6325
6290
  }
6326
6291
  connectedCallback() {
6327
6292
  super.connectedCallback();
@@ -6362,8 +6327,48 @@ class Divider extends FASTElement {
6362
6327
  }
6363
6328
  }
6364
6329
  }
6365
- __decorateClass$j([attr], Divider.prototype, "role", 2);
6366
- __decorateClass$j([attr], Divider.prototype, "orientation", 2);
6330
+ __decorateClass$j([attr], BaseDivider.prototype, "role", 2);
6331
+ __decorateClass$j([attr], BaseDivider.prototype, "orientation", 2);
6332
+ class Divider extends BaseDivider {
6333
+ constructor() {
6334
+ super(...arguments);
6335
+ this.inset = false;
6336
+ }
6337
+ /**
6338
+ * Handles changes to align-content attribute custom states
6339
+ * @param prev - the previous state
6340
+ * @param next - the next state
6341
+ */
6342
+ alignContentChanged(prev, next) {
6343
+ if (prev) {
6344
+ toggleState(this.elementInternals, `align-${prev}`, false);
6345
+ }
6346
+ if (next) {
6347
+ toggleState(this.elementInternals, `align-${next}`, true);
6348
+ }
6349
+ }
6350
+ /**
6351
+ * Handles changes to appearance attribute custom states
6352
+ * @param prev - the previous state
6353
+ * @param next - the next state
6354
+ */
6355
+ appearanceChanged(prev, next) {
6356
+ if (prev) {
6357
+ toggleState(this.elementInternals, `${prev}`, false);
6358
+ }
6359
+ if (next) {
6360
+ toggleState(this.elementInternals, `${next}`, true);
6361
+ }
6362
+ }
6363
+ /**
6364
+ * Handles changes to inset custom states
6365
+ * @param prev - the previous state
6366
+ * @param next - the next state
6367
+ */
6368
+ insetChanged(prev, next) {
6369
+ toggleState(this.elementInternals, "inset", next);
6370
+ }
6371
+ }
6367
6372
  __decorateClass$j([attr({
6368
6373
  attribute: "align-content"
6369
6374
  })], Divider.prototype, "alignContent", 2);
@@ -7956,7 +7961,7 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
7956
7961
  if (kind && result) __defProp$9(target, key, result);
7957
7962
  return result;
7958
7963
  };
7959
- class ProgressBar extends FASTElement {
7964
+ class BaseProgressBar extends FASTElement {
7960
7965
  constructor() {
7961
7966
  super();
7962
7967
  /**
@@ -7968,32 +7973,6 @@ class ProgressBar extends FASTElement {
7968
7973
  this.validationState = null;
7969
7974
  this.elementInternals.role = "progressbar";
7970
7975
  }
7971
- /**
7972
- * Handles changes to thickness attribute custom states
7973
- * @param prev - the previous state
7974
- * @param next - the next state
7975
- */
7976
- thicknessChanged(prev, next) {
7977
- if (prev) {
7978
- toggleState(this.elementInternals, `${prev}`, false);
7979
- }
7980
- if (next) {
7981
- toggleState(this.elementInternals, `${next}`, true);
7982
- }
7983
- }
7984
- /**
7985
- * Handles changes to shape attribute custom states
7986
- * @param prev - the previous state
7987
- * @param next - the next state
7988
- */
7989
- shapeChanged(prev, next) {
7990
- if (prev) {
7991
- toggleState(this.elementInternals, `${prev}`, false);
7992
- }
7993
- if (next) {
7994
- toggleState(this.elementInternals, `${next}`, true);
7995
- }
7996
- }
7997
7976
  /**
7998
7977
  * Handles changes to validation-state attribute custom states
7999
7978
  * @param prev - the previous state
@@ -8042,21 +8021,49 @@ class ProgressBar extends FASTElement {
8042
8021
  return range === 0 ? 0 : Math.fround((value - min) / range * 100);
8043
8022
  }
8044
8023
  }
8045
- __decorateClass$9([attr], ProgressBar.prototype, "thickness", 2);
8046
- __decorateClass$9([attr], ProgressBar.prototype, "shape", 2);
8047
8024
  __decorateClass$9([attr({
8048
8025
  attribute: "validation-state"
8049
- })], ProgressBar.prototype, "validationState", 2);
8026
+ })], BaseProgressBar.prototype, "validationState", 2);
8050
8027
  __decorateClass$9([attr({
8051
8028
  converter: nullableNumberConverter
8052
- })], ProgressBar.prototype, "value", 2);
8029
+ })], BaseProgressBar.prototype, "value", 2);
8053
8030
  __decorateClass$9([attr({
8054
8031
  converter: nullableNumberConverter
8055
- })], ProgressBar.prototype, "min", 2);
8032
+ })], BaseProgressBar.prototype, "min", 2);
8056
8033
  __decorateClass$9([attr({
8057
8034
  converter: nullableNumberConverter
8058
- })], ProgressBar.prototype, "max", 2);
8059
- __decorateClass$9([volatile], ProgressBar.prototype, "percentComplete", 1);
8035
+ })], BaseProgressBar.prototype, "max", 2);
8036
+ __decorateClass$9([volatile], BaseProgressBar.prototype, "percentComplete", 1);
8037
+ class ProgressBar extends BaseProgressBar {
8038
+ /**
8039
+ * Handles changes to thickness attribute custom states
8040
+ * @param prev - the previous state
8041
+ * @param next - the next state
8042
+ */
8043
+ thicknessChanged(prev, next) {
8044
+ if (prev) {
8045
+ toggleState(this.elementInternals, `${prev}`, false);
8046
+ }
8047
+ if (next) {
8048
+ toggleState(this.elementInternals, `${next}`, true);
8049
+ }
8050
+ }
8051
+ /**
8052
+ * Handles changes to shape attribute custom states
8053
+ * @param prev - the previous state
8054
+ * @param next - the next state
8055
+ */
8056
+ shapeChanged(prev, next) {
8057
+ if (prev) {
8058
+ toggleState(this.elementInternals, `${prev}`, false);
8059
+ }
8060
+ if (next) {
8061
+ toggleState(this.elementInternals, `${next}`, true);
8062
+ }
8063
+ }
8064
+ }
8065
+ __decorateClass$9([attr], ProgressBar.prototype, "thickness", 2);
8066
+ __decorateClass$9([attr], ProgressBar.prototype, "shape", 2);
8060
8067
 
8061
8068
  const styles$c = css`
8062
8069
  ${display("block")}
@@ -9366,7 +9373,7 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
9366
9373
  if (kind && result) __defProp$5(target, key, result);
9367
9374
  return result;
9368
9375
  };
9369
- class Spinner extends FASTElement {
9376
+ class BaseSpinner extends FASTElement {
9370
9377
  constructor() {
9371
9378
  super();
9372
9379
  /**
@@ -9377,6 +9384,8 @@ class Spinner extends FASTElement {
9377
9384
  this.elementInternals = this.attachInternals();
9378
9385
  this.elementInternals.role = "progressbar";
9379
9386
  }
9387
+ }
9388
+ class Spinner extends BaseSpinner {
9380
9389
  /**
9381
9390
  * Handles changes to size attribute custom states
9382
9391
  * @param prev - the previous state
@@ -9408,11 +9417,12 @@ __decorateClass$5([attr], Spinner.prototype, "size", 2);
9408
9417
  __decorateClass$5([attr], Spinner.prototype, "appearance", 2);
9409
9418
 
9410
9419
  const styles$7 = css`
9411
- ${display("flex")}
9420
+ ${display("inline-flex")}
9412
9421
 
9413
- :host{display:flex;align-items:center;height:32px;width:32px;contain:content}:host(${tinyState}){height:20px;width:20px}:host(${extraSmallState}){height:24px;width:24px}:host(${smallState}){height:28px;width:28px}:host(${largeState}){height:36px;width:36px}:host(${extraLargeState}){height:40px;width:40px}:host(${hugeState}){height:44px;width:44px}.progress{height:100%;width:100%}.background{fill:none;stroke:${colorBrandStroke2};stroke-width:1.5px}:host(${invertedState}) .background{stroke:rgba(255,255,255,0.2)}.indicator{stroke:${colorBrandStroke1};fill:none;stroke-width:1.5px;stroke-linecap:round;transform-origin:50% 50%;transform:rotate(-90deg);transition:all 0.2s ease-in-out;animation:spin-infinite 3s cubic-bezier(0.53,0.21,0.29,0.67) infinite}:host(${invertedState}) .indicator{stroke:${colorNeutralStrokeOnBrand2}}@keyframes spin-infinite{0%{stroke-dasharray:0.01px 43.97px;transform:rotate(0deg)}50%{stroke-dasharray:21.99px 21.99px;transform:rotate(450deg)}100%{stroke-dasharray:0.01px 43.97px;transform:rotate(1080deg)}}`;
9422
+ :host{--duration:1.5s;--indicatorSize:${strokeWidthThicker};--size:32px;height:var(--size);width:var(--size);contain:strict;content-visibility:auto}:host(${tinyState}){--indicatorSize:${strokeWidthThick};--size:20px}:host(${extraSmallState}){--indicatorSize:${strokeWidthThick};--size:24px}:host(${smallState}){--indicatorSize:${strokeWidthThick};--size:28px}:host(${largeState}){--indicatorSize:${strokeWidthThicker};--size:36px}:host(${extraLargeState}){--indicatorSize:${strokeWidthThicker};--size:40px}:host(${hugeState}){--indicatorSize:${strokeWidthThickest};--size:44px}.progress,.background,.spinner,.start,.end,.indicator{position:absolute;inset:0}.progress,.spinner,.indicator{animation:none var(--duration) infinite ${curveEasyEase}}.progress{animation-timing-function:linear;animation-name:spin-linear}.background{border:var(--indicatorSize) solid ${colorBrandStroke2};border-radius:50%}:host(${invertedState}) .background{border-color:rgba(255,255,255,0.2)}.spinner{animation-name:spin-swing}.start{overflow:hidden;inset-inline-end:50%}.end{overflow:hidden;inset-inline-start:50%}.indicator{color:${colorBrandStroke1};box-sizing:border-box;border-radius:50%;border:var(--indicatorSize) solid transparent;border-block-start-color:currentcolor;border-inline-end-color:currentcolor}:host(${invertedState}) .indicator{color:${colorNeutralStrokeOnBrand2}}.start .indicator{rotate:135deg;inset:0 -100% 0 0;animation-name:spin-start}.end .indicator{rotate:135deg;inset:0 0 0 -100%;animation-name:spin-end}@keyframes spin-linear{100%{transform:rotate(360deg)}}@keyframes spin-swing{0%{transform:rotate(-135deg)}50%{transform:rotate(0deg)}100%{transform:rotate(225deg)}}@keyframes spin-start{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-80deg)}}@keyframes spin-end{0%,100%{transform:rotate(0deg)}50%{transform:rotate(70deg)}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
9423
+ .background{display:none}.indicator{border-color:Canvas;border-block-start-color:Highlight;border-inline-end-color:Highlight}`));
9414
9424
 
9415
- const template$7 = html`<slot name="indicator"><svg class="progress" part="progress" viewBox="0 0 16 16"><circle class="background" cx="8px" cy="8px" r="7px"></circle><circle class="indicator" cx="8px" cy="8px" r="7px"></circle></svg></slot>`;
9425
+ const template$7 = html`<slot name="indicator"><div class="background"></div><div class="progress"><div class="spinner"><div class="start"><div class="indicator"></div></div><div class="end"><div class="indicator"></div></div></div></div></slot>`;
9416
9426
 
9417
9427
  const definition$7 = Spinner.compose({
9418
9428
  name: `${FluentDesignSystem.prefix}-spinner`,