@fluentui/web-components 3.0.0-alpha.5 → 3.0.0-alpha.7

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 (98) hide show
  1. package/CHANGELOG.json +43 -1
  2. package/CHANGELOG.md +22 -2
  3. package/dist/dts/avatar/avatar.d.ts +97 -0
  4. package/dist/dts/avatar/avatar.definition.d.ts +9 -0
  5. package/dist/dts/avatar/avatar.options.d.ts +142 -0
  6. package/dist/dts/avatar/avatar.styles.d.ts +4 -0
  7. package/dist/dts/avatar/avatar.template.d.ts +8 -0
  8. package/dist/dts/avatar/define.d.ts +1 -0
  9. package/dist/dts/avatar/index.d.ts +5 -0
  10. package/dist/dts/divider/define.d.ts +1 -0
  11. package/dist/dts/divider/divider.d.ts +31 -0
  12. package/dist/dts/divider/divider.definition.d.ts +9 -0
  13. package/dist/dts/divider/divider.options.d.ts +40 -0
  14. package/dist/dts/divider/divider.styles.d.ts +4 -0
  15. package/dist/dts/divider/divider.template.d.ts +7 -0
  16. package/dist/dts/divider/index.d.ts +5 -0
  17. package/dist/dts/image/define.d.ts +1 -0
  18. package/dist/dts/image/image.d.ts +48 -0
  19. package/dist/dts/image/image.definition.d.ts +9 -0
  20. package/dist/dts/image/image.options.d.ts +27 -0
  21. package/dist/dts/image/image.styles.d.ts +5 -0
  22. package/dist/dts/image/image.template.d.ts +7 -0
  23. package/dist/dts/image/index.d.ts +5 -0
  24. package/dist/dts/index.d.ts +4 -0
  25. package/dist/dts/switch/define.d.ts +1 -0
  26. package/dist/dts/switch/index.d.ts +5 -0
  27. package/dist/dts/switch/switch.d.ts +13 -0
  28. package/dist/dts/switch/switch.definition.d.ts +9 -0
  29. package/dist/dts/switch/switch.options.d.ts +15 -0
  30. package/dist/dts/switch/switch.styles.d.ts +1 -0
  31. package/dist/dts/switch/switch.template.d.ts +3 -0
  32. package/dist/dts/utils/get-initials.d.ts +18 -0
  33. package/dist/esm/avatar/avatar.definition.js +17 -0
  34. package/dist/esm/avatar/avatar.definition.js.map +1 -0
  35. package/dist/esm/avatar/avatar.js +92 -0
  36. package/dist/esm/avatar/avatar.js.map +1 -0
  37. package/dist/esm/avatar/avatar.options.js +87 -0
  38. package/dist/esm/avatar/avatar.options.js.map +1 -0
  39. package/dist/esm/avatar/avatar.styles.js +476 -0
  40. package/dist/esm/avatar/avatar.styles.js.map +1 -0
  41. package/dist/esm/avatar/avatar.template.js +28 -0
  42. package/dist/esm/avatar/avatar.template.js.map +1 -0
  43. package/dist/esm/avatar/define.js +4 -0
  44. package/dist/esm/avatar/define.js.map +1 -0
  45. package/dist/esm/avatar/index.js +6 -0
  46. package/dist/esm/avatar/index.js.map +1 -0
  47. package/dist/esm/divider/define.js +4 -0
  48. package/dist/esm/divider/define.js.map +1 -0
  49. package/dist/esm/divider/divider.definition.js +17 -0
  50. package/dist/esm/divider/divider.definition.js.map +1 -0
  51. package/dist/esm/divider/divider.js +21 -0
  52. package/dist/esm/divider/divider.js.map +1 -0
  53. package/dist/esm/divider/divider.options.js +31 -0
  54. package/dist/esm/divider/divider.options.js.map +1 -0
  55. package/dist/esm/divider/divider.styles.js +111 -0
  56. package/dist/esm/divider/divider.styles.js.map +1 -0
  57. package/dist/esm/divider/divider.template.js +7 -0
  58. package/dist/esm/divider/divider.template.js.map +1 -0
  59. package/dist/esm/divider/index.js +6 -0
  60. package/dist/esm/divider/index.js.map +1 -0
  61. package/dist/esm/image/define.js +4 -0
  62. package/dist/esm/image/define.js.map +1 -0
  63. package/dist/esm/image/image.definition.js +17 -0
  64. package/dist/esm/image/image.definition.js.map +1 -0
  65. package/dist/esm/image/image.js +24 -0
  66. package/dist/esm/image/image.js.map +1 -0
  67. package/dist/esm/image/image.options.js +21 -0
  68. package/dist/esm/image/image.options.js.map +1 -0
  69. package/dist/esm/image/image.styles.js +52 -0
  70. package/dist/esm/image/image.styles.js.map +1 -0
  71. package/dist/esm/image/image.template.js +7 -0
  72. package/dist/esm/image/image.template.js.map +1 -0
  73. package/dist/esm/image/index.js +6 -0
  74. package/dist/esm/image/index.js.map +1 -0
  75. package/dist/esm/index.js +4 -0
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/switch/define.js +4 -0
  78. package/dist/esm/switch/define.js.map +1 -0
  79. package/dist/esm/switch/index.js +6 -0
  80. package/dist/esm/switch/index.js.map +1 -0
  81. package/dist/esm/switch/switch.definition.js +17 -0
  82. package/dist/esm/switch/switch.definition.js.map +1 -0
  83. package/dist/esm/switch/switch.js +9 -0
  84. package/dist/esm/switch/switch.js.map +1 -0
  85. package/dist/esm/switch/switch.options.js +10 -0
  86. package/dist/esm/switch/switch.options.js.map +1 -0
  87. package/dist/esm/switch/switch.styles.js +114 -0
  88. package/dist/esm/switch/switch.styles.js.map +1 -0
  89. package/dist/esm/switch/switch.template.js +5 -0
  90. package/dist/esm/switch/switch.template.js.map +1 -0
  91. package/dist/esm/utils/get-initials.js +83 -0
  92. package/dist/esm/utils/get-initials.js.map +1 -0
  93. package/dist/fluent-web-components.api.json +3517 -1757
  94. package/dist/web-components.d.ts +496 -0
  95. package/dist/web-components.js +1095 -29
  96. package/dist/web-components.min.js +123 -115
  97. package/docs/api-report.md +262 -0
  98. package/package.json +17 -1
@@ -3202,13 +3202,23 @@ function accordionItemTemplate(options = {}) {
3202
3202
  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>`;
3203
3203
  }
3204
3204
 
3205
+ /**
3206
+ * Standard orientation values
3207
+ */
3208
+ const Orientation = {
3209
+ horizontal: "horizontal",
3210
+ vertical: "vertical"
3211
+ };
3212
+
3205
3213
  /**
3206
3214
  * String values for use with KeyboardEvent.key
3207
3215
  */
3208
3216
  const keyArrowDown = "ArrowDown";
3209
3217
  const keyArrowUp = "ArrowUp";
3210
3218
  const keyEnd = "End";
3219
+ const keyEnter = "Enter";
3211
3220
  const keyHome = "Home";
3221
+ const keySpace = " ";
3212
3222
 
3213
3223
  /**
3214
3224
  * This method keeps a given value within the bounds of a min and max value. If the value
@@ -3562,6 +3572,465 @@ function accordionTemplate() {
3562
3572
  })}></slot></template>`;
3563
3573
  }
3564
3574
 
3575
+ const proxySlotName = "form-associated-proxy";
3576
+ const ElementInternalsKey = "ElementInternals";
3577
+ /**
3578
+ * @alpha
3579
+ */
3580
+ const supportsElementInternals = ElementInternalsKey in window && "setFormValue" in window[ElementInternalsKey].prototype;
3581
+ const InternalsMap = new WeakMap();
3582
+ /**
3583
+ * Base function for providing Custom Element Form Association.
3584
+ *
3585
+ * @beta
3586
+ */
3587
+ function FormAssociated(BaseCtor) {
3588
+ const C = class extends BaseCtor {
3589
+ constructor(...args) {
3590
+ super(...args);
3591
+ /**
3592
+ * Track whether the value has been changed from the initial value
3593
+ */
3594
+ this.dirtyValue = false;
3595
+ /**
3596
+ * Sets the element's disabled state. A disabled element will not be included during form submission.
3597
+ *
3598
+ * @remarks
3599
+ * HTML Attribute: disabled
3600
+ */
3601
+ this.disabled = false;
3602
+ /**
3603
+ * These are events that are still fired by the proxy
3604
+ * element based on user / programmatic interaction.
3605
+ *
3606
+ * The proxy implementation should be transparent to
3607
+ * the app author, so block these events from emitting.
3608
+ */
3609
+ this.proxyEventsToBlock = ["change", "click"];
3610
+ this.proxyInitialized = false;
3611
+ this.required = false;
3612
+ this.initialValue = this.initialValue || "";
3613
+ if (!this.elementInternals) {
3614
+ // When elementInternals is not supported, formResetCallback is
3615
+ // bound to an event listener, so ensure the handler's `this`
3616
+ // context is correct.
3617
+ this.formResetCallback = this.formResetCallback.bind(this);
3618
+ }
3619
+ }
3620
+ /**
3621
+ * Must evaluate to true to enable elementInternals.
3622
+ * Feature detects API support and resolve respectively
3623
+ *
3624
+ * @internal
3625
+ */
3626
+ static get formAssociated() {
3627
+ return supportsElementInternals;
3628
+ }
3629
+ /**
3630
+ * Returns the validity state of the element
3631
+ *
3632
+ * @beta
3633
+ */
3634
+ get validity() {
3635
+ return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
3636
+ }
3637
+ /**
3638
+ * Retrieve a reference to the associated form.
3639
+ * Returns null if not associated to any form.
3640
+ *
3641
+ * @beta
3642
+ */
3643
+ get form() {
3644
+ return this.elementInternals ? this.elementInternals.form : this.proxy.form;
3645
+ }
3646
+ /**
3647
+ * Retrieve the localized validation message,
3648
+ * or custom validation message if set.
3649
+ *
3650
+ * @beta
3651
+ */
3652
+ get validationMessage() {
3653
+ return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
3654
+ }
3655
+ /**
3656
+ * Whether the element will be validated when the
3657
+ * form is submitted
3658
+ */
3659
+ get willValidate() {
3660
+ return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
3661
+ }
3662
+ /**
3663
+ * A reference to all associated label elements
3664
+ */
3665
+ get labels() {
3666
+ if (this.elementInternals) {
3667
+ return Object.freeze(Array.from(this.elementInternals.labels));
3668
+ } else if (this.proxy instanceof HTMLElement && this.proxy.ownerDocument && this.id) {
3669
+ // Labels associated by wrapping the element: <label><custom-element></custom-element></label>
3670
+ const parentLabels = this.proxy.labels;
3671
+ // Labels associated using the `for` attribute
3672
+ const forLabels = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));
3673
+ const labels = parentLabels ? forLabels.concat(Array.from(parentLabels)) : forLabels;
3674
+ return Object.freeze(labels);
3675
+ } else {
3676
+ return emptyArray;
3677
+ }
3678
+ }
3679
+ /**
3680
+ * Invoked when the `value` property changes
3681
+ * @param previous - the previous value
3682
+ * @param next - the new value
3683
+ *
3684
+ * @remarks
3685
+ * If elements extending `FormAssociated` implement a `valueChanged` method
3686
+ * They must be sure to invoke `super.valueChanged(previous, next)` to ensure
3687
+ * proper functioning of `FormAssociated`
3688
+ */
3689
+ valueChanged(previous, next) {
3690
+ this.dirtyValue = true;
3691
+ if (this.proxy instanceof HTMLElement) {
3692
+ this.proxy.value = this.value;
3693
+ }
3694
+ this.currentValue = this.value;
3695
+ this.setFormValue(this.value);
3696
+ this.validate();
3697
+ }
3698
+ currentValueChanged() {
3699
+ this.value = this.currentValue;
3700
+ }
3701
+ /**
3702
+ * Invoked when the `initialValue` property changes
3703
+ *
3704
+ * @param previous - the previous value
3705
+ * @param next - the new value
3706
+ *
3707
+ * @remarks
3708
+ * If elements extending `FormAssociated` implement a `initialValueChanged` method
3709
+ * They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
3710
+ * proper functioning of `FormAssociated`
3711
+ */
3712
+ initialValueChanged(previous, next) {
3713
+ // If the value is clean and the component is connected to the DOM
3714
+ // then set value equal to the attribute value.
3715
+ if (!this.dirtyValue) {
3716
+ this.value = this.initialValue;
3717
+ this.dirtyValue = false;
3718
+ }
3719
+ }
3720
+ /**
3721
+ * Invoked when the `disabled` property changes
3722
+ *
3723
+ * @param previous - the previous value
3724
+ * @param next - the new value
3725
+ *
3726
+ * @remarks
3727
+ * If elements extending `FormAssociated` implement a `disabledChanged` method
3728
+ * They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
3729
+ * proper functioning of `FormAssociated`
3730
+ */
3731
+ disabledChanged(previous, next) {
3732
+ if (this.proxy instanceof HTMLElement) {
3733
+ this.proxy.disabled = this.disabled;
3734
+ }
3735
+ Updates.enqueue(() => this.classList.toggle("disabled", this.disabled));
3736
+ }
3737
+ /**
3738
+ * Invoked when the `name` property changes
3739
+ *
3740
+ * @param previous - the previous value
3741
+ * @param next - the new value
3742
+ *
3743
+ * @remarks
3744
+ * If elements extending `FormAssociated` implement a `nameChanged` method
3745
+ * They must be sure to invoke `super.nameChanged(previous, next)` to ensure
3746
+ * proper functioning of `FormAssociated`
3747
+ */
3748
+ nameChanged(previous, next) {
3749
+ if (this.proxy instanceof HTMLElement) {
3750
+ this.proxy.name = this.name;
3751
+ }
3752
+ }
3753
+ /**
3754
+ * Invoked when the `required` property changes
3755
+ *
3756
+ * @param previous - the previous value
3757
+ * @param next - the new value
3758
+ *
3759
+ * @remarks
3760
+ * If elements extending `FormAssociated` implement a `requiredChanged` method
3761
+ * They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
3762
+ * proper functioning of `FormAssociated`
3763
+ */
3764
+ requiredChanged(prev, next) {
3765
+ if (this.proxy instanceof HTMLElement) {
3766
+ this.proxy.required = this.required;
3767
+ }
3768
+ Updates.enqueue(() => this.classList.toggle("required", this.required));
3769
+ this.validate();
3770
+ }
3771
+ /**
3772
+ * The element internals object. Will only exist
3773
+ * in browsers supporting the attachInternals API
3774
+ */
3775
+ get elementInternals() {
3776
+ if (!supportsElementInternals) {
3777
+ return null;
3778
+ }
3779
+ let internals = InternalsMap.get(this);
3780
+ if (!internals) {
3781
+ internals = this.attachInternals();
3782
+ InternalsMap.set(this, internals);
3783
+ }
3784
+ return internals;
3785
+ }
3786
+ /**
3787
+ * @internal
3788
+ */
3789
+ connectedCallback() {
3790
+ super.connectedCallback();
3791
+ this.addEventListener("keypress", this._keypressHandler);
3792
+ if (!this.value) {
3793
+ this.value = this.initialValue;
3794
+ this.dirtyValue = false;
3795
+ }
3796
+ if (!this.elementInternals) {
3797
+ this.attachProxy();
3798
+ if (this.form) {
3799
+ this.form.addEventListener("reset", this.formResetCallback);
3800
+ }
3801
+ }
3802
+ }
3803
+ /**
3804
+ * @internal
3805
+ */
3806
+ disconnectedCallback() {
3807
+ this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));
3808
+ if (!this.elementInternals && this.form) {
3809
+ this.form.removeEventListener("reset", this.formResetCallback);
3810
+ }
3811
+ }
3812
+ /**
3813
+ * Return the current validity of the element.
3814
+ */
3815
+ checkValidity() {
3816
+ return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity();
3817
+ }
3818
+ /**
3819
+ * Return the current validity of the element.
3820
+ * If false, fires an invalid event at the element.
3821
+ */
3822
+ reportValidity() {
3823
+ return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity();
3824
+ }
3825
+ /**
3826
+ * Set the validity of the control. In cases when the elementInternals object is not
3827
+ * available (and the proxy element is used to report validity), this function will
3828
+ * do nothing unless a message is provided, at which point the setCustomValidity method
3829
+ * of the proxy element will be invoked with the provided message.
3830
+ * @param flags - Validity flags
3831
+ * @param message - Optional message to supply
3832
+ * @param anchor - Optional element used by UA to display an interactive validation UI
3833
+ */
3834
+ setValidity(flags, message, anchor) {
3835
+ if (this.elementInternals) {
3836
+ this.elementInternals.setValidity(flags, message, anchor);
3837
+ } else if (typeof message === "string") {
3838
+ this.proxy.setCustomValidity(message);
3839
+ }
3840
+ }
3841
+ /**
3842
+ * Invoked when a connected component's form or fieldset has its disabled
3843
+ * state changed.
3844
+ * @param disabled - the disabled value of the form / fieldset
3845
+ */
3846
+ formDisabledCallback(disabled) {
3847
+ this.disabled = disabled;
3848
+ }
3849
+ formResetCallback() {
3850
+ this.value = this.initialValue;
3851
+ this.dirtyValue = false;
3852
+ }
3853
+ /**
3854
+ * Attach the proxy element to the DOM
3855
+ */
3856
+ attachProxy() {
3857
+ var _a;
3858
+ if (!this.proxyInitialized) {
3859
+ this.proxyInitialized = true;
3860
+ this.proxy.style.display = "none";
3861
+ this.proxyEventsToBlock.forEach(name => this.proxy.addEventListener(name, this.stopPropagation));
3862
+ // These are typically mapped to the proxy during
3863
+ // property change callbacks, but during initialization
3864
+ // on the initial call of the callback, the proxy is
3865
+ // still undefined. We should find a better way to address this.
3866
+ this.proxy.disabled = this.disabled;
3867
+ this.proxy.required = this.required;
3868
+ if (typeof this.name === "string") {
3869
+ this.proxy.name = this.name;
3870
+ }
3871
+ if (typeof this.value === "string") {
3872
+ this.proxy.value = this.value;
3873
+ }
3874
+ this.proxy.setAttribute("slot", proxySlotName);
3875
+ this.proxySlot = document.createElement("slot");
3876
+ this.proxySlot.setAttribute("name", proxySlotName);
3877
+ }
3878
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(this.proxySlot);
3879
+ this.appendChild(this.proxy);
3880
+ }
3881
+ /**
3882
+ * Detach the proxy element from the DOM
3883
+ */
3884
+ detachProxy() {
3885
+ var _a;
3886
+ this.removeChild(this.proxy);
3887
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeChild(this.proxySlot);
3888
+ }
3889
+ /** {@inheritDoc (FormAssociated:interface).validate} */
3890
+ validate(anchor) {
3891
+ if (this.proxy instanceof HTMLElement) {
3892
+ this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);
3893
+ }
3894
+ }
3895
+ /**
3896
+ * Associates the provided value (and optional state) with the parent form.
3897
+ * @param value - The value to set
3898
+ * @param state - The state object provided to during session restores and when autofilling.
3899
+ */
3900
+ setFormValue(value, state) {
3901
+ if (this.elementInternals) {
3902
+ this.elementInternals.setFormValue(value, state || value);
3903
+ }
3904
+ }
3905
+ _keypressHandler(e) {
3906
+ switch (e.key) {
3907
+ case keyEnter:
3908
+ if (this.form instanceof HTMLFormElement) {
3909
+ // Implicit submission
3910
+ const defaultButton = this.form.querySelector("[type=submit]");
3911
+ defaultButton === null || defaultButton === void 0 ? void 0 : defaultButton.click();
3912
+ }
3913
+ break;
3914
+ }
3915
+ }
3916
+ /**
3917
+ * Used to stop propagation of proxy element events
3918
+ * @param e - Event object
3919
+ */
3920
+ stopPropagation(e) {
3921
+ e.stopPropagation();
3922
+ }
3923
+ };
3924
+ attr({
3925
+ mode: "boolean"
3926
+ })(C.prototype, "disabled");
3927
+ attr({
3928
+ mode: "fromView",
3929
+ attribute: "value"
3930
+ })(C.prototype, "initialValue");
3931
+ attr({
3932
+ attribute: "current-value"
3933
+ })(C.prototype, "currentValue");
3934
+ attr(C.prototype, "name");
3935
+ attr({
3936
+ mode: "boolean"
3937
+ })(C.prototype, "required");
3938
+ observable(C.prototype, "value");
3939
+ return C;
3940
+ }
3941
+ /**
3942
+ * Creates a checkable form associated component.
3943
+ * @beta
3944
+ */
3945
+ function CheckableFormAssociated(BaseCtor) {
3946
+ class C extends FormAssociated(BaseCtor) {}
3947
+ class D extends C {
3948
+ constructor(...args) {
3949
+ super(args);
3950
+ /**
3951
+ * Tracks whether the "checked" property has been changed.
3952
+ * This is necessary to provide consistent behavior with
3953
+ * normal input checkboxes
3954
+ */
3955
+ this.dirtyChecked = false;
3956
+ /**
3957
+ * Provides the default checkedness of the input element
3958
+ * Passed down to proxy
3959
+ *
3960
+ * @public
3961
+ * @remarks
3962
+ * HTML Attribute: checked
3963
+ */
3964
+ this.checkedAttribute = false;
3965
+ /**
3966
+ * The checked state of the control.
3967
+ *
3968
+ * @public
3969
+ */
3970
+ this.checked = false;
3971
+ // Re-initialize dirtyChecked because initialization of other values
3972
+ // causes it to become true
3973
+ this.dirtyChecked = false;
3974
+ }
3975
+ checkedAttributeChanged() {
3976
+ this.defaultChecked = this.checkedAttribute;
3977
+ }
3978
+ /**
3979
+ * @internal
3980
+ */
3981
+ defaultCheckedChanged() {
3982
+ if (!this.dirtyChecked) {
3983
+ // Setting this.checked will cause us to enter a dirty state,
3984
+ // but if we are clean when defaultChecked is changed, we want to stay
3985
+ // in a clean state, so reset this.dirtyChecked
3986
+ this.checked = this.defaultChecked;
3987
+ this.dirtyChecked = false;
3988
+ }
3989
+ }
3990
+ checkedChanged(prev, next) {
3991
+ if (!this.dirtyChecked) {
3992
+ this.dirtyChecked = true;
3993
+ }
3994
+ this.currentChecked = this.checked;
3995
+ this.updateForm();
3996
+ if (this.proxy instanceof HTMLInputElement) {
3997
+ this.proxy.checked = this.checked;
3998
+ }
3999
+ if (prev !== undefined) {
4000
+ this.$emit("change");
4001
+ }
4002
+ this.validate();
4003
+ }
4004
+ currentCheckedChanged(prev, next) {
4005
+ this.checked = this.currentChecked;
4006
+ }
4007
+ updateForm() {
4008
+ const value = this.checked ? this.value : null;
4009
+ this.setFormValue(value, value);
4010
+ }
4011
+ connectedCallback() {
4012
+ super.connectedCallback();
4013
+ this.updateForm();
4014
+ }
4015
+ formResetCallback() {
4016
+ super.formResetCallback();
4017
+ this.checked = !!this.checkedAttribute;
4018
+ this.dirtyChecked = false;
4019
+ }
4020
+ }
4021
+ attr({
4022
+ attribute: "checked",
4023
+ mode: "boolean"
4024
+ })(D.prototype, "checkedAttribute");
4025
+ attr({
4026
+ attribute: "current-checked",
4027
+ converter: booleanConverter
4028
+ })(D.prototype, "currentChecked");
4029
+ observable(D.prototype, "defaultChecked");
4030
+ observable(D.prototype, "checked");
4031
+ return D;
4032
+ }
4033
+
3565
4034
  class DerivedValueEvaluator {
3566
4035
  constructor(value) {
3567
4036
  this.value = value;
@@ -4451,6 +4920,64 @@ FASTDesignTokenNode.defaultNode = new DesignTokenNode();
4451
4920
  FASTDesignTokenNode.rootStyleSheetTarget = new RootStyleSheetTarget();
4452
4921
  FASTDesignTokenNode.cache = new WeakMap();
4453
4922
 
4923
+ /**
4924
+ * Divider roles
4925
+ * @public
4926
+ */
4927
+ const DividerRole = {
4928
+ /**
4929
+ * The divider semantically separates content
4930
+ */
4931
+ separator: "separator",
4932
+ /**
4933
+ * The divider has no semantic value and is for visual presentation only.
4934
+ */
4935
+ presentation: "presentation"
4936
+ };
4937
+ /**
4938
+ * Divider orientation
4939
+ * @public
4940
+ */
4941
+ const DividerOrientation = Orientation;
4942
+
4943
+ /**
4944
+ * The template for the {@link @microsoft/fast-foundation#FASTDivider} component.
4945
+ * @public
4946
+ */
4947
+ function dividerTemplate() {
4948
+ return html`<template role="${x => x.role}" aria-orientation="${x => x.orientation}"><slot></slot></template>`;
4949
+ }
4950
+
4951
+ /**
4952
+ * A Divider Custom HTML Element.
4953
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#separator | ARIA separator } or {@link https://www.w3.org/TR/wai-aria-1.1/#presentation | ARIA presentation}.
4954
+ *
4955
+ * @public
4956
+ */
4957
+ class FASTDivider extends FASTElement {
4958
+ constructor() {
4959
+ super(...arguments);
4960
+ /**
4961
+ * The role of the element.
4962
+ *
4963
+ * @public
4964
+ * @remarks
4965
+ * HTML Attribute: role
4966
+ */
4967
+ this.role = DividerRole.separator;
4968
+ /**
4969
+ * The orientation of the divider.
4970
+ *
4971
+ * @public
4972
+ * @remarks
4973
+ * HTML Attribute: orientation
4974
+ */
4975
+ this.orientation = DividerOrientation.horizontal;
4976
+ }
4977
+ }
4978
+ __decorate([attr], FASTDivider.prototype, "role", void 0);
4979
+ __decorate([attr], FASTDivider.prototype, "orientation", void 0);
4980
+
4454
4981
  /**
4455
4982
  * A base class for progress components.
4456
4983
  * @public
@@ -4547,6 +5074,99 @@ function progressTemplate(options = {}) {
4547
5074
  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>`)} ${when(x => typeof x.value !== "number", html`<div class="progress" part="progress" slot="indeterminate"><slot name="indeterminate">${staticallyCompose(options.indeterminateIndicator1)} ${staticallyCompose(options.indeterminateIndicator2)}</slot></div>`)}</template>`;
4548
5075
  }
4549
5076
 
5077
+ /**
5078
+ * The template for the {@link @microsoft/fast-foundation#(FASTSwitch:class)} component.
5079
+ * @public
5080
+ */
5081
+ function switchTemplate(options = {}) {
5082
+ return html`<template role="switch" aria-checked="${x => x.checked}" aria-disabled="${x => x.disabled}" aria-readonly="${x => x.readOnly}" tabindex="${x => x.disabled ? null : 0}" @keypress="${(x, c) => x.keypressHandler(c.event)}" @click="${(x, c) => x.clickHandler(c.event)}"><label part="label" class="${x => x.defaultSlottedNodes && x.defaultSlottedNodes.length ? "label" : "label label__hidden"}"><slot ${slotted("defaultSlottedNodes")}></slot></label><div part="switch" class="switch"><slot name="switch">${staticallyCompose(options.switch)}</slot></div></template>`;
5083
+ }
5084
+
5085
+ class _Switch extends FASTElement {}
5086
+ /**
5087
+ * A form-associated base class for the {@link @microsoft/fast-foundation#(FASTSwitch:class)} component.
5088
+ *
5089
+ * @beta
5090
+ */
5091
+ class FormAssociatedSwitch extends CheckableFormAssociated(_Switch) {
5092
+ constructor() {
5093
+ super(...arguments);
5094
+ this.proxy = document.createElement("input");
5095
+ }
5096
+ }
5097
+
5098
+ /**
5099
+ * A Switch Custom HTML Element.
5100
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#switch | ARIA switch }.
5101
+ *
5102
+ * @slot - The deafult slot for the label
5103
+ * @slot checked-message - The message when in a checked state
5104
+ * @slot unchecked-message - The message when in an unchecked state
5105
+ * @csspart label - The label
5106
+ * @csspart switch - The element representing the switch, which wraps the indicator
5107
+ * @csspart status-message - The wrapper for the status messages
5108
+ * @csspart checked-message - The checked message
5109
+ * @csspart unchecked-message - The unchecked message
5110
+ * @fires change - Emits a custom change event when the checked state changes
5111
+ *
5112
+ * @public
5113
+ */
5114
+ class FASTSwitch extends FormAssociatedSwitch {
5115
+ constructor() {
5116
+ super();
5117
+ /**
5118
+ * The element's value to be included in form submission when checked.
5119
+ * Default to "on" to reach parity with input[type="checkbox"]
5120
+ *
5121
+ * @internal
5122
+ */
5123
+ this.initialValue = "on";
5124
+ /**
5125
+ * @internal
5126
+ */
5127
+ this.keypressHandler = e => {
5128
+ if (this.readOnly) {
5129
+ return;
5130
+ }
5131
+ switch (e.key) {
5132
+ case keyEnter:
5133
+ case keySpace:
5134
+ this.checked = !this.checked;
5135
+ break;
5136
+ }
5137
+ };
5138
+ /**
5139
+ * @internal
5140
+ */
5141
+ this.clickHandler = e => {
5142
+ if (!this.disabled && !this.readOnly) {
5143
+ this.checked = !this.checked;
5144
+ }
5145
+ };
5146
+ this.proxy.setAttribute("type", "checkbox");
5147
+ }
5148
+ readOnlyChanged() {
5149
+ if (this.proxy instanceof HTMLInputElement) {
5150
+ this.proxy.readOnly = this.readOnly;
5151
+ }
5152
+ }
5153
+ /**
5154
+ * @internal
5155
+ */
5156
+ checkedChanged(prev, next) {
5157
+ super.checkedChanged(prev, next);
5158
+ /**
5159
+ * @deprecated - this behavior already exists in the template and should not exist in the class.
5160
+ */
5161
+ this.checked ? this.classList.add("checked") : this.classList.remove("checked");
5162
+ }
5163
+ }
5164
+ __decorate([attr({
5165
+ attribute: "readonly",
5166
+ mode: "boolean"
5167
+ })], FASTSwitch.prototype, "readOnly", void 0);
5168
+ __decorate([observable], FASTSwitch.prototype, "defaultSlottedNodes", void 0);
5169
+
4550
5170
  /**
4551
5171
  * A CSS fragment to set `display: none;` when the host is hidden using the [hidden] attribute.
4552
5172
  * @public
@@ -4568,9 +5188,9 @@ function display(displayValue) {
4568
5188
  */
4569
5189
  class Accordion extends FASTAccordion {}
4570
5190
 
4571
- const template$6 = accordionTemplate();
5191
+ const template$a = accordionTemplate();
4572
5192
 
4573
- const styles$6 = css`
5193
+ const styles$a = css`
4574
5194
  ${display('flex')}
4575
5195
 
4576
5196
  :host{flex-direction:column;width:100%}`;
@@ -4590,10 +5210,10 @@ const FluentDesignSystem = Object.freeze({
4590
5210
  * @remarks
4591
5211
  * HTML Element: \<fluent-accordion\>
4592
5212
  */
4593
- const definition$6 = Accordion.compose({
5213
+ const definition$a = Accordion.compose({
4594
5214
  name: `${FluentDesignSystem.prefix}-accordion`,
4595
- template: template$6,
4596
- styles: styles$6
5215
+ template: template$a,
5216
+ styles: styles$a
4597
5217
  });
4598
5218
 
4599
5219
  /**
@@ -5403,7 +6023,7 @@ var tokens = /*#__PURE__*/Object.freeze({
5403
6023
  shadow64Brand: shadow64Brand
5404
6024
  });
5405
6025
 
5406
- const styles$5 = css`
6026
+ const styles$9 = css`
5407
6027
  ${display('block')}
5408
6028
 
5409
6029
  :host{max-width:fit-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}`;
@@ -5438,7 +6058,7 @@ const chevronDown20Filled = html.partial(`<svg
5438
6058
  * The template for the fluent-accordion component.
5439
6059
  * @public
5440
6060
  */
5441
- const template$5 = accordionItemTemplate({
6061
+ const template$9 = accordionItemTemplate({
5442
6062
  collapsedIcon: chevronRight20Filled,
5443
6063
  expandedIcon: chevronDown20Filled
5444
6064
  });
@@ -5452,10 +6072,293 @@ const template$5 = accordionItemTemplate({
5452
6072
  * @remarks
5453
6073
  * HTML Element: \<fluent-accordion-item\>
5454
6074
  */
5455
- const definition$5 = AccordionItem.compose({
6075
+ const definition$9 = AccordionItem.compose({
5456
6076
  name: `${FluentDesignSystem.prefix}-accordion-item`,
5457
- template: template$5,
5458
- styles: styles$5
6077
+ template: template$9,
6078
+ styles: styles$9
6079
+ });
6080
+
6081
+ /* TODO: This file is a direct copy of the React Avatar utils */
6082
+ /**
6083
+ * Regular expressions matching characters to ignore when calculating the initials.
6084
+ */
6085
+ /**
6086
+ * Regular expression matching characters within various types of enclosures, including the enclosures themselves
6087
+ * so for example, (xyz) [xyz] {xyz} all would be ignored
6088
+ */
6089
+ const UNWANTED_ENCLOSURES_REGEX = /[\(\[\{][^\)\]\}]*[\)\]\}]/g;
6090
+ /**
6091
+ * Regular expression matching special ASCII characters except space, plus some unicode special characters.
6092
+ * Applies after unwanted enclosures have been removed
6093
+ */
6094
+ // eslint-disable-next-line no-control-regex
6095
+ const UNWANTED_CHARS_REGEX = /[\0-\u001F\!-/:-@\[-`\{-\u00BF\u0250-\u036F\uD800-\uFFFF]/g;
6096
+ /**
6097
+ * Regular expression matching phone numbers. Applied after chars matching UNWANTED_CHARS_REGEX have been removed
6098
+ * and number has been trimmed for whitespaces
6099
+ */
6100
+ const PHONENUMBER_REGEX = /^\d+[\d\s]*(:?ext|x|)\s*\d+$/i;
6101
+ /** Regular expression matching one or more spaces. */
6102
+ const MULTIPLE_WHITESPACES_REGEX = /\s+/g;
6103
+ /**
6104
+ * Regular expression matching languages for which we currently don't support initials.
6105
+ * Arabic: Arabic, Arabic Supplement, Arabic Extended-A.
6106
+ * Korean: Hangul Jamo, Hangul Compatibility Jamo, Hangul Jamo Extended-A, Hangul Syllables, Hangul Jamo Extended-B.
6107
+ * Japanese: Hiragana, Katakana.
6108
+ * CJK: CJK Unified Ideographs Extension A, CJK Unified Ideographs, CJK Compatibility Ideographs,
6109
+ * CJK Unified Ideographs Extension B
6110
+ */
6111
+ // eslint-disable-next-line
6112
+ const UNSUPPORTED_TEXT_REGEX = /[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\u1100-\u11FF\u3130-\u318F\uA960-\uA97F\uAC00-\uD7AF\uD7B0-\uD7FF\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]|[\uD840-\uD869][\uDC00-\uDED6]/;
6113
+ function getInitialsLatin(displayName, isRtl, firstInitialOnly) {
6114
+ let initials = '';
6115
+ const splits = displayName.split(' ');
6116
+ if (splits.length !== 0) {
6117
+ initials += splits[0].charAt(0).toUpperCase();
6118
+ }
6119
+ if (!firstInitialOnly) {
6120
+ if (splits.length === 2) {
6121
+ initials += splits[1].charAt(0).toUpperCase();
6122
+ } else if (splits.length === 3) {
6123
+ initials += splits[2].charAt(0).toUpperCase();
6124
+ }
6125
+ }
6126
+ if (isRtl && initials.length > 1) {
6127
+ return initials.charAt(1) + initials.charAt(0);
6128
+ }
6129
+ return initials;
6130
+ }
6131
+ function cleanupDisplayName(displayName) {
6132
+ displayName = displayName.replace(UNWANTED_ENCLOSURES_REGEX, '');
6133
+ displayName = displayName.replace(UNWANTED_CHARS_REGEX, '');
6134
+ displayName = displayName.replace(MULTIPLE_WHITESPACES_REGEX, ' ');
6135
+ displayName = displayName.trim();
6136
+ return displayName;
6137
+ }
6138
+ /**
6139
+ * Get (up to 2 characters) initials based on display name of the persona.
6140
+ *
6141
+ * @param displayName - The full name of the person or entity
6142
+ * @param isRtl - Whether the display is in RTL
6143
+ * @param options - Extra options to control the behavior of getInitials
6144
+ *
6145
+ * @returns The 1 or 2 character initials based on the name. Or an empty string if no initials
6146
+ * could be derived from the name.
6147
+ *
6148
+ * @internal
6149
+ */
6150
+ function getInitials(displayName, isRtl, options) {
6151
+ if (!displayName) {
6152
+ return '';
6153
+ }
6154
+ displayName = cleanupDisplayName(displayName);
6155
+ // For names containing CJK characters, and phone numbers, we don't display initials
6156
+ if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !(options === null || options === void 0 ? void 0 : options.allowPhoneInitials) && PHONENUMBER_REGEX.test(displayName)) {
6157
+ return '';
6158
+ }
6159
+ return getInitialsLatin(displayName, isRtl, options === null || options === void 0 ? void 0 : options.firstInitialOnly);
6160
+ }
6161
+
6162
+ /**
6163
+ * The Avatar "active" state
6164
+ */
6165
+ const AvatarActive = {
6166
+ active: 'active',
6167
+ inactive: 'inactive'
6168
+ };
6169
+ /**
6170
+ * The Avatar Shape
6171
+ */
6172
+ const AvatarShape = {
6173
+ circular: 'circular',
6174
+ square: 'square'
6175
+ };
6176
+ /**
6177
+ * The Avatar Appearance when "active"
6178
+ */
6179
+ const AvatarAppearance = {
6180
+ ring: 'ring',
6181
+ shadow: 'shadow',
6182
+ ringShadow: 'ring-shadow'
6183
+ };
6184
+ /**
6185
+ * A specific named color for the Avatar
6186
+ */
6187
+ const AvatarNamedColor = {
6188
+ darkRed: 'dark-red',
6189
+ cranberry: 'cranberry',
6190
+ red: 'red',
6191
+ pumpkin: 'pumpkin',
6192
+ peach: 'peach',
6193
+ marigold: 'marigold',
6194
+ gold: 'gold',
6195
+ brass: 'brass',
6196
+ brown: 'brown',
6197
+ forest: 'forest',
6198
+ seafoam: 'seafoam',
6199
+ darkGreen: 'dark-green',
6200
+ lightTeal: 'light-teal',
6201
+ teal: 'teal',
6202
+ steel: 'steel',
6203
+ blue: 'blue',
6204
+ royalBlue: 'royal-blue',
6205
+ cornflower: 'cornflower',
6206
+ navy: 'navy',
6207
+ lavender: 'lavender',
6208
+ purple: 'purple',
6209
+ grape: 'grape',
6210
+ lilac: 'lilac',
6211
+ pink: 'pink',
6212
+ magenta: 'magenta',
6213
+ plum: 'plum',
6214
+ beige: 'beige',
6215
+ mink: 'mink',
6216
+ platinum: 'platinum',
6217
+ anchor: 'anchor'
6218
+ };
6219
+ /**
6220
+ * Supported Avatar colors
6221
+ */
6222
+ const AvatarColor = {
6223
+ neutral: 'neutral',
6224
+ brand: 'brand',
6225
+ colorful: 'colorful',
6226
+ ...AvatarNamedColor
6227
+ };
6228
+ /**
6229
+ * The Avatar Sizes
6230
+ * @public
6231
+ */
6232
+ const AvatarSize = {
6233
+ _16: 16,
6234
+ _20: 20,
6235
+ _24: 24,
6236
+ _28: 28,
6237
+ _32: 32,
6238
+ _36: 36,
6239
+ _40: 40,
6240
+ _48: 48,
6241
+ _56: 56,
6242
+ _64: 64,
6243
+ _72: 72,
6244
+ _96: 96,
6245
+ _120: 120,
6246
+ _128: 128
6247
+ };
6248
+
6249
+ /**
6250
+ * The base class used for constructing a fluent-avatar custom element
6251
+ * @public
6252
+ */
6253
+ class Avatar extends FASTElement {
6254
+ constructor() {
6255
+ super(...arguments);
6256
+ /**
6257
+ * The color when displaying either an icon or initials.
6258
+ * * neutral (default): gray
6259
+ * * brand: color from the brand palette
6260
+ * * colorful: picks a color from a set of pre-defined colors, based on a hash of the name (or colorId if provided)
6261
+ * * [AvatarNamedColor]: a specific color from the theme
6262
+ *
6263
+ * @public
6264
+ * @remarks
6265
+ * HTML Attribute: color
6266
+ */
6267
+ this.color = 'neutral';
6268
+ }
6269
+ /**
6270
+ * Sets the data-color attribute used for the visual presentation
6271
+ * @internal
6272
+ */
6273
+ generateColor() {
6274
+ var _a, _b;
6275
+ if (!this.color) {
6276
+ return;
6277
+ }
6278
+ return this.color === AvatarColor.colorful ? Avatar.colors[getHashCode((_b = (_a = this.colorId) !== null && _a !== void 0 ? _a : this.name) !== null && _b !== void 0 ? _b : '') % Avatar.colors.length] : this.color;
6279
+ }
6280
+ /**
6281
+ * Generates and sets the initials for the template
6282
+ * @internal
6283
+ */
6284
+ generateInitials() {
6285
+ var _a, _b;
6286
+ if (!this.name && !this.initials) {
6287
+ return;
6288
+ }
6289
+ // size can be undefined since we default it in CSS only
6290
+ const size = (_a = this.size) !== null && _a !== void 0 ? _a : 32;
6291
+ return (_b = this.initials) !== null && _b !== void 0 ? _b : getInitials(this.name, window.getComputedStyle(this).direction === 'rtl', {
6292
+ firstInitialOnly: size <= 16
6293
+ });
6294
+ }
6295
+ }
6296
+ /**
6297
+ * An array of the available Avatar named colors
6298
+ */
6299
+ Avatar.colors = Object.values(AvatarNamedColor);
6300
+ __decorate([attr], Avatar.prototype, "name", void 0);
6301
+ __decorate([attr], Avatar.prototype, "initials", void 0);
6302
+ __decorate([attr({
6303
+ converter: nullableNumberConverter
6304
+ })], Avatar.prototype, "size", void 0);
6305
+ __decorate([attr], Avatar.prototype, "shape", void 0);
6306
+ __decorate([attr], Avatar.prototype, "active", void 0);
6307
+ __decorate([attr], Avatar.prototype, "appearance", void 0);
6308
+ __decorate([attr], Avatar.prototype, "color", void 0);
6309
+ __decorate([attr({
6310
+ attribute: 'color-id'
6311
+ })], Avatar.prototype, "colorId", void 0);
6312
+ // copied from React avatar
6313
+ const getHashCode = str => {
6314
+ let hashCode = 0;
6315
+ for (let len = str.length - 1; len >= 0; len--) {
6316
+ const ch = str.charCodeAt(len);
6317
+ const shift = len % 8;
6318
+ hashCode ^= (ch << shift) + (ch >> 8 - shift); // eslint-disable-line no-bitwise
6319
+ }
6320
+
6321
+ return hashCode;
6322
+ };
6323
+
6324
+ const defaultIconTemplate = html`<svg width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" class="default-icon" fill="currentcolor" aria-hidden="true"><path d="M10 2a4 4 0 100 8 4 4 0 000-8zM7 6a3 3 0 116 0 3 3 0 01-6 0zm-2 5a2 2 0 00-2 2c0 1.7.83 2.97 2.13 3.8A9.14 9.14 0 0010 18c1.85 0 3.58-.39 4.87-1.2A4.35 4.35 0 0017 13a2 2 0 00-2-2H5zm-1 2a1 1 0 011-1h10a1 1 0 011 1c0 1.3-.62 2.28-1.67 2.95A8.16 8.16 0 0110 17a8.16 8.16 0 01-4.33-1.05A3.36 3.36 0 014 13z"></path></svg>`;
6325
+ /**
6326
+ * The template for the Avatar component.
6327
+ * @public
6328
+ */
6329
+ function avatarTemplate() {
6330
+ 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>`;
6331
+ }
6332
+ const template$8 = avatarTemplate();
6333
+
6334
+ const animations = {
6335
+ fastOutSlowInMax: curveDecelerateMax,
6336
+ fastOutSlowInMid: curveDecelerateMid,
6337
+ fastOutSlowInMin: curveDecelerateMin,
6338
+ slowOutFastInMax: curveAccelerateMax,
6339
+ slowOutFastInMid: curveAccelerateMid,
6340
+ slowOutFastInMin: curveAccelerateMin,
6341
+ fastEase: curveEasyEaseMax,
6342
+ normalEase: curveEasyEase,
6343
+ nullEasing: curveLinear
6344
+ };
6345
+ /** Avatar styles
6346
+ * @public
6347
+ */
6348
+ const styles$8 = css`
6349
+ ${display('inline-flex')} :host{position:relative;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};font-size:${fontSizeBase300};border-radius:${borderRadiusCircular};color:${colorNeutralForeground3};background-color:${colorNeutralBackground6}}.default-icon,::slotted(svg){width:20px;height:20px;font-size:20px}::slotted(img){box-sizing:border-box;width:100%;height:100%;border-radius:${borderRadiusCircular}}::slotted([slot='badge']){position:absolute;bottom:0;right:0;box-shadow:0 0 0 ${strokeWidthThin} ${colorNeutralBackground1}}:host([size='64']) ::slotted([slot='badge']),:host([size='72']) ::slotted([slot='badge']),:host([size='96']) ::slotted([slot='badge']),:host([size='120']) ::slotted([slot='badge']),:host([size='128']) ::slotted([slot='badge']){box-shadow:0 0 0 ${strokeWidthThick} ${colorNeutralBackground1}}:host([size='16']),:host([size='20']),:host([size='24']){font-size:${fontSizeBase100};font-weight:${fontWeightRegular}}:host([size='16']){width:16px;height:16px}:host([size='20']){width:20px;height:20px}:host([size='24']){width:24px;height:24px}:host([size='16']) .default-icon,:host([size='16']) ::slotted(svg){width:12px;height:12px;font-size:12px}:host([size='20']) .default-icon,:host([size='24']) .default-icon,:host([size='20']) ::slotted(svg),:host([size='24']) ::slotted(svg){width:16px;height:16px;font-size:16px}:host([size='28']){width:28px;height:28px;font-size:${fontSizeBase200}}:host([size='36']){width:36px;height:36px}:host([size='40']){width:40px;height:40px}:host([size='48']),:host([size='56']){font-size:${fontSizeBase400}}:host([size='48']){width:48px;height:48px}:host([size='48']) .default-icon,:host([size='48']) ::slotted(svg){width:24px;height:24px;font-size:24px}:host([size='56']){width:56px;height:56px}:host([size='56']) .default-icon,:host([size='56']) ::slotted(svg){width:28px;height:28px;font-size:28px}:host([size='64']),:host([size='72']),:host([size='96']){font-size:${fontSizeBase500}}:host([size='64']) .default-icon,:host([size='72']) .default-icon,:host([size='64']) ::slotted(svg),:host([size='72']) ::slotted(svg){width:32px;height:32px;font-size:32px}:host([size='64']){width:64px;height:64px}:host([size='72']){width:72px;height:72px}:host([size='96']){width:96px;height:96px}:host([size='96']) .default-icon,:host([size='120']) .default-icon,:host([size='128']) .default-icon,:host([size='96']) ::slotted(svg),:host([size='120']) ::slotted(svg),:host([size='128']) ::slotted(svg){width:48px;height:48px;font-size:48px}:host([size='120']),:host([size='128']){font-size:${fontSizeBase600}}:host([size='120']){width:120px;height:120px}:host([size='128']){width:128px;height:128px}:host([shape='square']){border-radius:${borderRadiusMedium}}:host([shape='square'][size='20']),:host([shape='square'][size='24']){border-radius:${borderRadiusSmall}}:host([shape='square'][size='56']),:host([shape='square'][size='64']),:host([shape='square'][size='72']){border-radius:${borderRadiusLarge}}:host([shape='square'][size='96']),:host([shape='square'][size='120']),:host([shape='square'][size='128']){border-radius:${borderRadiusXLarge}}:host([data-color='brand']){color:${colorNeutralForegroundStaticInverted};background-color:${colorBrandBackgroundStatic}}:host([data-color='dark-red']){color:${colorPaletteDarkRedForeground2};background-color:${colorPaletteDarkRedBackground2}}:host([data-color='cranberry']){color:${colorPaletteCranberryForeground2};background-color:${colorPaletteCranberryBackground2}}:host([data-color='red']){color:${colorPaletteRedForeground2};background-color:${colorPaletteRedBackground2}}:host([data-color='pumpkin']){color:${colorPalettePumpkinForeground2};background-color:${colorPalettePumpkinBackground2}}:host([data-color='peach']){color:${colorPalettePeachForeground2};background-color:${colorPalettePeachBackground2}}:host([data-color='marigold']){color:${colorPaletteMarigoldForeground2};background-color:${colorPaletteMarigoldBackground2}}:host([data-color='gold']){color:${colorPaletteGoldForeground2};background-color:${colorPaletteGoldBackground2}}:host([data-color='brass']){color:${colorPaletteBrassForeground2};background-color:${colorPaletteBrassBackground2}}:host([data-color='brown']){color:${colorPaletteBrownForeground2};background-color:${colorPaletteBrownBackground2}}:host([data-color='forest']){color:${colorPaletteForestForeground2};background-color:${colorPaletteForestBackground2}}:host([data-color='seafoam']){color:${colorPaletteSeafoamForeground2};background-color:${colorPaletteSeafoamBackground2}}:host([data-color='dark-green']){color:${colorPaletteDarkGreenForeground2};background-color:${colorPaletteDarkGreenBackground2}}:host([data-color='light-teal']){color:${colorPaletteLightTealForeground2};background-color:${colorPaletteLightTealBackground2}}:host([data-color='teal']){color:${colorPaletteTealForeground2};background-color:${colorPaletteTealBackground2}}:host([data-color='steel']){color:${colorPaletteSteelForeground2};background-color:${colorPaletteSteelBackground2}}:host([data-color='blue']){color:${colorPaletteBlueForeground2};background-color:${colorPaletteBlueBackground2}}:host([data-color='royal-blue']){color:${colorPaletteRoyalBlueForeground2};background-color:${colorPaletteRoyalBlueBackground2}}:host([data-color='cornflower']){color:${colorPaletteCornflowerForeground2};background-color:${colorPaletteCornflowerBackground2}}:host([data-color='navy']){color:${colorPaletteNavyForeground2};background-color:${colorPaletteNavyBackground2}}:host([data-color='lavender']){color:${colorPaletteLavenderForeground2};background-color:${colorPaletteLavenderBackground2}}:host([data-color='purple']){color:${colorPalettePurpleForeground2};background-color:${colorPalettePurpleBackground2}}:host([data-color='grape']){color:${colorPaletteGrapeForeground2};background-color:${colorPaletteGrapeBackground2}}:host([data-color='lilac']){color:${colorPaletteLilacForeground2};background-color:${colorPaletteLilacBackground2}}:host([data-color='pink']){color:${colorPalettePinkForeground2};background-color:${colorPalettePinkBackground2}}:host([data-color='magenta']){color:${colorPaletteMagentaForeground2};background-color:${colorPaletteMagentaBackground2}}:host([data-color='plum']){color:${colorPalettePlumForeground2};background-color:${colorPalettePlumBackground2}}:host([data-color='beige']){color:${colorPaletteBeigeForeground2};background-color:${colorPaletteBeigeBackground2}}:host([data-color='mink']){color:${colorPaletteMinkForeground2};background-color:${colorPaletteMinkBackground2}}:host([data-color='platinum']){color:${colorPalettePlatinumForeground2};background-color:${colorPalettePlatinumBackground2}}:host([data-color='anchor']){color:${colorPaletteAnchorForeground2};background-color:${colorPaletteAnchorBackground2}}:host([active]){transform:perspective(1px);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{box-shadow:${shadow8};border-style:solid;border-color:${colorBrandBackgroundStatic}}:host([active][appearance='shadow'])::before{border-style:none;border-color:none}:host([active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThick});border-width:${strokeWidthThick}}:host([size='56'][active]:not([appearance='shadow']))::before,:host([size='64'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThicker});border-width:${strokeWidthThicker}}:host([size='72'][active]:not([appearance='shadow']))::before,:host([size='96'][active]:not([appearance='shadow']))::before,:host([size='120'][active]:not([appearance='shadow']))::before,:host([size='128'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThickest});border-width:${strokeWidthThickest}}:host([size='20'][active][appearance])::before,:host([size='24'][active][appearance])::before,:host([size='28'][active][appearance])::before{box-shadow:${shadow4}}:host([size='56'][active][appearance])::before,:host([size='64'][active][appearance])::before{box-shadow:${shadow16}}:host([size='72'][active][appearance])::before,:host([size='96'][active][appearance])::before,:host([size='120'][active][appearance])::before,:host([size='128'][active][appearance])::before{box-shadow:${shadow28}}:host([active][appearance='ring'])::before{box-shadow:none}:host([active='inactive']){opacity:0.8;transform:scale(0.875);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}:host([active='inactive'])::before{margin:0;opacity:0;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}@media screen and (prefers-reduced-motion:reduce){:host([active]){transition-duration:0.01ms}:host([active])::before{transition-duration:0.01ms;transition-delay:0.01ms}}`;
6350
+
6351
+ /**
6352
+ * The Fluent Avatar Element.
6353
+ *
6354
+ * @public
6355
+ * @remarks
6356
+ * HTML Element: \<fluent-badge\>
6357
+ */
6358
+ const definition$8 = Avatar.compose({
6359
+ name: `${FluentDesignSystem.prefix}-avatar`,
6360
+ template: template$8,
6361
+ styles: styles$8
5459
6362
  });
5460
6363
 
5461
6364
  /**
@@ -5542,7 +6445,7 @@ applyMixins(Badge, StartEnd);
5542
6445
  function badgeTemplate(options = {}) {
5543
6446
  return html` ${startSlotTemplate(options)}<slot>${staticallyCompose(options.defaultContent)}</slot>${endSlotTemplate(options)} `;
5544
6447
  }
5545
- const template$4 = badgeTemplate();
6448
+ const template$7 = badgeTemplate();
5546
6449
 
5547
6450
  const textPadding = spacingHorizontalXXS;
5548
6451
  const badgeBaseStyles = css.partial`
@@ -5818,7 +6721,7 @@ const badgeTintStyles = css.partial`
5818
6721
  /** Badge styles
5819
6722
  * @public
5820
6723
  */
5821
- const styles$4 = css`
6724
+ const styles$7 = css`
5822
6725
  :host([shape='square']){border-radius:${borderRadiusNone}}: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}
5823
6726
  ${badgeFilledStyles}
5824
6727
  ${badgeGhostStyles}
@@ -5836,10 +6739,10 @@ const styles$4 = css`
5836
6739
  * @remarks
5837
6740
  * HTML Element: \<fluent-badge\>
5838
6741
  */
5839
- const definition$4 = Badge.compose({
6742
+ const definition$7 = Badge.compose({
5840
6743
  name: `${FluentDesignSystem.prefix}-badge`,
5841
- template: template$4,
5842
- styles: styles$4
6744
+ template: template$7,
6745
+ styles: styles$7
5843
6746
  });
5844
6747
 
5845
6748
  /**
@@ -5975,12 +6878,12 @@ function composeTemplate(options = {}) {
5975
6878
  * The template for the Counter Badge component.
5976
6879
  * @public
5977
6880
  */
5978
- const template$3 = composeTemplate();
6881
+ const template$6 = composeTemplate();
5979
6882
 
5980
6883
  /** Badge styles
5981
6884
  * @public
5982
6885
  */
5983
- const styles$3 = css`
6886
+ const styles$6 = css`
5984
6887
  :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}
5985
6888
  ${badgeFilledStyles}
5986
6889
  ${badgeGhostStyles}
@@ -5997,10 +6900,136 @@ const styles$3 = css`
5997
6900
  * @remarks
5998
6901
  * HTML Element: \<fluent-counter-badge\>
5999
6902
  */
6000
- const definition$3 = CounterBadge.compose({
6903
+ const definition$6 = CounterBadge.compose({
6001
6904
  name: `${FluentDesignSystem.prefix}-counter-badge`,
6002
- template: template$3,
6003
- styles: styles$3
6905
+ template: template$6,
6906
+ styles: styles$6
6907
+ });
6908
+
6909
+ /**
6910
+ * @class Divider component
6911
+ *
6912
+ * @remarks
6913
+ * This class extends the FASTDivider. 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.
6914
+ */
6915
+ class Divider extends FASTDivider {}
6916
+ __decorate([attr({
6917
+ attribute: 'align-content'
6918
+ })], Divider.prototype, "alignContent", void 0);
6919
+ __decorate([attr], Divider.prototype, "appearance", void 0);
6920
+ __decorate([attr({
6921
+ mode: 'boolean'
6922
+ })], Divider.prototype, "inset", void 0);
6923
+
6924
+ /**
6925
+ * Align content within divider
6926
+ * @public
6927
+ */
6928
+ const DividerAlignContent = {
6929
+ center: 'center',
6930
+ start: 'start',
6931
+ end: 'end'
6932
+ };
6933
+ /**
6934
+ * DividerAppearance - divider color defined by a design token alias.
6935
+ * @public
6936
+ */
6937
+ const DividerAppearance = {
6938
+ strong: 'strong',
6939
+ brand: 'brand',
6940
+ subtle: 'subtle',
6941
+ default: 'default'
6942
+ };
6943
+
6944
+ /**
6945
+ * Template for the Divider component
6946
+ * @public
6947
+ */
6948
+ const template$5 = dividerTemplate();
6949
+
6950
+ /** Divider styles
6951
+ * @public
6952
+ */
6953
+ const styles$5 = css`
6954
+ ${display('flex')}
6955
+
6956
+ :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}}`;
6957
+
6958
+ /**
6959
+ * The Fluent Divider Element
6960
+ *
6961
+ * @public
6962
+ * @remarks
6963
+ * HTML Element: \<fluent-divider\>
6964
+ */
6965
+ const definition$5 = Divider.compose({
6966
+ name: `${FluentDesignSystem.prefix}-divider`,
6967
+ template: template$5,
6968
+ styles: styles$5
6969
+ });
6970
+
6971
+ /**
6972
+ * The base class used for constucting a fluent image custom element
6973
+ * @public
6974
+ */
6975
+ class Image extends FASTElement {}
6976
+ __decorate([attr({
6977
+ mode: 'boolean'
6978
+ })], Image.prototype, "block", void 0);
6979
+ __decorate([attr({
6980
+ mode: 'boolean'
6981
+ })], Image.prototype, "bordered", void 0);
6982
+ __decorate([attr({
6983
+ mode: 'boolean'
6984
+ })], Image.prototype, "shadow", void 0);
6985
+ __decorate([attr], Image.prototype, "fit", void 0);
6986
+ __decorate([attr], Image.prototype, "shape", void 0);
6987
+
6988
+ /**
6989
+ * Image fit
6990
+ * @public
6991
+ */
6992
+ const ImageFit = {
6993
+ none: 'none',
6994
+ center: 'center',
6995
+ contain: 'contain',
6996
+ cover: 'cover',
6997
+ default: 'default'
6998
+ };
6999
+ /**
7000
+ * Image shape
7001
+ * @public
7002
+ */
7003
+ const ImageShape = {
7004
+ circular: 'circular',
7005
+ rounded: 'rounded',
7006
+ square: 'square'
7007
+ };
7008
+
7009
+ /**
7010
+ * Template for the Image component
7011
+ * @public
7012
+ */
7013
+ const template$4 = html`<slot></slot>`;
7014
+
7015
+ /** Image styles
7016
+ *
7017
+ * @public
7018
+ */
7019
+ const styles$4 = css`
7020
+ :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}}`;
7021
+
7022
+ /**
7023
+ * The Fluent Image Element
7024
+ *
7025
+ * @public
7026
+ * @remarks
7027
+ * HTML Element: \<fluent-image\>
7028
+ */
7029
+ const definition$4 = Image.compose({
7030
+ name: `${FluentDesignSystem.prefix}-image`,
7031
+ template: template$4,
7032
+ styles: styles$4
6004
7033
  });
6005
7034
 
6006
7035
  /**
@@ -6043,7 +7072,7 @@ const ProgressBarValidationState = {
6043
7072
  /** Text styles
6044
7073
  * @public
6045
7074
  */
6046
- const styles$2 = css`
7075
+ const styles$3 = css`
6047
7076
  ${display('flex')}
6048
7077
 
6049
7078
  :host{align-items:center;height:2px;overflow-x:hidden;border-radius:${borderRadiusMedium}}: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(
@@ -6058,7 +7087,7 @@ const styles$2 = css`
6058
7087
  to right,${colorBrandBackground2} 0%,${colorCompoundBrandBackground} 50%,${colorBrandBackground2}
6059
7088
  );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}}`;
6060
7089
 
6061
- const template$2 = progressTemplate({
7090
+ const template$3 = progressTemplate({
6062
7091
  indeterminateIndicator1: `<span class="indeterminate-indicator-1" part="indeterminate-indicator-1></span>`,
6063
7092
  indeterminateIndicator2: `<span class="indeterminate-indicator-2" part="indeterminate-indicator-2"></span>`
6064
7093
  });
@@ -6071,10 +7100,10 @@ const template$2 = progressTemplate({
6071
7100
  * @remarks
6072
7101
  * HTML Element: \<fluent-progress-bar\>
6073
7102
  */
6074
- const definition$2 = ProgressBar.compose({
7103
+ const definition$3 = ProgressBar.compose({
6075
7104
  name: `${FluentDesignSystem.prefix}-progress-bar`,
6076
- template: template$2,
6077
- styles: styles$2
7105
+ template: template$3,
7106
+ styles: styles$3
6078
7107
  });
6079
7108
 
6080
7109
  /**
@@ -6107,7 +7136,7 @@ const SpinnerSize = {
6107
7136
  huge: 'huge'
6108
7137
  };
6109
7138
 
6110
- const template$1 = progressRingTemplate({
7139
+ const template$2 = progressRingTemplate({
6111
7140
  indeterminateIndicator: `
6112
7141
  <svg class="progress" part="progress" viewBox="0 0 16 16">
6113
7142
  <circle
@@ -6128,7 +7157,7 @@ const template$1 = progressRingTemplate({
6128
7157
  `
6129
7158
  });
6130
7159
 
6131
- const styles$1 = css`
7160
+ const styles$2 = css`
6132
7161
  ${display('flex')}
6133
7162
 
6134
7163
  :host{display:flex;align-items:center;height:32px;width:32px}:host([size='tiny']){height:20px;width:20px}:host([size='extra-small']){height:24px;width:24px}:host([size='small']){height:28px;width:28px}:host([size='large']){height:36px;width:36px}:host([size='extra-large']){height:40px;width:40px}:host([size='huge']){height:44px;width:44px}.progress{height:100%;width:100%}.background{fill:none;stroke:${colorBrandStroke2};stroke-width:1.5px}:host([appearance='inverted']) .background{stroke:rgba(255,255,255,0.2)}.determinate{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}:host([appearance='inverted']) .determinite{stroke:${colorNeutralStrokeOnBrand2}}.indeterminate-indicator-1{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([appearance='inverted']) .indeterminate-indicator-1{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)}}`;
@@ -6142,8 +7171,45 @@ const styles$1 = css`
6142
7171
  * @remarks
6143
7172
  * HTML Element: \<fluent-spinner\>
6144
7173
  */
6145
- const definition$1 = Spinner.compose({
7174
+ const definition$2 = Spinner.compose({
6146
7175
  name: `${FluentDesignSystem.prefix}-spinner`,
7176
+ template: template$2,
7177
+ styles: styles$2
7178
+ });
7179
+
7180
+ class Switch extends FASTSwitch {}
7181
+ __decorate([attr({
7182
+ attribute: 'label-position'
7183
+ })], Switch.prototype, "labelPosition", void 0);
7184
+
7185
+ /**
7186
+ * SwitchLabelPosition Constants
7187
+ * @public
7188
+ */
7189
+ const SwitchLabelPosition = {
7190
+ above: 'above',
7191
+ after: 'after',
7192
+ before: 'before'
7193
+ };
7194
+
7195
+ const template$1 = switchTemplate({
7196
+ switch: `<span class="checked-indicator" part="checked-indicator"></span>`
7197
+ });
7198
+
7199
+ const styles$1 = css`
7200
+ ${display('inline-flex')}
7201
+
7202
+ :host{align-items:center;flex-direction:row-reverse;outline:none;user-select:none}:host([label-position='before']){flex-direction:row}:host([label-position='above']){flex-direction:column;align-items:flex-start}:host([disabled]) .label,:host([readonly]) .label,:host([readonly]) .switch,:host([disabled]) .switch{cursor:not-allowed}.label{position:relative;color:${colorNeutralForeground1};line-height:${lineHeightBase300};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};font-family:${fontFamilyBase};padding:${spacingVerticalXS} ${spacingHorizontalXS};cursor:pointer}.label__hidden{display:none}.switch{display:flex;align-items:center;padding:0 ${spacingHorizontalXXS};box-sizing:border-box;width:40px;height:20px;background-color:${colorTransparentBackground};border:1px solid ${colorNeutralStrokeAccessible};border-radius:${borderRadiusCircular};outline:none;cursor:pointer;margin:${spacingVerticalS} ${spacingHorizontalS}}:host(:hover) .switch{background:none;border-color:${colorNeutralStrokeAccessibleHover}}:host(:active) .switch{border-color:${colorNeutralStrokeAccessiblePressed}}:host([disabled]) .switch,:host([readonly]) .switch{border:1px solid ${colorNeutralStrokeDisabled};background-color:none;pointer:default}:host([aria-checked='true']) .switch{background:${colorCompoundBrandBackground}}:host([aria-checked='true']:hover) .switch{background:${colorCompoundBrandBackgroundHover};border-color:${colorCompoundBrandBackgroundHover}}:host([aria-checked='true']:active) .switch{background:${colorCompoundBrandBackgroundPressed};border-color:${colorCompoundBrandBackgroundPressed}}:host([aria-checked='true'][disabled]) .switch{background:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}.checked-indicator{height:14px;width:14px;border-radius:50%;background-color:${colorNeutralForeground3};transition-duration:${durationNormal};transition-timing-function:${curveEasyEase};transition-property:transform}:host([aria-checked='true']) .checked-indicator{background-color:${colorNeutralForegroundInverted};transform:translateX(20px)}:host([aria-checked='true']:hover) .checked-indicator{background:${colorNeutralForegroundInvertedHover}}:host([aria-checked='true']:active) .checked-indicator{background:${colorNeutralForegroundInvertedPressed}}:host(:hover) .checked-indicator{background-color:${colorNeutralForeground3Hover}}:host(:active) .checked-indicator{background-color:${colorNeutralForeground3Pressed}}:host([disabled]) .checked-indicator,:host([readonly]) .checked-indicator{background:${colorNeutralForegroundDisabled}}:host([aria-checked='true'][disabled]) .checked-indicator{background:${colorNeutralForegroundDisabled}}`;
7203
+
7204
+ /**
7205
+ * The Fluent Switch Element.
7206
+ *
7207
+ * @public
7208
+ * @remarks
7209
+ * HTML Element: \<fluent-switch\>
7210
+ */
7211
+ const definition$1 = Switch.compose({
7212
+ name: `${FluentDesignSystem.prefix}-switch`,
6147
7213
  template: template$1,
6148
7214
  styles: styles$1
6149
7215
  });
@@ -6314,4 +7380,4 @@ const setTheme = theme => {
6314
7380
  }
6315
7381
  };
6316
7382
 
6317
- export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, Badge, BadgeAppearance, BadgeColor, definition$4 as BadgeDefinition, BadgeShape, BadgeSize, styles$4 as BadgeStyles, template$4 as BadgeTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$3 as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$3 as CounterBadgeStyles, template$3 as CounterBadgeTemplate, ProgressBar, definition$2 as ProgressBarDefinition, ProgressBarShape, styles$2 as ProgressBarStyles, template$2 as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Spinner, SpinnerAppearance, definition$1 as SpinnerDefinition, SpinnerSize, styles$1 as SpinnerStyles, template$1 as SpinnerTemplate, Text, TextAlign, definition as TextDefinition, TextFont, TextSize, styles as TextStyles, template as TextTemplate, TextWeight, definition$6 as accordionDefinition, definition$5 as accordionItemDefinition, styles$5 as accordionItemStyles, template$5 as accordionItemTemplate, styles$6 as accordionStyles, template$6 as accordionTemplate, borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, borderRadiusXLarge, colorBackgroundOverlay, colorBrandBackground, colorBrandBackground2, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandForeground1, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackground3, colorNeutralBackground3Hover, colorNeutralBackground3Pressed, colorNeutralBackground3Selected, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackground4Pressed, colorNeutralBackground4Selected, colorNeutralBackground5, colorNeutralBackground5Hover, colorNeutralBackground5Pressed, colorNeutralBackground5Selected, colorNeutralBackground6, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground1Selected, colorNeutralForeground1Static, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Link, colorNeutralForeground2LinkHover, colorNeutralForeground2LinkPressed, colorNeutralForeground2LinkSelected, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForeground3, colorNeutralForeground3BrandHover, colorNeutralForeground3BrandPressed, colorNeutralForeground3BrandSelected, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForeground3Selected, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInverted2, colorNeutralForegroundInvertedDisabled, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedLink, colorNeutralForegroundInvertedLinkHover, colorNeutralForegroundInvertedLinkPressed, colorNeutralForegroundInvertedLinkSelected, colorNeutralForegroundInvertedPressed, colorNeutralForegroundInvertedSelected, colorNeutralForegroundOnBrand, colorNeutralForegroundStaticInverted, colorNeutralShadowAmbient, colorNeutralShadowAmbientDarker, colorNeutralShadowAmbientLighter, colorNeutralShadowKey, colorNeutralShadowKeyDarker, colorNeutralShadowKeyLighter, colorNeutralStencil1, colorNeutralStencil2, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorNeutralStroke2, colorNeutralStroke3, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeAccessibleSelected, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorPaletteAnchorBackground2, colorPaletteAnchorBorderActive, colorPaletteAnchorForeground2, colorPaletteBeigeBackground2, colorPaletteBeigeBorderActive, colorPaletteBeigeForeground2, colorPaletteBerryBackground1, colorPaletteBerryBackground2, colorPaletteBerryBackground3, colorPaletteBerryBorder1, colorPaletteBerryBorder2, colorPaletteBerryBorderActive, colorPaletteBerryForeground1, colorPaletteBerryForeground2, colorPaletteBerryForeground3, colorPaletteBlueBackground2, colorPaletteBlueBorderActive, colorPaletteBlueForeground2, colorPaletteBrassBackground2, colorPaletteBrassBorderActive, colorPaletteBrassForeground2, colorPaletteBrownBackground2, colorPaletteBrownBorderActive, colorPaletteBrownForeground2, colorPaletteCornflowerBackground2, colorPaletteCornflowerBorderActive, colorPaletteCornflowerForeground2, colorPaletteCranberryBackground2, colorPaletteCranberryBorderActive, colorPaletteCranberryForeground2, colorPaletteDarkGreenBackground2, colorPaletteDarkGreenBorderActive, colorPaletteDarkGreenForeground2, colorPaletteDarkOrangeBackground1, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteDarkOrangeBorder1, colorPaletteDarkOrangeBorder2, colorPaletteDarkOrangeBorderActive, colorPaletteDarkOrangeForeground1, colorPaletteDarkOrangeForeground2, colorPaletteDarkOrangeForeground3, colorPaletteDarkRedBackground2, colorPaletteDarkRedBorderActive, colorPaletteDarkRedForeground2, colorPaletteForestBackground2, colorPaletteForestBorderActive, colorPaletteForestForeground2, colorPaletteGoldBackground2, colorPaletteGoldBorderActive, colorPaletteGoldForeground2, colorPaletteGrapeBackground2, colorPaletteGrapeBorderActive, colorPaletteGrapeForeground2, colorPaletteGreenBackground1, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteGreenBorder1, colorPaletteGreenBorder2, colorPaletteGreenBorderActive, colorPaletteGreenForeground1, colorPaletteGreenForeground2, colorPaletteGreenForeground3, colorPaletteLavenderBackground2, colorPaletteLavenderBorderActive, colorPaletteLavenderForeground2, colorPaletteLightGreenBackground1, colorPaletteLightGreenBackground2, colorPaletteLightGreenBackground3, colorPaletteLightGreenBorder1, colorPaletteLightGreenBorder2, colorPaletteLightGreenBorderActive, colorPaletteLightGreenForeground1, colorPaletteLightGreenForeground2, colorPaletteLightGreenForeground3, colorPaletteLightTealBackground2, colorPaletteLightTealBorderActive, colorPaletteLightTealForeground2, colorPaletteLilacBackground2, colorPaletteLilacBorderActive, colorPaletteLilacForeground2, colorPaletteMagentaBackground2, colorPaletteMagentaBorderActive, colorPaletteMagentaForeground2, colorPaletteMarigoldBackground1, colorPaletteMarigoldBackground2, colorPaletteMarigoldBackground3, colorPaletteMarigoldBorder1, colorPaletteMarigoldBorder2, colorPaletteMarigoldBorderActive, colorPaletteMarigoldForeground1, colorPaletteMarigoldForeground2, colorPaletteMarigoldForeground3, colorPaletteMinkBackground2, colorPaletteMinkBorderActive, colorPaletteMinkForeground2, colorPaletteNavyBackground2, colorPaletteNavyBorderActive, colorPaletteNavyForeground2, colorPalettePeachBackground2, colorPalettePeachBorderActive, colorPalettePeachForeground2, colorPalettePinkBackground2, colorPalettePinkBorderActive, colorPalettePinkForeground2, colorPalettePlatinumBackground2, colorPalettePlatinumBorderActive, colorPalettePlatinumForeground2, colorPalettePlumBackground2, colorPalettePlumBorderActive, colorPalettePlumForeground2, colorPalettePumpkinBackground2, colorPalettePumpkinBorderActive, colorPalettePumpkinForeground2, colorPalettePurpleBackground2, colorPalettePurpleBorderActive, colorPalettePurpleForeground2, colorPaletteRedBackground1, colorPaletteRedBackground2, colorPaletteRedBackground3, colorPaletteRedBorder1, colorPaletteRedBorder2, colorPaletteRedBorderActive, colorPaletteRedForeground1, colorPaletteRedForeground2, colorPaletteRedForeground3, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorScrollbarOverlay, colorStrokeFocus1, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundInverted, colorSubtleBackgroundInvertedHover, colorSubtleBackgroundInvertedPressed, colorSubtleBackgroundInvertedSelected, colorSubtleBackgroundLightAlphaHover, colorSubtleBackgroundLightAlphaPressed, colorSubtleBackgroundLightAlphaSelected, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, curveAccelerateMax, curveAccelerateMid, curveAccelerateMin, curveDecelerateMax, curveDecelerateMid, curveDecelerateMin, curveEasyEase, curveEasyEaseMax, curveLinear, durationFast, durationFaster, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, setTheme, shadow16, shadow16Brand, shadow2, shadow28, shadow28Brand, shadow2Brand, shadow4, shadow4Brand, shadow64, shadow64Brand, shadow8, shadow8Brand, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXS, spacingHorizontalXXXL, spacingVerticalL, spacingVerticalM, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXL, spacingVerticalXS, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXXXL, strokeWidthThick, strokeWidthThicker, strokeWidthThickest, strokeWidthThin };
7383
+ export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$8 as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$8 as AvatarStyles, template$8 as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$7 as BadgeDefinition, BadgeShape, BadgeSize, styles$7 as BadgeStyles, template$7 as BadgeTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$6 as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$6 as CounterBadgeStyles, template$6 as CounterBadgeTemplate, Divider, DividerAlignContent, DividerAppearance, definition$5 as DividerDefinition, DividerOrientation, DividerRole, styles$5 as DividerStyles, template$5 as DividerTemplate, Image, definition$4 as ImageDefinition, ImageFit, ImageShape, styles$4 as ImageStyles, template$4 as ImageTemplate, ProgressBar, definition$3 as ProgressBarDefinition, ProgressBarShape, styles$3 as ProgressBarStyles, template$3 as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Spinner, SpinnerAppearance, definition$2 as SpinnerDefinition, SpinnerSize, styles$2 as SpinnerStyles, template$2 as SpinnerTemplate, Switch, SwitchLabelPosition, Text, TextAlign, definition as TextDefinition, TextFont, TextSize, styles as TextStyles, template as TextTemplate, TextWeight, definition$a as accordionDefinition, definition$9 as accordionItemDefinition, styles$9 as accordionItemStyles, template$9 as accordionItemTemplate, styles$a as accordionStyles, template$a as accordionTemplate, borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, borderRadiusXLarge, colorBackgroundOverlay, colorBrandBackground, colorBrandBackground2, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandForeground1, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackground3, colorNeutralBackground3Hover, colorNeutralBackground3Pressed, colorNeutralBackground3Selected, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackground4Pressed, colorNeutralBackground4Selected, colorNeutralBackground5, colorNeutralBackground5Hover, colorNeutralBackground5Pressed, colorNeutralBackground5Selected, colorNeutralBackground6, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground1Selected, colorNeutralForeground1Static, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Link, colorNeutralForeground2LinkHover, colorNeutralForeground2LinkPressed, colorNeutralForeground2LinkSelected, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForeground3, colorNeutralForeground3BrandHover, colorNeutralForeground3BrandPressed, colorNeutralForeground3BrandSelected, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForeground3Selected, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInverted2, colorNeutralForegroundInvertedDisabled, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedLink, colorNeutralForegroundInvertedLinkHover, colorNeutralForegroundInvertedLinkPressed, colorNeutralForegroundInvertedLinkSelected, colorNeutralForegroundInvertedPressed, colorNeutralForegroundInvertedSelected, colorNeutralForegroundOnBrand, colorNeutralForegroundStaticInverted, colorNeutralShadowAmbient, colorNeutralShadowAmbientDarker, colorNeutralShadowAmbientLighter, colorNeutralShadowKey, colorNeutralShadowKeyDarker, colorNeutralShadowKeyLighter, colorNeutralStencil1, colorNeutralStencil2, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorNeutralStroke2, colorNeutralStroke3, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeAccessibleSelected, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorPaletteAnchorBackground2, colorPaletteAnchorBorderActive, colorPaletteAnchorForeground2, colorPaletteBeigeBackground2, colorPaletteBeigeBorderActive, colorPaletteBeigeForeground2, colorPaletteBerryBackground1, colorPaletteBerryBackground2, colorPaletteBerryBackground3, colorPaletteBerryBorder1, colorPaletteBerryBorder2, colorPaletteBerryBorderActive, colorPaletteBerryForeground1, colorPaletteBerryForeground2, colorPaletteBerryForeground3, colorPaletteBlueBackground2, colorPaletteBlueBorderActive, colorPaletteBlueForeground2, colorPaletteBrassBackground2, colorPaletteBrassBorderActive, colorPaletteBrassForeground2, colorPaletteBrownBackground2, colorPaletteBrownBorderActive, colorPaletteBrownForeground2, colorPaletteCornflowerBackground2, colorPaletteCornflowerBorderActive, colorPaletteCornflowerForeground2, colorPaletteCranberryBackground2, colorPaletteCranberryBorderActive, colorPaletteCranberryForeground2, colorPaletteDarkGreenBackground2, colorPaletteDarkGreenBorderActive, colorPaletteDarkGreenForeground2, colorPaletteDarkOrangeBackground1, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteDarkOrangeBorder1, colorPaletteDarkOrangeBorder2, colorPaletteDarkOrangeBorderActive, colorPaletteDarkOrangeForeground1, colorPaletteDarkOrangeForeground2, colorPaletteDarkOrangeForeground3, colorPaletteDarkRedBackground2, colorPaletteDarkRedBorderActive, colorPaletteDarkRedForeground2, colorPaletteForestBackground2, colorPaletteForestBorderActive, colorPaletteForestForeground2, colorPaletteGoldBackground2, colorPaletteGoldBorderActive, colorPaletteGoldForeground2, colorPaletteGrapeBackground2, colorPaletteGrapeBorderActive, colorPaletteGrapeForeground2, colorPaletteGreenBackground1, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteGreenBorder1, colorPaletteGreenBorder2, colorPaletteGreenBorderActive, colorPaletteGreenForeground1, colorPaletteGreenForeground2, colorPaletteGreenForeground3, colorPaletteLavenderBackground2, colorPaletteLavenderBorderActive, colorPaletteLavenderForeground2, colorPaletteLightGreenBackground1, colorPaletteLightGreenBackground2, colorPaletteLightGreenBackground3, colorPaletteLightGreenBorder1, colorPaletteLightGreenBorder2, colorPaletteLightGreenBorderActive, colorPaletteLightGreenForeground1, colorPaletteLightGreenForeground2, colorPaletteLightGreenForeground3, colorPaletteLightTealBackground2, colorPaletteLightTealBorderActive, colorPaletteLightTealForeground2, colorPaletteLilacBackground2, colorPaletteLilacBorderActive, colorPaletteLilacForeground2, colorPaletteMagentaBackground2, colorPaletteMagentaBorderActive, colorPaletteMagentaForeground2, colorPaletteMarigoldBackground1, colorPaletteMarigoldBackground2, colorPaletteMarigoldBackground3, colorPaletteMarigoldBorder1, colorPaletteMarigoldBorder2, colorPaletteMarigoldBorderActive, colorPaletteMarigoldForeground1, colorPaletteMarigoldForeground2, colorPaletteMarigoldForeground3, colorPaletteMinkBackground2, colorPaletteMinkBorderActive, colorPaletteMinkForeground2, colorPaletteNavyBackground2, colorPaletteNavyBorderActive, colorPaletteNavyForeground2, colorPalettePeachBackground2, colorPalettePeachBorderActive, colorPalettePeachForeground2, colorPalettePinkBackground2, colorPalettePinkBorderActive, colorPalettePinkForeground2, colorPalettePlatinumBackground2, colorPalettePlatinumBorderActive, colorPalettePlatinumForeground2, colorPalettePlumBackground2, colorPalettePlumBorderActive, colorPalettePlumForeground2, colorPalettePumpkinBackground2, colorPalettePumpkinBorderActive, colorPalettePumpkinForeground2, colorPalettePurpleBackground2, colorPalettePurpleBorderActive, colorPalettePurpleForeground2, colorPaletteRedBackground1, colorPaletteRedBackground2, colorPaletteRedBackground3, colorPaletteRedBorder1, colorPaletteRedBorder2, colorPaletteRedBorderActive, colorPaletteRedForeground1, colorPaletteRedForeground2, colorPaletteRedForeground3, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorScrollbarOverlay, colorStrokeFocus1, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundInverted, colorSubtleBackgroundInvertedHover, colorSubtleBackgroundInvertedPressed, colorSubtleBackgroundInvertedSelected, colorSubtleBackgroundLightAlphaHover, colorSubtleBackgroundLightAlphaPressed, colorSubtleBackgroundLightAlphaSelected, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, curveAccelerateMax, curveAccelerateMid, curveAccelerateMin, curveDecelerateMax, curveDecelerateMid, curveDecelerateMin, curveEasyEase, curveEasyEaseMax, curveLinear, definition$1 as definition, durationFast, durationFaster, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, setTheme, shadow16, shadow16Brand, shadow2, shadow28, shadow28Brand, shadow2Brand, shadow4, shadow4Brand, shadow64, shadow64Brand, shadow8, shadow8Brand, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXS, spacingHorizontalXXXL, spacingVerticalL, spacingVerticalM, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXL, spacingVerticalXS, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXXXL, strokeWidthThick, strokeWidthThicker, strokeWidthThickest, strokeWidthThin, styles$1 as switchStyles, template$1 as switchTemplate };