@ni/nimble-components 15.5.7 → 16.0.0

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 (72) hide show
  1. package/dist/all-components-bundle.js +1336 -965
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +2050 -1828
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/all-components.d.ts +2 -0
  6. package/dist/esm/all-components.js +2 -0
  7. package/dist/esm/all-components.js.map +1 -1
  8. package/dist/esm/anchor/index.d.ts +24 -0
  9. package/dist/esm/anchor/index.js +37 -0
  10. package/dist/esm/anchor/index.js.map +1 -0
  11. package/dist/esm/anchor/styles.d.ts +1 -0
  12. package/dist/esm/anchor/styles.js +86 -0
  13. package/dist/esm/anchor/styles.js.map +1 -0
  14. package/dist/esm/anchor/template.d.ts +4 -0
  15. package/dist/esm/anchor/template.js +53 -0
  16. package/dist/esm/anchor/template.js.map +1 -0
  17. package/dist/esm/anchor/types.d.ts +9 -0
  18. package/dist/esm/anchor/types.js +9 -0
  19. package/dist/esm/anchor/types.js.map +1 -0
  20. package/dist/esm/anchor-base/index.d.ts +6 -0
  21. package/dist/esm/anchor-base/index.js +7 -0
  22. package/dist/esm/anchor-base/index.js.map +1 -0
  23. package/dist/esm/anchor-button/index.d.ts +36 -0
  24. package/dist/esm/anchor-button/index.js +55 -0
  25. package/dist/esm/anchor-button/index.js.map +1 -0
  26. package/dist/esm/anchor-button/styles.d.ts +1 -0
  27. package/dist/esm/anchor-button/styles.js +11 -0
  28. package/dist/esm/anchor-button/styles.js.map +1 -0
  29. package/dist/esm/anchor-button/template.d.ts +4 -0
  30. package/dist/esm/anchor-button/template.js +44 -0
  31. package/dist/esm/anchor-button/template.js.map +1 -0
  32. package/dist/esm/anchor-button/types.d.ts +5 -0
  33. package/dist/esm/anchor-button/types.js +6 -0
  34. package/dist/esm/anchor-button/types.js.map +1 -0
  35. package/dist/esm/breadcrumb/styles.js +10 -36
  36. package/dist/esm/breadcrumb/styles.js.map +1 -1
  37. package/dist/esm/breadcrumb-item/styles.js +13 -14
  38. package/dist/esm/breadcrumb-item/styles.js.map +1 -1
  39. package/dist/esm/button/index.d.ts +2 -2
  40. package/dist/esm/button/index.js.map +1 -1
  41. package/dist/esm/button/styles.js +5 -82
  42. package/dist/esm/button/styles.js.map +1 -1
  43. package/dist/esm/button/types.d.ts +1 -10
  44. package/dist/esm/button/types.js +1 -9
  45. package/dist/esm/button/types.js.map +1 -1
  46. package/dist/esm/patterns/button/styles.d.ts +1 -0
  47. package/dist/esm/patterns/button/styles.js +81 -4
  48. package/dist/esm/patterns/button/styles.js.map +1 -1
  49. package/dist/esm/patterns/button/types.d.ts +18 -0
  50. package/dist/esm/patterns/button/types.js +8 -0
  51. package/dist/esm/patterns/button/types.js.map +1 -1
  52. package/dist/esm/theme-provider/design-token-comments.js +32 -8
  53. package/dist/esm/theme-provider/design-token-comments.js.map +1 -1
  54. package/dist/esm/theme-provider/design-token-names.js +32 -8
  55. package/dist/esm/theme-provider/design-token-names.js.map +1 -1
  56. package/dist/esm/theme-provider/design-tokens.d.ts +4 -1
  57. package/dist/esm/theme-provider/design-tokens.js +5 -2
  58. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  59. package/dist/esm/toggle-button/styles.js +2 -2
  60. package/dist/esm/wafer-map/index.d.ts +2 -0
  61. package/dist/esm/wafer-map/index.js +14 -1
  62. package/dist/esm/wafer-map/index.js.map +1 -1
  63. package/dist/esm/wafer-map/modules/rendering.d.ts +11 -0
  64. package/dist/esm/wafer-map/modules/rendering.js +26 -0
  65. package/dist/esm/wafer-map/modules/rendering.js.map +1 -0
  66. package/dist/esm/wafer-map/styles.js +55 -1
  67. package/dist/esm/wafer-map/styles.js.map +1 -1
  68. package/dist/esm/wafer-map/template.js +12 -9
  69. package/dist/esm/wafer-map/template.js.map +1 -1
  70. package/dist/tokens-internal.scss +168 -24
  71. package/dist/tokens.scss +88 -16
  72. package/package.json +3 -1
@@ -1,6 +1,28 @@
1
1
  (function () {
2
2
  'use strict';
3
3
 
4
+ /******************************************************************************
5
+ Copyright (c) Microsoft Corporation.
6
+
7
+ Permission to use, copy, modify, and/or distribute this software for any
8
+ purpose with or without fee is hereby granted.
9
+
10
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
11
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
13
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16
+ PERFORMANCE OF THIS SOFTWARE.
17
+ ***************************************************************************** */
18
+
19
+ function __decorate$1(decorators, target, key, desc) {
20
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
21
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
22
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
23
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
24
+ }
25
+
4
26
  /**
5
27
  * A reference to globalThis, with support
6
28
  * for browsers that don't yet support the spec.
@@ -3680,7 +3702,7 @@
3680
3702
  PERFORMANCE OF THIS SOFTWARE.
3681
3703
  ***************************************************************************** */
3682
3704
 
3683
- function __decorate$1(decorators, target, key, desc) {
3705
+ function __decorate(decorators, target, key, desc) {
3684
3706
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3685
3707
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3686
3708
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -5004,10 +5026,10 @@
5004
5026
  : this, elementDefinition, overrideDefinition);
5005
5027
  }
5006
5028
  }
5007
- __decorate$1([
5029
+ __decorate([
5008
5030
  observable
5009
5031
  ], FoundationElement.prototype, "template", void 0);
5010
- __decorate$1([
5032
+ __decorate([
5011
5033
  observable
5012
5034
  ], FoundationElement.prototype, "styles", void 0);
5013
5035
  function resolveOption(option, context, definition) {
@@ -5403,61 +5425,61 @@
5403
5425
  */
5404
5426
  class ARIAGlobalStatesAndProperties {
5405
5427
  }
5406
- __decorate$1([
5428
+ __decorate([
5407
5429
  attr({ attribute: "aria-atomic" })
5408
5430
  ], ARIAGlobalStatesAndProperties.prototype, "ariaAtomic", void 0);
5409
- __decorate$1([
5431
+ __decorate([
5410
5432
  attr({ attribute: "aria-busy" })
5411
5433
  ], ARIAGlobalStatesAndProperties.prototype, "ariaBusy", void 0);
5412
- __decorate$1([
5434
+ __decorate([
5413
5435
  attr({ attribute: "aria-controls" })
5414
5436
  ], ARIAGlobalStatesAndProperties.prototype, "ariaControls", void 0);
5415
- __decorate$1([
5437
+ __decorate([
5416
5438
  attr({ attribute: "aria-current" })
5417
5439
  ], ARIAGlobalStatesAndProperties.prototype, "ariaCurrent", void 0);
5418
- __decorate$1([
5440
+ __decorate([
5419
5441
  attr({ attribute: "aria-describedby" })
5420
5442
  ], ARIAGlobalStatesAndProperties.prototype, "ariaDescribedby", void 0);
5421
- __decorate$1([
5443
+ __decorate([
5422
5444
  attr({ attribute: "aria-details" })
5423
5445
  ], ARIAGlobalStatesAndProperties.prototype, "ariaDetails", void 0);
5424
- __decorate$1([
5446
+ __decorate([
5425
5447
  attr({ attribute: "aria-disabled" })
5426
5448
  ], ARIAGlobalStatesAndProperties.prototype, "ariaDisabled", void 0);
5427
- __decorate$1([
5449
+ __decorate([
5428
5450
  attr({ attribute: "aria-errormessage" })
5429
5451
  ], ARIAGlobalStatesAndProperties.prototype, "ariaErrormessage", void 0);
5430
- __decorate$1([
5452
+ __decorate([
5431
5453
  attr({ attribute: "aria-flowto" })
5432
5454
  ], ARIAGlobalStatesAndProperties.prototype, "ariaFlowto", void 0);
5433
- __decorate$1([
5455
+ __decorate([
5434
5456
  attr({ attribute: "aria-haspopup" })
5435
5457
  ], ARIAGlobalStatesAndProperties.prototype, "ariaHaspopup", void 0);
5436
- __decorate$1([
5458
+ __decorate([
5437
5459
  attr({ attribute: "aria-hidden" })
5438
5460
  ], ARIAGlobalStatesAndProperties.prototype, "ariaHidden", void 0);
5439
- __decorate$1([
5461
+ __decorate([
5440
5462
  attr({ attribute: "aria-invalid" })
5441
5463
  ], ARIAGlobalStatesAndProperties.prototype, "ariaInvalid", void 0);
5442
- __decorate$1([
5464
+ __decorate([
5443
5465
  attr({ attribute: "aria-keyshortcuts" })
5444
5466
  ], ARIAGlobalStatesAndProperties.prototype, "ariaKeyshortcuts", void 0);
5445
- __decorate$1([
5467
+ __decorate([
5446
5468
  attr({ attribute: "aria-label" })
5447
5469
  ], ARIAGlobalStatesAndProperties.prototype, "ariaLabel", void 0);
5448
- __decorate$1([
5470
+ __decorate([
5449
5471
  attr({ attribute: "aria-labelledby" })
5450
5472
  ], ARIAGlobalStatesAndProperties.prototype, "ariaLabelledby", void 0);
5451
- __decorate$1([
5473
+ __decorate([
5452
5474
  attr({ attribute: "aria-live" })
5453
5475
  ], ARIAGlobalStatesAndProperties.prototype, "ariaLive", void 0);
5454
- __decorate$1([
5476
+ __decorate([
5455
5477
  attr({ attribute: "aria-owns" })
5456
5478
  ], ARIAGlobalStatesAndProperties.prototype, "ariaOwns", void 0);
5457
- __decorate$1([
5479
+ __decorate([
5458
5480
  attr({ attribute: "aria-relevant" })
5459
5481
  ], ARIAGlobalStatesAndProperties.prototype, "ariaRelevant", void 0);
5460
- __decorate$1([
5482
+ __decorate([
5461
5483
  attr({ attribute: "aria-roledescription" })
5462
5484
  ], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", void 0);
5463
5485
 
@@ -5473,7 +5495,7 @@
5473
5495
  *
5474
5496
  * @public
5475
5497
  */
5476
- class Anchor extends FoundationElement {
5498
+ class Anchor$1 extends FoundationElement {
5477
5499
  constructor() {
5478
5500
  super(...arguments);
5479
5501
  /**
@@ -5501,33 +5523,33 @@
5501
5523
  this.handleUnsupportedDelegatesFocus();
5502
5524
  }
5503
5525
  }
5504
- __decorate$1([
5526
+ __decorate([
5505
5527
  attr
5506
- ], Anchor.prototype, "download", void 0);
5507
- __decorate$1([
5528
+ ], Anchor$1.prototype, "download", void 0);
5529
+ __decorate([
5508
5530
  attr
5509
- ], Anchor.prototype, "href", void 0);
5510
- __decorate$1([
5531
+ ], Anchor$1.prototype, "href", void 0);
5532
+ __decorate([
5511
5533
  attr
5512
- ], Anchor.prototype, "hreflang", void 0);
5513
- __decorate$1([
5534
+ ], Anchor$1.prototype, "hreflang", void 0);
5535
+ __decorate([
5514
5536
  attr
5515
- ], Anchor.prototype, "ping", void 0);
5516
- __decorate$1([
5537
+ ], Anchor$1.prototype, "ping", void 0);
5538
+ __decorate([
5517
5539
  attr
5518
- ], Anchor.prototype, "referrerpolicy", void 0);
5519
- __decorate$1([
5540
+ ], Anchor$1.prototype, "referrerpolicy", void 0);
5541
+ __decorate([
5520
5542
  attr
5521
- ], Anchor.prototype, "rel", void 0);
5522
- __decorate$1([
5543
+ ], Anchor$1.prototype, "rel", void 0);
5544
+ __decorate([
5523
5545
  attr
5524
- ], Anchor.prototype, "target", void 0);
5525
- __decorate$1([
5546
+ ], Anchor$1.prototype, "target", void 0);
5547
+ __decorate([
5526
5548
  attr
5527
- ], Anchor.prototype, "type", void 0);
5528
- __decorate$1([
5549
+ ], Anchor$1.prototype, "type", void 0);
5550
+ __decorate([
5529
5551
  observable
5530
- ], Anchor.prototype, "defaultSlottedContent", void 0);
5552
+ ], Anchor$1.prototype, "defaultSlottedContent", void 0);
5531
5553
  /**
5532
5554
  * Includes ARIA states and properties relating to the ARIA link role
5533
5555
  *
@@ -5535,11 +5557,11 @@
5535
5557
  */
5536
5558
  class DelegatesARIALink {
5537
5559
  }
5538
- __decorate$1([
5560
+ __decorate([
5539
5561
  attr({ attribute: "aria-expanded" })
5540
5562
  ], DelegatesARIALink.prototype, "ariaExpanded", void 0);
5541
5563
  applyMixins(DelegatesARIALink, ARIAGlobalStatesAndProperties);
5542
- applyMixins(Anchor, StartEnd, DelegatesARIALink);
5564
+ applyMixins(Anchor$1, StartEnd, DelegatesARIALink);
5543
5565
 
5544
5566
  /**
5545
5567
  * The template for the {@link @microsoft/fast-foundation#(AnchoredRegion:class)} component.
@@ -6555,61 +6577,61 @@
6555
6577
  }
6556
6578
  }
6557
6579
  AnchoredRegion$1.intersectionService = new IntersectionService();
6558
- __decorate$1([
6580
+ __decorate([
6559
6581
  attr
6560
6582
  ], AnchoredRegion$1.prototype, "anchor", void 0);
6561
- __decorate$1([
6583
+ __decorate([
6562
6584
  attr
6563
6585
  ], AnchoredRegion$1.prototype, "viewport", void 0);
6564
- __decorate$1([
6586
+ __decorate([
6565
6587
  attr({ attribute: "horizontal-positioning-mode" })
6566
6588
  ], AnchoredRegion$1.prototype, "horizontalPositioningMode", void 0);
6567
- __decorate$1([
6589
+ __decorate([
6568
6590
  attr({ attribute: "horizontal-default-position" })
6569
6591
  ], AnchoredRegion$1.prototype, "horizontalDefaultPosition", void 0);
6570
- __decorate$1([
6592
+ __decorate([
6571
6593
  attr({ attribute: "horizontal-viewport-lock", mode: "boolean" })
6572
6594
  ], AnchoredRegion$1.prototype, "horizontalViewportLock", void 0);
6573
- __decorate$1([
6595
+ __decorate([
6574
6596
  attr({ attribute: "horizontal-inset", mode: "boolean" })
6575
6597
  ], AnchoredRegion$1.prototype, "horizontalInset", void 0);
6576
- __decorate$1([
6598
+ __decorate([
6577
6599
  attr({ attribute: "horizontal-threshold" })
6578
6600
  ], AnchoredRegion$1.prototype, "horizontalThreshold", void 0);
6579
- __decorate$1([
6601
+ __decorate([
6580
6602
  attr({ attribute: "horizontal-scaling" })
6581
6603
  ], AnchoredRegion$1.prototype, "horizontalScaling", void 0);
6582
- __decorate$1([
6604
+ __decorate([
6583
6605
  attr({ attribute: "vertical-positioning-mode" })
6584
6606
  ], AnchoredRegion$1.prototype, "verticalPositioningMode", void 0);
6585
- __decorate$1([
6607
+ __decorate([
6586
6608
  attr({ attribute: "vertical-default-position" })
6587
6609
  ], AnchoredRegion$1.prototype, "verticalDefaultPosition", void 0);
6588
- __decorate$1([
6610
+ __decorate([
6589
6611
  attr({ attribute: "vertical-viewport-lock", mode: "boolean" })
6590
6612
  ], AnchoredRegion$1.prototype, "verticalViewportLock", void 0);
6591
- __decorate$1([
6613
+ __decorate([
6592
6614
  attr({ attribute: "vertical-inset", mode: "boolean" })
6593
6615
  ], AnchoredRegion$1.prototype, "verticalInset", void 0);
6594
- __decorate$1([
6616
+ __decorate([
6595
6617
  attr({ attribute: "vertical-threshold" })
6596
6618
  ], AnchoredRegion$1.prototype, "verticalThreshold", void 0);
6597
- __decorate$1([
6619
+ __decorate([
6598
6620
  attr({ attribute: "vertical-scaling" })
6599
6621
  ], AnchoredRegion$1.prototype, "verticalScaling", void 0);
6600
- __decorate$1([
6622
+ __decorate([
6601
6623
  attr({ attribute: "fixed-placement", mode: "boolean" })
6602
6624
  ], AnchoredRegion$1.prototype, "fixedPlacement", void 0);
6603
- __decorate$1([
6625
+ __decorate([
6604
6626
  attr({ attribute: "auto-update-mode" })
6605
6627
  ], AnchoredRegion$1.prototype, "autoUpdateMode", void 0);
6606
- __decorate$1([
6628
+ __decorate([
6607
6629
  observable
6608
6630
  ], AnchoredRegion$1.prototype, "anchorElement", void 0);
6609
- __decorate$1([
6631
+ __decorate([
6610
6632
  observable
6611
6633
  ], AnchoredRegion$1.prototype, "viewportElement", void 0);
6612
- __decorate$1([
6634
+ __decorate([
6613
6635
  observable
6614
6636
  ], AnchoredRegion$1.prototype, "initialLayoutComplete", void 0);
6615
6637
 
@@ -6640,7 +6662,7 @@
6640
6662
  *
6641
6663
  * @public
6642
6664
  */
6643
- class BreadcrumbItem$1 extends Anchor {
6665
+ class BreadcrumbItem$1 extends Anchor$1 {
6644
6666
  constructor() {
6645
6667
  super(...arguments);
6646
6668
  /**
@@ -6649,7 +6671,7 @@
6649
6671
  this.separator = true;
6650
6672
  }
6651
6673
  }
6652
- __decorate$1([
6674
+ __decorate([
6653
6675
  observable
6654
6676
  ], BreadcrumbItem$1.prototype, "separator", void 0);
6655
6677
  applyMixins(BreadcrumbItem$1, StartEnd, DelegatesARIALink);
@@ -6731,7 +6753,7 @@
6731
6753
  }
6732
6754
  }
6733
6755
  }
6734
- __decorate$1([
6756
+ __decorate([
6735
6757
  observable
6736
6758
  ], Breadcrumb$1.prototype, "slottedBreadcrumbItems", void 0);
6737
6759
 
@@ -7397,31 +7419,31 @@
7397
7419
  }
7398
7420
  }
7399
7421
  }
7400
- __decorate$1([
7422
+ __decorate([
7401
7423
  attr({ mode: "boolean" })
7402
7424
  ], Button$1.prototype, "autofocus", void 0);
7403
- __decorate$1([
7425
+ __decorate([
7404
7426
  attr({ attribute: "form" })
7405
7427
  ], Button$1.prototype, "formId", void 0);
7406
- __decorate$1([
7428
+ __decorate([
7407
7429
  attr
7408
7430
  ], Button$1.prototype, "formaction", void 0);
7409
- __decorate$1([
7431
+ __decorate([
7410
7432
  attr
7411
7433
  ], Button$1.prototype, "formenctype", void 0);
7412
- __decorate$1([
7434
+ __decorate([
7413
7435
  attr
7414
7436
  ], Button$1.prototype, "formmethod", void 0);
7415
- __decorate$1([
7437
+ __decorate([
7416
7438
  attr({ mode: "boolean" })
7417
7439
  ], Button$1.prototype, "formnovalidate", void 0);
7418
- __decorate$1([
7440
+ __decorate([
7419
7441
  attr
7420
7442
  ], Button$1.prototype, "formtarget", void 0);
7421
- __decorate$1([
7443
+ __decorate([
7422
7444
  attr
7423
7445
  ], Button$1.prototype, "type", void 0);
7424
- __decorate$1([
7446
+ __decorate([
7425
7447
  observable
7426
7448
  ], Button$1.prototype, "defaultSlottedContent", void 0);
7427
7449
  /**
@@ -7431,10 +7453,10 @@
7431
7453
  */
7432
7454
  class DelegatesARIAButton {
7433
7455
  }
7434
- __decorate$1([
7456
+ __decorate([
7435
7457
  attr({ attribute: "aria-expanded" })
7436
7458
  ], DelegatesARIAButton.prototype, "ariaExpanded", void 0);
7437
- __decorate$1([
7459
+ __decorate([
7438
7460
  attr({ attribute: "aria-pressed" })
7439
7461
  ], DelegatesARIAButton.prototype, "ariaPressed", void 0);
7440
7462
  applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
@@ -7551,13 +7573,13 @@
7551
7573
  }
7552
7574
  }
7553
7575
  }
7554
- __decorate$1([
7576
+ __decorate([
7555
7577
  attr({ attribute: "readonly", mode: "boolean" })
7556
7578
  ], Checkbox$1.prototype, "readOnly", void 0);
7557
- __decorate$1([
7579
+ __decorate([
7558
7580
  observable
7559
7581
  ], Checkbox$1.prototype, "defaultSlottedNodes", void 0);
7560
- __decorate$1([
7582
+ __decorate([
7561
7583
  observable
7562
7584
  ], Checkbox$1.prototype, "indeterminate", void 0);
7563
7585
 
@@ -7712,25 +7734,25 @@
7712
7734
  return this.proxy ? this.proxy.form : null;
7713
7735
  }
7714
7736
  }
7715
- __decorate$1([
7737
+ __decorate([
7716
7738
  observable
7717
7739
  ], ListboxOption.prototype, "checked", void 0);
7718
- __decorate$1([
7740
+ __decorate([
7719
7741
  observable
7720
7742
  ], ListboxOption.prototype, "content", void 0);
7721
- __decorate$1([
7743
+ __decorate([
7722
7744
  observable
7723
7745
  ], ListboxOption.prototype, "defaultSelected", void 0);
7724
- __decorate$1([
7746
+ __decorate([
7725
7747
  attr({ mode: "boolean" })
7726
7748
  ], ListboxOption.prototype, "disabled", void 0);
7727
- __decorate$1([
7749
+ __decorate([
7728
7750
  attr({ attribute: "selected", mode: "boolean" })
7729
7751
  ], ListboxOption.prototype, "selectedAttribute", void 0);
7730
- __decorate$1([
7752
+ __decorate([
7731
7753
  observable
7732
7754
  ], ListboxOption.prototype, "selected", void 0);
7733
- __decorate$1([
7755
+ __decorate([
7734
7756
  attr({ attribute: "value", mode: "fromView" })
7735
7757
  ], ListboxOption.prototype, "initialValue", void 0);
7736
7758
  /**
@@ -7740,16 +7762,16 @@
7740
7762
  */
7741
7763
  class DelegatesARIAListboxOption {
7742
7764
  }
7743
- __decorate$1([
7765
+ __decorate([
7744
7766
  observable
7745
7767
  ], DelegatesARIAListboxOption.prototype, "ariaChecked", void 0);
7746
- __decorate$1([
7768
+ __decorate([
7747
7769
  observable
7748
7770
  ], DelegatesARIAListboxOption.prototype, "ariaPosInSet", void 0);
7749
- __decorate$1([
7771
+ __decorate([
7750
7772
  observable
7751
7773
  ], DelegatesARIAListboxOption.prototype, "ariaSelected", void 0);
7752
- __decorate$1([
7774
+ __decorate([
7753
7775
  observable
7754
7776
  ], DelegatesARIAListboxOption.prototype, "ariaSetSize", void 0);
7755
7777
  applyMixins(DelegatesARIAListboxOption, ARIAGlobalStatesAndProperties);
@@ -8240,19 +8262,19 @@
8240
8262
  * @internal
8241
8263
  */
8242
8264
  Listbox.TYPE_AHEAD_TIMEOUT_MS = 1000;
8243
- __decorate$1([
8265
+ __decorate([
8244
8266
  attr({ mode: "boolean" })
8245
8267
  ], Listbox.prototype, "disabled", void 0);
8246
- __decorate$1([
8268
+ __decorate([
8247
8269
  observable
8248
8270
  ], Listbox.prototype, "selectedIndex", void 0);
8249
- __decorate$1([
8271
+ __decorate([
8250
8272
  observable
8251
8273
  ], Listbox.prototype, "selectedOptions", void 0);
8252
- __decorate$1([
8274
+ __decorate([
8253
8275
  observable
8254
8276
  ], Listbox.prototype, "slottedOptions", void 0);
8255
- __decorate$1([
8277
+ __decorate([
8256
8278
  observable
8257
8279
  ], Listbox.prototype, "typeaheadBuffer", void 0);
8258
8280
  /**
@@ -8262,16 +8284,16 @@
8262
8284
  */
8263
8285
  class DelegatesARIAListbox {
8264
8286
  }
8265
- __decorate$1([
8287
+ __decorate([
8266
8288
  observable
8267
8289
  ], DelegatesARIAListbox.prototype, "ariaActiveDescendant", void 0);
8268
- __decorate$1([
8290
+ __decorate([
8269
8291
  observable
8270
8292
  ], DelegatesARIAListbox.prototype, "ariaDisabled", void 0);
8271
- __decorate$1([
8293
+ __decorate([
8272
8294
  observable
8273
8295
  ], DelegatesARIAListbox.prototype, "ariaExpanded", void 0);
8274
- __decorate$1([
8296
+ __decorate([
8275
8297
  observable
8276
8298
  ], DelegatesARIAListbox.prototype, "ariaMultiSelectable", void 0);
8277
8299
  applyMixins(DelegatesARIAListbox, ARIAGlobalStatesAndProperties);
@@ -8854,22 +8876,22 @@
8854
8876
  this.control.setSelectionRange(controlValueLength, controlValueLength);
8855
8877
  }
8856
8878
  }
8857
- __decorate$1([
8879
+ __decorate([
8858
8880
  attr({ attribute: "autocomplete", mode: "fromView" })
8859
8881
  ], Combobox$1.prototype, "autocomplete", void 0);
8860
- __decorate$1([
8882
+ __decorate([
8861
8883
  observable
8862
8884
  ], Combobox$1.prototype, "maxHeight", void 0);
8863
- __decorate$1([
8885
+ __decorate([
8864
8886
  attr({ attribute: "open", mode: "boolean" })
8865
8887
  ], Combobox$1.prototype, "open", void 0);
8866
- __decorate$1([
8888
+ __decorate([
8867
8889
  attr
8868
8890
  ], Combobox$1.prototype, "placeholder", void 0);
8869
- __decorate$1([
8891
+ __decorate([
8870
8892
  attr({ attribute: "position" })
8871
8893
  ], Combobox$1.prototype, "positionAttribute", void 0);
8872
- __decorate$1([
8894
+ __decorate([
8873
8895
  observable
8874
8896
  ], Combobox$1.prototype, "position", void 0);
8875
8897
  /**
@@ -8879,10 +8901,10 @@
8879
8901
  */
8880
8902
  class DelegatesARIACombobox {
8881
8903
  }
8882
- __decorate$1([
8904
+ __decorate([
8883
8905
  observable
8884
8906
  ], DelegatesARIACombobox.prototype, "ariaAutoComplete", void 0);
8885
- __decorate$1([
8907
+ __decorate([
8886
8908
  observable
8887
8909
  ], DelegatesARIACombobox.prototype, "ariaControls", void 0);
8888
8910
  applyMixins(DelegatesARIACombobox, DelegatesARIAListbox);
@@ -9106,7 +9128,7 @@
9106
9128
  }
9107
9129
  }
9108
9130
  }
9109
- __decorate$1([
9131
+ __decorate([
9110
9132
  observable
9111
9133
  ], StyleElementStyleSheetTarget.prototype, "target", void 0);
9112
9134
  /**
@@ -9766,7 +9788,7 @@
9766
9788
  * Responsible for reflecting tokens to CSS custom properties
9767
9789
  */
9768
9790
  DesignTokenNode.cssCustomPropertyReflector = new CustomPropertyReflector();
9769
- __decorate$1([
9791
+ __decorate([
9770
9792
  observable
9771
9793
  ], DesignTokenNode.prototype, "children", void 0);
9772
9794
  function create(nameOrConfig) {
@@ -10707,13 +10729,13 @@
10707
10729
  }
10708
10730
  }
10709
10731
  }
10710
- __decorate$1([
10732
+ __decorate([
10711
10733
  observable
10712
10734
  ], ListboxElement.prototype, "activeIndex", void 0);
10713
- __decorate$1([
10735
+ __decorate([
10714
10736
  attr({ mode: "boolean" })
10715
10737
  ], ListboxElement.prototype, "multiple", void 0);
10716
- __decorate$1([
10738
+ __decorate([
10717
10739
  attr({ converter: nullableNumberConverter })
10718
10740
  ], ListboxElement.prototype, "size", void 0);
10719
10741
 
@@ -10958,31 +10980,31 @@
10958
10980
  return Array.from(this.children).filter(child => !child.hasAttribute("hidden"));
10959
10981
  }
10960
10982
  }
10961
- __decorate$1([
10983
+ __decorate([
10962
10984
  attr({ mode: "boolean" })
10963
10985
  ], MenuItem$1.prototype, "disabled", void 0);
10964
- __decorate$1([
10986
+ __decorate([
10965
10987
  attr({ mode: "boolean" })
10966
10988
  ], MenuItem$1.prototype, "expanded", void 0);
10967
- __decorate$1([
10989
+ __decorate([
10968
10990
  observable
10969
10991
  ], MenuItem$1.prototype, "startColumnCount", void 0);
10970
- __decorate$1([
10992
+ __decorate([
10971
10993
  attr
10972
10994
  ], MenuItem$1.prototype, "role", void 0);
10973
- __decorate$1([
10995
+ __decorate([
10974
10996
  attr({ mode: "boolean" })
10975
10997
  ], MenuItem$1.prototype, "checked", void 0);
10976
- __decorate$1([
10998
+ __decorate([
10977
10999
  observable
10978
11000
  ], MenuItem$1.prototype, "submenuRegion", void 0);
10979
- __decorate$1([
11001
+ __decorate([
10980
11002
  observable
10981
11003
  ], MenuItem$1.prototype, "hasSubmenu", void 0);
10982
- __decorate$1([
11004
+ __decorate([
10983
11005
  observable
10984
11006
  ], MenuItem$1.prototype, "currentDirection", void 0);
10985
- __decorate$1([
11007
+ __decorate([
10986
11008
  observable
10987
11009
  ], MenuItem$1.prototype, "submenu", void 0);
10988
11010
  applyMixins(MenuItem$1, StartEnd);
@@ -11359,7 +11381,7 @@
11359
11381
  }
11360
11382
  }
11361
11383
  Menu$1.focusableElementRoles = roleForMenuItem;
11362
- __decorate$1([
11384
+ __decorate([
11363
11385
  observable
11364
11386
  ], Menu$1.prototype, "items", void 0);
11365
11387
 
@@ -11621,37 +11643,37 @@
11621
11643
  super.validate(this.control);
11622
11644
  }
11623
11645
  }
11624
- __decorate$1([
11646
+ __decorate([
11625
11647
  attr({ attribute: "readonly", mode: "boolean" })
11626
11648
  ], TextField$1.prototype, "readOnly", void 0);
11627
- __decorate$1([
11649
+ __decorate([
11628
11650
  attr({ mode: "boolean" })
11629
11651
  ], TextField$1.prototype, "autofocus", void 0);
11630
- __decorate$1([
11652
+ __decorate([
11631
11653
  attr
11632
11654
  ], TextField$1.prototype, "placeholder", void 0);
11633
- __decorate$1([
11655
+ __decorate([
11634
11656
  attr
11635
11657
  ], TextField$1.prototype, "type", void 0);
11636
- __decorate$1([
11658
+ __decorate([
11637
11659
  attr
11638
11660
  ], TextField$1.prototype, "list", void 0);
11639
- __decorate$1([
11661
+ __decorate([
11640
11662
  attr({ converter: nullableNumberConverter })
11641
11663
  ], TextField$1.prototype, "maxlength", void 0);
11642
- __decorate$1([
11664
+ __decorate([
11643
11665
  attr({ converter: nullableNumberConverter })
11644
11666
  ], TextField$1.prototype, "minlength", void 0);
11645
- __decorate$1([
11667
+ __decorate([
11646
11668
  attr
11647
11669
  ], TextField$1.prototype, "pattern", void 0);
11648
- __decorate$1([
11670
+ __decorate([
11649
11671
  attr({ converter: nullableNumberConverter })
11650
11672
  ], TextField$1.prototype, "size", void 0);
11651
- __decorate$1([
11673
+ __decorate([
11652
11674
  attr({ mode: "boolean" })
11653
11675
  ], TextField$1.prototype, "spellcheck", void 0);
11654
- __decorate$1([
11676
+ __decorate([
11655
11677
  observable
11656
11678
  ], TextField$1.prototype, "defaultSlottedNodes", void 0);
11657
11679
  /**
@@ -11922,40 +11944,40 @@
11922
11944
  this.control.value = this.value;
11923
11945
  }
11924
11946
  }
11925
- __decorate$1([
11947
+ __decorate([
11926
11948
  attr({ attribute: "readonly", mode: "boolean" })
11927
11949
  ], NumberField$1.prototype, "readOnly", void 0);
11928
- __decorate$1([
11950
+ __decorate([
11929
11951
  attr({ mode: "boolean" })
11930
11952
  ], NumberField$1.prototype, "autofocus", void 0);
11931
- __decorate$1([
11953
+ __decorate([
11932
11954
  attr({ attribute: "hide-step", mode: "boolean" })
11933
11955
  ], NumberField$1.prototype, "hideStep", void 0);
11934
- __decorate$1([
11956
+ __decorate([
11935
11957
  attr
11936
11958
  ], NumberField$1.prototype, "placeholder", void 0);
11937
- __decorate$1([
11959
+ __decorate([
11938
11960
  attr
11939
11961
  ], NumberField$1.prototype, "list", void 0);
11940
- __decorate$1([
11962
+ __decorate([
11941
11963
  attr({ converter: nullableNumberConverter })
11942
11964
  ], NumberField$1.prototype, "maxlength", void 0);
11943
- __decorate$1([
11965
+ __decorate([
11944
11966
  attr({ converter: nullableNumberConverter })
11945
11967
  ], NumberField$1.prototype, "minlength", void 0);
11946
- __decorate$1([
11968
+ __decorate([
11947
11969
  attr({ converter: nullableNumberConverter })
11948
11970
  ], NumberField$1.prototype, "size", void 0);
11949
- __decorate$1([
11971
+ __decorate([
11950
11972
  attr({ converter: nullableNumberConverter })
11951
11973
  ], NumberField$1.prototype, "step", void 0);
11952
- __decorate$1([
11974
+ __decorate([
11953
11975
  attr({ converter: nullableNumberConverter })
11954
11976
  ], NumberField$1.prototype, "max", void 0);
11955
- __decorate$1([
11977
+ __decorate([
11956
11978
  attr({ converter: nullableNumberConverter })
11957
11979
  ], NumberField$1.prototype, "min", void 0);
11958
- __decorate$1([
11980
+ __decorate([
11959
11981
  observable
11960
11982
  ], NumberField$1.prototype, "defaultSlottedNodes", void 0);
11961
11983
  applyMixins(NumberField$1, StartEnd, DelegatesARIATextbox);
@@ -12352,25 +12374,25 @@
12352
12374
  }
12353
12375
  }
12354
12376
  }
12355
- __decorate$1([
12377
+ __decorate([
12356
12378
  attr({ attribute: "readonly", mode: "boolean" })
12357
12379
  ], RadioGroup$1.prototype, "readOnly", void 0);
12358
- __decorate$1([
12380
+ __decorate([
12359
12381
  attr({ attribute: "disabled", mode: "boolean" })
12360
12382
  ], RadioGroup$1.prototype, "disabled", void 0);
12361
- __decorate$1([
12383
+ __decorate([
12362
12384
  attr
12363
12385
  ], RadioGroup$1.prototype, "name", void 0);
12364
- __decorate$1([
12386
+ __decorate([
12365
12387
  attr
12366
12388
  ], RadioGroup$1.prototype, "value", void 0);
12367
- __decorate$1([
12389
+ __decorate([
12368
12390
  attr
12369
12391
  ], RadioGroup$1.prototype, "orientation", void 0);
12370
- __decorate$1([
12392
+ __decorate([
12371
12393
  observable
12372
12394
  ], RadioGroup$1.prototype, "childItems", void 0);
12373
- __decorate$1([
12395
+ __decorate([
12374
12396
  observable
12375
12397
  ], RadioGroup$1.prototype, "slottedRadioButtons", void 0);
12376
12398
 
@@ -12514,13 +12536,13 @@
12514
12536
  }
12515
12537
  }
12516
12538
  }
12517
- __decorate$1([
12539
+ __decorate([
12518
12540
  attr({ attribute: "readonly", mode: "boolean" })
12519
12541
  ], Radio$1.prototype, "readOnly", void 0);
12520
- __decorate$1([
12542
+ __decorate([
12521
12543
  observable
12522
12544
  ], Radio$1.prototype, "name", void 0);
12523
- __decorate$1([
12545
+ __decorate([
12524
12546
  observable
12525
12547
  ], Radio$1.prototype, "defaultSlottedNodes", void 0);
12526
12548
 
@@ -13004,22 +13026,22 @@
13004
13026
  }
13005
13027
  }
13006
13028
  }
13007
- __decorate$1([
13029
+ __decorate([
13008
13030
  attr({ attribute: "open", mode: "boolean" })
13009
13031
  ], Select$1.prototype, "open", void 0);
13010
- __decorate$1([
13032
+ __decorate([
13011
13033
  volatile
13012
13034
  ], Select$1.prototype, "collapsible", null);
13013
- __decorate$1([
13035
+ __decorate([
13014
13036
  observable
13015
13037
  ], Select$1.prototype, "control", void 0);
13016
- __decorate$1([
13038
+ __decorate([
13017
13039
  attr({ attribute: "position" })
13018
13040
  ], Select$1.prototype, "positionAttribute", void 0);
13019
- __decorate$1([
13041
+ __decorate([
13020
13042
  observable
13021
13043
  ], Select$1.prototype, "position", void 0);
13022
- __decorate$1([
13044
+ __decorate([
13023
13045
  observable
13024
13046
  ], Select$1.prototype, "maxHeight", void 0);
13025
13047
  /**
@@ -13029,7 +13051,7 @@
13029
13051
  */
13030
13052
  class DelegatesARIASelect {
13031
13053
  }
13032
- __decorate$1([
13054
+ __decorate([
13033
13055
  observable
13034
13056
  ], DelegatesARIASelect.prototype, "ariaControls", void 0);
13035
13057
  applyMixins(DelegatesARIASelect, DelegatesARIAListbox);
@@ -13188,10 +13210,10 @@
13188
13210
  this.checked ? this.classList.add("checked") : this.classList.remove("checked");
13189
13211
  }
13190
13212
  }
13191
- __decorate$1([
13213
+ __decorate([
13192
13214
  attr({ attribute: "readonly", mode: "boolean" })
13193
13215
  ], Switch$1.prototype, "readOnly", void 0);
13194
- __decorate$1([
13216
+ __decorate([
13195
13217
  observable
13196
13218
  ], Switch$1.prototype, "defaultSlottedNodes", void 0);
13197
13219
 
@@ -13234,7 +13256,7 @@
13234
13256
  */
13235
13257
  class Tab$1 extends FoundationElement {
13236
13258
  }
13237
- __decorate$1([
13259
+ __decorate([
13238
13260
  attr({ mode: "boolean" })
13239
13261
  ], Tab$1.prototype, "disabled", void 0);
13240
13262
 
@@ -13601,25 +13623,25 @@
13601
13623
  this.activeTabIndex = this.getActiveIndex();
13602
13624
  }
13603
13625
  }
13604
- __decorate$1([
13626
+ __decorate([
13605
13627
  attr
13606
13628
  ], Tabs$1.prototype, "orientation", void 0);
13607
- __decorate$1([
13629
+ __decorate([
13608
13630
  attr
13609
13631
  ], Tabs$1.prototype, "activeid", void 0);
13610
- __decorate$1([
13632
+ __decorate([
13611
13633
  observable
13612
13634
  ], Tabs$1.prototype, "tabs", void 0);
13613
- __decorate$1([
13635
+ __decorate([
13614
13636
  observable
13615
13637
  ], Tabs$1.prototype, "tabpanels", void 0);
13616
- __decorate$1([
13638
+ __decorate([
13617
13639
  attr({ mode: "boolean" })
13618
13640
  ], Tabs$1.prototype, "activeindicator", void 0);
13619
- __decorate$1([
13641
+ __decorate([
13620
13642
  observable
13621
13643
  ], Tabs$1.prototype, "activeIndicatorRef", void 0);
13622
- __decorate$1([
13644
+ __decorate([
13623
13645
  observable
13624
13646
  ], Tabs$1.prototype, "showActiveIndicator", void 0);
13625
13647
  applyMixins(Tabs$1, StartEnd);
@@ -13760,43 +13782,43 @@
13760
13782
  super.validate(this.control);
13761
13783
  }
13762
13784
  }
13763
- __decorate$1([
13785
+ __decorate([
13764
13786
  attr({ mode: "boolean" })
13765
13787
  ], TextArea$1.prototype, "readOnly", void 0);
13766
- __decorate$1([
13788
+ __decorate([
13767
13789
  attr
13768
13790
  ], TextArea$1.prototype, "resize", void 0);
13769
- __decorate$1([
13791
+ __decorate([
13770
13792
  attr({ mode: "boolean" })
13771
13793
  ], TextArea$1.prototype, "autofocus", void 0);
13772
- __decorate$1([
13794
+ __decorate([
13773
13795
  attr({ attribute: "form" })
13774
13796
  ], TextArea$1.prototype, "formId", void 0);
13775
- __decorate$1([
13797
+ __decorate([
13776
13798
  attr
13777
13799
  ], TextArea$1.prototype, "list", void 0);
13778
- __decorate$1([
13800
+ __decorate([
13779
13801
  attr({ converter: nullableNumberConverter })
13780
13802
  ], TextArea$1.prototype, "maxlength", void 0);
13781
- __decorate$1([
13803
+ __decorate([
13782
13804
  attr({ converter: nullableNumberConverter })
13783
13805
  ], TextArea$1.prototype, "minlength", void 0);
13784
- __decorate$1([
13806
+ __decorate([
13785
13807
  attr
13786
13808
  ], TextArea$1.prototype, "name", void 0);
13787
- __decorate$1([
13809
+ __decorate([
13788
13810
  attr
13789
13811
  ], TextArea$1.prototype, "placeholder", void 0);
13790
- __decorate$1([
13812
+ __decorate([
13791
13813
  attr({ converter: nullableNumberConverter, mode: "fromView" })
13792
13814
  ], TextArea$1.prototype, "cols", void 0);
13793
- __decorate$1([
13815
+ __decorate([
13794
13816
  attr({ converter: nullableNumberConverter, mode: "fromView" })
13795
13817
  ], TextArea$1.prototype, "rows", void 0);
13796
- __decorate$1([
13818
+ __decorate([
13797
13819
  attr({ mode: "boolean" })
13798
13820
  ], TextArea$1.prototype, "spellcheck", void 0);
13799
- __decorate$1([
13821
+ __decorate([
13800
13822
  observable
13801
13823
  ], TextArea$1.prototype, "defaultSlottedNodes", void 0);
13802
13824
  applyMixins(TextArea$1, DelegatesARIATextbox);
@@ -14195,19 +14217,19 @@
14195
14217
  }
14196
14218
  }
14197
14219
  }
14198
- __decorate$1([
14220
+ __decorate([
14199
14221
  observable
14200
14222
  ], Toolbar$1.prototype, "direction", void 0);
14201
- __decorate$1([
14223
+ __decorate([
14202
14224
  attr
14203
14225
  ], Toolbar$1.prototype, "orientation", void 0);
14204
- __decorate$1([
14226
+ __decorate([
14205
14227
  observable
14206
14228
  ], Toolbar$1.prototype, "slottedItems", void 0);
14207
- __decorate$1([
14229
+ __decorate([
14208
14230
  observable
14209
14231
  ], Toolbar$1.prototype, "slottedLabel", void 0);
14210
- __decorate$1([
14232
+ __decorate([
14211
14233
  observable
14212
14234
  ], Toolbar$1.prototype, "childItems", void 0);
14213
14235
  /**
@@ -14217,10 +14239,10 @@
14217
14239
  */
14218
14240
  class DelegatesARIAToolbar {
14219
14241
  }
14220
- __decorate$1([
14242
+ __decorate([
14221
14243
  attr({ attribute: "aria-labelledby" })
14222
14244
  ], DelegatesARIAToolbar.prototype, "ariaLabelledby", void 0);
14223
- __decorate$1([
14245
+ __decorate([
14224
14246
  attr({ attribute: "aria-label" })
14225
14247
  ], DelegatesARIAToolbar.prototype, "ariaLabel", void 0);
14226
14248
  applyMixins(DelegatesARIAToolbar, ARIAGlobalStatesAndProperties);
@@ -14738,61 +14760,61 @@
14738
14760
  }
14739
14761
  }
14740
14762
  }
14741
- __decorate$1([
14763
+ __decorate([
14742
14764
  attr({ mode: "boolean" })
14743
14765
  ], Tooltip$1.prototype, "visible", void 0);
14744
- __decorate$1([
14766
+ __decorate([
14745
14767
  attr
14746
14768
  ], Tooltip$1.prototype, "anchor", void 0);
14747
- __decorate$1([
14769
+ __decorate([
14748
14770
  attr
14749
14771
  ], Tooltip$1.prototype, "delay", void 0);
14750
- __decorate$1([
14772
+ __decorate([
14751
14773
  attr
14752
14774
  ], Tooltip$1.prototype, "position", void 0);
14753
- __decorate$1([
14775
+ __decorate([
14754
14776
  attr({ attribute: "auto-update-mode" })
14755
14777
  ], Tooltip$1.prototype, "autoUpdateMode", void 0);
14756
- __decorate$1([
14778
+ __decorate([
14757
14779
  attr({ attribute: "horizontal-viewport-lock" })
14758
14780
  ], Tooltip$1.prototype, "horizontalViewportLock", void 0);
14759
- __decorate$1([
14781
+ __decorate([
14760
14782
  attr({ attribute: "vertical-viewport-lock" })
14761
14783
  ], Tooltip$1.prototype, "verticalViewportLock", void 0);
14762
- __decorate$1([
14784
+ __decorate([
14763
14785
  observable
14764
14786
  ], Tooltip$1.prototype, "anchorElement", void 0);
14765
- __decorate$1([
14787
+ __decorate([
14766
14788
  observable
14767
14789
  ], Tooltip$1.prototype, "viewportElement", void 0);
14768
- __decorate$1([
14790
+ __decorate([
14769
14791
  observable
14770
14792
  ], Tooltip$1.prototype, "verticalPositioningMode", void 0);
14771
- __decorate$1([
14793
+ __decorate([
14772
14794
  observable
14773
14795
  ], Tooltip$1.prototype, "horizontalPositioningMode", void 0);
14774
- __decorate$1([
14796
+ __decorate([
14775
14797
  observable
14776
14798
  ], Tooltip$1.prototype, "horizontalInset", void 0);
14777
- __decorate$1([
14799
+ __decorate([
14778
14800
  observable
14779
14801
  ], Tooltip$1.prototype, "verticalInset", void 0);
14780
- __decorate$1([
14802
+ __decorate([
14781
14803
  observable
14782
14804
  ], Tooltip$1.prototype, "horizontalScaling", void 0);
14783
- __decorate$1([
14805
+ __decorate([
14784
14806
  observable
14785
14807
  ], Tooltip$1.prototype, "verticalScaling", void 0);
14786
- __decorate$1([
14808
+ __decorate([
14787
14809
  observable
14788
14810
  ], Tooltip$1.prototype, "verticalDefaultPosition", void 0);
14789
- __decorate$1([
14811
+ __decorate([
14790
14812
  observable
14791
14813
  ], Tooltip$1.prototype, "horizontalDefaultPosition", void 0);
14792
- __decorate$1([
14814
+ __decorate([
14793
14815
  observable
14794
14816
  ], Tooltip$1.prototype, "tooltipVisible", void 0);
14795
- __decorate$1([
14817
+ __decorate([
14796
14818
  observable
14797
14819
  ], Tooltip$1.prototype, "currentDirection", void 0);
14798
14820
 
@@ -14966,28 +14988,28 @@
14966
14988
  return treeChildren ? treeChildren.length : 0;
14967
14989
  }
14968
14990
  }
14969
- __decorate$1([
14991
+ __decorate([
14970
14992
  attr({ mode: "boolean" })
14971
14993
  ], TreeItem$1.prototype, "expanded", void 0);
14972
- __decorate$1([
14994
+ __decorate([
14973
14995
  attr({ mode: "boolean" })
14974
14996
  ], TreeItem$1.prototype, "selected", void 0);
14975
- __decorate$1([
14997
+ __decorate([
14976
14998
  attr({ mode: "boolean" })
14977
14999
  ], TreeItem$1.prototype, "disabled", void 0);
14978
- __decorate$1([
15000
+ __decorate([
14979
15001
  observable
14980
15002
  ], TreeItem$1.prototype, "focusable", void 0);
14981
- __decorate$1([
15003
+ __decorate([
14982
15004
  observable
14983
15005
  ], TreeItem$1.prototype, "childItems", void 0);
14984
- __decorate$1([
15006
+ __decorate([
14985
15007
  observable
14986
15008
  ], TreeItem$1.prototype, "items", void 0);
14987
- __decorate$1([
15009
+ __decorate([
14988
15010
  observable
14989
15011
  ], TreeItem$1.prototype, "nested", void 0);
14990
- __decorate$1([
15012
+ __decorate([
14991
15013
  observable
14992
15014
  ], TreeItem$1.prototype, "renderCollapsedChildren", void 0);
14993
15015
  applyMixins(TreeItem$1, StartEnd);
@@ -15264,13 +15286,13 @@
15264
15286
  return getDisplayedNodes(this, "[role='treeitem']") || [];
15265
15287
  }
15266
15288
  }
15267
- __decorate$1([
15289
+ __decorate([
15268
15290
  attr({ attribute: "render-collapsed-nodes" })
15269
15291
  ], TreeView$1.prototype, "renderCollapsedNodes", void 0);
15270
- __decorate$1([
15292
+ __decorate([
15271
15293
  observable
15272
15294
  ], TreeView$1.prototype, "currentSelected", void 0);
15273
- __decorate$1([
15295
+ __decorate([
15274
15296
  observable
15275
15297
  ], TreeView$1.prototype, "slottedTreeItems", void 0);
15276
15298
 
@@ -15298,82 +15320,94 @@
15298
15320
  */
15299
15321
  const focusVisible$1 = canUseFocusVisible() ? "focus-visible" : "focus";
15300
15322
 
15301
- const styles$z = css `
15302
- :host {
15303
- contain: layout;
15304
- display: block;
15305
- z-index: 1000;
15306
- }
15307
- `;
15308
-
15309
- // When the anchor element changes position on the page, it is the client's responsibility to update the position
15310
- // of the anchored region by calling update() on the anchored region.
15311
- //
15312
- // When the anchor element is recreated on the page, it is the client's responsibility to reset the reference the
15313
- // anchored region has to the anchor element. This can be done by either recreating the anchor element with a new
15314
- // ID that is also set as the \`anchor\` attribute on the anchored region or by explicitly setting the value of
15315
- // anchorElement on the anchored region to the new anchor element.
15316
15323
  /**
15317
- * A nimble-styled anchored region control.
15324
+ * Exported base class of link-like types
15318
15325
  */
15319
- class AnchoredRegion extends AnchoredRegion$1 {
15320
- }
15321
- const nimbleAnchoredRegion = AnchoredRegion.compose({
15322
- baseName: 'anchored-region',
15323
- baseClass: AnchoredRegion$1,
15324
- template: anchoredRegionTemplate,
15325
- styles: styles$z
15326
- });
15327
- DesignSystem.getOrCreate()
15328
- .withPrefix('nimble')
15329
- .register(nimbleAnchoredRegion());
15330
-
15331
- /******************************************************************************
15332
- Copyright (c) Microsoft Corporation.
15333
-
15334
- Permission to use, copy, modify, and/or distribute this software for any
15335
- purpose with or without fee is hereby granted.
15336
-
15337
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15338
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15339
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15340
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15341
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15342
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15343
- PERFORMANCE OF THIS SOFTWARE.
15344
- ***************************************************************************** */
15345
-
15346
- function __decorate(decorators, target, key, desc) {
15347
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15348
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15349
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15350
- return c > 3 && r && Object.defineProperty(target, key, r), r;
15326
+ class AnchorBase extends Anchor$1 {
15351
15327
  }
15352
15328
 
15353
15329
  /**
15354
- * Do not edit directly
15355
- * Generated on Thu, 20 Oct 2022 19:57:29 GMT
15330
+ * This file is a workaround for: https://github.com/prettier/prettier/issues/11400
15356
15331
  */
15357
- const Information100DarkUi = "#a46eff";
15358
- const Information100LightUi = "#804ad9";
15359
- const Warning100DarkUi = "#ff8126";
15360
- const Pass100LightUi = "#009921";
15361
- const Pass100DarkUi = "#00c12b";
15362
- const Fail100LightUi = "#c4000c";
15363
- const Fail100DarkUi = "#ff4646";
15364
- const Black75 = "#818386";
15365
- const Black15 = "#f1f1f2";
15366
- const Black7 = "#f5f5f5";
15367
- const White = "#ffffff";
15368
- const Black88 = "#252526";
15369
- const Black85 = "#363738";
15370
- const Black80 = "#505153";
15371
- const Black = "#000000";
15372
- const Black91 = "#161617";
15373
- const ForestGreen = "#074023";
15374
- const DigitalGreenLight = "#009b65";
15375
- const BannerFail100DarkUi = "#d63434";
15376
- const Warning100LightUi = "#ff4b00";
15332
+ /**
15333
+ * The string representing the focus selector to be used. Value
15334
+ * will be ":focus-visible" when https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo
15335
+ * is supported and ":focus" when it is not.
15336
+ *
15337
+ * @public
15338
+ */
15339
+ const focusVisible = `:${focusVisible$1}`;
15340
+
15341
+ const hexCharacters = 'a-f\\d';
15342
+ const match3or4Hex = `#?[${hexCharacters}]{3}[${hexCharacters}]?`;
15343
+ const match6or8Hex = `#?[${hexCharacters}]{6}([${hexCharacters}]{2})?`;
15344
+ const nonHexChars = new RegExp(`[^#${hexCharacters}]`, 'gi');
15345
+ const validHexSize = new RegExp(`^${match3or4Hex}$|^${match6or8Hex}$`, 'i');
15346
+
15347
+ function hexRgb(hex, options = {}) {
15348
+ if (typeof hex !== 'string' || nonHexChars.test(hex) || !validHexSize.test(hex)) {
15349
+ throw new TypeError('Expected a valid hex string');
15350
+ }
15351
+
15352
+ hex = hex.replace(/^#/, '');
15353
+ let alphaFromHex = 1;
15354
+
15355
+ if (hex.length === 8) {
15356
+ alphaFromHex = Number.parseInt(hex.slice(6, 8), 16) / 255;
15357
+ hex = hex.slice(0, 6);
15358
+ }
15359
+
15360
+ if (hex.length === 4) {
15361
+ alphaFromHex = Number.parseInt(hex.slice(3, 4).repeat(2), 16) / 255;
15362
+ hex = hex.slice(0, 3);
15363
+ }
15364
+
15365
+ if (hex.length === 3) {
15366
+ hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
15367
+ }
15368
+
15369
+ const number = Number.parseInt(hex, 16);
15370
+ const red = number >> 16;
15371
+ const green = (number >> 8) & 255;
15372
+ const blue = number & 255;
15373
+ const alpha = typeof options.alpha === 'number' ? options.alpha : alphaFromHex;
15374
+
15375
+ if (options.format === 'array') {
15376
+ return [red, green, blue, alpha];
15377
+ }
15378
+
15379
+ if (options.format === 'css') {
15380
+ const alphaString = alpha === 1 ? '' : ` / ${Number((alpha * 100).toFixed(2))}%`;
15381
+ return `rgb(${red} ${green} ${blue}${alphaString})`;
15382
+ }
15383
+
15384
+ return {red, green, blue, alpha};
15385
+ }
15386
+
15387
+ /**
15388
+ * Do not edit directly
15389
+ * Generated on Thu, 20 Oct 2022 19:57:29 GMT
15390
+ */
15391
+ const Information100DarkUi = "#a46eff";
15392
+ const Information100LightUi = "#804ad9";
15393
+ const Warning100DarkUi = "#ff8126";
15394
+ const Pass100LightUi = "#009921";
15395
+ const Pass100DarkUi = "#00c12b";
15396
+ const Fail100LightUi = "#c4000c";
15397
+ const Fail100DarkUi = "#ff4646";
15398
+ const Black75 = "#818386";
15399
+ const Black15 = "#f1f1f2";
15400
+ const Black7 = "#f5f5f5";
15401
+ const White = "#ffffff";
15402
+ const Black88 = "#252526";
15403
+ const Black85 = "#363738";
15404
+ const Black80 = "#505153";
15405
+ const Black = "#000000";
15406
+ const Black91 = "#161617";
15407
+ const ForestGreen = "#074023";
15408
+ const DigitalGreenLight = "#009b65";
15409
+ const BannerFail100DarkUi = "#d63434";
15410
+ const Warning100LightUi = "#ff4b00";
15377
15411
  const DigitalGreenDark = "#006b46";
15378
15412
  const PowerGreen = "#32eb96";
15379
15413
  const Title2Family = "Source Sans Pro";
@@ -15443,52 +15477,6 @@
15443
15477
  const MediumDelay = "0.15s"; // Medium animation delay for control state change animation
15444
15478
  const LargeDelay = "0.25s"; // Long animation delay used for control state change animation
15445
15479
 
15446
- const hexCharacters = 'a-f\\d';
15447
- const match3or4Hex = `#?[${hexCharacters}]{3}[${hexCharacters}]?`;
15448
- const match6or8Hex = `#?[${hexCharacters}]{6}([${hexCharacters}]{2})?`;
15449
- const nonHexChars = new RegExp(`[^#${hexCharacters}]`, 'gi');
15450
- const validHexSize = new RegExp(`^${match3or4Hex}$|^${match6or8Hex}$`, 'i');
15451
-
15452
- function hexRgb(hex, options = {}) {
15453
- if (typeof hex !== 'string' || nonHexChars.test(hex) || !validHexSize.test(hex)) {
15454
- throw new TypeError('Expected a valid hex string');
15455
- }
15456
-
15457
- hex = hex.replace(/^#/, '');
15458
- let alphaFromHex = 1;
15459
-
15460
- if (hex.length === 8) {
15461
- alphaFromHex = Number.parseInt(hex.slice(6, 8), 16) / 255;
15462
- hex = hex.slice(0, 6);
15463
- }
15464
-
15465
- if (hex.length === 4) {
15466
- alphaFromHex = Number.parseInt(hex.slice(3, 4).repeat(2), 16) / 255;
15467
- hex = hex.slice(0, 3);
15468
- }
15469
-
15470
- if (hex.length === 3) {
15471
- hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
15472
- }
15473
-
15474
- const number = Number.parseInt(hex, 16);
15475
- const red = number >> 16;
15476
- const green = (number >> 8) & 255;
15477
- const blue = number & 255;
15478
- const alpha = typeof options.alpha === 'number' ? options.alpha : alphaFromHex;
15479
-
15480
- if (options.format === 'array') {
15481
- return [red, green, blue, alpha];
15482
- }
15483
-
15484
- if (options.format === 'css') {
15485
- const alphaString = alpha === 1 ? '' : ` / ${Number((alpha * 100).toFixed(2))}%`;
15486
- return `rgb(${red} ${green} ${blue}${alphaString})`;
15487
- }
15488
-
15489
- return {red, green, blue, alpha};
15490
- }
15491
-
15492
15480
  /**
15493
15481
  * Convert a hexadecimal color string to an RGBA CSS color string
15494
15482
  * Example: 'ff0102' or '#ff0102' to 'rgba(255, 1, 2, 1)'
@@ -15611,14 +15599,38 @@
15611
15599
  subtitleFontWeight: 'subtitle-font-weight',
15612
15600
  subtitleFontLineHeight: 'subtitle-font-line-height',
15613
15601
  subtitleFallbackFontFamily: 'subtitle-fallback-font-family',
15614
- linkStandardFont: 'link-standard-font',
15615
- linkStandardFontColor: 'link-standard-font-color',
15616
- linkStandardDisabledFontColor: 'link-standard-disabled-font-color',
15617
- linkStandardFontFamily: 'link-standard-font-family',
15618
- linkStandardFontSize: 'link-standard-font-size',
15619
- linkStandardFontWeight: 'link-standard-font-weight',
15620
- linkStandardFontLineHeight: 'link-standard-font-line-height',
15621
- linkStandardFallbackFontFamily: 'link-standard-fallback-font-family',
15602
+ linkFont: 'link-font',
15603
+ linkFontColor: 'link-font-color',
15604
+ linkDisabledFontColor: 'link-disabled-font-color',
15605
+ linkFontFamily: 'link-font-family',
15606
+ linkFontSize: 'link-font-size',
15607
+ linkFontWeight: 'link-font-weight',
15608
+ linkFontLineHeight: 'link-font-line-height',
15609
+ linkFallbackFontFamily: 'link-fallback-font-family',
15610
+ linkActiveFont: 'link-active-font',
15611
+ linkActiveFontColor: 'link-active-font-color',
15612
+ linkActiveDisabledFontColor: 'link-active-disabled-font-color',
15613
+ linkActiveFontFamily: 'link-active-font-family',
15614
+ linkActiveFontSize: 'link-active-font-size',
15615
+ linkActiveFontWeight: 'link-active-font-weight',
15616
+ linkActiveFontLineHeight: 'link-active-font-line-height',
15617
+ linkActiveFallbackFontFamily: 'link-active-fallback-font-family',
15618
+ linkProminentFont: 'link-prominent-font',
15619
+ linkProminentFontColor: 'link-prominent-font-color',
15620
+ linkProminentDisabledFontColor: 'link-prominent-disabled-font-color',
15621
+ linkProminentFontFamily: 'link-prominent-font-family',
15622
+ linkProminentFontSize: 'link-prominent-font-size',
15623
+ linkProminentFontWeight: 'link-prominent-font-weight',
15624
+ linkProminentFontLineHeight: 'link-prominent-font-line-height',
15625
+ linkProminentFallbackFontFamily: 'link-prominent-fallback-font-family',
15626
+ linkActiveProminentFont: 'link-active-prominent-font',
15627
+ linkActiveProminentFontColor: 'link-active-prominent-font-color',
15628
+ linkActiveProminentDisabledFontColor: 'link-active-prominent-disabled-font-color',
15629
+ linkActiveProminentFontFamily: 'link-active-prominent-font-family',
15630
+ linkActiveProminentFontSize: 'link-active-prominent-font-size',
15631
+ linkActiveProminentFontWeight: 'link-active-prominent-font-weight',
15632
+ linkActiveProminentFontLineHeight: 'link-active-prominent-font-line-height',
15633
+ linkActiveProminentFallbackFontFamily: 'link-active-prominent-fallback-font-family',
15622
15634
  placeholderFont: 'placeholder-font',
15623
15635
  placeholderFontColor: 'placeholder-font-color',
15624
15636
  placeholderDisabledFontColor: 'placeholder-disabled-font-color',
@@ -15688,9 +15700,9 @@
15688
15700
  const prefix = 'ni-nimble';
15689
15701
  const styleNameFromTokenName = (tokenName) => `${prefix}-${tokenName}`;
15690
15702
 
15691
- const template$a = html `<slot></slot>`;
15703
+ const template$c = html `<slot></slot>`;
15692
15704
 
15693
- const styles$y = css `
15705
+ const styles$B = css `
15694
15706
  :host {
15695
15707
  display: contents;
15696
15708
  }
@@ -15734,20 +15746,20 @@
15734
15746
  }
15735
15747
  }
15736
15748
  }
15737
- __decorate([
15749
+ __decorate$1([
15738
15750
  attr({
15739
15751
  attribute: 'direction'
15740
15752
  })
15741
15753
  ], ThemeProvider.prototype, "direction", void 0);
15742
- __decorate([
15754
+ __decorate$1([
15743
15755
  attr({
15744
15756
  attribute: 'theme'
15745
15757
  })
15746
15758
  ], ThemeProvider.prototype, "theme", void 0);
15747
15759
  const nimbleDesignSystemProvider = ThemeProvider.compose({
15748
15760
  baseName: 'theme-provider',
15749
- styles: styles$y,
15750
- template: template$a
15761
+ styles: styles$B,
15762
+ template: template$c
15751
15763
  });
15752
15764
  DesignSystem.getOrCreate()
15753
15765
  .withPrefix('nimble')
@@ -15793,7 +15805,10 @@
15793
15805
  createFontTokens(tokenNames.titleFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), Title1Family, Title1Weight, Title1Size, Title1LineHeight, 'sans-serif');
15794
15806
  createFontTokens(tokenNames.subtitlePlus1Font, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), Subtitle2Family, Subtitle2Weight, Subtitle2Size, Subtitle2LineHeight, 'sans-serif');
15795
15807
  const [subtitleFont, subtitleFontColor, subtitleDisabledFontColor, subtitleFontFamily, subtitleFontWeight, subtitleFontSize, subtitleFontLineHeight, subtitleFallbackFontFamily] = createFontTokens(tokenNames.subtitleFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), Subtitle1Family, Subtitle1Weight, Subtitle1Size, Subtitle1LineHeight, 'sans-serif');
15796
- createFontTokens(tokenNames.linkStandardFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), LinkLightUiFamily, LinkLightUiWeight, LinkLightUiSize, LinkLineHeight, 'sans-serif');
15808
+ const [linkFont, linkFontColor, linkDisabledFontColor, linkFontFamily, linkFontWeight, linkFontSize, linkFontLineHeight, linkFallbackFontFamily] = createFontTokens(tokenNames.linkFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), LinkLightUiFamily, LinkLightUiWeight, LinkLightUiSize, LinkLineHeight, 'sans-serif');
15809
+ const [linkActiveFont, linkActiveFontColor, linkActiveDisabledFontColor, linkActiveFontFamily, linkActiveFontWeight, linkActiveFontSize, linkActiveFontLineHeight, linkActiveFallbackFontFamily] = createFontTokens(tokenNames.linkActiveFont, (element) => getColorForTheme(element, DigitalGreenDark, PowerGreen, hexToRgbaCssColor(White, 0.6)), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), LinkLightUiFamily, LinkLightUiWeight, LinkLightUiSize, LinkLineHeight, 'sans-serif');
15810
+ const [linkProminentFont, linkProminentFontColor, linkProminentDisabledFontColor, linkProminentFontFamily, linkProminentFontWeight, linkProminentFontSize, linkProminentFontLineHeight, linkProminentFallbackFontFamily] = createFontTokens(tokenNames.linkProminentFont, (element) => getColorForTheme(element, DigitalGreenDark, PowerGreen, PowerGreen), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), LinkLightUiFamily, LinkLightUiWeight, LinkLightUiSize, LinkLineHeight, 'sans-serif');
15811
+ const [linkActiveProminentFont, linkActiveProminentFontColor, linkActiveProminentDisabledFontColor, linkActiveProminentFontFamily, linkActiveProminentFontWeight, linkActiveProminentFontSize, linkActiveProminentFontLineHeight, linkActiveProminentFallbackFontFamily] = createFontTokens(tokenNames.linkActiveProminentFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), LinkLightUiFamily, LinkLightUiWeight, LinkLightUiSize, LinkLineHeight, 'sans-serif');
15797
15812
  const [placeholderFont, placeholderFontColor, placeholderDisabledFontColor, placeholderFontFamily, placeholderFontWeight, placeholderFontSize, placeholderFontLineHeight, placeholderFallbackFontFamily] = createFontTokens(tokenNames.placeholderFont, (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), PlaceholderFamily, PlaceholderWeight, PlaceholderSize, PlaceholderLineHeight, 'sans-serif');
15798
15813
  const [bodyEmphasizedFont, bodyEmphasizedFontColor, bodyEmphasizedDisabledFontColor, bodyEmphasizedFontFamily, bodyEmphasizedFontWeight, bodyEmphasizedFontSize, bodyEmphasizedFontLineHeight, bodyEmphasizedFallbackFontFamily] = createFontTokens(tokenNames.bodyEmphasizedFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), BodyEmphasizedFamily, BodyEmphasizedWeight, BodyEmphasizedSize, BodyEmphasizedLineHeight, 'sans-serif');
15799
15814
  const [bodyFont, bodyFontColor, bodyDisabledFontColor, bodyFontFamily, bodyFontWeight, bodyFontSize, bodyFontLineHeight, bodyFallbackFontFamily] = createFontTokens(tokenNames.bodyFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), BodyFamily, BodyWeight, BodySize, BodyLineHeight, 'sans-serif');
@@ -15898,145 +15913,702 @@
15898
15913
  }
15899
15914
  }
15900
15915
 
15901
- /**
15902
- * Subscription for {@link ThemeStyleSheetBehavior}
15903
- */
15904
- class ThemeStyleSheetBehaviorSubscription {
15905
- constructor(value, styles, source) {
15906
- this.value = value;
15907
- this.styles = styles;
15908
- this.source = source;
15909
- }
15910
- handleChange() {
15911
- const theme$1 = theme.getValueFor(this.source);
15912
- if (Array.isArray(this.value)
15913
- ? this.value.includes(theme$1)
15914
- : this.value === theme$1) {
15915
- this.source.$fastController.addStyles(this.styles);
15916
- }
15917
- else {
15918
- this.source.$fastController.removeStyles(this.styles);
15919
- }
15920
- }
15921
- }
15922
- /**
15923
- * Behavior to conditionally apply theme-based stylesheets.
15924
- */
15925
- class ThemeStyleSheetBehavior {
15926
- constructor(theme, styles) {
15927
- this.theme = theme;
15928
- this.styles = styles;
15929
- this.cache = new WeakMap();
15930
- }
15931
- /**
15932
- * @internal
15933
- */
15934
- bind(source) {
15935
- const subscriber = this.cache.get(source)
15936
- || new ThemeStyleSheetBehaviorSubscription(this.theme, this.styles, source);
15937
- // Currently subscriber from cache may have gone through unbind
15938
- // but still be in cache so always resubscribe
15939
- // See: https://github.com/microsoft/fast/issues/3246#issuecomment-1030424876
15940
- theme.subscribe(subscriber, source);
15941
- subscriber.handleChange();
15942
- this.cache.set(source, subscriber);
15943
- }
15944
- /**
15945
- * @internal
15946
- */
15947
- unbind(source) {
15948
- const subscriber = this.cache.get(source);
15949
- if (subscriber) {
15950
- theme.unsubscribe(subscriber);
15951
- }
15952
- // Currently does not evict subscriber from cache
15953
- // See: https://github.com/microsoft/fast/issues/3246#issuecomment-1030424876
15954
- }
15955
- }
15956
- /**
15957
- * Behavior to conditionally apply theme-based stylesheets. To determine which to apply,
15958
- * the behavior will use the nearest ThemeProvider's 'theme' design system value.
15959
- *
15960
- * @public
15961
- * @example
15962
- * ```ts
15963
- * css`
15964
- * // ...
15965
- * `.withBehaviors(
15966
- * themeBehavior(Theme.light, css` ... `),
15967
- * // Apply style for both dark and color theme
15968
- * themeBehavior([Theme.dark, Theme.color], css` ... `)
15969
- * )
15970
- * ```
15971
- */
15972
- const themeBehavior = (theme, styles) => new ThemeStyleSheetBehavior(theme, styles);
15973
-
15974
- const styles$x = css `
15975
- ${display('inline-block')}
15916
+ const styles$A = css `
15917
+ ${display('inline')}
15976
15918
 
15977
15919
  :host {
15978
15920
  box-sizing: border-box;
15979
- font: ${bodyFont};
15980
- --ni-private-breadcrumb-link-font-color: ${bodyFontColor};
15921
+ font: ${linkFont};
15981
15922
  }
15982
15923
 
15983
- .list {
15984
- display: flex;
15985
- flex-wrap: wrap;
15924
+ [part='start'] {
15925
+ display: none;
15986
15926
  }
15987
15927
 
15988
- :host([appearance='prominent']) {
15989
- --ni-private-breadcrumb-link-active-font-color: ${bodyFontColor};
15928
+ .control {
15929
+ color: ${linkFontColor};
15930
+ text-decoration: underline;
15990
15931
  }
15991
15932
 
15992
- ::slotted(*:first-child) {
15993
- padding-left: 0px;
15933
+ .control${focusVisible} {
15934
+ display: inline;
15935
+ outline: none;
15936
+ box-shadow: inset 0px -1px ${linkFontColor};
15994
15937
  }
15995
15938
 
15996
- ::slotted(*:not([href]):last-child) {
15997
- font: ${bodyEmphasizedFont};
15939
+ .control:active {
15940
+ color: ${linkActiveFontColor};
15941
+ text-decoration: underline;
15998
15942
  }
15999
- `.withBehaviors(themeBehavior(Theme.light, css `
16000
- :host {
16001
- --ni-private-breadcrumb-link-active-font-color: ${DigitalGreenDark};
16002
- }
16003
15943
 
16004
- :host([appearance='prominent']) {
16005
- --ni-private-breadcrumb-link-font-color: ${DigitalGreenDark};
16006
- }
16007
- `), themeBehavior(Theme.dark, css `
16008
- :host {
16009
- --ni-private-breadcrumb-link-active-font-color: ${PowerGreen};
16010
- }
15944
+ .control${focusVisible}:active {
15945
+ box-shadow: inset 0px -1px ${linkActiveFontColor};
15946
+ }
16011
15947
 
16012
- :host([appearance='prominent']) {
16013
- --ni-private-breadcrumb-link-font-color: ${PowerGreen};
16014
- }
16015
- `), themeBehavior(Theme.color, css `
16016
- :host {
16017
- --ni-private-breadcrumb-link-active-font-color: ${hexToRgbaCssColor(White, 0.6)};
16018
- }
15948
+ .control:not(:any-link) {
15949
+ color: ${linkDisabledFontColor};
15950
+ text-decoration: none;
15951
+ }
16019
15952
 
16020
- :host([appearance='prominent']) {
16021
- --ni-private-breadcrumb-link-font-color: ${PowerGreen};
16022
- }
16023
- `));
15953
+ .control:not(:any-link):active {
15954
+ color: ${linkActiveDisabledFontColor};
15955
+ }
16024
15956
 
16025
- /**
16026
- * A nimble-styled breadcrumb
16027
- */
16028
- class Breadcrumb extends Breadcrumb$1 {
15957
+ :host([underline-hidden]) .control {
15958
+ text-decoration: none;
16029
15959
  }
16030
- __decorate([
16031
- attr
16032
- ], Breadcrumb.prototype, "appearance", void 0);
16033
- const nimbleBreadcrumb = Breadcrumb.compose({
16034
- baseName: 'breadcrumb',
16035
- baseClass: Breadcrumb$1,
16036
- template: breadcrumbTemplate,
16037
- styles: styles$x
16038
- });
16039
- DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBreadcrumb());
15960
+
15961
+ :host([underline-hidden]) .control:hover {
15962
+ text-decoration: underline;
15963
+ }
15964
+
15965
+ :host([underline-hidden]) .control${focusVisible} {
15966
+ text-decoration: underline;
15967
+ }
15968
+
15969
+ :host([underline-hidden]) .control:not(:any-link) {
15970
+ text-decoration: none;
15971
+ }
15972
+
15973
+ :host([appearance='prominent']) .control {
15974
+ color: ${linkProminentFontColor};
15975
+ }
15976
+
15977
+ :host([appearance='prominent']) .control:active {
15978
+ color: ${linkActiveProminentFontColor};
15979
+ }
15980
+
15981
+ :host([appearance='prominent']) .control${focusVisible} {
15982
+ box-shadow: inset 0px -1px ${linkProminentFontColor};
15983
+ }
15984
+
15985
+ :host([appearance='prominent']) .control${focusVisible}:active {
15986
+ box-shadow: inset 0px -1px ${linkActiveProminentFontColor};
15987
+ }
15988
+
15989
+ :host([appearance='prominent']) .control:not(:any-link) {
15990
+ color: ${linkProminentDisabledFontColor};
15991
+ }
15992
+
15993
+ [part='end'] {
15994
+ display: none;
15995
+ }
15996
+ `;
15997
+
15998
+ // prettier-ignore
15999
+ const template$b = (context, definition) => html `
16000
+ <a
16001
+ class="control"
16002
+ part="control"
16003
+ download="${x => x.download}"
16004
+ href=${x => x.href}
16005
+ hreflang="${x => x.hreflang}"
16006
+ ping="${x => x.ping}"
16007
+ referrerpolicy="${x => x.referrerpolicy}"
16008
+ rel="${x => x.rel}"
16009
+ target="${x => x.target}"
16010
+ type="${x => x.type}"
16011
+ aria-atomic="${x => x.ariaAtomic}"
16012
+ aria-busy="${x => x.ariaBusy}"
16013
+ aria-controls="${x => x.ariaControls}"
16014
+ aria-current="${x => x.ariaCurrent}"
16015
+ aria-describedby="${x => x.ariaDescribedby}"
16016
+ aria-details="${x => x.ariaDetails}"
16017
+ aria-disabled="${x => x.ariaDisabled}"
16018
+ aria-errormessage="${x => x.ariaErrormessage}"
16019
+ aria-expanded="${x => x.ariaExpanded}"
16020
+ aria-flowto="${x => x.ariaFlowto}"
16021
+ aria-haspopup="${x => x.ariaHaspopup}"
16022
+ aria-hidden="${x => x.ariaHidden}"
16023
+ aria-invalid="${x => x.ariaInvalid}"
16024
+ aria-keyshortcuts="${x => x.ariaKeyshortcuts}"
16025
+ aria-label="${x => x.ariaLabel}"
16026
+ aria-labelledby="${x => x.ariaLabelledby}"
16027
+ aria-live="${x => x.ariaLive}"
16028
+ aria-owns="${x => x.ariaOwns}"
16029
+ aria-relevant="${x => x.ariaRelevant}"
16030
+ aria-roledescription="${x => x.ariaRoledescription}"
16031
+ ${ref('control')}
16032
+ >
16033
+ ${startSlotTemplate(context, definition)}
16034
+ ${ /* End slot template inlined to avoid extra whitespace.
16035
+ See https://github.com/microsoft/fast/issues/6557 */''}
16036
+ ${ /* Whitespace intentionally avoided between tags for inline styles */''}
16037
+ <span class="content" part="content"><slot ${slotted('defaultSlottedContent')}></slot></span
16038
+ ><span
16039
+ part="end"
16040
+ ${ref('endContainer')}
16041
+ class=${_x => (definition.end ? 'end' : null)}
16042
+ >
16043
+ <slot name="end" ${ref('end')} @slotchange="${x => x.handleEndContentChange()}">
16044
+ ${definition.end || ''}
16045
+ </slot>
16046
+ </span></a>
16047
+ `;
16048
+
16049
+ /**
16050
+ * A nimble-styled anchor
16051
+ */
16052
+ class Anchor extends AnchorBase {
16053
+ constructor() {
16054
+ super(...arguments);
16055
+ /**
16056
+ * @public
16057
+ * @remarks
16058
+ * HTML Attribute: underline-hidden
16059
+ */
16060
+ this.underlineHidden = false;
16061
+ }
16062
+ }
16063
+ __decorate$1([
16064
+ attr({ attribute: 'underline-hidden', mode: 'boolean' })
16065
+ ], Anchor.prototype, "underlineHidden", void 0);
16066
+ __decorate$1([
16067
+ attr
16068
+ ], Anchor.prototype, "appearance", void 0);
16069
+ const nimbleAnchor = Anchor.compose({
16070
+ baseName: 'anchor',
16071
+ baseClass: Anchor$1,
16072
+ template: template$b,
16073
+ styles: styles$A,
16074
+ shadowOptions: {
16075
+ delegatesFocus: true
16076
+ }
16077
+ });
16078
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchor());
16079
+
16080
+ /**
16081
+ * Types of button appearance.
16082
+ * @public
16083
+ */
16084
+ const ButtonAppearance = {
16085
+ outline: 'outline',
16086
+ ghost: 'ghost',
16087
+ block: 'block'
16088
+ };
16089
+
16090
+ /**
16091
+ * A behavior to add or remove a stylesheet from an element based on a property. The behavior ensures that
16092
+ * styles are applied while the property matches and that styles are not applied if the property does
16093
+ * not match.
16094
+ *
16095
+ * @public
16096
+ */
16097
+ class MultivaluePropertyStyleSheetBehavior {
16098
+ /**
16099
+ * Constructs a {@link MultivaluePropertyStyleSheetBehavior} instance.
16100
+ * @param propertyName - The property name to operate from.
16101
+ * @param value - The property value or values to operate from.
16102
+ * @param styles - The styles to coordinate with the property.
16103
+ */
16104
+ constructor(propertyName, value, styles) {
16105
+ this.propertyName = propertyName;
16106
+ this.value = value;
16107
+ this.styles = styles;
16108
+ }
16109
+ /**
16110
+ * Binds the behavior to the element.
16111
+ * @param elementInstance - The element for which the property is applied.
16112
+ */
16113
+ bind(elementInstance) {
16114
+ Observable.getNotifier(elementInstance).subscribe(this, this.propertyName);
16115
+ this.handleChange(elementInstance, this.propertyName);
16116
+ }
16117
+ /**
16118
+ * Unbinds the behavior from the element.
16119
+ * @param source - The element for which the behavior is unbinding.
16120
+ */
16121
+ unbind(source) {
16122
+ Observable.getNotifier(source).unsubscribe(this, this.propertyName);
16123
+ source.$fastController.removeStyles(this.styles);
16124
+ }
16125
+ /**
16126
+ * Change event for the provided element.
16127
+ * @param source - the element for which to attach or detach styles.
16128
+ * @param key - the key to lookup to know if the element already has the styles
16129
+ * @internal
16130
+ */
16131
+ handleChange(source, key) {
16132
+ // @ts-expect-error Accessing arbitrary property of an element
16133
+ const currentValue = source[key];
16134
+ if (Array.isArray(this.value)
16135
+ ? this.value.includes(currentValue)
16136
+ : this.value === currentValue) {
16137
+ source.$fastController.addStyles(this.styles);
16138
+ }
16139
+ else {
16140
+ source.$fastController.removeStyles(this.styles);
16141
+ }
16142
+ }
16143
+ }
16144
+
16145
+ /**
16146
+ * Behavior that will conditionally apply a stylesheet based on the element's
16147
+ * appearance property
16148
+ *
16149
+ * @param value - The value or values of the appearance property
16150
+ * @param styles - The styles to be applied when condition matches
16151
+ *
16152
+ * @public
16153
+ */
16154
+ function appearanceBehavior(value, styles) {
16155
+ return new MultivaluePropertyStyleSheetBehavior('appearance', value, styles);
16156
+ }
16157
+
16158
+ const styles$z = css `
16159
+ ${display('inline-flex')}
16160
+
16161
+ :host {
16162
+ background-color: transparent;
16163
+ height: ${controlHeight};
16164
+ color: ${buttonLabelFontColor};
16165
+ font: ${buttonLabelFont};
16166
+ cursor: pointer;
16167
+ outline: none;
16168
+ border: none;
16169
+ box-sizing: border-box;
16170
+ ${
16171
+ /*
16172
+ Not sure why but this is needed to get buttons with icons and buttons
16173
+ without icons to align on the same line when the button is inline-flex
16174
+ See: https://github.com/microsoft/fast/issues/5414
16175
+ */ ''}
16176
+ vertical-align: middle;
16177
+ }
16178
+
16179
+ :host([disabled]) {
16180
+ color: ${buttonLabelDisabledFontColor};
16181
+ cursor: default;
16182
+ }
16183
+
16184
+ .control {
16185
+ background-color: transparent;
16186
+ height: 100%;
16187
+ width: 100%;
16188
+ border: ${borderWidth} solid transparent;
16189
+ box-sizing: border-box;
16190
+ color: inherit;
16191
+ border-radius: inherit;
16192
+ fill: inherit;
16193
+ display: inline-flex;
16194
+ align-items: center;
16195
+ justify-content: center;
16196
+ gap: 4px;
16197
+ cursor: inherit;
16198
+ font: inherit;
16199
+ outline: none;
16200
+ margin: 0;
16201
+ padding: 0 ${standardPadding};
16202
+ transition: box-shadow ${smallDelay};
16203
+ }
16204
+
16205
+ :host([content-hidden]) .control {
16206
+ width: ${controlHeight};
16207
+ padding: 0px;
16208
+ }
16209
+
16210
+ @media (prefers-reduced-motion) {
16211
+ .control {
16212
+ transition-duration: 0s;
16213
+ }
16214
+ }
16215
+
16216
+ .control:hover {
16217
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16218
+ outline: none;
16219
+ }
16220
+
16221
+ .control${focusVisible} {
16222
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16223
+ outline: ${borderWidth} solid ${borderHoverColor};
16224
+ outline-offset: -4px;
16225
+ }
16226
+
16227
+ .control:active {
16228
+ box-shadow: none;
16229
+ outline: none;
16230
+ }
16231
+
16232
+ :host([disabled]) .control {
16233
+ box-shadow: none;
16234
+ outline: none;
16235
+ }
16236
+
16237
+ .content {
16238
+ display: contents;
16239
+ }
16240
+
16241
+ :host([content-hidden]) .content {
16242
+ ${
16243
+ /**
16244
+ * Hide content visually while keeping it screen reader-accessible.
16245
+ * Source: https://webaim.org/techniques/css/invisiblecontent/#techniques
16246
+ * See discussion here: https://github.com/microsoft/fast/issues/5740#issuecomment-1068195035
16247
+ */
16248
+ ''}
16249
+ display: inline-block;
16250
+ height: 1px;
16251
+ width: 1px;
16252
+ position: absolute;
16253
+ margin: -1px;
16254
+ clip: rect(1px, 1px, 1px, 1px);
16255
+ clip-path: inset(50%);
16256
+ overflow: hidden;
16257
+ padding: 0;
16258
+ }
16259
+
16260
+ [part='start'] {
16261
+ display: contents;
16262
+ ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
16263
+ }
16264
+
16265
+ :host([disabled]) slot[name='start']::slotted(*) {
16266
+ opacity: 0.3;
16267
+ }
16268
+
16269
+ [part='end'] {
16270
+ display: contents;
16271
+ ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
16272
+ }
16273
+
16274
+ :host([disabled]) slot[name='end']::slotted(*) {
16275
+ opacity: 0.3;
16276
+ }
16277
+
16278
+ :host([content-hidden]) [part='end'] {
16279
+ display: none;
16280
+ }
16281
+ `.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
16282
+ .control {
16283
+ background-color: transparent;
16284
+ border-color: rgba(${actionRgbPartialColor}, 0.3);
16285
+ }
16286
+
16287
+ .control:hover {
16288
+ background-color: transparent;
16289
+ border-color: ${borderHoverColor};
16290
+ }
16291
+
16292
+ .control${focusVisible} {
16293
+ background-color: transparent;
16294
+ border-color: ${borderHoverColor};
16295
+ }
16296
+
16297
+ .control:active {
16298
+ background-color: ${fillSelectedColor};
16299
+ border-color: ${fillSelectedColor};
16300
+ }
16301
+
16302
+ :host([disabled]) .control {
16303
+ background-color: transparent;
16304
+ border-color: rgba(${borderRgbPartialColor}, 0.2);
16305
+ }
16306
+ `), appearanceBehavior(ButtonAppearance.ghost, css `
16307
+ .control {
16308
+ background-color: transparent;
16309
+ border-color: transparent;
16310
+ }
16311
+
16312
+ .control:hover {
16313
+ background-color: transparent;
16314
+ border-color: ${borderHoverColor};
16315
+ }
16316
+
16317
+ .control${focusVisible} {
16318
+ background-color: transparent;
16319
+ border-color: ${borderHoverColor};
16320
+ }
16321
+
16322
+ .control:active {
16323
+ background-color: ${fillSelectedColor};
16324
+ border-color: ${fillSelectedColor};
16325
+ }
16326
+
16327
+ :host([disabled]) .control {
16328
+ background-color: transparent;
16329
+ border-color: transparent;
16330
+ }
16331
+ `), appearanceBehavior(ButtonAppearance.block, css `
16332
+ .control {
16333
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
16334
+ border-color: transparent;
16335
+ }
16336
+
16337
+ .control:hover {
16338
+ background-color: transparent;
16339
+ border-color: ${borderHoverColor};
16340
+ }
16341
+
16342
+ .control${focusVisible} {
16343
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
16344
+ border-color: ${borderHoverColor};
16345
+ }
16346
+
16347
+ .control${focusVisible}:hover {
16348
+ background-color: transparent;
16349
+ }
16350
+
16351
+ .control:active {
16352
+ background-color: ${fillSelectedColor};
16353
+ border-color: ${fillSelectedColor};
16354
+ }
16355
+
16356
+ :host([disabled]) .control {
16357
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
16358
+ border-color: transparent;
16359
+ }
16360
+ `));
16361
+ const buttonAppearanceVariantStyles = css ``.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
16362
+ :host([appearance-variant='primary']) .control {
16363
+ box-shadow: 0px 0px 0px ${borderWidth}
16364
+ rgba(${actionRgbPartialColor}, 0.3) inset;
16365
+ }
16366
+
16367
+ :host([appearance-variant='primary']) .control:hover {
16368
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16369
+ }
16370
+
16371
+ :host([appearance-variant='primary']) .control${focusVisible} {
16372
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16373
+ }
16374
+
16375
+ :host([appearance-variant='primary']) .control:active {
16376
+ box-shadow: none;
16377
+ }
16378
+
16379
+ :host([appearance-variant='primary'][disabled]) .control {
16380
+ box-shadow: none;
16381
+ }
16382
+ `), appearanceBehavior(ButtonAppearance.block, css `
16383
+ :host([appearance-variant='primary']) .control {
16384
+ background-clip: padding-box;
16385
+ border-color: rgba(${actionRgbPartialColor}, 0.3);
16386
+ border-width: calc(2 * ${borderWidth});
16387
+ padding: 0 calc(${standardPadding} - ${borderWidth});
16388
+ }
16389
+
16390
+ :host([appearance-variant='primary'][content-hidden]) .control {
16391
+ padding: 0px;
16392
+ }
16393
+
16394
+ :host([appearance-variant='primary']) .control:hover {
16395
+ border-color: ${borderHoverColor};
16396
+ box-shadow: none;
16397
+ }
16398
+
16399
+ :host([appearance-variant='primary']) .control${focusVisible} {
16400
+ background-clip: border-box;
16401
+ border-color: ${borderHoverColor};
16402
+ border-width: ${borderWidth};
16403
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16404
+ padding: 0 ${standardPadding};
16405
+ }
16406
+
16407
+ :host([appearance-variant='primary'][content-hidden])
16408
+ .control${focusVisible} {
16409
+ padding: 0px;
16410
+ }
16411
+
16412
+ :host([appearance-variant='primary']) .control:active {
16413
+ background-clip: border-box;
16414
+ border-color: ${fillSelectedColor};
16415
+ border-width: ${borderWidth};
16416
+ box-shadow: none;
16417
+ padding: 0 ${standardPadding};
16418
+ }
16419
+
16420
+ :host([appearance-variant='primary'][content-hidden])
16421
+ .control:active {
16422
+ padding: 0px;
16423
+ }
16424
+
16425
+ :host([appearance-variant='primary'][disabled]) .control {
16426
+ background-clip: border-box;
16427
+ border-color: transparent;
16428
+ border-width: ${borderWidth};
16429
+ box-shadow: none;
16430
+ padding: 0 ${standardPadding};
16431
+ }
16432
+
16433
+ :host([appearance-variant='primary'][disabled][content-hidden])
16434
+ .control {
16435
+ padding: 0px;
16436
+ }
16437
+ `));
16438
+
16439
+ const styles$y = css `
16440
+ ${styles$z}
16441
+ ${buttonAppearanceVariantStyles}
16442
+
16443
+ .control {
16444
+ text-decoration: none;
16445
+ }
16446
+ `;
16447
+
16448
+ const template$a = (context, definition) => html `
16449
+ <a
16450
+ class="control"
16451
+ part="control"
16452
+ download="${x => x.download}"
16453
+ href=${x => (x.disabled ? null : x.href)}
16454
+ hreflang="${x => x.hreflang}"
16455
+ ping="${x => x.ping}"
16456
+ referrerpolicy="${x => x.referrerpolicy}"
16457
+ rel="${x => x.rel}"
16458
+ target="${x => x.target}"
16459
+ type="${x => x.type}"
16460
+ aria-atomic="${x => x.ariaAtomic}"
16461
+ aria-busy="${x => x.ariaBusy}"
16462
+ aria-controls="${x => x.ariaControls}"
16463
+ aria-current="${x => x.ariaCurrent}"
16464
+ aria-describedby="${x => x.ariaDescribedby}"
16465
+ aria-details="${x => x.ariaDetails}"
16466
+ aria-disabled="${x => x.ariaDisabled}"
16467
+ aria-errormessage="${x => x.ariaErrormessage}"
16468
+ aria-expanded="${x => x.ariaExpanded}"
16469
+ aria-flowto="${x => x.ariaFlowto}"
16470
+ aria-haspopup="${x => x.ariaHaspopup}"
16471
+ aria-hidden="${x => x.ariaHidden}"
16472
+ aria-invalid="${x => x.ariaInvalid}"
16473
+ aria-keyshortcuts="${x => x.ariaKeyshortcuts}"
16474
+ aria-label="${x => x.ariaLabel}"
16475
+ aria-labelledby="${x => x.ariaLabelledby}"
16476
+ aria-live="${x => x.ariaLive}"
16477
+ aria-owns="${x => x.ariaOwns}"
16478
+ aria-relevant="${x => x.ariaRelevant}"
16479
+ aria-roledescription="${x => x.ariaRoledescription}"
16480
+ ${ref('control')}
16481
+ >
16482
+ ${startSlotTemplate(context, definition)}
16483
+ <span class="content" part="content">
16484
+ <slot ${slotted('defaultSlottedContent')}></slot>
16485
+ </span>
16486
+ ${endSlotTemplate(context, definition)}
16487
+ </a>
16488
+ `;
16489
+
16490
+ /**
16491
+ * A nimble-styled anchor button
16492
+ */
16493
+ class AnchorButton extends AnchorBase {
16494
+ constructor() {
16495
+ super(...arguments);
16496
+ /**
16497
+ * @public
16498
+ * @remarks
16499
+ * HTML Attribute: appearance
16500
+ */
16501
+ this.appearance = ButtonAppearance.outline;
16502
+ /**
16503
+ * @public
16504
+ * @remarks
16505
+ * HTML Attribute: content-hidden
16506
+ */
16507
+ this.contentHidden = false;
16508
+ /**
16509
+ * @public
16510
+ * @remarks
16511
+ * HTML Attribute: disabled
16512
+ */
16513
+ this.disabled = false;
16514
+ }
16515
+ }
16516
+ __decorate$1([
16517
+ attr
16518
+ ], AnchorButton.prototype, "appearance", void 0);
16519
+ __decorate$1([
16520
+ attr({ attribute: 'appearance-variant' })
16521
+ ], AnchorButton.prototype, "appearanceVariant", void 0);
16522
+ __decorate$1([
16523
+ attr({ attribute: 'content-hidden', mode: 'boolean' })
16524
+ ], AnchorButton.prototype, "contentHidden", void 0);
16525
+ __decorate$1([
16526
+ attr({ mode: 'boolean' })
16527
+ ], AnchorButton.prototype, "disabled", void 0);
16528
+ const nimbleAnchorButton = AnchorButton.compose({
16529
+ baseName: 'anchor-button',
16530
+ template: template$a,
16531
+ styles: styles$y,
16532
+ shadowOptions: {
16533
+ delegatesFocus: true
16534
+ }
16535
+ });
16536
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());
16537
+
16538
+ const styles$x = css `
16539
+ :host {
16540
+ contain: layout;
16541
+ display: block;
16542
+ z-index: 1000;
16543
+ }
16544
+ `;
16545
+
16546
+ // When the anchor element changes position on the page, it is the client's responsibility to update the position
16547
+ // of the anchored region by calling update() on the anchored region.
16548
+ //
16549
+ // When the anchor element is recreated on the page, it is the client's responsibility to reset the reference the
16550
+ // anchored region has to the anchor element. This can be done by either recreating the anchor element with a new
16551
+ // ID that is also set as the \`anchor\` attribute on the anchored region or by explicitly setting the value of
16552
+ // anchorElement on the anchored region to the new anchor element.
16553
+ /**
16554
+ * A nimble-styled anchored region control.
16555
+ */
16556
+ class AnchoredRegion extends AnchoredRegion$1 {
16557
+ }
16558
+ const nimbleAnchoredRegion = AnchoredRegion.compose({
16559
+ baseName: 'anchored-region',
16560
+ baseClass: AnchoredRegion$1,
16561
+ template: anchoredRegionTemplate,
16562
+ styles: styles$x
16563
+ });
16564
+ DesignSystem.getOrCreate()
16565
+ .withPrefix('nimble')
16566
+ .register(nimbleAnchoredRegion());
16567
+
16568
+ const styles$w = css `
16569
+ ${display('inline-block')}
16570
+
16571
+ :host {
16572
+ box-sizing: border-box;
16573
+ font: ${linkFont};
16574
+ --ni-private-breadcrumb-link-font-color: ${linkFontColor};
16575
+ --ni-private-breadcrumb-link-active-font-color: ${linkActiveFontColor};
16576
+ }
16577
+
16578
+ :host([appearance='prominent']) {
16579
+ --ni-private-breadcrumb-link-font-color: ${linkProminentFontColor};
16580
+ --ni-private-breadcrumb-link-active-font-color: ${linkActiveProminentFontColor};
16581
+ }
16582
+
16583
+ .list {
16584
+ display: flex;
16585
+ flex-wrap: wrap;
16586
+ }
16587
+
16588
+ ::slotted(*:first-child) {
16589
+ padding-left: 0px;
16590
+ }
16591
+
16592
+ ::slotted(*:not([href]):last-child) {
16593
+ font: ${bodyEmphasizedFont};
16594
+ }
16595
+ `;
16596
+
16597
+ /**
16598
+ * A nimble-styled breadcrumb
16599
+ */
16600
+ class Breadcrumb extends Breadcrumb$1 {
16601
+ }
16602
+ __decorate$1([
16603
+ attr
16604
+ ], Breadcrumb.prototype, "appearance", void 0);
16605
+ const nimbleBreadcrumb = Breadcrumb.compose({
16606
+ baseName: 'breadcrumb',
16607
+ baseClass: Breadcrumb$1,
16608
+ template: breadcrumbTemplate,
16609
+ styles: styles$w
16610
+ });
16611
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBreadcrumb());
16040
16612
 
16041
16613
  /* 🤖 this file was generated by svg-to-ts*/
16042
16614
  const add16X16 = {
@@ -16640,464 +17212,96 @@
16640
17212
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-1" d="M8.033 14.026L4.9 10.866 6.277 9.53l1.744 1.81 4.562-4.507 1.307 1.363zm1.155-10.68l-1.321-1.32-2.312 2.311-2.311-2.311-1.321 1.32 2.311 2.312L1.923 7.97l1.32 1.32 2.312-2.31 2.312 2.31 1.32-1.32-2.31-2.312z"/></svg>`
16641
17213
  };
16642
17214
 
16643
- /**
16644
- * This file is a workaround for: https://github.com/prettier/prettier/issues/11400
16645
- */
16646
- /**
16647
- * The string representing the focus selector to be used. Value
16648
- * will be ":focus-visible" when https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo
16649
- * is supported and ":focus" when it is not.
16650
- *
16651
- * @public
16652
- */
16653
- const focusVisible = `:${focusVisible$1}`;
16654
-
16655
- const styles$w = css `
16656
- ${display('inline-flex')}
16657
-
16658
- :host {
16659
- height: ${controlHeight};
16660
- box-sizing: border-box;
16661
- font: ${bodyFont};
16662
- color: ${bodyFontColor};
16663
- padding-left: calc(4px - ${borderWidth});
16664
- }
16665
-
16666
- .listitem {
16667
- display: flex;
16668
- align-items: center;
16669
- }
16670
-
16671
- .control {
16672
- color: var(--ni-private-breadcrumb-link-font-color);
16673
- cursor: default;
16674
- display: flex;
16675
- align-items: center;
16676
- justify-content: center;
16677
- border: ${borderWidth} solid transparent;
16678
- padding-right: calc(4px - ${borderWidth});
16679
- }
16680
-
16681
- .control:any-link {
16682
- cursor: pointer;
16683
- text-decoration: none;
16684
- }
16685
-
16686
- .control:hover {
16687
- text-decoration: underline;
16688
- }
16689
-
16690
- .control:active {
16691
- color: var(--ni-private-breadcrumb-link-active-font-color);
16692
- text-decoration: underline;
16693
- }
16694
-
16695
- .control:any-link${focusVisible} {
16696
- border: ${borderWidth} solid ${borderHoverColor};
16697
- outline: 2px solid ${borderHoverColor};
16698
- outline-offset: 1px;
16699
- }
16700
-
16701
- .start,
16702
- .end {
16703
- display: flex;
16704
- align-items: center;
16705
- }
16706
-
16707
- .start {
16708
- margin-inline-end: 4px;
16709
- }
16710
-
16711
- slot[name='separator'] {
16712
- display: flex;
16713
- align-items: center;
16714
- }
16715
-
16716
- slot[name='separator'] svg {
16717
- width: ${iconSize};
16718
- height: ${iconSize};
16719
- }
16720
-
16721
- slot[name='separator'] path {
16722
- fill: ${placeholderFontColor};
16723
- }
16724
- `;
16725
-
16726
- /**
16727
- * A nimble-styled breadcrumb item
16728
- */
16729
- class BreadcrumbItem extends BreadcrumbItem$1 {
16730
- }
16731
- const nimbleBreadcrumbItem = BreadcrumbItem.compose({
16732
- baseName: 'breadcrumb-item',
16733
- baseClass: BreadcrumbItem$1,
16734
- template: breadcrumbItemTemplate,
16735
- styles: styles$w,
16736
- separator: forwardSlash16X16.data
16737
- });
16738
- DesignSystem.getOrCreate()
16739
- .withPrefix('nimble')
16740
- .register(nimbleBreadcrumbItem());
16741
-
16742
- /**
16743
- * A behavior to add or remove a stylesheet from an element based on a property. The behavior ensures that
16744
- * styles are applied while the property matches and that styles are not applied if the property does
16745
- * not match.
16746
- *
16747
- * @public
16748
- */
16749
- class MultivaluePropertyStyleSheetBehavior {
16750
- /**
16751
- * Constructs a {@link MultivaluePropertyStyleSheetBehavior} instance.
16752
- * @param propertyName - The property name to operate from.
16753
- * @param value - The property value or values to operate from.
16754
- * @param styles - The styles to coordinate with the property.
16755
- */
16756
- constructor(propertyName, value, styles) {
16757
- this.propertyName = propertyName;
16758
- this.value = value;
16759
- this.styles = styles;
16760
- }
16761
- /**
16762
- * Binds the behavior to the element.
16763
- * @param elementInstance - The element for which the property is applied.
16764
- */
16765
- bind(elementInstance) {
16766
- Observable.getNotifier(elementInstance).subscribe(this, this.propertyName);
16767
- this.handleChange(elementInstance, this.propertyName);
16768
- }
16769
- /**
16770
- * Unbinds the behavior from the element.
16771
- * @param source - The element for which the behavior is unbinding.
16772
- */
16773
- unbind(source) {
16774
- Observable.getNotifier(source).unsubscribe(this, this.propertyName);
16775
- source.$fastController.removeStyles(this.styles);
16776
- }
16777
- /**
16778
- * Change event for the provided element.
16779
- * @param source - the element for which to attach or detach styles.
16780
- * @param key - the key to lookup to know if the element already has the styles
16781
- * @internal
16782
- */
16783
- handleChange(source, key) {
16784
- // @ts-expect-error Accessing arbitrary property of an element
16785
- const currentValue = source[key];
16786
- if (Array.isArray(this.value)
16787
- ? this.value.includes(currentValue)
16788
- : this.value === currentValue) {
16789
- source.$fastController.addStyles(this.styles);
16790
- }
16791
- else {
16792
- source.$fastController.removeStyles(this.styles);
16793
- }
16794
- }
16795
- }
16796
-
16797
- /**
16798
- * Behavior that will conditionally apply a stylesheet based on the element's
16799
- * appearance property
16800
- *
16801
- * @param value - The value or values of the appearance property
16802
- * @param styles - The styles to be applied when condition matches
16803
- *
16804
- * @public
16805
- */
16806
- function appearanceBehavior(value, styles) {
16807
- return new MultivaluePropertyStyleSheetBehavior('appearance', value, styles);
16808
- }
16809
-
16810
- /**
16811
- * Types of button appearance.
16812
- * @public
16813
- */
16814
- const ButtonAppearance = {
16815
- outline: 'outline',
16816
- ghost: 'ghost',
16817
- block: 'block'
16818
- };
16819
-
16820
17215
  const styles$v = css `
16821
17216
  ${display('inline-flex')}
16822
17217
 
16823
- :host {
16824
- background-color: transparent;
16825
- height: ${controlHeight};
16826
- color: ${buttonLabelFontColor};
16827
- font: ${buttonLabelFont};
16828
- cursor: pointer;
16829
- outline: none;
16830
- border: none;
17218
+ :host {
17219
+ height: ${controlHeight};
16831
17220
  box-sizing: border-box;
17221
+ padding-left: calc(4px - ${borderWidth});
17222
+
16832
17223
  ${
16833
- /*
16834
- Not sure why but this is needed to get buttons with icons and buttons
16835
- without icons to align on the same line when the button is inline-flex
16836
- See: https://github.com/microsoft/fast/issues/5414
16837
- */ ''}
16838
- vertical-align: middle;
17224
+ /* When href removed the .control element is also removed
17225
+ so this becomes the fallback color for the slot */ ''}
17226
+ color: ${bodyFontColor};
17227
+ font: ${linkFont};
16839
17228
  }
16840
17229
 
16841
- :host([disabled]) {
16842
- color: ${buttonLabelDisabledFontColor};
16843
- cursor: default;
17230
+ .listitem {
17231
+ display: flex;
17232
+ align-items: center;
16844
17233
  }
16845
17234
 
16846
17235
  .control {
16847
- background-color: transparent;
16848
- height: 100%;
16849
- width: 100%;
16850
- border: ${borderWidth} solid transparent;
16851
- box-sizing: border-box;
16852
- color: inherit;
16853
- border-radius: inherit;
16854
- fill: inherit;
16855
- display: inline-flex;
17236
+ color: var(--ni-private-breadcrumb-link-font-color);
17237
+ display: flex;
16856
17238
  align-items: center;
16857
17239
  justify-content: center;
16858
- gap: 4px;
16859
- cursor: inherit;
16860
- font: inherit;
16861
- outline: none;
16862
- margin: 0;
16863
- padding: 0 ${standardPadding};
16864
- transition: box-shadow ${smallDelay};
16865
- }
16866
-
16867
- :host([content-hidden]) .control {
16868
- width: ${controlHeight};
16869
- padding: 0px;
16870
- }
16871
-
16872
- @media (prefers-reduced-motion) {
16873
- .control {
16874
- transition-duration: 0s;
16875
- }
17240
+ border: ${borderWidth} solid transparent;
17241
+ padding-right: calc(4px - ${borderWidth});
17242
+ text-decoration: none;
16876
17243
  }
16877
17244
 
16878
17245
  .control:hover {
16879
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16880
- outline: none;
17246
+ text-decoration: underline;
16881
17247
  }
16882
17248
 
16883
17249
  .control${focusVisible} {
16884
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16885
- outline: ${borderWidth} solid ${borderHoverColor};
16886
- outline-offset: -4px;
17250
+ border: ${borderWidth} solid ${borderHoverColor};
17251
+ outline: 2px solid ${borderHoverColor};
17252
+ outline-offset: 1px;
16887
17253
  }
16888
17254
 
16889
17255
  .control:active {
16890
- box-shadow: none;
16891
- outline: none;
16892
- }
16893
-
16894
- .control[disabled] {
16895
- box-shadow: none;
16896
- outline: none;
16897
- }
16898
-
16899
- .content {
16900
- display: contents;
16901
- }
16902
-
16903
- :host([content-hidden]) .content {
16904
- ${
16905
- /**
16906
- * Hide content visually while keeping it screen reader-accessible.
16907
- * Source: https://webaim.org/techniques/css/invisiblecontent/#techniques
16908
- * See discussion here: https://github.com/microsoft/fast/issues/5740#issuecomment-1068195035
16909
- */
16910
- ''}
16911
- display: inline-block;
16912
- height: 1px;
16913
- width: 1px;
16914
- position: absolute;
16915
- margin: -1px;
16916
- clip: rect(1px, 1px, 1px, 1px);
16917
- clip-path: inset(50%);
16918
- overflow: hidden;
16919
- padding: 0;
16920
- }
16921
-
16922
- [part='start'] {
16923
- display: contents;
16924
- ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17256
+ color: var(--ni-private-breadcrumb-link-active-font-color);
17257
+ text-decoration: underline;
16925
17258
  }
16926
17259
 
16927
- :host([disabled]) slot[name='start']::slotted(*) {
16928
- opacity: 0.3;
17260
+ .start,
17261
+ .end {
17262
+ display: flex;
17263
+ align-items: center;
16929
17264
  }
16930
17265
 
16931
- [part='end'] {
16932
- display: contents;
16933
- ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17266
+ .start {
17267
+ margin-inline-end: 4px;
16934
17268
  }
16935
17269
 
16936
- :host([disabled]) slot[name='end']::slotted(*) {
16937
- opacity: 0.3;
17270
+ slot[name='separator'] {
17271
+ display: flex;
17272
+ align-items: center;
16938
17273
  }
16939
17274
 
16940
- :host([content-hidden]) [part='end'] {
16941
- display: none;
17275
+ slot[name='separator'] svg {
17276
+ width: ${iconSize};
17277
+ height: ${iconSize};
16942
17278
  }
16943
- `.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
16944
- .control {
16945
- background-color: transparent;
16946
- border-color: rgba(${actionRgbPartialColor}, 0.3);
16947
- }
16948
-
16949
- .control:hover {
16950
- background-color: transparent;
16951
- border-color: ${borderHoverColor};
16952
- }
16953
-
16954
- .control${focusVisible} {
16955
- background-color: transparent;
16956
- border-color: ${borderHoverColor};
16957
- }
16958
-
16959
- .control:active {
16960
- background-color: ${fillSelectedColor};
16961
- border-color: ${fillSelectedColor};
16962
- }
16963
-
16964
- .control[disabled] {
16965
- background-color: transparent;
16966
- border-color: rgba(${borderRgbPartialColor}, 0.2);
16967
- }
16968
- `), appearanceBehavior(ButtonAppearance.ghost, css `
16969
- .control {
16970
- background-color: transparent;
16971
- border-color: transparent;
16972
- }
16973
-
16974
- .control:hover {
16975
- background-color: transparent;
16976
- border-color: ${borderHoverColor};
16977
- }
16978
-
16979
- .control${focusVisible} {
16980
- background-color: transparent;
16981
- border-color: ${borderHoverColor};
16982
- }
16983
-
16984
- .control:active {
16985
- background-color: ${fillSelectedColor};
16986
- border-color: ${fillSelectedColor};
16987
- }
16988
-
16989
- .control[disabled] {
16990
- background-color: transparent;
16991
- border-color: transparent;
16992
- }
16993
- `), appearanceBehavior(ButtonAppearance.block, css `
16994
- .control {
16995
- background-color: rgba(${borderRgbPartialColor}, 0.1);
16996
- border-color: transparent;
16997
- }
16998
-
16999
- .control:hover {
17000
- background-color: transparent;
17001
- border-color: ${borderHoverColor};
17002
- }
17003
-
17004
- .control${focusVisible} {
17005
- background-color: rgba(${borderRgbPartialColor}, 0.1);
17006
- border-color: ${borderHoverColor};
17007
- }
17008
-
17009
- .control${focusVisible}:hover {
17010
- background-color: transparent;
17011
- }
17012
-
17013
- .control:active {
17014
- background-color: ${fillSelectedColor};
17015
- border-color: ${fillSelectedColor};
17016
- }
17017
-
17018
- .control[disabled] {
17019
- background-color: rgba(${borderRgbPartialColor}, 0.1);
17020
- border-color: transparent;
17021
- }
17022
- `));
17023
-
17024
- const styles$u = styles$v.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
17025
- :host([appearance-variant='primary']) .control {
17026
- box-shadow: 0px 0px 0px ${borderWidth}
17027
- rgba(${actionRgbPartialColor}, 0.3) inset;
17028
- }
17029
-
17030
- :host([appearance-variant='primary']) .control:hover {
17031
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17032
- }
17033
-
17034
- :host([appearance-variant='primary']) .control${focusVisible} {
17035
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17036
- }
17037
-
17038
- :host([appearance-variant='primary']) .control:active {
17039
- box-shadow: none;
17040
- }
17041
-
17042
- :host([appearance-variant='primary']) .control[disabled] {
17043
- box-shadow: none;
17044
- }
17045
- `), appearanceBehavior(ButtonAppearance.block, css `
17046
- :host([appearance-variant='primary']) .control {
17047
- background-clip: padding-box;
17048
- border-color: rgba(${actionRgbPartialColor}, 0.3);
17049
- border-width: calc(2 * ${borderWidth});
17050
- padding: 0 calc(${standardPadding} - ${borderWidth});
17051
- }
17052
-
17053
- :host([appearance-variant='primary'][content-hidden]) .control {
17054
- padding: 0px;
17055
- }
17056
17279
 
17057
- :host([appearance-variant='primary']) .control:hover {
17058
- border-color: ${borderHoverColor};
17059
- box-shadow: none;
17060
- }
17061
-
17062
- :host([appearance-variant='primary']) .control${focusVisible} {
17063
- background-clip: border-box;
17064
- border-color: ${borderHoverColor};
17065
- border-width: ${borderWidth};
17066
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17067
- padding: 0 ${standardPadding};
17068
- }
17069
-
17070
- :host([appearance-variant='primary'][content-hidden])
17071
- .control${focusVisible} {
17072
- padding: 0px;
17073
- }
17074
-
17075
- :host([appearance-variant='primary']) .control:active {
17076
- background-clip: border-box;
17077
- border-color: ${fillSelectedColor};
17078
- border-width: ${borderWidth};
17079
- box-shadow: none;
17080
- padding: 0 ${standardPadding};
17081
- }
17082
-
17083
- :host([appearance-variant='primary'][content-hidden])
17084
- .control:active {
17085
- padding: 0px;
17086
- }
17280
+ slot[name='separator'] path {
17281
+ fill: ${placeholderFontColor};
17282
+ }
17283
+ `;
17087
17284
 
17088
- :host([appearance-variant='primary']) .control[disabled] {
17089
- background-clip: border-box;
17090
- border-color: transparent;
17091
- border-width: ${borderWidth};
17092
- box-shadow: none;
17093
- padding: 0 ${standardPadding};
17094
- }
17285
+ /**
17286
+ * A nimble-styled breadcrumb item
17287
+ */
17288
+ class BreadcrumbItem extends BreadcrumbItem$1 {
17289
+ }
17290
+ const nimbleBreadcrumbItem = BreadcrumbItem.compose({
17291
+ baseName: 'breadcrumb-item',
17292
+ baseClass: BreadcrumbItem$1,
17293
+ template: breadcrumbItemTemplate,
17294
+ styles: styles$v,
17295
+ separator: forwardSlash16X16.data
17296
+ });
17297
+ DesignSystem.getOrCreate()
17298
+ .withPrefix('nimble')
17299
+ .register(nimbleBreadcrumbItem());
17095
17300
 
17096
- :host([appearance-variant='primary'][content-hidden])
17097
- .control[disabled] {
17098
- padding: 0px;
17099
- }
17100
- `));
17301
+ const styles$u = css `
17302
+ ${styles$z}
17303
+ ${buttonAppearanceVariantStyles}
17304
+ `;
17101
17305
 
17102
17306
  /**
17103
17307
  * A nimble-styled HTML button
@@ -17119,13 +17323,13 @@
17119
17323
  this.contentHidden = false;
17120
17324
  }
17121
17325
  }
17122
- __decorate([
17326
+ __decorate$1([
17123
17327
  attr
17124
17328
  ], Button.prototype, "appearance", void 0);
17125
- __decorate([
17329
+ __decorate$1([
17126
17330
  attr({ attribute: 'appearance-variant' })
17127
17331
  ], Button.prototype, "appearanceVariant", void 0);
17128
- __decorate([
17332
+ __decorate$1([
17129
17333
  attr({ attribute: 'content-hidden', mode: 'boolean' })
17130
17334
  ], Button.prototype, "contentHidden", void 0);
17131
17335
  /**
@@ -17148,6 +17352,79 @@
17148
17352
  });
17149
17353
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleButton());
17150
17354
 
17355
+ /**
17356
+ * Subscription for {@link ThemeStyleSheetBehavior}
17357
+ */
17358
+ class ThemeStyleSheetBehaviorSubscription {
17359
+ constructor(value, styles, source) {
17360
+ this.value = value;
17361
+ this.styles = styles;
17362
+ this.source = source;
17363
+ }
17364
+ handleChange() {
17365
+ const theme$1 = theme.getValueFor(this.source);
17366
+ if (Array.isArray(this.value)
17367
+ ? this.value.includes(theme$1)
17368
+ : this.value === theme$1) {
17369
+ this.source.$fastController.addStyles(this.styles);
17370
+ }
17371
+ else {
17372
+ this.source.$fastController.removeStyles(this.styles);
17373
+ }
17374
+ }
17375
+ }
17376
+ /**
17377
+ * Behavior to conditionally apply theme-based stylesheets.
17378
+ */
17379
+ class ThemeStyleSheetBehavior {
17380
+ constructor(theme, styles) {
17381
+ this.theme = theme;
17382
+ this.styles = styles;
17383
+ this.cache = new WeakMap();
17384
+ }
17385
+ /**
17386
+ * @internal
17387
+ */
17388
+ bind(source) {
17389
+ const subscriber = this.cache.get(source)
17390
+ || new ThemeStyleSheetBehaviorSubscription(this.theme, this.styles, source);
17391
+ // Currently subscriber from cache may have gone through unbind
17392
+ // but still be in cache so always resubscribe
17393
+ // See: https://github.com/microsoft/fast/issues/3246#issuecomment-1030424876
17394
+ theme.subscribe(subscriber, source);
17395
+ subscriber.handleChange();
17396
+ this.cache.set(source, subscriber);
17397
+ }
17398
+ /**
17399
+ * @internal
17400
+ */
17401
+ unbind(source) {
17402
+ const subscriber = this.cache.get(source);
17403
+ if (subscriber) {
17404
+ theme.unsubscribe(subscriber);
17405
+ }
17406
+ // Currently does not evict subscriber from cache
17407
+ // See: https://github.com/microsoft/fast/issues/3246#issuecomment-1030424876
17408
+ }
17409
+ }
17410
+ /**
17411
+ * Behavior to conditionally apply theme-based stylesheets. To determine which to apply,
17412
+ * the behavior will use the nearest ThemeProvider's 'theme' design system value.
17413
+ *
17414
+ * @public
17415
+ * @example
17416
+ * ```ts
17417
+ * css`
17418
+ * // ...
17419
+ * `.withBehaviors(
17420
+ * themeBehavior(Theme.light, css` ... `),
17421
+ * // Apply style for both dark and color theme
17422
+ * themeBehavior([Theme.dark, Theme.color], css` ... `)
17423
+ * )
17424
+ * ```
17425
+ */
17426
+ const themeBehavior = (theme, styles) => new ThemeStyleSheetBehavior(theme, styles);
17427
+
17151
17428
  const styles$t = css `
17152
17429
  ${display('inline-flex')}
17153
17430
 
@@ -17292,7 +17569,7 @@
17292
17569
  this.selected = false;
17293
17570
  }
17294
17571
  }
17295
- __decorate([
17572
+ __decorate$1([
17296
17573
  attr({ mode: 'boolean' })
17297
17574
  ], CardButton.prototype, "selected", void 0);
17298
17575
  /**
@@ -17439,7 +17716,7 @@
17439
17716
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
17440
17717
 
17441
17718
  const styles$r = css `
17442
- ${styles$v}
17719
+ ${styles$z}
17443
17720
 
17444
17721
  .control[aria-pressed='true'] {
17445
17722
  background-color: ${fillSelectedColor};
@@ -17454,12 +17731,12 @@
17454
17731
  background-color: ${fillSelectedColor};
17455
17732
  }
17456
17733
 
17457
- .control[aria-pressed='true'][disabled] {
17734
+ :host([disabled]) .control[aria-pressed='true'] {
17458
17735
  background-color: ${fillSelectedColor};
17459
17736
  border-color: ${fillSelectedColor};
17460
17737
  }
17461
17738
 
17462
- .control[aria-pressed='true'][disabled]:hover {
17739
+ :host([disabled]) .control[aria-pressed='true']:hover {
17463
17740
  background-color: ${fillSelectedColor};
17464
17741
  border-color: ${fillSelectedColor};
17465
17742
  }
@@ -17531,10 +17808,10 @@
17531
17808
  this.contentHidden = false;
17532
17809
  }
17533
17810
  }
17534
- __decorate([
17811
+ __decorate$1([
17535
17812
  attr
17536
17813
  ], ToggleButton.prototype, "appearance", void 0);
17537
- __decorate([
17814
+ __decorate$1([
17538
17815
  attr({ attribute: 'content-hidden', mode: 'boolean' })
17539
17816
  ], ToggleButton.prototype, "contentHidden", void 0);
17540
17817
  applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
@@ -17607,7 +17884,7 @@
17607
17884
  this.icon = icon;
17608
17885
  }
17609
17886
  }
17610
- __decorate([
17887
+ __decorate$1([
17611
17888
  attr
17612
17889
  ], Icon.prototype, "severity", void 0);
17613
17890
  const registerIcon = (baseName, iconClass) => {
@@ -18136,16 +18413,16 @@
18136
18413
  }
18137
18414
  }
18138
18415
  }
18139
- __decorate([
18416
+ __decorate$1([
18140
18417
  attr
18141
18418
  ], Combobox.prototype, "appearance", void 0);
18142
- __decorate([
18419
+ __decorate$1([
18143
18420
  observable
18144
18421
  ], Combobox.prototype, "dropdownButton", void 0);
18145
- __decorate([
18422
+ __decorate$1([
18146
18423
  attr({ attribute: 'error-text' })
18147
18424
  ], Combobox.prototype, "errorText", void 0);
18148
- __decorate([
18425
+ __decorate$1([
18149
18426
  attr({ attribute: 'error-visible', mode: 'boolean' })
18150
18427
  ], Combobox.prototype, "errorVisible", void 0);
18151
18428
  const nimbleCombobox = Combobox.compose({
@@ -18420,19 +18697,19 @@
18420
18697
  // We want the member to match the name of the constant
18421
18698
  // eslint-disable-next-line @typescript-eslint/naming-convention
18422
18699
  Dialog.UserDismissed = UserDismissed;
18423
- __decorate([
18700
+ __decorate$1([
18424
18701
  attr({ attribute: 'prevent-dismiss', mode: 'boolean' })
18425
18702
  ], Dialog.prototype, "preventDismiss", void 0);
18426
- __decorate([
18703
+ __decorate$1([
18427
18704
  attr({ attribute: 'header-hidden', mode: 'boolean' })
18428
18705
  ], Dialog.prototype, "headerHidden", void 0);
18429
- __decorate([
18706
+ __decorate$1([
18430
18707
  attr({ attribute: 'footer-hidden', mode: 'boolean' })
18431
18708
  ], Dialog.prototype, "footerHidden", void 0);
18432
- __decorate([
18709
+ __decorate$1([
18433
18710
  observable
18434
18711
  ], Dialog.prototype, "footerIsEmpty", void 0);
18435
- __decorate([
18712
+ __decorate$1([
18436
18713
  observable
18437
18714
  ], Dialog.prototype, "slottedFooterElements", void 0);
18438
18715
  applyMixins(Dialog, ARIAGlobalStatesAndProperties);
@@ -18704,10 +18981,10 @@
18704
18981
  // We want the member to match the name of the constant
18705
18982
  // eslint-disable-next-line @typescript-eslint/naming-convention
18706
18983
  Drawer.UserDismissed = UserDismissed;
18707
- __decorate([
18984
+ __decorate$1([
18708
18985
  attr
18709
18986
  ], Drawer.prototype, "location", void 0);
18710
- __decorate([
18987
+ __decorate$1([
18711
18988
  attr({ attribute: 'prevent-dismiss', mode: 'boolean' })
18712
18989
  ], Drawer.prototype, "preventDismiss", void 0);
18713
18990
  applyMixins(Drawer, ARIAGlobalStatesAndProperties);
@@ -20690,28 +20967,28 @@
20690
20967
  }
20691
20968
  }
20692
20969
  }
20693
- __decorate([
20970
+ __decorate$1([
20694
20971
  attr
20695
20972
  ], MenuButton.prototype, "appearance", void 0);
20696
- __decorate([
20973
+ __decorate$1([
20697
20974
  attr({ mode: 'boolean' })
20698
20975
  ], MenuButton.prototype, "disabled", void 0);
20699
- __decorate([
20976
+ __decorate$1([
20700
20977
  attr({ attribute: 'content-hidden', mode: 'boolean' })
20701
20978
  ], MenuButton.prototype, "contentHidden", void 0);
20702
- __decorate([
20979
+ __decorate$1([
20703
20980
  attr({ mode: 'boolean' })
20704
20981
  ], MenuButton.prototype, "open", void 0);
20705
- __decorate([
20982
+ __decorate$1([
20706
20983
  attr({ attribute: 'position' })
20707
20984
  ], MenuButton.prototype, "position", void 0);
20708
- __decorate([
20985
+ __decorate$1([
20709
20986
  observable
20710
20987
  ], MenuButton.prototype, "toggleButton", void 0);
20711
- __decorate([
20988
+ __decorate$1([
20712
20989
  observable
20713
20990
  ], MenuButton.prototype, "region", void 0);
20714
- __decorate([
20991
+ __decorate$1([
20715
20992
  observable
20716
20993
  ], MenuButton.prototype, "slottedMenus", void 0);
20717
20994
  const nimbleMenuButton = MenuButton.compose({
@@ -21031,13 +21308,13 @@
21031
21308
  this.control.setAttribute('role', 'spinbutton');
21032
21309
  }
21033
21310
  }
21034
- __decorate([
21311
+ __decorate$1([
21035
21312
  attr
21036
21313
  ], NumberField.prototype, "appearance", void 0);
21037
- __decorate([
21314
+ __decorate$1([
21038
21315
  attr({ attribute: 'error-text' })
21039
21316
  ], NumberField.prototype, "errorText", void 0);
21040
- __decorate([
21317
+ __decorate$1([
21041
21318
  attr({ attribute: 'error-visible', mode: 'boolean' })
21042
21319
  ], NumberField.prototype, "errorVisible", void 0);
21043
21320
  /**
@@ -21305,13 +21582,13 @@
21305
21582
  }
21306
21583
  }
21307
21584
  }
21308
- __decorate([
21585
+ __decorate$1([
21309
21586
  attr
21310
21587
  ], Select.prototype, "appearance", void 0);
21311
- __decorate([
21588
+ __decorate$1([
21312
21589
  attr({ attribute: 'error-text' })
21313
21590
  ], Select.prototype, "errorText", void 0);
21314
- __decorate([
21591
+ __decorate$1([
21315
21592
  attr({ attribute: 'error-visible', mode: 'boolean' })
21316
21593
  ], Select.prototype, "errorVisible", void 0);
21317
21594
  const nimbleSelect = Select.compose({
@@ -24756,13 +25033,13 @@
24756
25033
  this.columnHeaders = generatedColumns.map(x => x.header);
24757
25034
  }
24758
25035
  }
24759
- __decorate([
25036
+ __decorate$1([
24760
25037
  observable
24761
25038
  ], Table.prototype, "data", void 0);
24762
- __decorate([
25039
+ __decorate$1([
24763
25040
  observable
24764
25041
  ], Table.prototype, "tableData", void 0);
24765
- __decorate([
25042
+ __decorate$1([
24766
25043
  observable
24767
25044
  ], Table.prototype, "columnHeaders", void 0);
24768
25045
  const nimbleTable = Table.compose({
@@ -24986,7 +25263,7 @@
24986
25263
  this.appearance = TextAreaAppearance.outline;
24987
25264
  }
24988
25265
  }
24989
- __decorate([
25266
+ __decorate$1([
24990
25267
  attr
24991
25268
  ], TextArea.prototype, "appearance", void 0);
24992
25269
  const nimbleTextArea = TextArea.compose({
@@ -25260,16 +25537,16 @@
25260
25537
  this.fullBleed = false;
25261
25538
  }
25262
25539
  }
25263
- __decorate([
25540
+ __decorate$1([
25264
25541
  attr
25265
25542
  ], TextField.prototype, "appearance", void 0);
25266
- __decorate([
25543
+ __decorate$1([
25267
25544
  attr({ attribute: 'error-text' })
25268
25545
  ], TextField.prototype, "errorText", void 0);
25269
- __decorate([
25546
+ __decorate$1([
25270
25547
  attr({ attribute: 'error-visible', mode: 'boolean' })
25271
25548
  ], TextField.prototype, "errorVisible", void 0);
25272
- __decorate([
25549
+ __decorate$1([
25273
25550
  attr({ attribute: 'full-bleed', mode: 'boolean' })
25274
25551
  ], TextField.prototype, "fullBleed", void 0);
25275
25552
  const nimbleTextField = TextField.compose({
@@ -25466,10 +25743,10 @@
25466
25743
  this.iconVisible = false;
25467
25744
  }
25468
25745
  }
25469
- __decorate([
25746
+ __decorate$1([
25470
25747
  attr
25471
25748
  ], Tooltip.prototype, "severity", void 0);
25472
- __decorate([
25749
+ __decorate$1([
25473
25750
  attr({ attribute: 'icon-visible', mode: 'boolean' })
25474
25751
  ], Tooltip.prototype, "iconVisible", void 0);
25475
25752
  const nimbleTooltip = Tooltip.compose({
@@ -25895,7 +26172,7 @@ Instead styling against the role which is more general and likely a better appro
25895
26172
  return treeItemChild !== null;
25896
26173
  }
25897
26174
  }
25898
- __decorate([
26175
+ __decorate$1([
25899
26176
  attr({ attribute: 'selection-mode' })
25900
26177
  ], TreeView.prototype, "selectionMode", void 0);
25901
26178
  const nimbleTreeView = TreeView.compose({
@@ -25906,19 +26183,75 @@ Instead styling against the role which is more general and likely a better appro
25906
26183
  });
25907
26184
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTreeView());
25908
26185
 
25909
- // prettier-ignore
25910
26186
  const template = html `
25911
- <div>
25912
- <ul>
25913
- ${repeat(x => x.dies, html ` <li>
25914
- ${x => html `dieX: ${x.x}, dieY: ${x.y}, value:
25915
- ${x.value}%`}
25916
- </li>`)}
25917
- </ul>
26187
+ <div class="wafer-map-container">
26188
+ <svg class="svg-root ${x => x.orientation}">
26189
+ <g class="zoom-container">
26190
+ <svg class="circle-base" version="1.1" x="0px" y="0px" viewbox="1 .45 20 21">
26191
+ <path class="circle-drawing-path" d="m 21 12 a 10 10 330 1 1 0 -1.98 a 1 1 0 0 0 0 2"/>
26192
+ </svg>
26193
+ </g>
26194
+ </svg>
26195
+ <div class="wafer-map-area" style="left: 0px; top: 0px">
26196
+ <canvas width=500 height="500" ${ref('canvas')}>
26197
+ </div>
25918
26198
  </div>
25919
26199
  `;
25920
26200
 
25921
- const styles = css ``;
26201
+ const styles = css `
26202
+ .wafer-map-container {
26203
+ width: 500px;
26204
+ height: 500px;
26205
+ position: relative;
26206
+ display: flex;
26207
+ justify-content: center;
26208
+ align-items: center;
26209
+ }
26210
+
26211
+ .svg-root {
26212
+ width: 100%;
26213
+ height: 100%;
26214
+ }
26215
+
26216
+ .svg-root.top {
26217
+ transform: rotate(-90deg);
26218
+ }
26219
+
26220
+ .svg-root.right {
26221
+ transform: rotate(0deg);
26222
+ }
26223
+
26224
+ .svg-root.left {
26225
+ transform: rotate(180deg);
26226
+ }
26227
+
26228
+ .svg-root.bottom {
26229
+ transform: rotate(90deg);
26230
+ }
26231
+
26232
+ .zoom-container {
26233
+ width: 100%;
26234
+ height: 100%;
26235
+ }
26236
+
26237
+ .circle-base {
26238
+ width: 100%;
26239
+ height: 100%;
26240
+ position: absolute;
26241
+ fill: white;
26242
+ }
26243
+
26244
+ .circle-drawing-path {
26245
+ shape-rendering: 'crispEdges';
26246
+ vector-effect: non-scaling-stroke;
26247
+ stroke-width: ${borderWidth};
26248
+ stroke: ${borderColor};
26249
+ }
26250
+
26251
+ .wafer-map-area {
26252
+ position: absolute;
26253
+ }
26254
+ `;
25922
26255
 
25923
26256
  const WaferMapQuadrant = {
25924
26257
  bottomLeft: 'bottom-left',
@@ -28750,6 +29083,32 @@ Instead styling against the role which is more general and likely a better appro
28750
29083
  }
28751
29084
  }
28752
29085
 
29086
+ /**
29087
+ * Responsible for drawing the dies inside the wafer map
29088
+ */
29089
+ class RenderingModule {
29090
+ constructor(waferData, canvas) {
29091
+ this.waferData = waferData;
29092
+ this.context = canvas.getContext('2d');
29093
+ }
29094
+ drawWafer() {
29095
+ const dies = this.waferData.diesRenderInfo;
29096
+ const dimensions = this.waferData.dieDimensions;
29097
+ for (const die of dies) {
29098
+ this.context.fillStyle = die.fillStyle;
29099
+ this.context?.fillRect(die.x, die.y, dimensions.width, dimensions.height);
29100
+ this.context.font = this.waferData.labelsFontSize.toString();
29101
+ this.context.fillStyle = '#ffffff';
29102
+ this.context.textAlign = 'center';
29103
+ const aproxTextHeight = this.context.measureText('M');
29104
+ this.context.fillText(die.text, die.x + dimensions.width / 2, die.y + dimensions.height / 2 + aproxTextHeight.width / 2);
29105
+ }
29106
+ }
29107
+ clearCanvas() {
29108
+ this.context.clearRect(0, 0, this.waferData.containerDimensions.width, this.waferData.containerDimensions.height);
29109
+ }
29110
+ }
29111
+
28753
29112
  /**
28754
29113
  * A nimble-styled WaferMap
28755
29114
  */
@@ -28770,12 +29129,18 @@ Instead styling against the role which is more general and likely a better appro
28770
29129
  };
28771
29130
  this.renderQueued = false;
28772
29131
  }
29132
+ connectedCallback() {
29133
+ super.connectedCallback();
29134
+ this.queueRender();
29135
+ }
28773
29136
  /**
28774
29137
  * @internal
28775
29138
  */
28776
29139
  render() {
28777
29140
  this.renderQueued = false;
28778
- this.dataManager = new DataManager(this.dies, this.quadrant, { width: this.offsetWidth, height: this.offsetHeight }, this.colorScale, this.highlightedValues, this.colorScaleMode, this.dieLabelsHidden, this.dieLabelsSuffix, this.maxCharacters);
29141
+ this.dataManager = new DataManager(this.dies, this.quadrant, { width: 500, height: 500 }, this.colorScale, this.highlightedValues, this.colorScaleMode, this.dieLabelsHidden, this.dieLabelsSuffix, this.maxCharacters);
29142
+ const renderer = new RenderingModule(this.dataManager, this.canvas);
29143
+ renderer.drawWafer();
28779
29144
  }
28780
29145
  quadrantChanged() {
28781
29146
  this.queueRender();
@@ -28805,47 +29170,53 @@ Instead styling against the role which is more general and likely a better appro
28805
29170
  this.queueRender();
28806
29171
  }
28807
29172
  queueRender() {
29173
+ if (!this.$fastController.isConnected) {
29174
+ return;
29175
+ }
28808
29176
  if (!this.renderQueued) {
28809
29177
  this.renderQueued = true;
28810
29178
  DOM.queueUpdate(() => this.render());
28811
29179
  }
28812
29180
  }
28813
29181
  }
28814
- __decorate([
29182
+ __decorate$1([
28815
29183
  attr
28816
29184
  ], WaferMap.prototype, "quadrant", void 0);
28817
- __decorate([
29185
+ __decorate$1([
28818
29186
  attr
28819
29187
  ], WaferMap.prototype, "orientation", void 0);
28820
- __decorate([
29188
+ __decorate$1([
28821
29189
  attr({
28822
29190
  attribute: 'max-characters',
28823
29191
  converter: nullableNumberConverter
28824
29192
  })
28825
29193
  ], WaferMap.prototype, "maxCharacters", void 0);
28826
- __decorate([
29194
+ __decorate$1([
28827
29195
  attr({
28828
29196
  attribute: 'die-labels-hidden',
28829
29197
  mode: 'boolean'
28830
29198
  })
28831
29199
  ], WaferMap.prototype, "dieLabelsHidden", void 0);
28832
- __decorate([
29200
+ __decorate$1([
28833
29201
  attr({
28834
29202
  attribute: 'die-labels-suffix'
28835
29203
  })
28836
29204
  ], WaferMap.prototype, "dieLabelsSuffix", void 0);
28837
- __decorate([
29205
+ __decorate$1([
28838
29206
  attr({
28839
29207
  attribute: 'color-scale-mode'
28840
29208
  })
29209
+ ], WaferMap.prototype, "canvas", void 0);
29210
+ __decorate$1([
29211
+ observable
28841
29212
  ], WaferMap.prototype, "colorScaleMode", void 0);
28842
- __decorate([
29213
+ __decorate$1([
28843
29214
  observable
28844
29215
  ], WaferMap.prototype, "highlightedValues", void 0);
28845
- __decorate([
29216
+ __decorate$1([
28846
29217
  observable
28847
29218
  ], WaferMap.prototype, "dies", void 0);
28848
- __decorate([
29219
+ __decorate$1([
28849
29220
  observable
28850
29221
  ], WaferMap.prototype, "colorScale", void 0);
28851
29222
  const nimbleWaferMap = WaferMap.compose({