@fluentui/web-components 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (55) hide show
  1. package/CHANGELOG.json +37 -1
  2. package/CHANGELOG.md +21 -2
  3. package/dist/dts/button/button.d.ts +55 -0
  4. package/dist/dts/button/button.definition.d.ts +10 -0
  5. package/dist/dts/button/button.options.d.ts +46 -0
  6. package/dist/dts/button/button.styles.d.ts +1 -0
  7. package/dist/dts/button/button.template.d.ts +7 -0
  8. package/dist/dts/button/define.d.ts +1 -0
  9. package/dist/dts/button/index.d.ts +5 -0
  10. package/dist/dts/index.d.ts +2 -0
  11. package/dist/dts/progress-bar/progress-bar.styles.d.ts +1 -1
  12. package/dist/dts/slider/define.d.ts +1 -0
  13. package/dist/dts/slider/index.d.ts +5 -0
  14. package/dist/dts/slider/slider.d.ts +24 -0
  15. package/dist/dts/slider/slider.definition.d.ts +10 -0
  16. package/dist/dts/slider/slider.options.d.ts +15 -0
  17. package/dist/dts/slider/slider.styles.d.ts +4 -0
  18. package/dist/dts/slider/slider.template.d.ts +3 -0
  19. package/dist/esm/button/button.definition.js +21 -0
  20. package/dist/esm/button/button.definition.js.map +1 -0
  21. package/dist/esm/button/button.js +72 -0
  22. package/dist/esm/button/button.js.map +1 -0
  23. package/dist/esm/button/button.options.js +30 -0
  24. package/dist/esm/button/button.options.js.map +1 -0
  25. package/dist/esm/button/button.styles.js +253 -0
  26. package/dist/esm/button/button.styles.js.map +1 -0
  27. package/dist/esm/button/button.template.js +7 -0
  28. package/dist/esm/button/button.template.js.map +1 -0
  29. package/dist/esm/button/define.js +4 -0
  30. package/dist/esm/button/define.js.map +1 -0
  31. package/dist/esm/button/index.js +6 -0
  32. package/dist/esm/button/index.js.map +1 -0
  33. package/dist/esm/index.js +2 -0
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/progress-bar/progress-bar.styles.js +1 -1
  36. package/dist/esm/slider/define.js +4 -0
  37. package/dist/esm/slider/define.js.map +1 -0
  38. package/dist/esm/slider/index.js +6 -0
  39. package/dist/esm/slider/index.js.map +1 -0
  40. package/dist/esm/slider/slider.definition.js +18 -0
  41. package/dist/esm/slider/slider.definition.js.map +1 -0
  42. package/dist/esm/slider/slider.js +59 -0
  43. package/dist/esm/slider/slider.js.map +1 -0
  44. package/dist/esm/slider/slider.options.js +10 -0
  45. package/dist/esm/slider/slider.options.js.map +1 -0
  46. package/dist/esm/slider/slider.styles.js +186 -0
  47. package/dist/esm/slider/slider.styles.js.map +1 -0
  48. package/dist/esm/slider/slider.template.js +5 -0
  49. package/dist/esm/slider/slider.template.js.map +1 -0
  50. package/dist/fluent-web-components.api.json +1022 -80
  51. package/dist/web-components.d.ts +186 -1
  52. package/dist/web-components.js +939 -40
  53. package/dist/web-components.min.js +136 -128
  54. package/docs/api-report.md +93 -0
  55. package/package.json +14 -6
@@ -3269,6 +3269,74 @@ function __decorate(decorators, target, key, desc) {
3269
3269
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3270
3270
  }
3271
3271
 
3272
+ /**
3273
+ * Some states and properties are applicable to all host language elements regardless of whether a role is applied.
3274
+ * The following global states and properties are supported by all roles and by all base markup elements.
3275
+ * {@link https://www.w3.org/TR/wai-aria-1.1/#global_states}
3276
+ *
3277
+ * This is intended to be used as a mixin. Be sure you extend FASTElement.
3278
+ *
3279
+ * @public
3280
+ */
3281
+ class ARIAGlobalStatesAndProperties {}
3282
+ __decorate([attr({
3283
+ attribute: "aria-atomic"
3284
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaAtomic", void 0);
3285
+ __decorate([attr({
3286
+ attribute: "aria-busy"
3287
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaBusy", void 0);
3288
+ __decorate([attr({
3289
+ attribute: "aria-controls"
3290
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaControls", void 0);
3291
+ __decorate([attr({
3292
+ attribute: "aria-current"
3293
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaCurrent", void 0);
3294
+ __decorate([attr({
3295
+ attribute: "aria-describedby"
3296
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaDescribedby", void 0);
3297
+ __decorate([attr({
3298
+ attribute: "aria-details"
3299
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaDetails", void 0);
3300
+ __decorate([attr({
3301
+ attribute: "aria-disabled"
3302
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaDisabled", void 0);
3303
+ __decorate([attr({
3304
+ attribute: "aria-errormessage"
3305
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaErrormessage", void 0);
3306
+ __decorate([attr({
3307
+ attribute: "aria-flowto"
3308
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaFlowto", void 0);
3309
+ __decorate([attr({
3310
+ attribute: "aria-haspopup"
3311
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaHaspopup", void 0);
3312
+ __decorate([attr({
3313
+ attribute: "aria-hidden"
3314
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaHidden", void 0);
3315
+ __decorate([attr({
3316
+ attribute: "aria-invalid"
3317
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaInvalid", void 0);
3318
+ __decorate([attr({
3319
+ attribute: "aria-keyshortcuts"
3320
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaKeyshortcuts", void 0);
3321
+ __decorate([attr({
3322
+ attribute: "aria-label"
3323
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaLabel", void 0);
3324
+ __decorate([attr({
3325
+ attribute: "aria-labelledby"
3326
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaLabelledby", void 0);
3327
+ __decorate([attr({
3328
+ attribute: "aria-live"
3329
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaLive", void 0);
3330
+ __decorate([attr({
3331
+ attribute: "aria-owns"
3332
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaOwns", void 0);
3333
+ __decorate([attr({
3334
+ attribute: "aria-relevant"
3335
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaRelevant", void 0);
3336
+ __decorate([attr({
3337
+ attribute: "aria-roledescription"
3338
+ })], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", void 0);
3339
+
3272
3340
  /**
3273
3341
  * A mixin class implementing start and end slots.
3274
3342
  * These are generally used to decorate text elements with icons or other visual indicators.
@@ -3314,12 +3382,23 @@ const Orientation = {
3314
3382
  * String values for use with KeyboardEvent.key
3315
3383
  */
3316
3384
  const keyArrowDown = "ArrowDown";
3385
+ const keyArrowLeft = "ArrowLeft";
3386
+ const keyArrowRight = "ArrowRight";
3317
3387
  const keyArrowUp = "ArrowUp";
3318
3388
  const keyEnd = "End";
3319
3389
  const keyEnter = "Enter";
3320
3390
  const keyHome = "Home";
3321
3391
  const keySpace = " ";
3322
3392
 
3393
+ /**
3394
+ * Expose ltr and rtl strings
3395
+ */
3396
+ var Direction;
3397
+ (function (Direction) {
3398
+ Direction["ltr"] = "ltr";
3399
+ Direction["rtl"] = "rtl";
3400
+ })(Direction || (Direction = {}));
3401
+
3323
3402
  /**
3324
3403
  * This method keeps a given value within the bounds of a min and max value. If the value
3325
3404
  * is larger than the max, the minimum value will be returned. If the value is smaller than the minimum,
@@ -3333,6 +3412,13 @@ function wrapInBounds(min, max, value) {
3333
3412
  }
3334
3413
  return value;
3335
3414
  }
3415
+ /**
3416
+ * Ensures that a value is between a min and max value. If value is lower than min, min will be returned.
3417
+ * If value is greater than max, max will be returned.
3418
+ */
3419
+ function limit(min, max, value) {
3420
+ return Math.min(Math.max(value, min), max);
3421
+ }
3336
3422
 
3337
3423
  let uniqueIdCounter = 0;
3338
3424
  /**
@@ -3672,6 +3758,19 @@ function accordionTemplate() {
3672
3758
  })}></slot></template>`;
3673
3759
  }
3674
3760
 
3761
+ /**
3762
+ * Determines the current localization direction of an element.
3763
+ *
3764
+ * @param rootNode - the HTMLElement to begin the query from, usually "this" when used in a component controller
3765
+ * @returns the localization direction of the element
3766
+ *
3767
+ * @public
3768
+ */
3769
+ const getDirection = rootNode => {
3770
+ var _a;
3771
+ return ((_a = rootNode.closest("[dir]")) === null || _a === void 0 ? void 0 : _a.dir) === "rtl" ? Direction.rtl : Direction.ltr;
3772
+ };
3773
+
3675
3774
  const proxySlotName = "form-associated-proxy";
3676
3775
  const ElementInternalsKey = "ElementInternals";
3677
3776
  /**
@@ -4131,6 +4230,155 @@ function CheckableFormAssociated(BaseCtor) {
4131
4230
  return D;
4132
4231
  }
4133
4232
 
4233
+ class _Button extends FASTElement {}
4234
+ /**
4235
+ * A form-associated base class for the {@link @microsoft/fast-foundation#(FASTButton:class)} component.
4236
+ *
4237
+ * @beta
4238
+ */
4239
+ class FormAssociatedButton extends FormAssociated(_Button) {
4240
+ constructor() {
4241
+ super(...arguments);
4242
+ this.proxy = document.createElement("input");
4243
+ }
4244
+ }
4245
+
4246
+ /**
4247
+ * Button type values.
4248
+ *
4249
+ * @public
4250
+ */
4251
+ const ButtonType = {
4252
+ submit: "submit",
4253
+ reset: "reset",
4254
+ button: "button"
4255
+ };
4256
+
4257
+ /**
4258
+ * A Button Custom HTML Element.
4259
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button | <button> element }.
4260
+ *
4261
+ * @slot start - Content which can be provided before the button content
4262
+ * @slot end - Content which can be provided after the button content
4263
+ * @slot - The default slot for button content
4264
+ * @csspart control - The button element
4265
+ * @csspart content - The element wrapping button content
4266
+ *
4267
+ * @public
4268
+ */
4269
+ class FASTButton extends FormAssociatedButton {
4270
+ constructor() {
4271
+ super(...arguments);
4272
+ /**
4273
+ * Submits the parent form
4274
+ */
4275
+ this.handleSubmission = () => {
4276
+ if (!this.form) {
4277
+ return;
4278
+ }
4279
+ const attached = this.proxy.isConnected;
4280
+ if (!attached) {
4281
+ this.attachProxy();
4282
+ }
4283
+ // Browser support for requestSubmit is not comprehensive
4284
+ // so click the proxy if it isn't supported
4285
+ typeof this.form.requestSubmit === "function" ? this.form.requestSubmit(this.proxy) : this.proxy.click();
4286
+ if (!attached) {
4287
+ this.detachProxy();
4288
+ }
4289
+ };
4290
+ /**
4291
+ * Resets the parent form
4292
+ */
4293
+ this.handleFormReset = () => {
4294
+ var _a;
4295
+ (_a = this.form) === null || _a === void 0 ? void 0 : _a.reset();
4296
+ };
4297
+ }
4298
+ formactionChanged() {
4299
+ if (this.proxy instanceof HTMLInputElement) {
4300
+ this.proxy.formAction = this.formaction;
4301
+ }
4302
+ }
4303
+ formenctypeChanged() {
4304
+ if (this.proxy instanceof HTMLInputElement) {
4305
+ this.proxy.formEnctype = this.formenctype;
4306
+ }
4307
+ }
4308
+ formmethodChanged() {
4309
+ if (this.proxy instanceof HTMLInputElement) {
4310
+ this.proxy.formMethod = this.formmethod;
4311
+ }
4312
+ }
4313
+ formnovalidateChanged() {
4314
+ if (this.proxy instanceof HTMLInputElement) {
4315
+ this.proxy.formNoValidate = this.formnovalidate;
4316
+ }
4317
+ }
4318
+ formtargetChanged() {
4319
+ if (this.proxy instanceof HTMLInputElement) {
4320
+ this.proxy.formTarget = this.formtarget;
4321
+ }
4322
+ }
4323
+ typeChanged(previous, next) {
4324
+ if (this.proxy instanceof HTMLInputElement) {
4325
+ this.proxy.type = this.type;
4326
+ }
4327
+ next === ButtonType.submit && this.addEventListener("click", this.handleSubmission);
4328
+ previous === ButtonType.submit && this.removeEventListener("click", this.handleSubmission);
4329
+ next === ButtonType.reset && this.addEventListener("click", this.handleFormReset);
4330
+ previous === ButtonType.reset && this.removeEventListener("click", this.handleFormReset);
4331
+ }
4332
+ /** {@inheritDoc (FormAssociated:interface).validate} */
4333
+ validate() {
4334
+ super.validate(this.control);
4335
+ }
4336
+ /**
4337
+ * @internal
4338
+ */
4339
+ connectedCallback() {
4340
+ super.connectedCallback();
4341
+ this.proxy.setAttribute("type", this.type);
4342
+ }
4343
+ }
4344
+ __decorate([attr({
4345
+ mode: "boolean"
4346
+ })], FASTButton.prototype, "autofocus", void 0);
4347
+ __decorate([attr({
4348
+ attribute: "form"
4349
+ })], FASTButton.prototype, "formId", void 0);
4350
+ __decorate([attr], FASTButton.prototype, "formaction", void 0);
4351
+ __decorate([attr], FASTButton.prototype, "formenctype", void 0);
4352
+ __decorate([attr], FASTButton.prototype, "formmethod", void 0);
4353
+ __decorate([attr({
4354
+ mode: "boolean"
4355
+ })], FASTButton.prototype, "formnovalidate", void 0);
4356
+ __decorate([attr], FASTButton.prototype, "formtarget", void 0);
4357
+ __decorate([attr], FASTButton.prototype, "type", void 0);
4358
+ __decorate([observable], FASTButton.prototype, "defaultSlottedContent", void 0);
4359
+ /**
4360
+ * Includes ARIA states and properties relating to the ARIA button role
4361
+ *
4362
+ * @public
4363
+ */
4364
+ class DelegatesARIAButton {}
4365
+ __decorate([attr({
4366
+ attribute: "aria-expanded"
4367
+ })], DelegatesARIAButton.prototype, "ariaExpanded", void 0);
4368
+ __decorate([attr({
4369
+ attribute: "aria-pressed"
4370
+ })], DelegatesARIAButton.prototype, "ariaPressed", void 0);
4371
+ applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
4372
+ applyMixins(FASTButton, StartEnd, DelegatesARIAButton);
4373
+
4374
+ /**
4375
+ * The template for the {@link @microsoft/fast-foundation#(FASTButton:class)} component.
4376
+ * @public
4377
+ */
4378
+ function buttonTemplate(options = {}) {
4379
+ return html`<button class="control" part="control" ?autofocus="${x => x.autofocus}" ?disabled="${x => x.disabled}" form="${x => x.formId}" formaction="${x => x.formaction}" formenctype="${x => x.formenctype}" formmethod="${x => x.formmethod}" ?formnovalidate="${x => x.formnovalidate}" formtarget="${x => x.formtarget}" name="${x => x.name}" type="${x => x.type}" value="${x => x.value}" aria-atomic="${x => x.ariaAtomic}" aria-busy="${x => x.ariaBusy}" aria-controls="${x => x.ariaControls}" aria-current="${x => x.ariaCurrent}" aria-describedby="${x => x.ariaDescribedby}" aria-details="${x => x.ariaDetails}" aria-disabled="${x => x.ariaDisabled}" aria-errormessage="${x => x.ariaErrormessage}" aria-expanded="${x => x.ariaExpanded}" aria-flowto="${x => x.ariaFlowto}" aria-haspopup="${x => x.ariaHaspopup}" aria-hidden="${x => x.ariaHidden}" aria-invalid="${x => x.ariaInvalid}" aria-keyshortcuts="${x => x.ariaKeyshortcuts}" aria-label="${x => x.ariaLabel}" aria-labelledby="${x => x.ariaLabelledby}" aria-live="${x => x.ariaLive}" aria-owns="${x => x.ariaOwns}" aria-pressed="${x => x.ariaPressed}" aria-relevant="${x => x.ariaRelevant}" aria-roledescription="${x => x.ariaRoledescription}" ${ref("control")}>${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</button>`;
4380
+ }
4381
+
4134
4382
  class DerivedValueEvaluator {
4135
4383
  constructor(value) {
4136
4384
  this.value = value;
@@ -5174,6 +5422,451 @@ function progressTemplate(options = {}) {
5174
5422
  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>`;
5175
5423
  }
5176
5424
 
5425
+ /**
5426
+ * The orientation of a {@link @microsoft/fast-foundation#(FASTSlider:class)}.
5427
+ * @public
5428
+ */
5429
+ const SliderOrientation = Orientation;
5430
+ /**
5431
+ * The selection modes of a {@link @microsoft/fast-foundation#(FASTSlider:class)}.
5432
+ * @public
5433
+ */
5434
+ const SliderMode = {
5435
+ singleValue: "single-value"
5436
+ };
5437
+
5438
+ /**
5439
+ * Converts a pixel coordinate on the track to a percent of the track's range
5440
+ */
5441
+ function convertPixelToPercent(pixelPos, minPosition, maxPosition, direction) {
5442
+ let pct = limit(0, 1, (pixelPos - minPosition) / (maxPosition - minPosition));
5443
+ if (direction === Direction.rtl) {
5444
+ pct = 1 - pct;
5445
+ }
5446
+ return pct;
5447
+ }
5448
+
5449
+ class _Slider extends FASTElement {}
5450
+ /**
5451
+ * A form-associated base class for the {@link @microsoft/fast-foundation#(Slider:class)} component.
5452
+ *
5453
+ * @beta
5454
+ */
5455
+ class FormAssociatedSlider extends FormAssociated(_Slider) {
5456
+ constructor() {
5457
+ super(...arguments);
5458
+ this.proxy = document.createElement("input");
5459
+ }
5460
+ }
5461
+
5462
+ /**
5463
+ * A Slider Custom HTML Element.
5464
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#slider | ARIA slider }.
5465
+ *
5466
+ * @slot track - The track of the slider
5467
+ * @slot track-start - The track-start visual indicator
5468
+ * @slot thumb - The slider thumb
5469
+ * @slot - The default slot for labels
5470
+ * @csspart positioning-region - The region used to position the elements of the slider
5471
+ * @csspart track-container - The region containing the track elements
5472
+ * @csspart track-start - The element wrapping the track start slot
5473
+ * @csspart thumb-container - The thumb container element which is programatically positioned
5474
+ * @fires change - Fires a custom 'change' event when the slider value changes
5475
+ *
5476
+ * @public
5477
+ */
5478
+ class FASTSlider extends FormAssociatedSlider {
5479
+ constructor() {
5480
+ super(...arguments);
5481
+ /**
5482
+ * @internal
5483
+ */
5484
+ this.direction = Direction.ltr;
5485
+ /**
5486
+ * @internal
5487
+ */
5488
+ this.isDragging = false;
5489
+ /**
5490
+ * @internal
5491
+ */
5492
+ this.trackWidth = 0;
5493
+ /**
5494
+ * @internal
5495
+ */
5496
+ this.trackMinWidth = 0;
5497
+ /**
5498
+ * @internal
5499
+ */
5500
+ this.trackHeight = 0;
5501
+ /**
5502
+ * @internal
5503
+ */
5504
+ this.trackLeft = 0;
5505
+ /**
5506
+ * @internal
5507
+ */
5508
+ this.trackMinHeight = 0;
5509
+ /**
5510
+ * Custom function that generates a string for the component's "aria-valuetext" attribute based on the current value.
5511
+ *
5512
+ * @public
5513
+ */
5514
+ this.valueTextFormatter = () => null;
5515
+ /**
5516
+ * The minimum allowed value.
5517
+ *
5518
+ * @defaultValue - 0
5519
+ * @public
5520
+ * @remarks
5521
+ * HTML Attribute: min
5522
+ */
5523
+ this.min = 0; // Map to proxy element.
5524
+ /**
5525
+ * The maximum allowed value.
5526
+ *
5527
+ * @defaultValue - 10
5528
+ * @public
5529
+ * @remarks
5530
+ * HTML Attribute: max
5531
+ */
5532
+ this.max = 10; // Map to proxy element.
5533
+ /**
5534
+ * The orientation of the slider.
5535
+ *
5536
+ * @public
5537
+ * @remarks
5538
+ * HTML Attribute: orientation
5539
+ */
5540
+ this.orientation = Orientation.horizontal;
5541
+ /**
5542
+ * The selection mode.
5543
+ *
5544
+ * @public
5545
+ * @remarks
5546
+ * HTML Attribute: mode
5547
+ */
5548
+ this.mode = SliderMode.singleValue;
5549
+ this.keypressHandler = e => {
5550
+ if (this.readOnly || this.disabled) {
5551
+ return;
5552
+ }
5553
+ if (e.key === keyHome) {
5554
+ e.preventDefault();
5555
+ this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? this.value = `${this.min}` : this.value = `${this.max}`;
5556
+ } else if (e.key === keyEnd) {
5557
+ e.preventDefault();
5558
+ this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? this.value = `${this.max}` : this.value = `${this.min}`;
5559
+ } else if (!e.shiftKey) {
5560
+ switch (e.key) {
5561
+ case keyArrowRight:
5562
+ case keyArrowUp:
5563
+ e.preventDefault();
5564
+ this.increment();
5565
+ break;
5566
+ case keyArrowLeft:
5567
+ case keyArrowDown:
5568
+ e.preventDefault();
5569
+ this.decrement();
5570
+ break;
5571
+ }
5572
+ }
5573
+ };
5574
+ this.setupTrackConstraints = () => {
5575
+ const clientRect = this.track.getBoundingClientRect();
5576
+ this.trackWidth = this.track.clientWidth;
5577
+ this.trackMinWidth = this.track.clientLeft;
5578
+ this.trackHeight = clientRect.top;
5579
+ this.trackMinHeight = clientRect.bottom;
5580
+ this.trackLeft = this.getBoundingClientRect().left;
5581
+ if (this.trackWidth === 0) {
5582
+ this.trackWidth = 1;
5583
+ }
5584
+ };
5585
+ this.setupListeners = (remove = false) => {
5586
+ const eventAction = `${remove ? "remove" : "add"}EventListener`;
5587
+ this[eventAction]("keydown", this.keypressHandler);
5588
+ this[eventAction]("mousedown", this.handleMouseDown);
5589
+ this.thumb[eventAction]("mousedown", this.handleThumbMouseDown, {
5590
+ passive: true
5591
+ });
5592
+ this.thumb[eventAction]("touchstart", this.handleThumbMouseDown, {
5593
+ passive: true
5594
+ });
5595
+ // removes handlers attached by mousedown handlers
5596
+ if (remove) {
5597
+ this.handleMouseDown(null);
5598
+ this.handleThumbMouseDown(null);
5599
+ }
5600
+ };
5601
+ /**
5602
+ * @internal
5603
+ */
5604
+ this.initialValue = "";
5605
+ /**
5606
+ * Handle mouse moves during a thumb drag operation
5607
+ * If the event handler is null it removes the events
5608
+ */
5609
+ this.handleThumbMouseDown = event => {
5610
+ const eventAction = `${event !== null ? "add" : "remove"}EventListener`;
5611
+ window[eventAction]("mouseup", this.handleWindowMouseUp);
5612
+ window[eventAction]("mousemove", this.handleMouseMove, {
5613
+ passive: true
5614
+ });
5615
+ window[eventAction]("touchmove", this.handleMouseMove, {
5616
+ passive: true
5617
+ });
5618
+ window[eventAction]("touchend", this.handleWindowMouseUp);
5619
+ this.isDragging = event !== null;
5620
+ };
5621
+ /**
5622
+ * Handle mouse moves during a thumb drag operation
5623
+ */
5624
+ this.handleMouseMove = e => {
5625
+ if (this.readOnly || this.disabled || e.defaultPrevented) {
5626
+ return;
5627
+ }
5628
+ // update the value based on current position
5629
+ const sourceEvent = window.TouchEvent && e instanceof TouchEvent ? e.touches[0] : e;
5630
+ const eventValue = this.orientation === Orientation.horizontal ? sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft : sourceEvent.pageY - document.documentElement.scrollTop;
5631
+ this.value = `${this.calculateNewValue(eventValue)}`;
5632
+ };
5633
+ /**
5634
+ * Handle a window mouse up during a drag operation
5635
+ */
5636
+ this.handleWindowMouseUp = event => {
5637
+ this.stopDragging();
5638
+ };
5639
+ this.stopDragging = () => {
5640
+ this.isDragging = false;
5641
+ this.handleMouseDown(null);
5642
+ this.handleThumbMouseDown(null);
5643
+ };
5644
+ /**
5645
+ *
5646
+ * @param e - MouseEvent or null. If there is no event handler it will remove the events
5647
+ */
5648
+ this.handleMouseDown = e => {
5649
+ const eventAction = `${e !== null ? "add" : "remove"}EventListener`;
5650
+ if (e === null || !this.disabled && !this.readOnly) {
5651
+ window[eventAction]("mouseup", this.handleWindowMouseUp);
5652
+ window.document[eventAction]("mouseleave", this.handleWindowMouseUp);
5653
+ window[eventAction]("mousemove", this.handleMouseMove);
5654
+ if (e) {
5655
+ this.setupTrackConstraints();
5656
+ const controlValue = this.orientation === Orientation.horizontal ? e.pageX - document.documentElement.scrollLeft - this.trackLeft : e.pageY - document.documentElement.scrollTop;
5657
+ this.value = `${this.calculateNewValue(controlValue)}`;
5658
+ }
5659
+ }
5660
+ };
5661
+ }
5662
+ readOnlyChanged() {
5663
+ if (this.proxy instanceof HTMLInputElement) {
5664
+ this.proxy.readOnly = this.readOnly;
5665
+ }
5666
+ }
5667
+ /**
5668
+ * The value property, typed as a number.
5669
+ *
5670
+ * @public
5671
+ */
5672
+ get valueAsNumber() {
5673
+ return parseFloat(super.value);
5674
+ }
5675
+ set valueAsNumber(next) {
5676
+ this.value = next.toString();
5677
+ }
5678
+ /**
5679
+ * @internal
5680
+ */
5681
+ valueChanged(previous, next) {
5682
+ if (this.$fastController.isConnected) {
5683
+ const nextAsNumber = parseFloat(next);
5684
+ const value = limit(this.min, this.max, this.convertToConstrainedValue(nextAsNumber)).toString();
5685
+ if (value !== next) {
5686
+ this.value = value;
5687
+ return;
5688
+ }
5689
+ super.valueChanged(previous, next);
5690
+ this.setThumbPositionForOrientation(this.direction);
5691
+ this.$emit("change");
5692
+ }
5693
+ }
5694
+ minChanged() {
5695
+ if (this.proxy instanceof HTMLInputElement) {
5696
+ this.proxy.min = `${this.min}`;
5697
+ }
5698
+ this.validate();
5699
+ }
5700
+ maxChanged() {
5701
+ if (this.proxy instanceof HTMLInputElement) {
5702
+ this.proxy.max = `${this.max}`;
5703
+ }
5704
+ this.validate();
5705
+ }
5706
+ stepChanged() {
5707
+ if (this.proxy instanceof HTMLInputElement) {
5708
+ this.proxy.step = `${this.step}`;
5709
+ }
5710
+ this.updateStepMultiplier();
5711
+ this.validate();
5712
+ }
5713
+ orientationChanged() {
5714
+ if (this.$fastController.isConnected) {
5715
+ this.setThumbPositionForOrientation(this.direction);
5716
+ }
5717
+ }
5718
+ /**
5719
+ * @internal
5720
+ */
5721
+ connectedCallback() {
5722
+ super.connectedCallback();
5723
+ this.proxy.setAttribute("type", "range");
5724
+ this.direction = getDirection(this);
5725
+ this.updateStepMultiplier();
5726
+ this.setupTrackConstraints();
5727
+ this.setupListeners();
5728
+ this.setupDefaultValue();
5729
+ this.setThumbPositionForOrientation(this.direction);
5730
+ }
5731
+ /**
5732
+ * @internal
5733
+ */
5734
+ disconnectedCallback() {
5735
+ this.setupListeners(true);
5736
+ }
5737
+ /**
5738
+ * Increment the value by the step
5739
+ *
5740
+ * @public
5741
+ */
5742
+ increment() {
5743
+ const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) + Number(this.stepValue) : Number(this.value) + Number(this.stepValue);
5744
+ const incrementedVal = this.convertToConstrainedValue(newVal);
5745
+ const incrementedValString = incrementedVal < Number(this.max) ? `${incrementedVal}` : `${this.max}`;
5746
+ this.value = incrementedValString;
5747
+ }
5748
+ /**
5749
+ * Decrement the value by the step
5750
+ *
5751
+ * @public
5752
+ */
5753
+ decrement() {
5754
+ const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) - Number(this.stepValue) : Number(this.value) - Number(this.stepValue);
5755
+ const decrementedVal = this.convertToConstrainedValue(newVal);
5756
+ const decrementedValString = decrementedVal > Number(this.min) ? `${decrementedVal}` : `${this.min}`;
5757
+ this.value = decrementedValString;
5758
+ }
5759
+ /**
5760
+ * Gets the actual step value for the slider
5761
+ *
5762
+ */
5763
+ get stepValue() {
5764
+ return this.step === undefined ? 1 : this.step;
5765
+ }
5766
+ /**
5767
+ * Places the thumb based on the current value
5768
+ *
5769
+ * @public
5770
+ * @param direction - writing mode
5771
+ */
5772
+ setThumbPositionForOrientation(direction) {
5773
+ const newPct = convertPixelToPercent(Number(this.value), Number(this.min), Number(this.max), direction);
5774
+ const percentage = (1 - newPct) * 100;
5775
+ if (this.orientation === Orientation.horizontal) {
5776
+ this.position = this.isDragging ? `right: ${percentage}%; transition: none;` : `right: ${percentage}%; transition: all 0.2s ease;`;
5777
+ } else {
5778
+ this.position = this.isDragging ? `top: ${percentage}%; transition: none;` : `top: ${percentage}%; transition: all 0.2s ease;`;
5779
+ }
5780
+ }
5781
+ /**
5782
+ * Update the step multiplier used to ensure rounding errors from steps that
5783
+ * are not whole numbers
5784
+ */
5785
+ updateStepMultiplier() {
5786
+ const stepString = this.stepValue + "";
5787
+ const decimalPlacesOfStep = !!(this.stepValue % 1) ? stepString.length - stepString.indexOf(".") - 1 : 0;
5788
+ this.stepMultiplier = Math.pow(10, decimalPlacesOfStep);
5789
+ }
5790
+ get midpoint() {
5791
+ return `${this.convertToConstrainedValue((this.max + this.min) / 2)}`;
5792
+ }
5793
+ setupDefaultValue() {
5794
+ if (typeof this.value === "string") {
5795
+ if (this.value.length === 0) {
5796
+ this.initialValue = this.midpoint;
5797
+ } else {
5798
+ const value = parseFloat(this.value);
5799
+ if (!Number.isNaN(value) && (value < this.min || value > this.max)) {
5800
+ this.value = this.midpoint;
5801
+ }
5802
+ }
5803
+ }
5804
+ }
5805
+ /**
5806
+ * Calculate the new value based on the given raw pixel value.
5807
+ *
5808
+ * @param rawValue - the value to be converted to a constrained value
5809
+ * @returns the constrained value
5810
+ *
5811
+ * @internal
5812
+ */
5813
+ calculateNewValue(rawValue) {
5814
+ this.setupTrackConstraints();
5815
+ // update the value based on current position
5816
+ const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.horizontal ? this.trackMinWidth : this.trackMinHeight, this.orientation === Orientation.horizontal ? this.trackWidth : this.trackHeight, this.direction);
5817
+ const newValue = (this.max - this.min) * newPosition + this.min;
5818
+ return this.convertToConstrainedValue(newValue);
5819
+ }
5820
+ convertToConstrainedValue(value) {
5821
+ if (isNaN(value)) {
5822
+ value = this.min;
5823
+ }
5824
+ /**
5825
+ * The following logic intends to overcome the issue with math in JavaScript with regards to floating point numbers.
5826
+ * This is needed as the `step` may be an integer but could also be a float. To accomplish this the step is assumed to be a float
5827
+ * and is converted to an integer by determining the number of decimal places it represent, multiplying it until it is an
5828
+ * integer and then dividing it to get back to the correct number.
5829
+ */
5830
+ let constrainedValue = value - this.min;
5831
+ const roundedConstrainedValue = Math.round(constrainedValue / this.stepValue);
5832
+ const remainderValue = constrainedValue - roundedConstrainedValue * (this.stepMultiplier * this.stepValue) / this.stepMultiplier;
5833
+ constrainedValue = remainderValue >= Number(this.stepValue) / 2 ? constrainedValue - remainderValue + Number(this.stepValue) : constrainedValue - remainderValue;
5834
+ return constrainedValue + this.min;
5835
+ }
5836
+ }
5837
+ __decorate([attr({
5838
+ attribute: "readonly",
5839
+ mode: "boolean"
5840
+ })], FASTSlider.prototype, "readOnly", void 0);
5841
+ __decorate([observable], FASTSlider.prototype, "direction", void 0);
5842
+ __decorate([observable], FASTSlider.prototype, "isDragging", void 0);
5843
+ __decorate([observable], FASTSlider.prototype, "position", void 0);
5844
+ __decorate([observable], FASTSlider.prototype, "trackWidth", void 0);
5845
+ __decorate([observable], FASTSlider.prototype, "trackMinWidth", void 0);
5846
+ __decorate([observable], FASTSlider.prototype, "trackHeight", void 0);
5847
+ __decorate([observable], FASTSlider.prototype, "trackLeft", void 0);
5848
+ __decorate([observable], FASTSlider.prototype, "trackMinHeight", void 0);
5849
+ __decorate([observable], FASTSlider.prototype, "valueTextFormatter", void 0);
5850
+ __decorate([attr({
5851
+ converter: nullableNumberConverter
5852
+ })], FASTSlider.prototype, "min", void 0);
5853
+ __decorate([attr({
5854
+ converter: nullableNumberConverter
5855
+ })], FASTSlider.prototype, "max", void 0);
5856
+ __decorate([attr({
5857
+ converter: nullableNumberConverter
5858
+ })], FASTSlider.prototype, "step", void 0);
5859
+ __decorate([attr], FASTSlider.prototype, "orientation", void 0);
5860
+ __decorate([attr], FASTSlider.prototype, "mode", void 0);
5861
+
5862
+ /**
5863
+ * The template for the {@link @microsoft/fast-foundation#(FASTSlider:class)} component.
5864
+ * @public
5865
+ */
5866
+ function sliderTemplate(options = {}) {
5867
+ return html`<template role="slider" tabindex="${x => x.disabled ? null : 0}" aria-valuetext="${x => x.valueTextFormatter(x.value)}" aria-valuenow="${x => x.value}" aria-valuemin="${x => x.min}" aria-valuemax="${x => x.max}" aria-disabled="${x => x.disabled ? true : void 0}" aria-readonly="${x => x.readOnly ? true : void 0}" aria-orientation="${x => x.orientation}" class="${x => x.orientation}"><div part="positioning-region" class="positioning-region"><div ${ref("track")} part="track-container" class="track"><slot name="track"></slot><div part="track-start" class="track-start" style="${x => x.position}"><slot name="track-start"></slot></div></div><slot></slot><div ${ref("thumb")} part="thumb-container" class="thumb-container" style="${x => x.position}"><slot name="thumb">${staticallyCompose(options.thumb)}</slot></div></div></template>`;
5868
+ }
5869
+
5177
5870
  /**
5178
5871
  * The template for the {@link @microsoft/fast-foundation#(FASTSwitch:class)} component.
5179
5872
  * @public
@@ -5278,9 +5971,9 @@ function display(displayValue) {
5278
5971
  */
5279
5972
  class Accordion extends FASTAccordion {}
5280
5973
 
5281
- const template$a = accordionTemplate();
5974
+ const template$c = accordionTemplate();
5282
5975
 
5283
- const styles$a = css`
5976
+ const styles$c = css`
5284
5977
  ${display('flex')}
5285
5978
 
5286
5979
  :host{flex-direction:column;width:100%;contain:content}`;
@@ -5300,10 +5993,10 @@ const FluentDesignSystem = Object.freeze({
5300
5993
  * @remarks
5301
5994
  * HTML Element: \<fluent-accordion\>
5302
5995
  */
5303
- const definition$a = Accordion.compose({
5996
+ const definition$c = Accordion.compose({
5304
5997
  name: `${FluentDesignSystem.prefix}-accordion`,
5305
- template: template$a,
5306
- styles: styles$a
5998
+ template: template$c,
5999
+ styles: styles$c
5307
6000
  });
5308
6001
 
5309
6002
  /**
@@ -6123,7 +6816,7 @@ var tokens = /*#__PURE__*/Object.freeze({
6123
6816
  shadow64Brand: shadow64Brand
6124
6817
  });
6125
6818
 
6126
- const styles$9 = css`
6819
+ const styles$b = css`
6127
6820
  ${display('block')}
6128
6821
 
6129
6822
  :host{max-width:fit-content;contain:content}.heading{height:44px;display:grid;position:relative;vertical-align:middle;padding-inline:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};grid-template-columns:auto auto 1fr auto}.heading-content{height:100%;display:flex;align-items:center}.button{box-sizing:border-box;appearance:none;border:none;outline:none;text-align:start;cursor:pointer;font-family:inherit;height:44px;color:${colorNeutralForeground1};background:${colorTransparentBackground};line-height:${lineHeightBase300};height:auto;padding:0;font-size:inherit;grid-column:auto / span 2;grid-row:1}.button::before{content:'';position:absolute;inset:0px;cursor:pointer;border-radius:${borderRadiusSmall}}.icon{display:flex;align-items:center;justify-content:center;pointer-events:none;position:relative;height:100%;padding-right:${spacingHorizontalS};grid-column:1 / span 1;grid-row:1}.region{margin:0 ${spacingHorizontalM}}::slotted([slot='start']),::slotted([slot='end']){justify-content:center;align-items:center;padding-right:${spacingHorizontalS};grid-column:2 / span 1;grid-row:1 / span 1}button:focus-visible::after{content:'';position:absolute;inset:0px;cursor:pointer;border-radius:${borderRadiusSmall};outline:none;border:2px solid ${colorStrokeFocus1};box-shadow:inset 0 0 0 1px ${colorStrokeFocus2}}:host([disabled]) .button{color:${colorNeutralForegroundDisabled}}:host([disabled]) svg{filter:invert(89%) sepia(0%) saturate(569%) hue-rotate(155deg) brightness(88%) contrast(87%)}:host([expanded]) .region{display:block}:host([expanded]) .default-collapsed-icon,:host([expanded]) ::slotted([slot='collapsed-icon']),:host(:not([expanded])) .default-expanded-icon,:host(:not([expanded])) ::slotted([slot='expanded-icon']),:host([expanded]) ::slotted([slot='end']),::slotted([slot='start']),.region{display:none}:host([expanded]) ::slotted([slot='start']),:host([expanded]) ::slotted([slot='expanded-icon']),:host(:not([expanded])) ::slotted([slot='collapsed-icon']),::slotted([slot='end']){display:flex}.heading{font-size:${fontSizeBase300};line-height:${lineHeightBase300}}:host([size='small']) .heading{font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']) .heading{font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='extra-large']) .heading{font-size:${fontSizeBase500};line-height:${lineHeightBase500}}:host([expand-icon-position='end']) :slotted(span[slot='start']),:host([expand-icon-position='end']) ::slotted(span[slot='end']){grid-column:1 / span 1;grid-row:1}:host([expand-icon-position='end']) ::slotted(span[slot='start']),:host([expand-icon-position='end']) ::slotted(span[slot='end']){grid-column:1 / span 1;grid-row:1}:host([expand-icon-position='end']) .icon{grid-column:4 / span 1;grid-row:1;display:flex;padding-left:10px;padding-right:0}:host([expand-icon-position='end']) .button{grid-column:2 / span 3;grid-row:1}:host([block]){max-width:100%}:host([expand-icon-position='end']) .heading{grid-template-columns:auto auto 28px}:host([expand-icon-position='end']) .icon{grid-column:5 / span 1}:host([block][expand-icon-position='end']) .heading{grid-template-columns:auto 1fr}:host([block][expand-icon-position='end']) .icon{grid-column:5 / span 1}`;
@@ -6158,7 +6851,7 @@ const chevronDown20Filled = html.partial(`<svg
6158
6851
  * The template for the fluent-accordion component.
6159
6852
  * @public
6160
6853
  */
6161
- const template$9 = accordionItemTemplate({
6854
+ const template$b = accordionItemTemplate({
6162
6855
  collapsedIcon: chevronRight20Filled,
6163
6856
  expandedIcon: chevronDown20Filled
6164
6857
  });
@@ -6172,10 +6865,10 @@ const template$9 = accordionItemTemplate({
6172
6865
  * @remarks
6173
6866
  * HTML Element: \<fluent-accordion-item\>
6174
6867
  */
6175
- const definition$9 = AccordionItem.compose({
6868
+ const definition$b = AccordionItem.compose({
6176
6869
  name: `${FluentDesignSystem.prefix}-accordion-item`,
6177
- template: template$9,
6178
- styles: styles$9
6870
+ template: template$b,
6871
+ styles: styles$b
6179
6872
  });
6180
6873
 
6181
6874
  /* TODO: This file is a direct copy of the React Avatar utils */
@@ -6429,7 +7122,7 @@ const defaultIconTemplate = html`<svg width="1em" height="1em" viewBox="0 0 20 2
6429
7122
  function avatarTemplate() {
6430
7123
  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>`;
6431
7124
  }
6432
- const template$8 = avatarTemplate();
7125
+ const template$a = avatarTemplate();
6433
7126
 
6434
7127
  const animations = {
6435
7128
  fastOutSlowInMax: curveDecelerateMax,
@@ -6445,7 +7138,7 @@ const animations = {
6445
7138
  /** Avatar styles
6446
7139
  * @public
6447
7140
  */
6448
- const styles$8 = css`
7141
+ const styles$a = css`
6449
7142
  ${display('inline-flex')} :host{position:relative;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};font-size:${fontSizeBase300};border-radius:${borderRadiusCircular};color:${colorNeutralForeground3};background-color:${colorNeutralBackground6};contain:layout style}.default-icon,::slotted(svg){width:20px;height:20px;font-size:20px}::slotted(img){box-sizing:border-box;width:100%;height:100%;border-radius:${borderRadiusCircular}}::slotted([slot='badge']){position:absolute;bottom:0;right:0;box-shadow:0 0 0 ${strokeWidthThin} ${colorNeutralBackground1}}:host([size='64']) ::slotted([slot='badge']),:host([size='72']) ::slotted([slot='badge']),:host([size='96']) ::slotted([slot='badge']),:host([size='120']) ::slotted([slot='badge']),:host([size='128']) ::slotted([slot='badge']){box-shadow:0 0 0 ${strokeWidthThick} ${colorNeutralBackground1}}:host([size='16']),:host([size='20']),:host([size='24']){font-size:${fontSizeBase100};font-weight:${fontWeightRegular}}:host([size='16']){width:16px;height:16px}:host([size='20']){width:20px;height:20px}:host([size='24']){width:24px;height:24px}:host([size='16']) .default-icon,:host([size='16']) ::slotted(svg){width:12px;height:12px;font-size:12px}:host([size='20']) .default-icon,:host([size='24']) .default-icon,:host([size='20']) ::slotted(svg),:host([size='24']) ::slotted(svg){width:16px;height:16px;font-size:16px}:host([size='28']){width:28px;height:28px;font-size:${fontSizeBase200}}:host([size='36']){width:36px;height:36px}:host([size='40']){width:40px;height:40px}:host([size='48']),:host([size='56']){font-size:${fontSizeBase400}}:host([size='48']){width:48px;height:48px}:host([size='48']) .default-icon,:host([size='48']) ::slotted(svg){width:24px;height:24px;font-size:24px}:host([size='56']){width:56px;height:56px}:host([size='56']) .default-icon,:host([size='56']) ::slotted(svg){width:28px;height:28px;font-size:28px}:host([size='64']),:host([size='72']),:host([size='96']){font-size:${fontSizeBase500}}:host([size='64']) .default-icon,:host([size='72']) .default-icon,:host([size='64']) ::slotted(svg),:host([size='72']) ::slotted(svg){width:32px;height:32px;font-size:32px}:host([size='64']){width:64px;height:64px}:host([size='72']){width:72px;height:72px}:host([size='96']){width:96px;height:96px}:host([size='96']) .default-icon,:host([size='120']) .default-icon,:host([size='128']) .default-icon,:host([size='96']) ::slotted(svg),:host([size='120']) ::slotted(svg),:host([size='128']) ::slotted(svg){width:48px;height:48px;font-size:48px}:host([size='120']),:host([size='128']){font-size:${fontSizeBase600}}:host([size='120']){width:120px;height:120px}:host([size='128']){width:128px;height:128px}:host([shape='square']){border-radius:${borderRadiusMedium}}:host([shape='square'][size='20']),:host([shape='square'][size='24']){border-radius:${borderRadiusSmall}}:host([shape='square'][size='56']),:host([shape='square'][size='64']),:host([shape='square'][size='72']){border-radius:${borderRadiusLarge}}:host([shape='square'][size='96']),:host([shape='square'][size='120']),:host([shape='square'][size='128']){border-radius:${borderRadiusXLarge}}:host([data-color='brand']){color:${colorNeutralForegroundStaticInverted};background-color:${colorBrandBackgroundStatic}}:host([data-color='dark-red']){color:${colorPaletteDarkRedForeground2};background-color:${colorPaletteDarkRedBackground2}}:host([data-color='cranberry']){color:${colorPaletteCranberryForeground2};background-color:${colorPaletteCranberryBackground2}}:host([data-color='red']){color:${colorPaletteRedForeground2};background-color:${colorPaletteRedBackground2}}:host([data-color='pumpkin']){color:${colorPalettePumpkinForeground2};background-color:${colorPalettePumpkinBackground2}}:host([data-color='peach']){color:${colorPalettePeachForeground2};background-color:${colorPalettePeachBackground2}}:host([data-color='marigold']){color:${colorPaletteMarigoldForeground2};background-color:${colorPaletteMarigoldBackground2}}:host([data-color='gold']){color:${colorPaletteGoldForeground2};background-color:${colorPaletteGoldBackground2}}:host([data-color='brass']){color:${colorPaletteBrassForeground2};background-color:${colorPaletteBrassBackground2}}:host([data-color='brown']){color:${colorPaletteBrownForeground2};background-color:${colorPaletteBrownBackground2}}:host([data-color='forest']){color:${colorPaletteForestForeground2};background-color:${colorPaletteForestBackground2}}:host([data-color='seafoam']){color:${colorPaletteSeafoamForeground2};background-color:${colorPaletteSeafoamBackground2}}:host([data-color='dark-green']){color:${colorPaletteDarkGreenForeground2};background-color:${colorPaletteDarkGreenBackground2}}:host([data-color='light-teal']){color:${colorPaletteLightTealForeground2};background-color:${colorPaletteLightTealBackground2}}:host([data-color='teal']){color:${colorPaletteTealForeground2};background-color:${colorPaletteTealBackground2}}:host([data-color='steel']){color:${colorPaletteSteelForeground2};background-color:${colorPaletteSteelBackground2}}:host([data-color='blue']){color:${colorPaletteBlueForeground2};background-color:${colorPaletteBlueBackground2}}:host([data-color='royal-blue']){color:${colorPaletteRoyalBlueForeground2};background-color:${colorPaletteRoyalBlueBackground2}}:host([data-color='cornflower']){color:${colorPaletteCornflowerForeground2};background-color:${colorPaletteCornflowerBackground2}}:host([data-color='navy']){color:${colorPaletteNavyForeground2};background-color:${colorPaletteNavyBackground2}}:host([data-color='lavender']){color:${colorPaletteLavenderForeground2};background-color:${colorPaletteLavenderBackground2}}:host([data-color='purple']){color:${colorPalettePurpleForeground2};background-color:${colorPalettePurpleBackground2}}:host([data-color='grape']){color:${colorPaletteGrapeForeground2};background-color:${colorPaletteGrapeBackground2}}:host([data-color='lilac']){color:${colorPaletteLilacForeground2};background-color:${colorPaletteLilacBackground2}}:host([data-color='pink']){color:${colorPalettePinkForeground2};background-color:${colorPalettePinkBackground2}}:host([data-color='magenta']){color:${colorPaletteMagentaForeground2};background-color:${colorPaletteMagentaBackground2}}:host([data-color='plum']){color:${colorPalettePlumForeground2};background-color:${colorPalettePlumBackground2}}:host([data-color='beige']){color:${colorPaletteBeigeForeground2};background-color:${colorPaletteBeigeBackground2}}:host([data-color='mink']){color:${colorPaletteMinkForeground2};background-color:${colorPaletteMinkBackground2}}:host([data-color='platinum']){color:${colorPalettePlatinumForeground2};background-color:${colorPalettePlatinumBackground2}}:host([data-color='anchor']){color:${colorPaletteAnchorForeground2};background-color:${colorPaletteAnchorBackground2}}:host([active]){transform:perspective(1px);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastEase},${animations.nullEasing}}:host([active])::before{box-shadow:${shadow8};border-style:solid;border-color:${colorBrandBackgroundStatic}}:host([active][appearance='shadow'])::before{border-style:none;border-color:none}:host([active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThick});border-width:${strokeWidthThick}}:host([size='56'][active]:not([appearance='shadow']))::before,:host([size='64'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThicker});border-width:${strokeWidthThicker}}:host([size='72'][active]:not([appearance='shadow']))::before,:host([size='96'][active]:not([appearance='shadow']))::before,:host([size='120'][active]:not([appearance='shadow']))::before,:host([size='128'][active]:not([appearance='shadow']))::before{margin:calc(-2 * ${strokeWidthThickest});border-width:${strokeWidthThickest}}:host([size='20'][active][appearance])::before,:host([size='24'][active][appearance])::before,:host([size='28'][active][appearance])::before{box-shadow:${shadow4}}:host([size='56'][active][appearance])::before,:host([size='64'][active][appearance])::before{box-shadow:${shadow16}}:host([size='72'][active][appearance])::before,:host([size='96'][active][appearance])::before,:host([size='120'][active][appearance])::before,:host([size='128'][active][appearance])::before{box-shadow:${shadow28}}:host([active][appearance='ring'])::before{box-shadow:none}:host([active='inactive']){opacity:0.8;transform:scale(0.875);transition-property:transform,opacity;transition-duration:${durationUltraSlow},${durationFaster};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}:host([active='inactive'])::before{margin:0;opacity:0;transition-property:margin,opacity;transition-duration:${durationUltraSlow},${durationSlower};transition-delay:${animations.fastOutSlowInMin},${animations.nullEasing}}@media screen and (prefers-reduced-motion:reduce){:host([active]){transition-duration:0.01ms}:host([active])::before{transition-duration:0.01ms;transition-delay:0.01ms}}`;
6450
7143
 
6451
7144
  /**
@@ -6455,10 +7148,10 @@ const styles$8 = css`
6455
7148
  * @remarks
6456
7149
  * HTML Element: \<fluent-badge\>
6457
7150
  */
6458
- const definition$8 = Avatar.compose({
7151
+ const definition$a = Avatar.compose({
6459
7152
  name: `${FluentDesignSystem.prefix}-avatar`,
6460
- template: template$8,
6461
- styles: styles$8
7153
+ template: template$a,
7154
+ styles: styles$a
6462
7155
  });
6463
7156
 
6464
7157
  /**
@@ -6545,7 +7238,7 @@ applyMixins(Badge, StartEnd);
6545
7238
  function badgeTemplate(options = {}) {
6546
7239
  return html` ${startSlotTemplate(options)}<slot>${staticallyCompose(options.defaultContent)}</slot>${endSlotTemplate(options)} `;
6547
7240
  }
6548
- const template$7 = badgeTemplate();
7241
+ const template$9 = badgeTemplate();
6549
7242
 
6550
7243
  const textPadding = spacingHorizontalXXS;
6551
7244
  const badgeBaseStyles = css.partial`
@@ -6822,7 +7515,7 @@ const badgeTintStyles = css.partial`
6822
7515
  /** Badge styles
6823
7516
  * @public
6824
7517
  */
6825
- const styles$7 = css`
7518
+ const styles$9 = css`
6826
7519
  :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}
6827
7520
  ${badgeFilledStyles}
6828
7521
  ${badgeGhostStyles}
@@ -6840,10 +7533,134 @@ const styles$7 = css`
6840
7533
  * @remarks
6841
7534
  * HTML Element: \<fluent-badge\>
6842
7535
  */
6843
- const definition$7 = Badge.compose({
7536
+ const definition$9 = Badge.compose({
6844
7537
  name: `${FluentDesignSystem.prefix}-badge`,
6845
- template: template$7,
6846
- styles: styles$7
7538
+ template: template$9,
7539
+ styles: styles$9
7540
+ });
7541
+
7542
+ /**
7543
+ * The base class used for constructing a fluent-button custom element
7544
+ * @public
7545
+ */
7546
+ class Button extends FASTButton {
7547
+ constructor() {
7548
+ super(...arguments);
7549
+ /**
7550
+ * The button has an icon only, no text content
7551
+ *
7552
+ * @public
7553
+ * @remarks
7554
+ * HTML Attribute: icon-only
7555
+ */
7556
+ this.iconOnly = false;
7557
+ /**
7558
+ * The button is disabled but focusable
7559
+ *
7560
+ * @public
7561
+ * @remarks
7562
+ * HTML Attribute: disabled-focusable
7563
+ */
7564
+ this.disabledFocusable = false;
7565
+ /**
7566
+ * Prevents disabledFocusable click events
7567
+ */
7568
+ this.handleDisabledFocusableClick = e => {
7569
+ if (e && this.disabledFocusable) {
7570
+ e.stopImmediatePropagation();
7571
+ return;
7572
+ }
7573
+ };
7574
+ }
7575
+ disabledFocusableChanged(prev, next) {
7576
+ if (!this.$fastController.isConnected) {
7577
+ return;
7578
+ }
7579
+ if (this.disabledFocusable) {
7580
+ this.setAttribute('aria-disabled', 'true');
7581
+ } else {
7582
+ this.removeAttribute('aria-disabled');
7583
+ }
7584
+ }
7585
+ connectedCallback() {
7586
+ super.connectedCallback();
7587
+ this.addEventListener('click', this.handleDisabledFocusableClick);
7588
+ }
7589
+ disconnectedCallback() {
7590
+ super.disconnectedCallback();
7591
+ this.removeEventListener('click', this.handleDisabledFocusableClick);
7592
+ }
7593
+ }
7594
+ __decorate([attr], Button.prototype, "appearance", void 0);
7595
+ __decorate([attr], Button.prototype, "shape", void 0);
7596
+ __decorate([attr], Button.prototype, "size", void 0);
7597
+ __decorate([attr({
7598
+ attribute: 'icon-only',
7599
+ mode: 'boolean'
7600
+ })], Button.prototype, "iconOnly", void 0);
7601
+ __decorate([attr({
7602
+ attribute: 'disabled-focusable',
7603
+ mode: 'boolean'
7604
+ })], Button.prototype, "disabledFocusable", void 0);
7605
+
7606
+ /**
7607
+ * ButtonAppearance constants
7608
+ * @public
7609
+ */
7610
+ const ButtonAppearance = {
7611
+ primary: 'primary',
7612
+ outline: 'outline',
7613
+ subtle: 'subtle',
7614
+ secondary: 'secondary',
7615
+ transparent: 'transparent'
7616
+ };
7617
+ /**
7618
+ * A Button can be square, circular or rounded.
7619
+ * @public
7620
+ */
7621
+ const ButtonShape = {
7622
+ circular: 'circular',
7623
+ rounded: 'rounded',
7624
+ square: 'square'
7625
+ };
7626
+ /**
7627
+ * A Button can be a size of small, medium or large.
7628
+ * @public
7629
+ */
7630
+ const ButtonSize = {
7631
+ small: 'small',
7632
+ medium: 'medium',
7633
+ large: 'large'
7634
+ };
7635
+
7636
+ /**
7637
+ * The template for the Button component.
7638
+ * @public
7639
+ */
7640
+ const template$8 = buttonTemplate();
7641
+
7642
+ // Need to support icon hover styles
7643
+ const styles$8 = css`
7644
+ ${display('inline-flex')}
7645
+
7646
+ :host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style}:host .control{display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer}.content{display:inherit}:host(:hover) .control{background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active) .control{background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host .control:focus-visible{border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]) .control{min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS}}:host([size='small']) .control{min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]) .control{min-width:24px;max-width:24px}:host([size='large']) .control{min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]) .control{min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']) .control,:host([shape='circular']) .control:focus-visible{border-radius:${borderRadiusCircular}}:host([shape='square']) .control,:host([shape='square']) .control:focus-visible{border-radius:${borderRadiusNone}}:host([appearance='primary']) .control{background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover) .control{background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover) .control,:host([appearance='primary']:hover:active) .control{border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active) .control{background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']) .control:focus-visible{border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"])) .control,:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover) .control,:host(is:([disabled][appearance='primary'],[disabled-focusabale][appearance="primary"]):hover:active) .control{border-color:transparent}:host([appearance='outline']) .control{background-color:${colorTransparentBackground}}:host([appearance='outline']:hover) .control{background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active) .control{background-color:${colorTransparentBackgroundPressed}}:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"])) .control,:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover) .control,:host(is:([disabled][appearance='outline'],[disabled-focusabale][appearance="outline"]):hover:active) .control{background-color:${colorTransparentBackground}}:host([appearance='subtle']) .control{background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover) .control{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active) .control{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"])) .control,:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover) .control,:host(is:([disabled][appearance='subtle'],[disabled-focusabale][appearance="subtle"]):hover:active) .control{background-color:${colorTransparentBackground};border-color:transparent}:host([appearance='subtle']:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host([appearance='subtle']:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control{background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) .control{background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active) .control{background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control,:host([appearance='transparent']:hover) .control,:host([appearance='transparent']:hover:active) .control{border-color:transparent}:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"])) .control,:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover) .control,:host(is:([disabled][appearance='transparent'],[disabled-focusabale][appearance="transparent"]):hover:active) .control{border-color:transparent;background-color:${colorTransparentBackground}}:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable])) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover:active)
7647
+ .control{background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`;
7648
+
7649
+ /**
7650
+ * The Fluent Button Element. Implements {@link @microsoft/fast-foundation#Button },
7651
+ * {@link @microsoft/fast-foundation#buttonTemplate}
7652
+ *
7653
+ * @public
7654
+ * @remarks
7655
+ * HTML Element: \<fluent-button\>
7656
+ */
7657
+ const definition$8 = Button.compose({
7658
+ name: `${FluentDesignSystem.prefix}-button`,
7659
+ template: template$8,
7660
+ styles: styles$8,
7661
+ shadowOptions: {
7662
+ delegatesFocus: true
7663
+ }
6847
7664
  });
6848
7665
 
6849
7666
  /**
@@ -6979,12 +7796,12 @@ function composeTemplate(options = {}) {
6979
7796
  * The template for the Counter Badge component.
6980
7797
  * @public
6981
7798
  */
6982
- const template$6 = composeTemplate();
7799
+ const template$7 = composeTemplate();
6983
7800
 
6984
7801
  /** Badge styles
6985
7802
  * @public
6986
7803
  */
6987
- const styles$6 = css`
7804
+ const styles$7 = css`
6988
7805
  :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}
6989
7806
  ${badgeFilledStyles}
6990
7807
  ${badgeGhostStyles}
@@ -7001,10 +7818,10 @@ const styles$6 = css`
7001
7818
  * @remarks
7002
7819
  * HTML Element: \<fluent-counter-badge\>
7003
7820
  */
7004
- const definition$6 = CounterBadge.compose({
7821
+ const definition$7 = CounterBadge.compose({
7005
7822
  name: `${FluentDesignSystem.prefix}-counter-badge`,
7006
- template: template$6,
7007
- styles: styles$6
7823
+ template: template$7,
7824
+ styles: styles$7
7008
7825
  });
7009
7826
 
7010
7827
  /**
@@ -7046,12 +7863,12 @@ const DividerAppearance = {
7046
7863
  * Template for the Divider component
7047
7864
  * @public
7048
7865
  */
7049
- const template$5 = dividerTemplate();
7866
+ const template$6 = dividerTemplate();
7050
7867
 
7051
7868
  /** Divider styles
7052
7869
  * @public
7053
7870
  */
7054
- const styles$5 = css`
7871
+ const styles$6 = css`
7055
7872
  ${display('flex')}
7056
7873
 
7057
7874
  :host{contain:content}:host::after,:host::before{align-self:center;background:${colorNeutralStroke2};box-sizing:border-box;content:'';display:flex;flex-grow:1;height:${strokeWidthThin}}:host([inset]){padding:0 12px}:host ::slotted(*){color:${colorNeutralForeground2};font-family:${fontFamilyBase};font-size:${fontSizeBase200};font-weight:${fontWeightRegular};margin:0;padding:0 12px}:host([align-content='start'])::before,:host([align-content='end'])::after{flex-basis:12px;flex-grow:0;flex-shrink:0}:host([orientation='vertical']){height:100%;min-height:84px}:host([orientation='vertical']):empty{min-height:20px}:host([orientation='vertical']){flex-direction:column;align-items:center}:host([orientation='vertical'][inset])::before{margin-top:12px}:host([orientation='vertical'][inset])::after{margin-bottom:12px}:host([orientation='vertical']):empty::before,:host([orientation='vertical']):empty::after{height:10px;min-height:10px;flex-grow:0}:host([orientation='vertical'])::before,:host([orientation='vertical'])::after{width:${strokeWidthThin};min-height:20px;height:100%}:host([orientation='vertical']) ::slotted(*){display:flex;flex-direction:column;padding:12px 0;line-height:20px}:host([orientation='vertical'][align-content='start'])::before{min-height:8px}:host([orientation='vertical'][align-content='end'])::after{min-height:8px}:host([appearance='strong'])::before,:host([appearance='strong'])::after{background:${colorNeutralStroke1}}:host([appearance='strong']) ::slotted(*){color:${colorNeutralForeground1}}:host([appearance='brand'])::before,:host([appearance='brand'])::after{background:${colorBrandStroke1}}:host([appearance='brand']) ::slotted(*){color:${colorBrandForeground1}}:host([appearance='subtle'])::before,:host([appearance='subtle'])::after{background:${colorNeutralStroke3}}:host([appearance='subtle']) ::slotted(*){color:${colorNeutralForeground3}}`;
@@ -7063,10 +7880,10 @@ const styles$5 = css`
7063
7880
  * @remarks
7064
7881
  * HTML Element: \<fluent-divider\>
7065
7882
  */
7066
- const definition$5 = Divider.compose({
7883
+ const definition$6 = Divider.compose({
7067
7884
  name: `${FluentDesignSystem.prefix}-divider`,
7068
- template: template$5,
7069
- styles: styles$5
7885
+ template: template$6,
7886
+ styles: styles$6
7070
7887
  });
7071
7888
 
7072
7889
  /**
@@ -7111,13 +7928,13 @@ const ImageShape = {
7111
7928
  * Template for the Image component
7112
7929
  * @public
7113
7930
  */
7114
- const template$4 = html`<slot></slot>`;
7931
+ const template$5 = html`<slot></slot>`;
7115
7932
 
7116
7933
  /** Image styles
7117
7934
  *
7118
7935
  * @public
7119
7936
  */
7120
- const styles$4 = css`
7937
+ const styles$5 = css`
7121
7938
  :host{contain:content}:host ::slotted(img){box-sizing:border-box;min-height:8px;min-width:8px;display:inline-block}:host([block]) ::slotted(img){width:100%;height:auto}:host([bordered]) ::slotted(img){border:${strokeWidthThin} solid ${colorNeutralStroke2}}:host([fit='none']) ::slotted(img){object-fit:none;object-position:top left;height:100%;width:100%}:host([fit='center']) ::slotted(img){object-fit:none;object-position:center;height:100%;width:100%}:host([fit='contain']) ::slotted(img){object-fit:contain;object-position:center;height:100%;width:100%}:host([fit='cover']) ::slotted(img){object-fit:cover;object-position:center;height:100%;width:100%}:host([shadow]) ::slotted(img){box-shadow:${shadow4}}:host([shape='circular']) ::slotted(img){border-radius:${borderRadiusCircular}}`;
7122
7939
 
7123
7940
  /**
@@ -7127,10 +7944,10 @@ const styles$4 = css`
7127
7944
  * @remarks
7128
7945
  * HTML Element: \<fluent-image\>
7129
7946
  */
7130
- const definition$4 = Image.compose({
7947
+ const definition$5 = Image.compose({
7131
7948
  name: `${FluentDesignSystem.prefix}-image`,
7132
- template: template$4,
7133
- styles: styles$4
7949
+ template: template$5,
7950
+ styles: styles$5
7134
7951
  });
7135
7952
 
7136
7953
  /**
@@ -7181,10 +7998,10 @@ const ProgressBarValidationState = {
7181
7998
  error: 'error'
7182
7999
  };
7183
8000
 
7184
- /** Text styles
8001
+ /** ProgressBar styles
7185
8002
  * @public
7186
8003
  */
7187
- const styles$3 = css`
8004
+ const styles$4 = css`
7188
8005
  ${display('flex')}
7189
8006
 
7190
8007
  :host{align-items:center;height:2px;overflow-x:hidden;border-radius:${borderRadiusMedium};contain:content}:host([thickness='large']),:host([thickness='large']) .progress,:host([thickness='large']) .determinate{height:4px}:host([shape='square']),:host([shape='square']) .progress,:host([shape='square']) .determinate{border-radius:0}:host([validation-state='error']) .determinate{background-color:${colorPaletteRedBackground3}}:host([validation-state='error']) .indeterminate-indicator-1,:host([validation-state='error']) .indeterminate-indicator-2{background:linear-gradient(
@@ -7199,7 +8016,7 @@ const styles$3 = css`
7199
8016
  to right,${colorBrandBackground2} 0%,${colorCompoundBrandBackground} 50%,${colorBrandBackground2}
7200
8017
  );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}}`;
7201
8018
 
7202
- const template$3 = progressTemplate({
8019
+ const template$4 = progressTemplate({
7203
8020
  indeterminateIndicator1: `<span class="indeterminate-indicator-1" part="indeterminate-indicator-1></span>`,
7204
8021
  indeterminateIndicator2: `<span class="indeterminate-indicator-2" part="indeterminate-indicator-2"></span>`
7205
8022
  });
@@ -7212,8 +8029,90 @@ const template$3 = progressTemplate({
7212
8029
  * @remarks
7213
8030
  * HTML Element: \<fluent-progress-bar\>
7214
8031
  */
7215
- const definition$3 = ProgressBar.compose({
8032
+ const definition$4 = ProgressBar.compose({
7216
8033
  name: `${FluentDesignSystem.prefix}-progress-bar`,
8034
+ template: template$4,
8035
+ styles: styles$4
8036
+ });
8037
+
8038
+ /**
8039
+ * The base class used for constructing a fluent-slider custom element
8040
+ * @public
8041
+ */
8042
+ class Slider extends FASTSlider {
8043
+ handleChange(source, propertyName) {
8044
+ switch (propertyName) {
8045
+ case 'min':
8046
+ case 'max':
8047
+ case 'step':
8048
+ this.handleStepStyles();
8049
+ break;
8050
+ }
8051
+ }
8052
+ connectedCallback() {
8053
+ super.connectedCallback();
8054
+ Observable.getNotifier(this).subscribe(this, 'max');
8055
+ Observable.getNotifier(this).subscribe(this, 'min');
8056
+ Observable.getNotifier(this).subscribe(this, 'step');
8057
+ this.handleStepStyles();
8058
+ }
8059
+ disconnectedCallback() {
8060
+ super.disconnectedCallback();
8061
+ Observable.getNotifier(this).unsubscribe(this, 'max');
8062
+ Observable.getNotifier(this).unsubscribe(this, 'min');
8063
+ Observable.getNotifier(this).unsubscribe(this, 'step');
8064
+ }
8065
+ /**
8066
+ * Handles changes to step styling based on the step value
8067
+ * NOTE: This function is not a changed callback, stepStyles is not observable
8068
+ */
8069
+ handleStepStyles() {
8070
+ if (this.step) {
8071
+ const totalSteps = 100 / Math.floor((this.max - this.min) / this.step);
8072
+ if (this.stepStyles !== undefined) {
8073
+ this.$fastController.removeStyles(this.stepStyles);
8074
+ }
8075
+ this.stepStyles = css /**css*/`
8076
+ :host{--step-rate:${totalSteps}%;color:blue}`;
8077
+ this.$fastController.addStyles(this.stepStyles);
8078
+ } else if (this.stepStyles !== undefined) {
8079
+ this.$fastController.removeStyles(this.stepStyles);
8080
+ }
8081
+ }
8082
+ }
8083
+ __decorate([attr], Slider.prototype, "size", void 0);
8084
+
8085
+ /**
8086
+ * SliderSize Constants
8087
+ * @public
8088
+ */
8089
+ const SliderSize = {
8090
+ small: 'small',
8091
+ medium: 'medium'
8092
+ };
8093
+
8094
+ /** Text styles
8095
+ * @public
8096
+ */
8097
+ const styles$3 = css`
8098
+ ${display('inline-grid')} :host{--thumb-size:18px;--thumb-padding:3px;--thumb-translate:calc(var(--thumb-size) * -0.5 + var(--track-width) / 2);--track-overhang:-2px;--track-width:4px;--fast-slider-height:calc(var(--thumb-size) * 10);--slider-direction:90deg;align-items:center;box-sizing:border-box;outline:none;cursor:pointer;user-select:none;border-radius:${borderRadiusSmall};touch-action:pan-y;min-width:calc(var(--thumb-size) * 1px);width:100%}:host([size='small']){--thumb-size:14px;--track-width:2px;--thumb-padding:3px}:host([orientation='vertical']){--slider-direction:0deg;height:160px;min-height:var(--thumb-size);touch-action:pan-x;padding:8px 0;width:auto;min-width:auto}:host([disabled]:hover){cursor:initial}:host(:focus-visible){box-shadow:0 0 0 2pt ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}.thumb-cursor:focus{outline:0}.thumb-container{position:absolute;height:var(--thumb-size);width:var(--thumb-size);transition:all 0.2s ease}.thumb-container{transform:translateX(calc(var(--thumb-size) * 0.5)) translateY(calc(var(--thumb-translate) * -1.5))}:host([size='small']) .thumb-container{transform:translateX(calc(var(--thumb-size) * 0.5)) translateY(calc(var(--thumb-translate) * -1.35))}:host([orientation='vertical']) .thumb-container{transform:translateX(calc(var(--thumb-translate) * -1.5)) translateY(calc(var(--thumb-size) * -0.5))}:host([orientation='vertical'][size='small']) .thumb-container{transform:translateX(calc(var(--thumb-translate) * -1.35)) translateY(calc(var(--thumb-size) * -0.5))}.thumb-cursor{height:var(--thumb-size);width:var(--thumb-size);background-color:${colorBrandBackground};border-radius:${borderRadiusCircular};box-shadow:inset 0 0 0 var(--thumb-padding) ${colorNeutralBackground1},0 0 0 1px ${colorNeutralStroke1}}.thumb-cursor:hover{background-color:${colorCompoundBrandBackgroundHover}}.thumb-cursor:active{background-color:${colorCompoundBrandBackgroundPressed}}:host([disabled]) .thumb-cursor{background-color:${colorNeutralForegroundDisabled};box-shadow:inset 0 0 0 var(--thumb-padding) ${colorNeutralBackground1},0 0 0 1px ${colorNeutralStrokeDisabled}}.positioning-region{position:relative;display:grid}:host([orientation='horizontal']) .positioning-region{margin:0 8px;grid-template-rows:var(--thumb-size) var(--thumb-size)}:host([orientation='vertical']) .positioning-region{margin:8px 0;height:100%;grid-template-columns:var(--thumb-size) var(--thumb-size)}.track{align-self:start;position:absolute;background-color:${colorNeutralStrokeAccessible};border-radius:${borderRadiusMedium};overflow:hidden}:host([step]) .track::after{content:'';position:absolute;border-radius:${borderRadiusMedium};width:100%;inset:0 2px;background-image:repeating-linear-gradient(
8099
+ var(--slider-direction),#0000 0%,#0000 calc(var(--step-rate) - 1px),${colorNeutralBackground1} calc(var(--step-rate) - 1px),${colorNeutralBackground1} var(--step-rate)
8100
+ )}:host([orientation='vertical'][step]) .track::after{inset:-2px 0}:host([disabled]) .track{background-color:${colorNeutralBackgroundDisabled}}:host([orientation='horizontal']) .track{right:var(--track-overhang);left:var(--track-overhang);align-self:start;height:var(--track-width);grid-row:2 / auto}:host([orientation='vertical']) .track{top:var(--track-overhang);bottom:var(--track-overhang);width:var(--track-width);height:100%;grid-column:2 / auto}.track-start{background-color:${colorCompoundBrandBackground};position:absolute;height:100%;left:0;border-radius:${borderRadiusMedium}}:host([disabled]) .track-start{background-color:${colorNeutralForegroundDisabled}}:host(:hover) .track-start{background-color:${colorCompoundBrandBackgroundHover}}:host([disabled]:hover) .track-start{background-color:${colorNeutralForegroundDisabled}}.track-start:active{background-color:${colorCompoundBrandBackgroundPressed}}:host([orientation='vertical']) .track-start{height:auto;width:100%;bottom:0}`;
8101
+
8102
+ const template$3 = sliderTemplate({
8103
+ thumb: `<div class="thumb-cursor" tabindex="0"></div>`
8104
+ });
8105
+
8106
+ /**
8107
+ * The Fluent Slider Element.
8108
+ *
8109
+ *
8110
+ * @public
8111
+ * @remarks
8112
+ * HTML Element: \<fluent-slider\>
8113
+ */
8114
+ const definition$3 = Slider.compose({
8115
+ name: `${FluentDesignSystem.prefix}-slider`,
7217
8116
  template: template$3,
7218
8117
  styles: styles$3
7219
8118
  });
@@ -7492,4 +8391,4 @@ const setTheme = theme => {
7492
8391
  }
7493
8392
  };
7494
8393
 
7495
- 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, colorNeutralStencil1Alpha, colorNeutralStencil2, colorNeutralStencil2Alpha, 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, colorPaletteGreenForegroundInverted, 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, colorPaletteRedForegroundInverted, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorPaletteYellowForegroundInverted, 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 };
8394
+ export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$a as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$a as AvatarStyles, template$a as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$9 as BadgeDefinition, BadgeShape, BadgeSize, styles$9 as BadgeStyles, template$9 as BadgeTemplate, Button, ButtonAppearance, definition$8 as ButtonDefinition, ButtonShape, ButtonSize, styles$8 as ButtonStyles, template$8 as ButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$7 as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$7 as CounterBadgeStyles, template$7 as CounterBadgeTemplate, Divider, DividerAlignContent, DividerAppearance, definition$6 as DividerDefinition, DividerOrientation, DividerRole, styles$6 as DividerStyles, template$6 as DividerTemplate, Image, definition$5 as ImageDefinition, ImageFit, ImageShape, styles$5 as ImageStyles, template$5 as ImageTemplate, ProgressBar, definition$4 as ProgressBarDefinition, ProgressBarShape, styles$4 as ProgressBarStyles, template$4 as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Slider, definition$3 as SliderDefinition, SliderOrientation, SliderSize, styles$3 as SliderStyles, template$3 as SliderTemplate, 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$c as accordionDefinition, definition$b as accordionItemDefinition, styles$b as accordionItemStyles, template$b as accordionItemTemplate, styles$c as accordionStyles, template$c 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, colorNeutralStencil1Alpha, colorNeutralStencil2, colorNeutralStencil2Alpha, 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, colorPaletteGreenForegroundInverted, 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, colorPaletteRedForegroundInverted, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorPaletteYellowForegroundInverted, 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 };