@ni/nimble-components 11.15.0 → 12.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 (84) hide show
  1. package/dist/all-components-bundle.js +656 -619
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +1073 -1056
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/breadcrumb/index.d.ts +2 -0
  6. package/dist/esm/breadcrumb/index.js +5 -0
  7. package/dist/esm/breadcrumb/index.js.map +1 -1
  8. package/dist/esm/breadcrumb/styles.js +4 -4
  9. package/dist/esm/breadcrumb/styles.js.map +1 -1
  10. package/dist/esm/breadcrumb/types.d.ts +9 -0
  11. package/dist/esm/breadcrumb/types.js +9 -0
  12. package/dist/esm/breadcrumb/types.js.map +1 -0
  13. package/dist/esm/button/index.d.ts +9 -3
  14. package/dist/esm/button/index.js +3 -0
  15. package/dist/esm/button/index.js.map +1 -1
  16. package/dist/esm/button/styles.js +65 -63
  17. package/dist/esm/button/styles.js.map +1 -1
  18. package/dist/esm/button/types.d.ts +9 -0
  19. package/dist/esm/button/types.js +8 -0
  20. package/dist/esm/button/types.js.map +1 -1
  21. package/dist/esm/card-button/styles.js +21 -22
  22. package/dist/esm/card-button/styles.js.map +1 -1
  23. package/dist/esm/combobox/index.d.ts +6 -6
  24. package/dist/esm/combobox/index.js +15 -9
  25. package/dist/esm/combobox/index.js.map +1 -1
  26. package/dist/esm/combobox/styles.js +5 -5
  27. package/dist/esm/combobox/styles.js.map +1 -1
  28. package/dist/esm/dialog/styles.js.map +1 -1
  29. package/dist/esm/drawer/styles.js +0 -4
  30. package/dist/esm/drawer/styles.js.map +1 -1
  31. package/dist/esm/icon-base/index.d.ts +9 -2
  32. package/dist/esm/icon-base/index.js +6 -1
  33. package/dist/esm/icon-base/index.js.map +1 -1
  34. package/dist/esm/icon-base/styles.js +4 -4
  35. package/dist/esm/icon-base/types.d.ts +6 -6
  36. package/dist/esm/icon-base/types.js +5 -5
  37. package/dist/esm/icon-base/types.js.map +1 -1
  38. package/dist/esm/list-option/styles.js +2 -2
  39. package/dist/esm/menu-button/index.d.ts +5 -5
  40. package/dist/esm/menu-button/index.js.map +1 -1
  41. package/dist/esm/menu-button/template.d.ts +1 -3
  42. package/dist/esm/menu-button/template.js +6 -5
  43. package/dist/esm/menu-button/template.js.map +1 -1
  44. package/dist/esm/number-field/index.d.ts +4 -5
  45. package/dist/esm/number-field/index.js +23 -12
  46. package/dist/esm/number-field/index.js.map +1 -1
  47. package/dist/esm/number-field/styles.js +5 -4
  48. package/dist/esm/number-field/styles.js.map +1 -1
  49. package/dist/esm/patterns/button/styles.js +80 -82
  50. package/dist/esm/patterns/button/styles.js.map +1 -1
  51. package/dist/esm/patterns/button/types.d.ts +1 -1
  52. package/dist/esm/patterns/dropdown/styles.js +1 -1
  53. package/dist/esm/patterns/dropdown/styles.js.map +1 -1
  54. package/dist/esm/patterns/dropdown/types.d.ts +8 -0
  55. package/dist/esm/patterns/dropdown/types.js +2 -3
  56. package/dist/esm/patterns/dropdown/types.js.map +1 -1
  57. package/dist/esm/patterns/error/styles.js +4 -4
  58. package/dist/esm/patterns/error/template.d.ts +2 -2
  59. package/dist/esm/patterns/error/template.js.map +1 -1
  60. package/dist/esm/patterns/error/types.d.ts +5 -4
  61. package/dist/esm/switch/styles.js.map +1 -1
  62. package/dist/esm/text-area/styles.js +19 -21
  63. package/dist/esm/text-area/styles.js.map +1 -1
  64. package/dist/esm/text-field/index.d.ts +5 -5
  65. package/dist/esm/text-field/index.js +13 -8
  66. package/dist/esm/text-field/index.js.map +1 -1
  67. package/dist/esm/text-field/styles.js +6 -7
  68. package/dist/esm/text-field/styles.js.map +1 -1
  69. package/dist/esm/toggle-button/index.d.ts +2 -2
  70. package/dist/esm/tooltip/index.d.ts +8 -0
  71. package/dist/esm/tooltip/index.js +12 -0
  72. package/dist/esm/tooltip/index.js.map +1 -1
  73. package/dist/esm/tooltip/styles.js +8 -8
  74. package/dist/esm/tooltip/styles.js.map +1 -1
  75. package/dist/esm/tooltip/template.d.ts +1 -3
  76. package/dist/esm/tooltip/template.js +13 -8
  77. package/dist/esm/tooltip/template.js.map +1 -1
  78. package/dist/esm/tooltip/types.d.ts +4 -4
  79. package/dist/esm/tooltip/types.js +3 -3
  80. package/dist/esm/tooltip/types.js.map +1 -1
  81. package/dist/esm/tree-item/styles.d.ts +1 -3
  82. package/dist/esm/tree-item/styles.js +182 -177
  83. package/dist/esm/tree-item/styles.js.map +1 -1
  84. package/package.json +1 -1
@@ -14844,6 +14844,28 @@
14844
14844
  .withPrefix('nimble')
14845
14845
  .register(nimbleAnchoredRegion());
14846
14846
 
14847
+ /*! *****************************************************************************
14848
+ Copyright (c) Microsoft Corporation.
14849
+
14850
+ Permission to use, copy, modify, and/or distribute this software for any
14851
+ purpose with or without fee is hereby granted.
14852
+
14853
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14854
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
14855
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14856
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14857
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14858
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14859
+ PERFORMANCE OF THIS SOFTWARE.
14860
+ ***************************************************************************** */
14861
+
14862
+ function __decorate(decorators, target, key, desc) {
14863
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14864
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14865
+ 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;
14866
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14867
+ }
14868
+
14847
14869
  /**
14848
14870
  * Do not edit directly
14849
14871
  * Generated on Thu, 26 May 2022 18:20:05 GMT
@@ -15175,28 +15197,6 @@
15175
15197
  const prefix = 'ni-nimble';
15176
15198
  const styleNameFromTokenName = (tokenName) => `${prefix}-${tokenName}`;
15177
15199
 
15178
- /*! *****************************************************************************
15179
- Copyright (c) Microsoft Corporation.
15180
-
15181
- Permission to use, copy, modify, and/or distribute this software for any
15182
- purpose with or without fee is hereby granted.
15183
-
15184
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15185
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15186
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15187
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15188
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15189
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15190
- PERFORMANCE OF THIS SOFTWARE.
15191
- ***************************************************************************** */
15192
-
15193
- function __decorate(decorators, target, key, desc) {
15194
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15195
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15196
- 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;
15197
- return c > 3 && r && Object.defineProperty(target, key, r), r;
15198
- }
15199
-
15200
15200
  const template$7 = html `<slot></slot>`;
15201
15201
 
15202
15202
  const styles$w = css `
@@ -15494,7 +15494,7 @@
15494
15494
  flex-wrap: wrap;
15495
15495
  }
15496
15496
 
15497
- :host(.prominent-links) {
15497
+ :host([appearance='prominent']) {
15498
15498
  --ni-private-breadcrumb-link-active-font-color: ${bodyFontColor};
15499
15499
  }
15500
15500
 
@@ -15510,7 +15510,7 @@
15510
15510
  --ni-private-breadcrumb-link-active-font-color: ${DigitalGreenDark};
15511
15511
  }
15512
15512
 
15513
- :host(.prominent-links) {
15513
+ :host([appearance='prominent']) {
15514
15514
  --ni-private-breadcrumb-link-font-color: ${DigitalGreenDark};
15515
15515
  }
15516
15516
  `), themeBehavior(Theme.dark, css `
@@ -15518,7 +15518,7 @@
15518
15518
  --ni-private-breadcrumb-link-active-font-color: ${PowerGreen};
15519
15519
  }
15520
15520
 
15521
- :host(.prominent-links) {
15521
+ :host([appearance='prominent']) {
15522
15522
  --ni-private-breadcrumb-link-font-color: ${PowerGreen};
15523
15523
  }
15524
15524
  `), themeBehavior(Theme.color, css `
@@ -15526,7 +15526,7 @@
15526
15526
  --ni-private-breadcrumb-link-active-font-color: ${hexToRgbaCssColor(White, 0.6)};
15527
15527
  }
15528
15528
 
15529
- :host(.prominent-links) {
15529
+ :host([appearance='prominent']) {
15530
15530
  --ni-private-breadcrumb-link-font-color: ${PowerGreen};
15531
15531
  }
15532
15532
  `));
@@ -15536,6 +15536,9 @@
15536
15536
  */
15537
15537
  class Breadcrumb extends Breadcrumb$1 {
15538
15538
  }
15539
+ __decorate([
15540
+ attr
15541
+ ], Breadcrumb.prototype, "appearance", void 0);
15539
15542
  const nimbleBreadcrumb = Breadcrumb.compose({
15540
15543
  baseName: 'breadcrumb',
15541
15544
  baseClass: Breadcrumb$1,
@@ -16434,164 +16437,164 @@
16434
16437
  :host([content-hidden]) [part='end'] {
16435
16438
  display: none;
16436
16439
  }
16437
- `
16438
- // prettier-ignore
16439
- .withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
16440
- .control {
16441
- background-color: transparent;
16442
- border-color: rgba(${actionRgbPartialColor}, 0.3);
16443
- }
16440
+ `.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
16441
+ .control {
16442
+ background-color: transparent;
16443
+ border-color: rgba(${actionRgbPartialColor}, 0.3);
16444
+ }
16444
16445
 
16445
- .control:hover {
16446
- background-color: transparent;
16447
- border-color: ${borderHoverColor};
16448
- }
16446
+ .control:hover {
16447
+ background-color: transparent;
16448
+ border-color: ${borderHoverColor};
16449
+ }
16449
16450
 
16450
- .control${focusVisible} {
16451
- background-color: transparent;
16452
- border-color: ${borderHoverColor};
16453
- }
16451
+ .control${focusVisible} {
16452
+ background-color: transparent;
16453
+ border-color: ${borderHoverColor};
16454
+ }
16454
16455
 
16455
- .control:active {
16456
- background-color: ${fillSelectedColor};
16457
- border-color: ${fillSelectedColor};
16458
- }
16456
+ .control:active {
16457
+ background-color: ${fillSelectedColor};
16458
+ border-color: ${fillSelectedColor};
16459
+ }
16459
16460
 
16460
- .control[disabled] {
16461
- background-color: transparent;
16462
- border-color: rgba(${borderRgbPartialColor}, 0.2);
16463
- }
16464
- `), appearanceBehavior(ButtonAppearance.ghost, css `
16465
- .control {
16466
- background-color: transparent;
16467
- border-color: transparent;
16468
- }
16461
+ .control[disabled] {
16462
+ background-color: transparent;
16463
+ border-color: rgba(${borderRgbPartialColor}, 0.2);
16464
+ }
16465
+ `), appearanceBehavior(ButtonAppearance.ghost, css `
16466
+ .control {
16467
+ background-color: transparent;
16468
+ border-color: transparent;
16469
+ }
16469
16470
 
16470
- .control:hover {
16471
- background-color: transparent;
16472
- border-color: ${borderHoverColor};
16473
- }
16471
+ .control:hover {
16472
+ background-color: transparent;
16473
+ border-color: ${borderHoverColor};
16474
+ }
16474
16475
 
16475
- .control${focusVisible} {
16476
- background-color: transparent;
16477
- border-color: ${borderHoverColor};
16478
- }
16476
+ .control${focusVisible} {
16477
+ background-color: transparent;
16478
+ border-color: ${borderHoverColor};
16479
+ }
16479
16480
 
16480
- .control:active {
16481
- background-color: ${fillSelectedColor};
16482
- border-color: ${fillSelectedColor};
16483
- }
16481
+ .control:active {
16482
+ background-color: ${fillSelectedColor};
16483
+ border-color: ${fillSelectedColor};
16484
+ }
16484
16485
 
16485
- .control[disabled] {
16486
- background-color: transparent;
16487
- border-color: transparent;
16488
- }
16489
- `), appearanceBehavior(ButtonAppearance.block, css `
16490
- .control {
16491
- background-color: rgba(${borderRgbPartialColor}, 0.1);
16492
- border-color: transparent;
16493
- }
16486
+ .control[disabled] {
16487
+ background-color: transparent;
16488
+ border-color: transparent;
16489
+ }
16490
+ `), appearanceBehavior(ButtonAppearance.block, css `
16491
+ .control {
16492
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
16493
+ border-color: transparent;
16494
+ }
16494
16495
 
16495
- .control:hover {
16496
- background-color: transparent;
16497
- border-color: ${borderHoverColor};
16498
- }
16496
+ .control:hover {
16497
+ background-color: transparent;
16498
+ border-color: ${borderHoverColor};
16499
+ }
16499
16500
 
16500
- .control${focusVisible} {
16501
- background-color: rgba(${borderRgbPartialColor}, 0.1);
16502
- border-color: ${borderHoverColor};
16503
- }
16501
+ .control${focusVisible} {
16502
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
16503
+ border-color: ${borderHoverColor};
16504
+ }
16504
16505
 
16505
- .control${focusVisible}:hover {
16506
- background-color: transparent;
16507
- }
16506
+ .control${focusVisible}:hover {
16507
+ background-color: transparent;
16508
+ }
16508
16509
 
16509
- .control:active {
16510
- background-color: ${fillSelectedColor};
16511
- border-color: ${fillSelectedColor};
16512
- }
16510
+ .control:active {
16511
+ background-color: ${fillSelectedColor};
16512
+ border-color: ${fillSelectedColor};
16513
+ }
16513
16514
 
16514
- .control[disabled] {
16515
- background-color: rgba(${borderRgbPartialColor}, 0.1);
16516
- border-color: transparent;
16517
- }
16518
- `));
16515
+ .control[disabled] {
16516
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
16517
+ border-color: transparent;
16518
+ }
16519
+ `));
16519
16520
 
16520
- // prettier-ignore
16521
- const styles$s = styles$t
16522
- .withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
16523
- :host(.primary) .control {
16524
- box-shadow: 0px 0px 0px ${borderWidth} rgba(${actionRgbPartialColor}, 0.3) inset;
16525
- }
16521
+ const styles$s = styles$t.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
16522
+ :host([appearance-variant='primary']) .control {
16523
+ box-shadow: 0px 0px 0px ${borderWidth}
16524
+ rgba(${actionRgbPartialColor}, 0.3) inset;
16525
+ }
16526
16526
 
16527
- :host(.primary) .control:hover {
16528
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16529
- }
16527
+ :host([appearance-variant='primary']) .control:hover {
16528
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16529
+ }
16530
16530
 
16531
- :host(.primary) .control${focusVisible} {
16532
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16533
- }
16531
+ :host([appearance-variant='primary']) .control${focusVisible} {
16532
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16533
+ }
16534
16534
 
16535
- :host(.primary) .control:active {
16536
- box-shadow: none;
16537
- }
16535
+ :host([appearance-variant='primary']) .control:active {
16536
+ box-shadow: none;
16537
+ }
16538
16538
 
16539
- :host(.primary) .control[disabled] {
16540
- box-shadow: none;
16541
- }
16542
- `), appearanceBehavior(ButtonAppearance.block, css `
16543
- :host(.primary) .control {
16544
- background-clip: padding-box;
16545
- border-color: rgba(${actionRgbPartialColor}, 0.3);
16546
- border-width: calc(2 * ${borderWidth});
16547
- padding: 0 calc(${standardPadding} - ${borderWidth});
16548
- }
16539
+ :host([appearance-variant='primary']) .control[disabled] {
16540
+ box-shadow: none;
16541
+ }
16542
+ `), appearanceBehavior(ButtonAppearance.block, css `
16543
+ :host([appearance-variant='primary']) .control {
16544
+ background-clip: padding-box;
16545
+ border-color: rgba(${actionRgbPartialColor}, 0.3);
16546
+ border-width: calc(2 * ${borderWidth});
16547
+ padding: 0 calc(${standardPadding} - ${borderWidth});
16548
+ }
16549
16549
 
16550
- :host(.primary[content-hidden]) .control {
16551
- padding: 0px;
16552
- }
16550
+ :host([appearance-variant='primary'][content-hidden]) .control {
16551
+ padding: 0px;
16552
+ }
16553
16553
 
16554
- :host(.primary) .control:hover {
16555
- border-color: ${borderHoverColor};
16556
- box-shadow: none;
16557
- }
16554
+ :host([appearance-variant='primary']) .control:hover {
16555
+ border-color: ${borderHoverColor};
16556
+ box-shadow: none;
16557
+ }
16558
16558
 
16559
- :host(.primary) .control${focusVisible} {
16560
- background-clip: border-box;
16561
- border-color: ${borderHoverColor};
16562
- border-width: ${borderWidth};
16563
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16564
- padding: 0 ${standardPadding};
16565
- }
16559
+ :host([appearance-variant='primary']) .control${focusVisible} {
16560
+ background-clip: border-box;
16561
+ border-color: ${borderHoverColor};
16562
+ border-width: ${borderWidth};
16563
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
16564
+ padding: 0 ${standardPadding};
16565
+ }
16566
16566
 
16567
- :host(.primary[content-hidden]) .control${focusVisible} {
16568
- padding: 0px;
16569
- }
16567
+ :host([appearance-variant='primary'][content-hidden])
16568
+ .control${focusVisible} {
16569
+ padding: 0px;
16570
+ }
16570
16571
 
16571
- :host(.primary) .control:active {
16572
- background-clip: border-box;
16573
- border-color: ${fillSelectedColor};
16574
- border-width: ${borderWidth};
16575
- box-shadow: none;
16576
- padding: 0 ${standardPadding};
16577
- }
16572
+ :host([appearance-variant='primary']) .control:active {
16573
+ background-clip: border-box;
16574
+ border-color: ${fillSelectedColor};
16575
+ border-width: ${borderWidth};
16576
+ box-shadow: none;
16577
+ padding: 0 ${standardPadding};
16578
+ }
16578
16579
 
16579
- :host(.primary[content-hidden]) .control:active {
16580
- padding: 0px;
16581
- }
16580
+ :host([appearance-variant='primary'][content-hidden])
16581
+ .control:active {
16582
+ padding: 0px;
16583
+ }
16582
16584
 
16583
- :host(.primary) .control[disabled] {
16584
- background-clip: border-box;
16585
- border-color: transparent;
16586
- border-width: ${borderWidth};
16587
- box-shadow: none;
16588
- padding: 0 ${standardPadding};
16589
- }
16585
+ :host([appearance-variant='primary']) .control[disabled] {
16586
+ background-clip: border-box;
16587
+ border-color: transparent;
16588
+ border-width: ${borderWidth};
16589
+ box-shadow: none;
16590
+ padding: 0 ${standardPadding};
16591
+ }
16590
16592
 
16591
- :host(.primary[content-hidden]) .control[disabled] {
16592
- padding: 0px;
16593
- }
16594
- `));
16593
+ :host([appearance-variant='primary'][content-hidden])
16594
+ .control[disabled] {
16595
+ padding: 0px;
16596
+ }
16597
+ `));
16595
16598
 
16596
16599
  /**
16597
16600
  * A nimble-styled HTML button
@@ -16616,6 +16619,9 @@
16616
16619
  __decorate([
16617
16620
  attr
16618
16621
  ], Button.prototype, "appearance", void 0);
16622
+ __decorate([
16623
+ attr({ attribute: 'appearance-variant' })
16624
+ ], Button.prototype, "appearanceVariant", void 0);
16619
16625
  __decorate([
16620
16626
  attr({ attribute: 'content-hidden', mode: 'boolean' })
16621
16627
  ], Button.prototype, "contentHidden", void 0);
@@ -16639,7 +16645,6 @@
16639
16645
  });
16640
16646
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleButton());
16641
16647
 
16642
- // prettier-ignore
16643
16648
  const styles$r = css `
16644
16649
  ${display('inline-flex')}
16645
16650
 
@@ -16748,27 +16753,27 @@
16748
16753
  display: none;
16749
16754
  }
16750
16755
  `.withBehaviors(themeBehavior(Theme.light, css `
16751
- :host {
16752
- --ni-private-card-button-background-hover-color: ${hexToRgbaCssColor(White, 0.3)};
16753
- --ni-private-card-button-background-active-color: ${White};
16754
- --ni-private-card-button-border-active-color: ${hexToRgbaCssColor(Black91, 0.2)};
16755
- --ni-private-card-button-border-selected-color: ${hexToRgbaCssColor(Black91, 0.6)};
16756
- }
16757
- `), themeBehavior(Theme.dark, css `
16758
- :host {
16759
- --ni-private-card-button-background-hover-color: ${hexToRgbaCssColor(Black15, 0.07)};
16760
- --ni-private-card-button-background-active-color: ${hexToRgbaCssColor(Black15, 0.15)};
16761
- --ni-private-card-button-border-active-color: ${hexToRgbaCssColor(Black15, 0.2)};
16762
- --ni-private-card-button-border-selected-color: ${Black15};
16763
- }
16764
- `), themeBehavior(Theme.color, css `
16765
- :host {
16766
- --ni-private-card-button-background-hover-color: ${hexToRgbaCssColor(White, 0.07)};
16767
- --ni-private-card-button-background-active-color: ${hexToRgbaCssColor(White, 0.15)};
16768
- --ni-private-card-button-border-active-color: ${hexToRgbaCssColor(White, 0.2)};
16769
- --ni-private-card-button-border-selected-color: ${hexToRgbaCssColor(White, 0.6)};
16770
- }
16771
- `));
16756
+ :host {
16757
+ --ni-private-card-button-background-hover-color: ${hexToRgbaCssColor(White, 0.3)};
16758
+ --ni-private-card-button-background-active-color: ${White};
16759
+ --ni-private-card-button-border-active-color: ${hexToRgbaCssColor(Black91, 0.2)};
16760
+ --ni-private-card-button-border-selected-color: ${hexToRgbaCssColor(Black91, 0.6)};
16761
+ }
16762
+ `), themeBehavior(Theme.dark, css `
16763
+ :host {
16764
+ --ni-private-card-button-background-hover-color: ${hexToRgbaCssColor(Black15, 0.07)};
16765
+ --ni-private-card-button-background-active-color: ${hexToRgbaCssColor(Black15, 0.15)};
16766
+ --ni-private-card-button-border-active-color: ${hexToRgbaCssColor(Black15, 0.2)};
16767
+ --ni-private-card-button-border-selected-color: ${Black15};
16768
+ }
16769
+ `), themeBehavior(Theme.color, css `
16770
+ :host {
16771
+ --ni-private-card-button-background-hover-color: ${hexToRgbaCssColor(White, 0.07)};
16772
+ --ni-private-card-button-background-active-color: ${hexToRgbaCssColor(White, 0.15)};
16773
+ --ni-private-card-button-border-active-color: ${hexToRgbaCssColor(White, 0.2)};
16774
+ --ni-private-card-button-border-selected-color: ${hexToRgbaCssColor(White, 0.6)};
16775
+ }
16776
+ `));
16772
16777
 
16773
16778
  /**
16774
16779
  * A nimble-styled card button
@@ -16930,108 +16935,217 @@
16930
16935
  });
16931
16936
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
16932
16937
 
16933
- const errorTextTemplate = html `
16934
- <div class="error-text" title="${x => x.errorText}" aria-live="polite">
16935
- ${x => x.errorText}
16936
- </div>
16937
- `;
16938
-
16939
- const template$6 = html `
16940
- <template>
16941
- <div class="icon" :innerHTML=${x => x.icon.data}></div>
16942
- </template
16943
- `;
16944
-
16945
16938
  const styles$p = css `
16946
- ${display('inline-flex')}
16947
-
16948
- :host {
16949
- align-items: center;
16950
- user-select: none;
16951
- width: ${iconSize};
16952
- height: ${iconSize};
16953
- }
16939
+ ${styles$t}
16954
16940
 
16955
- .icon {
16956
- width: 100%;
16957
- height: 100%;
16941
+ .control[aria-pressed='true'] {
16942
+ background-color: ${fillSelectedColor};
16943
+ border-color: ${fillSelectedColor};
16958
16944
  }
16959
16945
 
16960
- :host(.fail) {
16961
- ${iconColor.cssCustomProperty}: ${failColor};
16946
+ .control[aria-pressed='true']:hover {
16947
+ background-color: ${fillSelectedColor};
16962
16948
  }
16963
16949
 
16964
- :host(.warning) {
16965
- ${iconColor.cssCustomProperty}: ${warningColor};
16950
+ .control[aria-pressed='true']${focusVisible} {
16951
+ background-color: ${fillSelectedColor};
16966
16952
  }
16967
16953
 
16968
- :host(.pass) {
16969
- ${iconColor.cssCustomProperty}: ${passColor};
16954
+ .control[aria-pressed='true'][disabled] {
16955
+ background-color: ${fillSelectedColor};
16956
+ border-color: ${fillSelectedColor};
16970
16957
  }
16971
16958
 
16972
- :host(.information) {
16973
- ${iconColor.cssCustomProperty}: ${informationColor};
16959
+ .control[aria-pressed='true'][disabled]:hover {
16960
+ background-color: ${fillSelectedColor};
16961
+ border-color: ${fillSelectedColor};
16974
16962
  }
16963
+ `;
16975
16964
 
16976
- .icon svg {
16977
- fill: ${iconColor};
16978
- width: 100%;
16979
- height: 100%;
16980
- }
16965
+ const template$6 = (context, definition) => html `
16966
+ <div
16967
+ role="button"
16968
+ part="control"
16969
+ tabindex="${x => (x.disabled ? null : 0)}"
16970
+ @keypress="${(x, c) => x.keypressHandler(c.event)}"
16971
+ @click="${(x, c) => x.clickHandler(c.event)}"
16972
+ class="control ${x => (x.checked ? 'checked' : '')}"
16973
+ ?disabled="${x => x.disabled}"
16974
+ ${'' /* Configure aria-disabled, aria-readonly, and aria-pressed based on the
16975
+ toggle button's state to keep the ARIA attributes consistent with the component's
16976
+ state without a client having to configure ARIA attributes directly */}
16977
+ aria-disabled="${x => x.disabled}"
16978
+ aria-readonly="${x => x.readOnly}"
16979
+ aria-pressed="${x => x.checked}"
16980
+ ${'' /* Configure all other ARIA attributes based on the aria attributes
16981
+ configured on the toggle button */}
16982
+ aria-atomic="${x => x.ariaAtomic}"
16983
+ aria-busy="${x => x.ariaBusy}"
16984
+ aria-controls="${x => x.ariaControls}"
16985
+ aria-current="${x => x.ariaCurrent}"
16986
+ aria-describedby="${x => x.ariaDescribedby}"
16987
+ aria-details="${x => x.ariaDetails}"
16988
+ aria-errormessage="${x => x.ariaErrormessage}"
16989
+ aria-expanded="${x => x.ariaExpanded}"
16990
+ aria-flowto="${x => x.ariaFlowto}"
16991
+ aria-haspopup="${x => x.ariaHaspopup}"
16992
+ aria-hidden="${x => x.ariaHidden}"
16993
+ aria-invalid="${x => x.ariaInvalid}"
16994
+ aria-keyshortcuts="${x => x.ariaKeyshortcuts}"
16995
+ aria-label="${x => x.ariaLabel}"
16996
+ aria-labelledby="${x => x.ariaLabelledby}"
16997
+ aria-live="${x => x.ariaLive}"
16998
+ aria-owns="${x => x.ariaOwns}"
16999
+ aria-relevant="${x => x.ariaRelevant}"
17000
+ aria-roledescription="${x => x.ariaRoledescription}"
17001
+ ${ref('control')}
17002
+ >
17003
+ ${startSlotTemplate(context, definition)}
17004
+ <span class="content" part="content">
17005
+ <slot></slot>
17006
+ </span>
17007
+ ${endSlotTemplate(context, definition)}
17008
+ </div>
16981
17009
  `;
16982
17010
 
16983
17011
  /**
16984
- * The base class for icon components
17012
+ * A nimble-styled toggle button control.
16985
17013
  */
16986
- class Icon extends FoundationElement {
16987
- constructor(icon) {
16988
- super();
16989
- this.icon = icon;
16990
- }
16991
- }
16992
- const registerIcon = (baseName, iconClass) => {
16993
- const composedIcon = iconClass.compose({
16994
- baseName,
16995
- template: template$6,
16996
- styles: styles$p,
16997
- baseClass: iconClass
17014
+ class ToggleButton extends Switch$1 {
17015
+ constructor() {
17016
+ super(...arguments);
17017
+ /**
17018
+ * @public
17019
+ * @remarks
17020
+ * HTML Attribute: appearance
17021
+ */
17022
+ this.appearance = ButtonAppearance.outline;
17023
+ /**
17024
+ * @public
17025
+ * @remarks
17026
+ * HTML Attribute: content-hidden
17027
+ */
17028
+ this.contentHidden = false;
17029
+ }
17030
+ }
17031
+ __decorate([
17032
+ attr
17033
+ ], ToggleButton.prototype, "appearance", void 0);
17034
+ __decorate([
17035
+ attr({ attribute: 'content-hidden', mode: 'boolean' })
17036
+ ], ToggleButton.prototype, "contentHidden", void 0);
17037
+ applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
17038
+ const nimbleToggleButton = ToggleButton.compose({
17039
+ baseName: 'toggle-button',
17040
+ template: template$6,
17041
+ styles: styles$p,
17042
+ shadowOptions: {
17043
+ delegatesFocus: true
17044
+ }
17045
+ });
17046
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleToggleButton());
17047
+
17048
+ const errorTextTemplate = html `
17049
+ <div class="error-text" title="${x => x.errorText}" aria-live="polite">
17050
+ ${x => x.errorText}
17051
+ </div>
17052
+ `;
17053
+
17054
+ const template$5 = html `
17055
+ <template>
17056
+ <div class="icon" :innerHTML=${x => x.icon.data}></div>
17057
+ </template
17058
+ `;
17059
+
17060
+ const styles$o = css `
17061
+ ${display('inline-flex')}
17062
+
17063
+ :host {
17064
+ align-items: center;
17065
+ user-select: none;
17066
+ width: ${iconSize};
17067
+ height: ${iconSize};
17068
+ }
17069
+
17070
+ .icon {
17071
+ width: 100%;
17072
+ height: 100%;
17073
+ }
17074
+
17075
+ :host([severity='error']) {
17076
+ ${iconColor.cssCustomProperty}: ${failColor};
17077
+ }
17078
+
17079
+ :host([severity='warning']) {
17080
+ ${iconColor.cssCustomProperty}: ${warningColor};
17081
+ }
17082
+
17083
+ :host([severity='success']) {
17084
+ ${iconColor.cssCustomProperty}: ${passColor};
17085
+ }
17086
+
17087
+ :host([severity='information']) {
17088
+ ${iconColor.cssCustomProperty}: ${informationColor};
17089
+ }
17090
+
17091
+ .icon svg {
17092
+ fill: ${iconColor};
17093
+ width: 100%;
17094
+ height: 100%;
17095
+ }
17096
+ `;
17097
+
17098
+ /**
17099
+ * The base class for icon components
17100
+ */
17101
+ class Icon extends FoundationElement {
17102
+ constructor(/** @internal */ icon) {
17103
+ super();
17104
+ this.icon = icon;
17105
+ }
17106
+ }
17107
+ __decorate([
17108
+ attr
17109
+ ], Icon.prototype, "severity", void 0);
17110
+ const registerIcon = (baseName, iconClass) => {
17111
+ const composedIcon = iconClass.compose({
17112
+ baseName,
17113
+ template: template$5,
17114
+ styles: styles$o,
17115
+ baseClass: iconClass
16998
17116
  });
16999
17117
  DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
17000
17118
  };
17001
17119
 
17002
17120
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
17003
17121
  /**
17004
- * The icon component for the 'exclamationMark' icon
17122
+ * The icon component for the 'arrowExpanderDown' icon
17005
17123
  */
17006
- class IconExclamationMark extends Icon {
17124
+ class IconArrowExpanderDown extends Icon {
17007
17125
  constructor() {
17008
- super(exclamationMark16X16);
17126
+ super(arrowExpanderDown16X16);
17009
17127
  }
17010
17128
  }
17011
- registerIcon('icon-exclamation-mark', IconExclamationMark);
17129
+ registerIcon('icon-arrow-expander-down', IconArrowExpanderDown);
17012
17130
 
17013
17131
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
17014
17132
  /**
17015
- * The icon component for the 'arrowExpanderDown' icon
17133
+ * The icon component for the 'exclamationMark' icon
17016
17134
  */
17017
- class IconArrowExpanderDown extends Icon {
17135
+ class IconExclamationMark extends Icon {
17018
17136
  constructor() {
17019
- super(arrowExpanderDown16X16);
17137
+ super(exclamationMark16X16);
17020
17138
  }
17021
17139
  }
17022
- registerIcon('icon-arrow-expander-down', IconArrowExpanderDown);
17140
+ registerIcon('icon-exclamation-mark', IconExclamationMark);
17023
17141
 
17024
- ({
17025
- above: SelectPosition.above,
17026
- below: SelectPosition.below
17027
- });
17028
17142
  const DropdownAppearance = {
17029
17143
  underline: 'underline',
17030
17144
  outline: 'outline',
17031
17145
  block: 'block'
17032
17146
  };
17033
17147
 
17034
- const styles$o = css `
17148
+ const styles$n = css `
17035
17149
  ${display('inline-flex')}
17036
17150
 
17037
17151
  :host {
@@ -17111,7 +17225,7 @@
17111
17225
  padding: ${borderWidth};
17112
17226
  }
17113
17227
 
17114
- :host(.open:not(:hover)) .control {
17228
+ :host([open]:not(:hover)) .control {
17115
17229
  border-bottom-color: ${borderHoverColor};
17116
17230
  }
17117
17231
 
@@ -17245,12 +17359,12 @@
17245
17359
  }
17246
17360
  `));
17247
17361
 
17248
- const styles$n = css `
17362
+ const styles$m = css `
17249
17363
  .error-icon {
17250
17364
  display: none;
17251
17365
  }
17252
17366
 
17253
- :host(.invalid) .error-icon {
17367
+ :host([error-visible]) .error-icon {
17254
17368
  display: inline-flex;
17255
17369
  width: ${iconSize};
17256
17370
  height: ${iconSize};
@@ -17261,7 +17375,7 @@
17261
17375
  display: none;
17262
17376
  }
17263
17377
 
17264
- :host(.invalid) .error-text {
17378
+ :host([error-visible]) .error-text {
17265
17379
  display: block;
17266
17380
  font: ${errorTextFont};
17267
17381
  color: ${failColor};
@@ -17274,18 +17388,18 @@
17274
17388
  white-space: nowrap;
17275
17389
  }
17276
17390
 
17277
- :host(.invalid[readonly]:not([disabled])) .error-text {
17391
+ :host([error-visible][readonly]:not([disabled])) .error-text {
17278
17392
  top: calc(${controlHeight} - ${borderWidth});
17279
17393
  }
17280
17394
 
17281
- :host(.invalid) .error-text:empty {
17395
+ :host([error-visible]) .error-text:empty {
17282
17396
  display: none;
17283
17397
  }
17284
17398
  `;
17285
17399
 
17286
- const styles$m = css `
17287
- ${styles$o}
17400
+ const styles$l = css `
17288
17401
  ${styles$n}
17402
+ ${styles$m}
17289
17403
 
17290
17404
  :host {
17291
17405
  --ni-private-hover-bottom-border-width: 2px;
@@ -17301,7 +17415,7 @@
17301
17415
  color: ${bodyDisabledFontColor};
17302
17416
  }
17303
17417
 
17304
- :host(.invalid)::after {
17418
+ :host([error-visible])::after {
17305
17419
  border-bottom-color: ${failColor};
17306
17420
  }
17307
17421
 
@@ -17313,7 +17427,7 @@
17313
17427
  border-bottom-color: ${borderHoverColor};
17314
17428
  }
17315
17429
 
17316
- :host(.invalid) .control {
17430
+ :host([error-visible]) .control {
17317
17431
  border-bottom: var(--ni-private-bottom-border-width) solid ${failColor};
17318
17432
  }
17319
17433
 
@@ -17321,8 +17435,8 @@
17321
17435
  border-color: rgba(${borderRgbPartialColor}, 0.1);
17322
17436
  }
17323
17437
 
17324
- :host(.invalid[disabled]) .control,
17325
- :host(.open.invalid) .control {
17438
+ :host([error-visible][disabled]) .control,
17439
+ :host([error-visible][open]) .control {
17326
17440
  border-bottom-color: ${failColor};
17327
17441
  }
17328
17442
 
@@ -17376,7 +17490,7 @@
17376
17490
  display: none;
17377
17491
  }
17378
17492
  `.withBehaviors(appearanceBehavior(DropdownAppearance.block, css `
17379
- :host(.invalid) .control {
17493
+ :host([error-visible]) .control {
17380
17494
  border-bottom-width: ${borderWidth};
17381
17495
  padding-bottom: 0;
17382
17496
  }
@@ -17389,6 +17503,7 @@
17389
17503
  constructor() {
17390
17504
  super(...arguments);
17391
17505
  this.appearance = DropdownAppearance.underline;
17506
+ this.errorVisible = false;
17392
17507
  this.valueUpdatedByInput = false;
17393
17508
  }
17394
17509
  // Workaround for https://github.com/microsoft/fast/issues/5123
@@ -17530,21 +17645,25 @@
17530
17645
  __decorate([
17531
17646
  attr({ attribute: 'error-text' })
17532
17647
  ], Combobox.prototype, "errorText", void 0);
17648
+ __decorate([
17649
+ attr({ attribute: 'error-visible', mode: 'boolean' })
17650
+ ], Combobox.prototype, "errorVisible", void 0);
17533
17651
  const nimbleCombobox = Combobox.compose({
17534
17652
  baseName: 'combobox',
17535
17653
  baseClass: Combobox$1,
17536
17654
  template: comboboxTemplate,
17537
- styles: styles$m,
17655
+ styles: styles$l,
17538
17656
  shadowOptions: {
17539
17657
  delegatesFocus: true
17540
17658
  },
17541
17659
  end: html `
17542
17660
  <div class="end-slot-container">
17543
- <nimble-icon-exclamation-mark
17544
- class="error-icon fail"
17545
- ></nimble-icon-exclamation-mark>
17661
+ <${DesignSystem.tagFor(IconExclamationMark)}
17662
+ severity="error"
17663
+ class="error-icon"
17664
+ ></${DesignSystem.tagFor(IconExclamationMark)}>
17546
17665
  <div class="separator"></div>
17547
- <nimble-toggle-button
17666
+ <${DesignSystem.tagFor(ToggleButton)}
17548
17667
  ${ref('dropdownButton')}
17549
17668
  appearance="ghost"
17550
17669
  ?checked="${x => x.open}"
@@ -17559,19 +17678,19 @@
17559
17678
  aria-expanded="${x => x.open}"
17560
17679
  tabindex="-1"
17561
17680
  >
17562
- <nimble-icon-arrow-expander-down
17681
+ <${DesignSystem.tagFor(IconArrowExpanderDown)}
17563
17682
  slot="start"
17564
17683
  class="dropdown-icon"
17565
17684
  >
17566
- </nimble-icon-arrow-expander-down>
17567
- </nimble-toggle-button>
17685
+ </${DesignSystem.tagFor(IconArrowExpanderDown)}>
17686
+ </${DesignSystem.tagFor(ToggleButton)}>
17568
17687
  </div>
17569
17688
  ${errorTextTemplate}
17570
17689
  `
17571
17690
  });
17572
17691
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCombobox());
17573
17692
 
17574
- const styles$l = css `
17693
+ const styles$k = css `
17575
17694
  ${display('grid')}
17576
17695
 
17577
17696
  dialog {
@@ -17599,7 +17718,7 @@
17599
17718
  }
17600
17719
  `));
17601
17720
 
17602
- const template$5 = html `
17721
+ const template$4 = html `
17603
17722
  <template>
17604
17723
  <dialog
17605
17724
  ${ref('dialogElement')}
@@ -17685,8 +17804,8 @@
17685
17804
  applyMixins(Dialog, ARIAGlobalStatesAndProperties);
17686
17805
  const nimbleDialog = Dialog.compose({
17687
17806
  baseName: 'dialog',
17688
- template: template$5,
17689
- styles: styles$l,
17807
+ template: template$4,
17808
+ styles: styles$k,
17690
17809
  baseClass: Dialog
17691
17810
  });
17692
17811
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDialog());
@@ -18780,7 +18899,7 @@
18780
18899
  slideOutOptions
18781
18900
  };
18782
18901
 
18783
- const styles$k = css `
18902
+ const styles$j = css `
18784
18903
  ${display('block')}
18785
18904
 
18786
18905
  :host {
@@ -18850,10 +18969,6 @@
18850
18969
  height: 100%;
18851
18970
  }
18852
18971
 
18853
- :host(.hidden) .control {
18854
- visibility: hidden;
18855
- }
18856
-
18857
18972
  :host([location='left']) .control {
18858
18973
  left: 0px;
18859
18974
  border-right: ${borderWidth} solid ${popupBoxShadowColor};
@@ -19092,7 +19207,7 @@
19092
19207
  const nimbleDrawer = Drawer.compose({
19093
19208
  baseName: 'drawer',
19094
19209
  template: dialogTemplate,
19095
- styles: styles$k
19210
+ styles: styles$j
19096
19211
  });
19097
19212
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
19098
19213
 
@@ -20691,7 +20806,7 @@
20691
20806
  }
20692
20807
  registerIcon('icon-xmark-check', IconXmarkCheck);
20693
20808
 
20694
- const styles$j = css `
20809
+ const styles$i = css `
20695
20810
  ${display('flex')}
20696
20811
 
20697
20812
  :host {
@@ -20705,13 +20820,13 @@
20705
20820
  padding: 8px 4px;
20706
20821
  }
20707
20822
 
20708
- :host(.selected) {
20823
+ :host([aria-selected='true']) {
20709
20824
  box-shadow: none;
20710
20825
  outline: none;
20711
20826
  background-color: ${fillSelectedColor};
20712
20827
  }
20713
20828
 
20714
- :host(:hover.selected) {
20829
+ :host([aria-selected='true']:hover) {
20715
20830
  background-color: ${fillHoverSelectedColor};
20716
20831
  }
20717
20832
 
@@ -20771,11 +20886,11 @@
20771
20886
  baseName: 'list-option',
20772
20887
  baseClass: ListboxOption,
20773
20888
  template: listboxOptionTemplate,
20774
- styles: styles$j
20889
+ styles: styles$i
20775
20890
  });
20776
20891
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleListOption());
20777
20892
 
20778
- const styles$i = css `
20893
+ const styles$h = css `
20779
20894
  ${display('grid')}
20780
20895
 
20781
20896
  :host {
@@ -20830,11 +20945,11 @@
20830
20945
  baseName: 'menu',
20831
20946
  baseClass: Menu$1,
20832
20947
  template: menuTemplate,
20833
- styles: styles$i
20948
+ styles: styles$h
20834
20949
  });
20835
20950
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());
20836
20951
 
20837
- const styles$h = css `
20952
+ const styles$g = css `
20838
20953
  ${display('inline-block')}
20839
20954
 
20840
20955
  :host {
@@ -20852,123 +20967,13 @@
20852
20967
  }
20853
20968
  `;
20854
20969
 
20855
- const styles$g = css `
20856
- ${styles$t}
20857
-
20858
- .control[aria-pressed='true'] {
20859
- background-color: ${fillSelectedColor};
20860
- border-color: ${fillSelectedColor};
20861
- }
20862
-
20863
- .control[aria-pressed='true']:hover {
20864
- background-color: ${fillSelectedColor};
20865
- }
20866
-
20867
- .control[aria-pressed='true']${focusVisible} {
20868
- background-color: ${fillSelectedColor};
20869
- }
20870
-
20871
- .control[aria-pressed='true'][disabled] {
20872
- background-color: ${fillSelectedColor};
20873
- border-color: ${fillSelectedColor};
20874
- }
20875
-
20876
- .control[aria-pressed='true'][disabled]:hover {
20877
- background-color: ${fillSelectedColor};
20878
- border-color: ${fillSelectedColor};
20879
- }
20880
- `;
20881
-
20882
- const template$4 = (context, definition) => html `
20883
- <div
20884
- role="button"
20885
- part="control"
20886
- tabindex="${x => (x.disabled ? null : 0)}"
20887
- @keypress="${(x, c) => x.keypressHandler(c.event)}"
20888
- @click="${(x, c) => x.clickHandler(c.event)}"
20889
- class="control ${x => (x.checked ? 'checked' : '')}"
20890
- ?disabled="${x => x.disabled}"
20891
- ${'' /* Configure aria-disabled, aria-readonly, and aria-pressed based on the
20892
- toggle button's state to keep the ARIA attributes consistent with the component's
20893
- state without a client having to configure ARIA attributes directly */}
20894
- aria-disabled="${x => x.disabled}"
20895
- aria-readonly="${x => x.readOnly}"
20896
- aria-pressed="${x => x.checked}"
20897
- ${'' /* Configure all other ARIA attributes based on the aria attributes
20898
- configured on the toggle button */}
20899
- aria-atomic="${x => x.ariaAtomic}"
20900
- aria-busy="${x => x.ariaBusy}"
20901
- aria-controls="${x => x.ariaControls}"
20902
- aria-current="${x => x.ariaCurrent}"
20903
- aria-describedby="${x => x.ariaDescribedby}"
20904
- aria-details="${x => x.ariaDetails}"
20905
- aria-errormessage="${x => x.ariaErrormessage}"
20906
- aria-expanded="${x => x.ariaExpanded}"
20907
- aria-flowto="${x => x.ariaFlowto}"
20908
- aria-haspopup="${x => x.ariaHaspopup}"
20909
- aria-hidden="${x => x.ariaHidden}"
20910
- aria-invalid="${x => x.ariaInvalid}"
20911
- aria-keyshortcuts="${x => x.ariaKeyshortcuts}"
20912
- aria-label="${x => x.ariaLabel}"
20913
- aria-labelledby="${x => x.ariaLabelledby}"
20914
- aria-live="${x => x.ariaLive}"
20915
- aria-owns="${x => x.ariaOwns}"
20916
- aria-relevant="${x => x.ariaRelevant}"
20917
- aria-roledescription="${x => x.ariaRoledescription}"
20918
- ${ref('control')}
20919
- >
20920
- ${startSlotTemplate(context, definition)}
20921
- <span class="content" part="content">
20922
- <slot></slot>
20923
- </span>
20924
- ${endSlotTemplate(context, definition)}
20925
- </div>
20926
- `;
20927
-
20928
- /**
20929
- * A nimble-styled toggle button control.
20930
- */
20931
- class ToggleButton extends Switch$1 {
20932
- constructor() {
20933
- super(...arguments);
20934
- /**
20935
- * @public
20936
- * @remarks
20937
- * HTML Attribute: appearance
20938
- */
20939
- this.appearance = ButtonAppearance.outline;
20940
- /**
20941
- * @public
20942
- * @remarks
20943
- * HTML Attribute: content-hidden
20944
- */
20945
- this.contentHidden = false;
20946
- }
20947
- }
20948
- __decorate([
20949
- attr
20950
- ], ToggleButton.prototype, "appearance", void 0);
20951
- __decorate([
20952
- attr({ attribute: 'content-hidden', mode: 'boolean' })
20953
- ], ToggleButton.prototype, "contentHidden", void 0);
20954
- applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
20955
- const nimbleToggleButton = ToggleButton.compose({
20956
- baseName: 'toggle-button',
20957
- template: template$4,
20958
- styles: styles$g,
20959
- shadowOptions: {
20960
- delegatesFocus: true
20961
- }
20962
- });
20963
- DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleToggleButton());
20964
-
20965
20970
  // prettier-ignore
20966
- const template$3 = context => html `
20971
+ const template$3 = html `
20967
20972
  <template
20968
20973
  ?open="${x => x.open}"
20969
20974
  @focusout="${(x, c) => x.focusoutHandler(c.event)}"
20970
20975
  >
20971
- <${context.tagFor(ToggleButton)}
20976
+ <${DesignSystem.tagFor(ToggleButton)}
20972
20977
  part="button"
20973
20978
  appearance="${x => x.appearance}"
20974
20979
  ?content-hidden="${x => x.contentHidden}"
@@ -20985,9 +20990,9 @@
20985
20990
  <slot slot="start" name="start"></slot>
20986
20991
  <slot></slot>
20987
20992
  <slot slot="end" name="end"></slot>
20988
- </${context.tagFor(ToggleButton)}>
20993
+ </${DesignSystem.tagFor(ToggleButton)}>
20989
20994
  ${when(x => x.open, html `
20990
- <${context.tagFor(AnchoredRegion)}
20995
+ <${DesignSystem.tagFor(AnchoredRegion)}
20991
20996
  fixed-placement="true"
20992
20997
  auto-update-mode="auto"
20993
20998
  horizontal-inset="true"
@@ -21001,7 +21006,7 @@
21001
21006
  <span part="menu">
21002
21007
  <slot name="menu" ${slotted({ property: 'slottedMenus', filter: elements('[role=menu]') })}></slot>
21003
21008
  </span>
21004
- </${context.tagFor(AnchoredRegion)}>
21009
+ </${DesignSystem.tagFor(AnchoredRegion)}>
21005
21010
  `)}
21006
21011
  </template>
21007
21012
  `;
@@ -21172,7 +21177,7 @@
21172
21177
  const nimbleMenuButton = MenuButton.compose({
21173
21178
  baseName: 'menu-button',
21174
21179
  template: template$3,
21175
- styles: styles$h,
21180
+ styles: styles$g,
21176
21181
  shadowOptions: {
21177
21182
  delegatesFocus: true
21178
21183
  }
@@ -21293,7 +21298,7 @@
21293
21298
 
21294
21299
  const styles$e = css `
21295
21300
  ${display('inline-block')}
21296
- ${styles$n}
21301
+ ${styles$m}
21297
21302
 
21298
21303
  :host {
21299
21304
  font: ${bodyFont};
@@ -21342,7 +21347,7 @@
21342
21347
  border-color: rgba(${borderRgbPartialColor}, 0.1);
21343
21348
  }
21344
21349
 
21345
- :host(.invalid) .root {
21350
+ :host([error-visible]) .root {
21346
21351
  border-bottom-color: ${failColor};
21347
21352
  }
21348
21353
 
@@ -21371,7 +21376,7 @@
21371
21376
  }
21372
21377
  }
21373
21378
 
21374
- :host(.invalid) .root::after {
21379
+ :host([error-visible]) .root::after {
21375
21380
  border-bottom-color: ${failColor};
21376
21381
  }
21377
21382
 
@@ -21419,7 +21424,8 @@
21419
21424
  }
21420
21425
 
21421
21426
  ${
21422
- /* We are using flex `order` to define the visual ordering of the inc/dec buttons and the invalid icon because they are not "interactive" i.e. part of the tab order */ ''}
21427
+ /* We are using flex `order` to define the visual ordering of the inc/dec buttons
21428
+ and the invalid icon because they are not "interactive" i.e. part of the tab order */ ''}
21423
21429
  .step-up {
21424
21430
  order: 3;
21425
21431
  padding-right: calc(${standardPadding} / 4);
@@ -21452,7 +21458,7 @@
21452
21458
  }
21453
21459
 
21454
21460
  .root:focus-within,
21455
- :host(.invalid) .root {
21461
+ :host([error-visible]) .root {
21456
21462
  border-bottom-width: ${borderWidth};
21457
21463
  padding-bottom: 0;
21458
21464
  }
@@ -21478,6 +21484,7 @@
21478
21484
  constructor() {
21479
21485
  super(...arguments);
21480
21486
  this.appearance = NumberFieldAppearance.underline;
21487
+ this.errorVisible = false;
21481
21488
  }
21482
21489
  connectedCallback() {
21483
21490
  super.connectedCallback();
@@ -21491,6 +21498,9 @@
21491
21498
  __decorate([
21492
21499
  attr({ attribute: 'error-text' })
21493
21500
  ], NumberField.prototype, "errorText", void 0);
21501
+ __decorate([
21502
+ attr({ attribute: 'error-visible', mode: 'boolean' })
21503
+ ], NumberField.prototype, "errorVisible", void 0);
21494
21504
  /**
21495
21505
  * A function that returns a number-field registration for configuring the component with a DesignSystem.
21496
21506
  *
@@ -21508,31 +21518,37 @@
21508
21518
  delegatesFocus: true
21509
21519
  },
21510
21520
  stepDownGlyph: html `
21511
- <nimble-button
21521
+ <${DesignSystem.tagFor(Button)}
21512
21522
  class="step-up-down-button"
21513
21523
  appearance="ghost"
21514
21524
  content-hidden
21515
21525
  tabindex="-1"
21516
21526
  >
21517
21527
  "Decrement"
21518
- <nimble-icon-minus-wide slot="start"></nimble-icon-minus-wide>
21519
- </nimble-button>
21528
+ <${DesignSystem.tagFor(IconMinusWide)}
21529
+ slot="start"
21530
+ >
21531
+ </${DesignSystem.tagFor(IconMinusWide)}>
21532
+ </${DesignSystem.tagFor(Button)}>
21520
21533
  `,
21521
21534
  stepUpGlyph: html `
21522
- <nimble-button
21535
+ <${DesignSystem.tagFor(Button)}
21523
21536
  class="step-up-down-button"
21524
21537
  appearance="ghost"
21525
21538
  content-hidden
21526
21539
  tabindex="-1"
21527
21540
  >
21528
21541
  "Increment"
21529
- <nimble-icon-add slot="start"></nimble-icon-add>
21530
- </nimble-button>
21542
+ <${DesignSystem.tagFor(IconAdd)}
21543
+ slot="start">
21544
+ </${DesignSystem.tagFor(IconAdd)}>
21545
+ </${DesignSystem.tagFor(Button)}>
21531
21546
  `,
21532
21547
  end: html `
21533
- <nimble-icon-exclamation-mark
21534
- class="error-icon fail"
21535
- ></nimble-icon-exclamation-mark>
21548
+ <${DesignSystem.tagFor(IconExclamationMark)}
21549
+ severity="error"
21550
+ class="error-icon"
21551
+ ></${DesignSystem.tagFor(IconExclamationMark)}>
21536
21552
  ${errorTextTemplate}
21537
21553
  `
21538
21554
  });
@@ -21686,7 +21702,7 @@
21686
21702
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadioGroup());
21687
21703
 
21688
21704
  const styles$b = css `
21689
- ${styles$o}
21705
+ ${styles$n}
21690
21706
  `;
21691
21707
 
21692
21708
  /**
@@ -22258,27 +22274,25 @@
22258
22274
  :host([resize='vertical']) .control {
22259
22275
  resize: vertical;
22260
22276
  }
22261
- `
22262
- // prettier-ignore
22263
- .withBehaviors(appearanceBehavior(TextAreaAppearance.outline, css `
22264
- .control {
22265
- border-color: rgba(${borderRgbPartialColor}, 0.3);
22266
- background-color: transparent;
22267
- }
22268
- `), appearanceBehavior(TextAreaAppearance.block, css `
22269
- .control {
22270
- background-color: rgba(${borderRgbPartialColor}, 0.1);
22271
- }
22277
+ `.withBehaviors(appearanceBehavior(TextAreaAppearance.outline, css `
22278
+ .control {
22279
+ border-color: rgba(${borderRgbPartialColor}, 0.3);
22280
+ background-color: transparent;
22281
+ }
22282
+ `), appearanceBehavior(TextAreaAppearance.block, css `
22283
+ .control {
22284
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
22285
+ }
22272
22286
 
22273
- :host([readonly]) .control {
22274
- background-color: transparent;
22275
- }
22287
+ :host([readonly]) .control {
22288
+ background-color: transparent;
22289
+ }
22276
22290
 
22277
- :host([disabled]) .control {
22278
- border-color: transparent;
22279
- background-color: rgba(${borderRgbPartialColor}, 0.1);
22280
- }
22281
- `));
22291
+ :host([disabled]) .control {
22292
+ border-color: transparent;
22293
+ background-color: rgba(${borderRgbPartialColor}, 0.1);
22294
+ }
22295
+ `));
22282
22296
 
22283
22297
  /**
22284
22298
  * A nimble-styed HTML text area
@@ -22320,10 +22334,9 @@
22320
22334
  frameless: 'frameless'
22321
22335
  };
22322
22336
 
22323
- /* eslint-disable @typescript-eslint/indent */
22324
22337
  const styles$4 = css `
22325
22338
  ${display('inline-block')}
22326
- ${styles$n}
22339
+ ${styles$m}
22327
22340
 
22328
22341
  :host {
22329
22342
  font: ${bodyFont};
@@ -22374,7 +22387,7 @@
22374
22387
  border-color: rgba(${borderRgbPartialColor}, 0.1);
22375
22388
  }
22376
22389
 
22377
- :host(.invalid) .root {
22390
+ :host([error-visible]) .root {
22378
22391
  border-bottom-color: ${failColor};
22379
22392
  }
22380
22393
 
@@ -22382,7 +22395,7 @@
22382
22395
  border-bottom-color: ${borderHoverColor};
22383
22396
  }
22384
22397
 
22385
- :host([appearance='frameless'].clear-inline-padding) .root {
22398
+ :host([appearance='frameless'][full-bleed]) .root {
22386
22399
  padding-left: 0px;
22387
22400
  padding-right: 0px;
22388
22401
  }
@@ -22395,7 +22408,7 @@
22395
22408
  user-select: none;
22396
22409
  }
22397
22410
 
22398
- :host([appearance='frameless'].clear-inline-padding) .root::before {
22411
+ :host([appearance='frameless'][full-bleed]) .root::before {
22399
22412
  display: none;
22400
22413
  }
22401
22414
 
@@ -22407,7 +22420,7 @@
22407
22420
  user-select: none;
22408
22421
  }
22409
22422
 
22410
- :host([appearance='frameless'].clear-inline-padding) .root::after {
22423
+ :host([appearance='frameless'][full-bleed]) .root::after {
22411
22424
  display: none;
22412
22425
  }
22413
22426
 
@@ -22477,7 +22490,7 @@
22477
22490
  }
22478
22491
  }
22479
22492
 
22480
- :host(.invalid) [part='end']::after {
22493
+ :host([error-visible]) [part='end']::after {
22481
22494
  border-bottom-color: ${failColor};
22482
22495
  }
22483
22496
 
@@ -22513,7 +22526,7 @@
22513
22526
  }
22514
22527
 
22515
22528
  .root:focus-within,
22516
- :host(.invalid) .root {
22529
+ :host([error-visible]) .root {
22517
22530
  border-bottom-width: ${borderWidth};
22518
22531
  padding-bottom: 0;
22519
22532
  }
@@ -22568,10 +22581,8 @@
22568
22581
  * HTML Attribute: appearance
22569
22582
  */
22570
22583
  this.appearance = TextFieldAppearance.underline;
22571
- }
22572
- connectedCallback() {
22573
- super.connectedCallback();
22574
- this.control.setAttribute('aria-errormessage', 'errortext');
22584
+ this.errorVisible = false;
22585
+ this.fullBleed = false;
22575
22586
  }
22576
22587
  }
22577
22588
  __decorate([
@@ -22580,6 +22591,12 @@
22580
22591
  __decorate([
22581
22592
  attr({ attribute: 'error-text' })
22582
22593
  ], TextField.prototype, "errorText", void 0);
22594
+ __decorate([
22595
+ attr({ attribute: 'error-visible', mode: 'boolean' })
22596
+ ], TextField.prototype, "errorVisible", void 0);
22597
+ __decorate([
22598
+ attr({ attribute: 'full-bleed', mode: 'boolean' })
22599
+ ], TextField.prototype, "fullBleed", void 0);
22583
22600
  const nimbleTextField = TextField.compose({
22584
22601
  baseName: 'text-field',
22585
22602
  baseClass: TextField$1,
@@ -22589,9 +22606,10 @@
22589
22606
  delegatesFocus: true
22590
22607
  },
22591
22608
  end: html `
22592
- <nimble-icon-exclamation-mark
22593
- class="error-icon fail"
22594
- ></nimble-icon-exclamation-mark>
22609
+ <${DesignSystem.tagFor(IconExclamationMark)}
22610
+ severity="error"
22611
+ class="error-icon"
22612
+ ></${DesignSystem.tagFor(IconExclamationMark)}>
22595
22613
  <span part="actions">
22596
22614
  <slot name="actions"></slot>
22597
22615
  </span>
@@ -22674,22 +22692,22 @@
22674
22692
  padding-right: 8px;
22675
22693
  }
22676
22694
 
22677
- :host(.fail.icon-visible) .fail {
22695
+ :host([severity='error'][icon-visible]) [severity='error'] {
22678
22696
  display: flex;
22679
22697
  flex: 0 0 auto;
22680
22698
  }
22681
22699
 
22682
- :host(.information.icon-visible) .information {
22700
+ :host([severity='information'][icon-visible]) [severity='information'] {
22683
22701
  display: flex;
22684
22702
  flex: 0 0 auto;
22685
22703
  }
22686
22704
  `.withBehaviors(themeBehavior(Theme.light, css `
22687
- :host(.fail) {
22705
+ :host([severity='error']) {
22688
22706
  --ni-private-tooltip-border-color: ${BannerFail100DarkUi};
22689
22707
  --ni-private-tooltip-background-color: ${White};
22690
22708
  }
22691
22709
 
22692
- :host(.information) {
22710
+ :host([severity='information']) {
22693
22711
  --ni-private-tooltip-border-color: ${Information100LightUi};
22694
22712
  --ni-private-tooltip-background-color: ${White};
22695
22713
  }
@@ -22699,11 +22717,11 @@
22699
22717
  --ni-private-tooltip-background-color: ${Black85};
22700
22718
  }
22701
22719
 
22702
- :host(.information) {
22720
+ :host([severity='information']) {
22703
22721
  --ni-private-tooltip-border-color: ${Information100DarkUi};
22704
22722
  }
22705
22723
 
22706
- :host(.fail) {
22724
+ :host([severity='error']) {
22707
22725
  --ni-private-tooltip-border-color: ${BannerFail100DarkUi};
22708
22726
  }
22709
22727
  `), themeBehavior(Theme.color, css `
@@ -22716,11 +22734,11 @@
22716
22734
  --ni-private-tooltip-background-color: ${hexToRgbaCssColor(White, 0.15)};
22717
22735
  }
22718
22736
 
22719
- :host(.fail) {
22737
+ :host([severity='error']) {
22720
22738
  --ni-private-tooltip-border-color: ${White};
22721
22739
  }
22722
22740
 
22723
- :host(.information) {
22741
+ :host([severity='information']) {
22724
22742
  --ni-private-tooltip-border-color: ${White};
22725
22743
  }
22726
22744
 
@@ -22730,10 +22748,9 @@
22730
22748
  `));
22731
22749
 
22732
22750
  // prettier-ignore
22733
- const template = context => {
22734
- return html `
22751
+ const template = html `
22735
22752
  ${when(x => x.tooltipVisible, html `
22736
- <${context.tagFor(AnchoredRegion)}
22753
+ <${DesignSystem.tagFor(AnchoredRegion)}
22737
22754
  class="anchored-region"
22738
22755
  fixed-placement="true"
22739
22756
  auto-update-mode="${x => x.autoUpdateMode}"
@@ -22751,20 +22768,35 @@
22751
22768
  ${ref('region')}
22752
22769
  >
22753
22770
  <div class="tooltip" part="tooltip" role="tooltip">
22754
- <${context.tagFor(IconExclamationMark)} class="fail status-icon"></${context.tagFor(IconExclamationMark)}>
22755
- <${context.tagFor(IconInfo)} class="information status-icon"></${context.tagFor(IconInfo)}>
22771
+ <${DesignSystem.tagFor(IconExclamationMark)}
22772
+ severity="error"
22773
+ class="status-icon"
22774
+ ></${DesignSystem.tagFor(IconExclamationMark)}>
22775
+ <${DesignSystem.tagFor(IconInfo)}
22776
+ severity="information"
22777
+ class="status-icon"
22778
+ ></${DesignSystem.tagFor(IconInfo)}>
22756
22779
  <slot></slot>
22757
22780
  </div>
22758
- </${context.tagFor(AnchoredRegion)}>
22781
+ </${DesignSystem.tagFor(AnchoredRegion)}>
22759
22782
  `)}
22760
- `;
22761
- };
22783
+ `;
22762
22784
 
22763
22785
  /**
22764
22786
  * A nimble-styled tooltip control.
22765
22787
  */
22766
22788
  class Tooltip extends Tooltip$1 {
22789
+ constructor() {
22790
+ super(...arguments);
22791
+ this.iconVisible = false;
22792
+ }
22767
22793
  }
22794
+ __decorate([
22795
+ attr
22796
+ ], Tooltip.prototype, "severity", void 0);
22797
+ __decorate([
22798
+ attr({ attribute: 'icon-visible', mode: 'boolean' })
22799
+ ], Tooltip.prototype, "iconVisible", void 0);
22768
22800
  const nimbleTooltip = Tooltip.compose({
22769
22801
  baseName: 'tooltip',
22770
22802
  baseClass: Tooltip$1,
@@ -22855,198 +22887,203 @@
22855
22887
  }
22856
22888
  }
22857
22889
 
22858
- const styles$1 = (context, _definition) => css `
22859
- ${display('block')}
22890
+ const styles$1 = css `
22891
+ ${display('block')}
22860
22892
 
22861
- :host {
22862
- ${
22893
+ :host {
22894
+ ${
22863
22895
  /* don't set font-size here or else it overrides what we set on .items */ ''}
22864
- font-family: ${bodyFontFamily};
22865
- font-weight: ${bodyFontWeight};
22866
- contain: content;
22867
- position: relative;
22868
- outline: none;
22869
- color: ${bodyFontColor};
22870
- cursor: pointer;
22871
- --ni-private-tree-item-nested-width: 0;
22872
- }
22896
+ font-family: ${bodyFontFamily};
22897
+ font-weight: ${bodyFontWeight};
22898
+ contain: content;
22899
+ position: relative;
22900
+ outline: none;
22901
+ color: ${bodyFontColor};
22902
+ cursor: pointer;
22903
+ --ni-private-tree-item-nested-width: 0;
22904
+ }
22873
22905
 
22874
- ${ /* this controls the side border */''}
22875
- :host([${groupSelectedAttribute}])::after {
22876
- background: ${borderHoverColor};
22877
- border-radius: 0px;
22878
- content: '';
22879
- display: block;
22880
- position: absolute;
22881
- top: 0px;
22882
- width: calc(${borderWidth} * 2);
22883
- height: calc(${iconSize} * 2);
22884
- }
22906
+ ${ /* this controls the side border */''}
22907
+ :host([${groupSelectedAttribute}])::after {
22908
+ background: ${borderHoverColor};
22909
+ border-radius: 0px;
22910
+ content: '';
22911
+ display: block;
22912
+ position: absolute;
22913
+ top: 0px;
22914
+ width: calc(${borderWidth} * 2);
22915
+ height: calc(${iconSize} * 2);
22916
+ }
22885
22917
 
22886
- .positioning-region {
22887
- display: flex;
22888
- position: relative;
22889
- box-sizing: border-box;
22890
- height: calc(${iconSize} * 2);
22891
- }
22918
+ .positioning-region {
22919
+ display: flex;
22920
+ position: relative;
22921
+ box-sizing: border-box;
22922
+ height: calc(${iconSize} * 2);
22923
+ }
22892
22924
 
22893
- .positioning-region:hover {
22894
- background: ${fillHoverColor};
22895
- }
22925
+ .positioning-region:hover {
22926
+ background: ${fillHoverColor};
22927
+ }
22896
22928
 
22897
- :host([${groupSelectedAttribute}]) .positioning-region:hover {
22898
- background: ${fillHoverSelectedColor};
22899
- }
22929
+ :host([${groupSelectedAttribute}]) .positioning-region:hover {
22930
+ background: ${fillHoverSelectedColor};
22931
+ }
22900
22932
 
22901
- :host(${focusVisible}) .positioning-region {
22902
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
22903
- outline: ${borderWidth} solid ${borderHoverColor};
22904
- outline-offset: -2px;
22905
- }
22933
+ :host(${focusVisible}) .positioning-region {
22934
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
22935
+ outline: ${borderWidth} solid ${borderHoverColor};
22936
+ outline-offset: -2px;
22937
+ }
22906
22938
 
22907
- :host([selected]) .positioning-region {
22908
- background: ${fillSelectedColor};
22909
- }
22939
+ :host([selected]) .positioning-region {
22940
+ background: ${fillSelectedColor};
22941
+ }
22910
22942
 
22911
- :host([selected]) .positioning-region:hover {
22912
- background: ${fillHoverSelectedColor};
22913
- }
22943
+ :host([selected]) .positioning-region:hover {
22944
+ background: ${fillHoverSelectedColor};
22945
+ }
22914
22946
 
22915
- .positioning-region::before {
22916
- content: '';
22917
- display: block;
22918
- width: var(--ni-private-tree-item-nested-width);
22919
- flex-shrink: 0;
22920
- }
22947
+ .positioning-region::before {
22948
+ content: '';
22949
+ display: block;
22950
+ width: var(--ni-private-tree-item-nested-width);
22951
+ flex-shrink: 0;
22952
+ }
22921
22953
 
22922
- .content-region {
22923
- display: inline-flex;
22924
- align-items: center;
22925
- white-space: nowrap;
22926
- width: 100%;
22927
- padding-left: 10px;
22928
- font: inherit;
22929
- font-size: ${bodyFontSize};
22930
- user-select: none;
22931
- position: relative;
22932
- margin-inline-start: ${iconSize};
22933
- }
22954
+ .content-region {
22955
+ display: inline-flex;
22956
+ align-items: center;
22957
+ white-space: nowrap;
22958
+ width: 100%;
22959
+ padding-left: 10px;
22960
+ font: inherit;
22961
+ font-size: ${bodyFontSize};
22962
+ user-select: none;
22963
+ position: relative;
22964
+ margin-inline-start: ${iconSize};
22965
+ }
22934
22966
 
22935
- :host(${focusVisible}) .content-region {
22936
- outline: none;
22937
- }
22967
+ :host(${focusVisible}) .content-region {
22968
+ outline: none;
22969
+ }
22938
22970
 
22939
- :host([disabled]) .content-region {
22940
- opacity: 0.5;
22941
- cursor: not-allowed;
22942
- }
22971
+ :host([disabled]) .content-region {
22972
+ opacity: 0.5;
22973
+ cursor: not-allowed;
22974
+ }
22943
22975
 
22944
- .expand-collapse-button {
22945
- background: none;
22946
- border: none;
22947
- outline: none;
22948
- width: ${iconSize};
22949
- height: ${iconSize};
22950
- padding: 0px;
22951
- justify-content: center;
22952
- align-items: center;
22953
- cursor: pointer;
22954
- margin-left: 10px;
22955
- position: absolute;
22956
- }
22976
+ .expand-collapse-button {
22977
+ background: none;
22978
+ border: none;
22979
+ outline: none;
22980
+ width: ${iconSize};
22981
+ height: ${iconSize};
22982
+ padding: 0px;
22983
+ justify-content: center;
22984
+ align-items: center;
22985
+ cursor: pointer;
22986
+ margin-left: 10px;
22987
+ position: absolute;
22988
+ }
22957
22989
 
22958
- .expand-collapse-button svg {
22959
- width: ${iconSize};
22960
- height: ${iconSize};
22961
- transition: transform 0.2s ease-in;
22962
- pointer-events: none;
22963
- fill: currentcolor;
22964
- }
22990
+ .expand-collapse-button svg {
22991
+ width: ${iconSize};
22992
+ height: ${iconSize};
22993
+ transition: transform 0.2s ease-in;
22994
+ pointer-events: none;
22995
+ fill: currentcolor;
22996
+ }
22965
22997
 
22966
- ${
22998
+ ${
22967
22999
  /* this rule keeps children without an icon text aligned with parents */ ''}
22968
- span[part="start"] {
22969
- width: ${iconSize};
22970
- }
23000
+ span[part="start"] {
23001
+ width: ${iconSize};
23002
+ }
22971
23003
 
22972
- ${
23004
+ ${
22973
23005
  /* the start class is applied when the corresponding slots is filled */ ''}
22974
- .start {
22975
- display: flex;
22976
- fill: currentcolor;
22977
- margin-inline-start: ${iconSize};
22978
- margin-inline-end: ${iconSize};
22979
- }
23006
+ .start {
23007
+ display: flex;
23008
+ fill: currentcolor;
23009
+ margin-inline-start: ${iconSize};
23010
+ margin-inline-end: ${iconSize};
23011
+ }
22980
23012
 
22981
- slot[name='start']::slotted(*) {
22982
- width: ${iconSize};
22983
- height: ${iconSize};
22984
- }
23013
+ slot[name='start']::slotted(*) {
23014
+ width: ${iconSize};
23015
+ height: ${iconSize};
23016
+ }
22985
23017
 
22986
- ::slotted(${context.tagFor(TreeItem$1)}) {
22987
- --ni-private-tree-item-nested-width: 1em;
22988
- --ni-private-expand-collapse-button-nested-width: calc(
22989
- ${iconSize} * -1
22990
- );
22991
- }
23018
+ ${
23019
+ /*
23020
+ Cannot call DesignSystem.tagFor(TreeItem) as this string is evaluated
23021
+ before the registration of the element itself; the style is self-referencing.
23022
+ Instead styling against the role which is more general and likely a better approach.
23023
+ */ ''}
23024
+ ::slotted([role='treeitem']) {
23025
+ --ni-private-tree-item-nested-width: 1em;
23026
+ --ni-private-expand-collapse-button-nested-width: calc(
23027
+ ${iconSize} * -1
23028
+ );
23029
+ }
22992
23030
 
22993
- ${
22994
- /* the end class is applied when the corresponding slots is filled */ ''}
22995
- .end {
22996
- display: flex;
22997
- fill: currentcolor;
22998
- margin-inline-start: ${iconSize};
22999
- }
23031
+ ${ /* the end class is applied when the corresponding slots is filled */''}
23032
+ .end {
23033
+ display: flex;
23034
+ fill: currentcolor;
23035
+ margin-inline-start: ${iconSize};
23036
+ }
23000
23037
 
23001
- .items {
23002
- display: none;
23003
- ${
23038
+ .items {
23039
+ display: none;
23040
+ ${
23004
23041
  /*
23005
23042
  * this controls the nested indentation (by affecting .positioning-region::before)
23006
23043
  * it must minimally contain arithmetic with an em and a px value
23007
23044
  * make it larger or shorter by changing the px value
23008
23045
  */ ''}
23009
- font-size: calc(1em + (${iconSize} * 2));
23010
- }
23046
+ font-size: calc(1em + (${iconSize} * 2));
23047
+ }
23011
23048
 
23012
- :host([expanded]) .items {
23013
- display: block;
23049
+ :host([expanded]) .items {
23050
+ display: block;
23051
+ }
23052
+ `.withBehaviors(new DirectionalStyleSheetBehavior(
23053
+ // ltr styles
23054
+ css `
23055
+ .expand-collapse-button {
23056
+ left: var(
23057
+ --ni-private-expand-collapse-button-nested-width,
23058
+ calc(${iconSize} * -1)
23059
+ );
23014
23060
  }
23015
- `
23016
- // prettier-ignore
23017
- .withBehaviors(new DirectionalStyleSheetBehavior(css `
23018
- ${ /* ltr styles */''}
23019
- .expand-collapse-button {
23020
- left: var(
23021
- --ni-private-expand-collapse-button-nested-width,
23022
- calc(${iconSize} * -1)
23023
- );
23024
- }
23025
23061
 
23026
- .expand-collapse-button svg {
23027
- transform: rotate(90deg);
23028
- }
23062
+ .expand-collapse-button svg {
23063
+ transform: rotate(90deg);
23064
+ }
23029
23065
 
23030
- :host([expanded]) .expand-collapse-button svg {
23031
- transform: rotate(180deg);
23032
- }
23033
- `, css `
23034
- ${ /* rtl styles */''}
23035
- .expand-collapse-button {
23036
- right: var(
23037
- --ni-private-expand-collapse-button-nested-width,
23038
- calc(${iconSize} * -1)
23039
- );
23040
- }
23066
+ :host([expanded]) .expand-collapse-button svg {
23067
+ transform: rotate(180deg);
23068
+ }
23069
+ `,
23070
+ // rtl styles
23071
+ css `
23072
+ .expand-collapse-button {
23073
+ right: var(
23074
+ --ni-private-expand-collapse-button-nested-width,
23075
+ calc(${iconSize} * -1)
23076
+ );
23077
+ }
23041
23078
 
23042
- .expand-collapse-button svg {
23043
- transform: rotate(180deg);
23044
- }
23079
+ .expand-collapse-button svg {
23080
+ transform: rotate(180deg);
23081
+ }
23045
23082
 
23046
- :host([expanded]) .expand-collapse-button svg {
23047
- transform: rotate(135deg);
23048
- }
23049
- `));
23083
+ :host([expanded]) .expand-collapse-button svg {
23084
+ transform: rotate(135deg);
23085
+ }
23086
+ `));
23050
23087
 
23051
23088
  /**
23052
23089
  * A function that returns a nimble-tree-item registration for configuring the component with a DesignSystem.