@ni/nimble-components 19.6.0 → 19.6.2

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 (35) hide show
  1. package/dist/all-components-bundle.js +254 -156
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +750 -668
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/all-components.d.ts +1 -0
  6. package/dist/esm/all-components.js +1 -0
  7. package/dist/esm/all-components.js.map +1 -1
  8. package/dist/esm/checkbox/styles.js +2 -2
  9. package/dist/esm/checkbox/styles.js.map +1 -1
  10. package/dist/esm/patterns/button/styles.js +66 -50
  11. package/dist/esm/patterns/button/styles.js.map +1 -1
  12. package/dist/esm/patterns/tab/styles.js +2 -2
  13. package/dist/esm/patterns/tab/styles.js.map +1 -1
  14. package/dist/esm/radio/styles.js +2 -2
  15. package/dist/esm/radio/styles.js.map +1 -1
  16. package/dist/esm/rich-text-editor/index.d.ts +12 -0
  17. package/dist/esm/rich-text-editor/index.js +18 -0
  18. package/dist/esm/rich-text-editor/index.js.map +1 -0
  19. package/dist/esm/rich-text-editor/styles.d.ts +1 -0
  20. package/dist/esm/rich-text-editor/styles.js +12 -0
  21. package/dist/esm/rich-text-editor/styles.js.map +1 -0
  22. package/dist/esm/rich-text-editor/template.d.ts +2 -0
  23. package/dist/esm/rich-text-editor/template.js +5 -0
  24. package/dist/esm/rich-text-editor/template.js.map +1 -0
  25. package/dist/esm/src/all-components.d.ts +1 -0
  26. package/dist/esm/src/rich-text-editor/index.d.ts +12 -0
  27. package/dist/esm/src/rich-text-editor/styles.d.ts +1 -0
  28. package/dist/esm/src/rich-text-editor/template.d.ts +2 -0
  29. package/dist/esm/switch/styles.js +2 -2
  30. package/dist/esm/switch/styles.js.map +1 -1
  31. package/dist/esm/theme-provider/design-tokens.js +2 -2
  32. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  33. package/dist/esm/toggle-button/styles.js +59 -5
  34. package/dist/esm/toggle-button/styles.js.map +1 -1
  35. package/package.json +2 -2
@@ -16232,7 +16232,7 @@
16232
16232
 
16233
16233
  /**
16234
16234
  * Do not edit directly
16235
- * Generated on Fri, 14 Jul 2023 20:41:52 GMT
16235
+ * Generated on Mon, 17 Jul 2023 14:50:36 GMT
16236
16236
  */
16237
16237
  const Information100DarkUi = "#a46eff";
16238
16238
  const Information100LightUi = "#804ad9";
@@ -16265,7 +16265,7 @@
16265
16265
  const GroupLabel1Family = "Source Sans Pro";
16266
16266
  const GroupLabel1Weight = "600";
16267
16267
  const ButtonLabel1Family = "Source Sans Pro";
16268
- const ButtonLabel1Weight = "400";
16268
+ const ButtonLabel1Weight = "600";
16269
16269
  const Title1Family = "Source Sans Pro";
16270
16270
  const Title1Weight = "400";
16271
16271
  const Headline2Family = "Noto Serif";
@@ -16604,9 +16604,9 @@
16604
16604
  return `${prefix}${uniqueIdCounter++}`;
16605
16605
  }
16606
16606
 
16607
- const template$v = html `<slot></slot>`;
16607
+ const template$w = html `<slot></slot>`;
16608
16608
 
16609
- const styles$Q = css `
16609
+ const styles$R = css `
16610
16610
  :host {
16611
16611
  display: contents;
16612
16612
  }
@@ -16662,8 +16662,8 @@
16662
16662
  ], ThemeProvider.prototype, "theme", void 0);
16663
16663
  const nimbleDesignSystemProvider = ThemeProvider.compose({
16664
16664
  baseName: 'theme-provider',
16665
- styles: styles$Q,
16666
- template: template$v
16665
+ styles: styles$R,
16666
+ template: template$w
16667
16667
  });
16668
16668
  DesignSystem.getOrCreate()
16669
16669
  .withPrefix('nimble')
@@ -16706,7 +16706,7 @@
16706
16706
  const warningColor = DesignToken.create(styleNameFromTokenName(tokenNames.warningColor)).withDefault((element) => getWarningColorForTheme(element));
16707
16707
  const passColor = DesignToken.create(styleNameFromTokenName(tokenNames.passColor)).withDefault((element) => getPassColorForTheme(element));
16708
16708
  const informationColor = DesignToken.create(styleNameFromTokenName(tokenNames.informationColor)).withDefault((element) => getInformationColorForTheme(element));
16709
- const borderHoverColor = DesignToken.create(styleNameFromTokenName(tokenNames.borderHoverColor)).withDefault((element) => getColorForTheme(element, DigitalGreenLight, DigitalGreenLight, White));
16709
+ const borderHoverColor = DesignToken.create(styleNameFromTokenName(tokenNames.borderHoverColor)).withDefault((element) => getColorForTheme(element, DigitalGreenLight, PowerGreen, White));
16710
16710
  // Component Color Tokens
16711
16711
  const iconColor = DesignToken.create(styleNameFromTokenName(tokenNames.iconColor)).withDefault((element) => getColorForTheme(element, Black91, Black15, White));
16712
16712
  DesignToken.create(styleNameFromTokenName(tokenNames.modalBackdropColor)).withDefault((element) => getModalBackdropForTheme(element));
@@ -16827,7 +16827,7 @@
16827
16827
  return getColorForTheme(element, Black91, Black15, White);
16828
16828
  }
16829
16829
  function getFillSelectedColorForTheme(element) {
16830
- return getColorForTheme(element, DigitalGreenLight, DigitalGreenLight, White);
16830
+ return getColorForTheme(element, DigitalGreenLight, PowerGreen, White);
16831
16831
  }
16832
16832
  function getFillHoverColorForTheme(element) {
16833
16833
  return getColorForTheme(element, Black91, Black15, White);
@@ -16848,7 +16848,7 @@
16848
16848
  }
16849
16849
  }
16850
16850
 
16851
- const styles$P = css `
16851
+ const styles$Q = css `
16852
16852
  ${display('inline')}
16853
16853
 
16854
16854
  :host {
@@ -16931,7 +16931,7 @@
16931
16931
  `;
16932
16932
 
16933
16933
  // prettier-ignore
16934
- const template$u = (context, definition) => html `
16934
+ const template$v = (context, definition) => html `
16935
16935
  <a
16936
16936
  class="control"
16937
16937
  part="control"
@@ -17005,8 +17005,8 @@
17005
17005
  const nimbleAnchor = Anchor.compose({
17006
17006
  baseName: 'anchor',
17007
17007
  baseClass: Anchor$1,
17008
- template: template$u,
17009
- styles: styles$P,
17008
+ template: template$v,
17009
+ styles: styles$Q,
17010
17010
  shadowOptions: {
17011
17011
  delegatesFocus: true
17012
17012
  }
@@ -17092,7 +17092,7 @@
17092
17092
  return new MultivaluePropertyStyleSheetBehavior('appearance', value, styles);
17093
17093
  }
17094
17094
 
17095
- const styles$O = css `
17095
+ const styles$P = css `
17096
17096
  ${display('inline-flex')}
17097
17097
 
17098
17098
  :host {
@@ -17136,7 +17136,13 @@
17136
17136
  outline: none;
17137
17137
  margin: 0;
17138
17138
  padding: 0 ${standardPadding};
17139
- transition: box-shadow ${smallDelay};
17139
+ position: relative;
17140
+ transition: box-shadow ${smallDelay} ease-in-out,
17141
+ border-color ${smallDelay} ease-in-out,
17142
+ background-size ${smallDelay} ease-in-out;
17143
+ background-size: 100% 100%;
17144
+ background-repeat: no-repeat;
17145
+ background-position: center;
17140
17146
  }
17141
17147
 
17142
17148
  :host([content-hidden]) .control {
@@ -17151,26 +17157,55 @@
17151
17157
  }
17152
17158
 
17153
17159
  .control:hover {
17160
+ border-color: ${borderHoverColor};
17154
17161
  box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17155
- outline: none;
17156
17162
  }
17157
17163
 
17158
17164
  .control${focusVisible} {
17165
+ border-color: ${borderHoverColor};
17159
17166
  box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17160
- outline: ${borderWidth} solid ${borderHoverColor};
17161
- outline-offset: -4px;
17162
17167
  }
17163
17168
 
17164
17169
  .control:active {
17165
17170
  box-shadow: none;
17166
- outline: none;
17171
+ background-image: linear-gradient(
17172
+ ${fillSelectedColor},
17173
+ ${fillSelectedColor}
17174
+ );
17175
+ background-size: calc(100% - 2px) calc(100% - 2px);
17167
17176
  }
17168
17177
 
17169
17178
  :host([disabled]) .control {
17170
17179
  box-shadow: none;
17180
+ background-image: none;
17181
+ }
17182
+
17183
+ .control::before {
17184
+ content: '';
17185
+ position: absolute;
17186
+ width: 100%;
17187
+ height: 100%;
17188
+ pointer-events: none;
17189
+ box-sizing: border-box;
17190
+ outline: 0px solid transparent;
17191
+ color: transparent;
17192
+ background-clip: content-box;
17193
+ transition: outline ${smallDelay} ease-in-out;
17194
+ }
17195
+
17196
+ .control${focusVisible}::before {
17197
+ outline: ${borderWidth} solid ${borderHoverColor};
17198
+ outline-offset: -3px;
17199
+ }
17200
+
17201
+ .control:active::before {
17171
17202
  outline: none;
17172
17203
  }
17173
17204
 
17205
+ :host([disabled]) .control::before {
17206
+ box-shadow: none;
17207
+ }
17208
+
17174
17209
  .content {
17175
17210
  display: contents;
17176
17211
  }
@@ -17217,77 +17252,57 @@
17217
17252
  }
17218
17253
  `.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
17219
17254
  .control {
17220
- background-color: transparent;
17221
17255
  border-color: rgba(${actionRgbPartialColor}, 0.3);
17222
17256
  }
17223
17257
 
17224
17258
  .control:hover {
17225
17259
  background-color: transparent;
17226
- border-color: ${borderHoverColor};
17227
- }
17228
-
17229
- .control${focusVisible} {
17230
- background-color: transparent;
17231
- border-color: ${borderHoverColor};
17232
- }
17233
-
17234
- .control:active {
17235
- background-color: ${fillSelectedColor};
17236
- border-color: ${fillSelectedColor};
17237
17260
  }
17238
17261
 
17239
17262
  :host([disabled]) .control {
17240
- background-color: transparent;
17241
- border-color: rgba(${borderRgbPartialColor}, 0.2);
17263
+ border-color: rgba(${borderRgbPartialColor}, 0.3);
17242
17264
  }
17243
17265
  `), appearanceBehavior(ButtonAppearance.ghost, css `
17244
- .control {
17245
- background-color: transparent;
17246
- border-color: transparent;
17247
- }
17248
-
17249
17266
  .control:hover {
17250
17267
  background-color: transparent;
17251
- border-color: ${borderHoverColor};
17252
17268
  }
17253
17269
 
17254
17270
  .control${focusVisible} {
17255
17271
  background-color: transparent;
17256
- border-color: ${borderHoverColor};
17257
- }
17258
-
17259
- .control:active {
17260
- background-color: ${fillSelectedColor};
17261
- border-color: ${fillSelectedColor};
17262
17272
  }
17263
17273
 
17264
17274
  :host([disabled]) .control {
17265
- background-color: transparent;
17266
17275
  border-color: transparent;
17267
17276
  }
17268
17277
  `), appearanceBehavior(ButtonAppearance.block, css `
17269
17278
  .control {
17270
17279
  background-color: rgba(${borderRgbPartialColor}, 0.1);
17271
- border-color: transparent;
17272
17280
  }
17273
17281
 
17274
17282
  .control:hover {
17275
17283
  background-color: transparent;
17276
- border-color: ${borderHoverColor};
17284
+ background-image: linear-gradient(
17285
+ rgba(${borderRgbPartialColor}, 0.1),
17286
+ rgba(${borderRgbPartialColor}, 0.1)
17287
+ );
17288
+ background-size: calc(100% - 4px) calc(100% - 4px);
17277
17289
  }
17278
17290
 
17279
17291
  .control${focusVisible} {
17280
- background-color: rgba(${borderRgbPartialColor}, 0.1);
17281
- border-color: ${borderHoverColor};
17282
- }
17283
-
17284
- .control${focusVisible}:hover {
17285
17292
  background-color: transparent;
17293
+ background-image: linear-gradient(
17294
+ rgba(${borderRgbPartialColor}, 0.1),
17295
+ rgba(${borderRgbPartialColor}, 0.1)
17296
+ );
17297
+ background-size: calc(100% - 4px) calc(100% - 4px);
17286
17298
  }
17287
17299
 
17288
17300
  .control:active {
17289
- background-color: ${fillSelectedColor};
17290
- border-color: ${fillSelectedColor};
17301
+ background-image: linear-gradient(
17302
+ ${fillSelectedColor},
17303
+ ${fillSelectedColor}
17304
+ );
17305
+ background-size: calc(100% - 2px) calc(100% - 2px);
17291
17306
  }
17292
17307
 
17293
17308
  :host([disabled]) .control {
@@ -17310,7 +17325,8 @@
17310
17325
  }
17311
17326
 
17312
17327
  :host([appearance-variant='primary']) .control:active {
17313
- box-shadow: none;
17328
+ box-shadow: 0px 0px 0px ${borderWidth} ${fillSelectedColor}
17329
+ inset;
17314
17330
  }
17315
17331
 
17316
17332
  :host([appearance-variant='primary'][disabled]) .control {
@@ -17318,10 +17334,9 @@
17318
17334
  }
17319
17335
  `), appearanceBehavior(ButtonAppearance.block, css `
17320
17336
  :host([appearance-variant='primary']) .control {
17321
- background-clip: padding-box;
17322
17337
  border-color: rgba(${actionRgbPartialColor}, 0.3);
17323
- border-width: calc(2 * ${borderWidth});
17324
- padding: 0 calc(${standardPadding} - ${borderWidth});
17338
+ box-shadow: 0px 0px 0px ${borderWidth}
17339
+ rgba(${actionRgbPartialColor}, 0.3) inset;
17325
17340
  }
17326
17341
 
17327
17342
  :host([appearance-variant='primary'][content-hidden]) .control {
@@ -17330,7 +17345,7 @@
17330
17345
 
17331
17346
  :host([appearance-variant='primary']) .control:hover {
17332
17347
  border-color: ${borderHoverColor};
17333
- box-shadow: none;
17348
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17334
17349
  }
17335
17350
 
17336
17351
  :host([appearance-variant='primary']) .control${focusVisible} {
@@ -17347,11 +17362,7 @@
17347
17362
  }
17348
17363
 
17349
17364
  :host([appearance-variant='primary']) .control:active {
17350
- background-clip: border-box;
17351
- border-color: ${fillSelectedColor};
17352
- border-width: ${borderWidth};
17353
17365
  box-shadow: none;
17354
- padding: 0 ${standardPadding};
17355
17366
  }
17356
17367
 
17357
17368
  :host([appearance-variant='primary'][content-hidden])
@@ -17371,10 +17382,15 @@
17371
17382
  .control {
17372
17383
  padding: 0px;
17373
17384
  }
17385
+
17386
+ :host([appearance-variant='primary']) .control:active::before {
17387
+ border-color: ${fillSelectedColor};
17388
+ border-width: ${borderWidth};
17389
+ }
17374
17390
  `));
17375
17391
 
17376
- const styles$N = css `
17377
- ${styles$O}
17392
+ const styles$O = css `
17393
+ ${styles$P}
17378
17394
  ${buttonAppearanceVariantStyles}
17379
17395
 
17380
17396
  .control {
@@ -17382,7 +17398,7 @@
17382
17398
  }
17383
17399
  `;
17384
17400
 
17385
- const template$t = (context, definition) => html `
17401
+ const template$u = (context, definition) => html `
17386
17402
  <a
17387
17403
  class="control"
17388
17404
  part="control"
@@ -17464,8 +17480,8 @@
17464
17480
  ], AnchorButton.prototype, "disabled", void 0);
17465
17481
  const nimbleAnchorButton = AnchorButton.compose({
17466
17482
  baseName: 'anchor-button',
17467
- template: template$t,
17468
- styles: styles$N,
17483
+ template: template$u,
17484
+ styles: styles$O,
17469
17485
  shadowOptions: {
17470
17486
  delegatesFocus: true
17471
17487
  }
@@ -17473,7 +17489,7 @@
17473
17489
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());
17474
17490
  DesignSystem.tagFor(AnchorButton);
17475
17491
 
17476
- const styles$M = css `
17492
+ const styles$N = css `
17477
17493
  ${display('grid')}
17478
17494
 
17479
17495
  :host {
@@ -17550,7 +17566,7 @@
17550
17566
  }
17551
17567
  `;
17552
17568
 
17553
- const template$s = (context, definition) => html `
17569
+ const template$t = (context, definition) => html `
17554
17570
  <template
17555
17571
  role="menuitem"
17556
17572
  class="${x => (typeof x.startColumnCount === 'number'
@@ -17656,8 +17672,8 @@
17656
17672
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
17657
17673
  const nimbleAnchorMenuItem = AnchorMenuItem.compose({
17658
17674
  baseName: 'anchor-menu-item',
17659
- template: template$s,
17660
- styles: styles$M,
17675
+ template: template$t,
17676
+ styles: styles$N,
17661
17677
  shadowOptions: {
17662
17678
  delegatesFocus: true
17663
17679
  }
@@ -17681,13 +17697,13 @@
17681
17697
  }
17682
17698
  });
17683
17699
 
17684
- const styles$L = css `
17700
+ const styles$M = css `
17685
17701
  ${display('inline-flex')}
17686
17702
 
17687
17703
  :host {
17688
17704
  position: relative;
17689
17705
  box-sizing: border-box;
17690
- font: ${bodyFont};
17706
+ font: ${buttonLabelFont};
17691
17707
  height: ${controlHeight};
17692
17708
  color: ${bodyFontColor};
17693
17709
  align-items: center;
@@ -17787,8 +17803,8 @@
17787
17803
  }
17788
17804
  `;
17789
17805
 
17790
- const styles$K = css `
17791
- ${styles$L}
17806
+ const styles$L = css `
17807
+ ${styles$M}
17792
17808
 
17793
17809
  a {
17794
17810
  text-decoration: none;
@@ -17806,7 +17822,7 @@
17806
17822
  }
17807
17823
  `;
17808
17824
 
17809
- const template$r = (context, definition) => html `
17825
+ const template$s = (context, definition) => html `
17810
17826
  <template slot="anchortab" role="tab" aria-disabled="${x => x.disabled}">
17811
17827
  <a
17812
17828
  download="${x => x.download}"
@@ -17859,13 +17875,13 @@
17859
17875
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
17860
17876
  const nimbleAnchorTab = AnchorTab.compose({
17861
17877
  baseName: 'anchor-tab',
17862
- template: template$r,
17863
- styles: styles$K
17878
+ template: template$s,
17879
+ styles: styles$L
17864
17880
  });
17865
17881
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTab());
17866
17882
  DesignSystem.tagFor(AnchorTab);
17867
17883
 
17868
- const styles$J = css `
17884
+ const styles$K = css `
17869
17885
  ${display('grid')}
17870
17886
 
17871
17887
  :host {
@@ -17883,7 +17899,7 @@
17883
17899
  }
17884
17900
  `;
17885
17901
 
17886
- const template$q = (context, definition) => html `
17902
+ const template$r = (context, definition) => html `
17887
17903
  ${startSlotTemplate(context, definition)}
17888
17904
  <div ${ref('tablist')} class="tablist" part="tablist" role="tablist">
17889
17905
  <slot name="anchortab" ${slotted('tabs')}></slot>
@@ -18080,8 +18096,8 @@
18080
18096
  applyMixins(AnchorTabs, StartEnd);
18081
18097
  const nimbleAnchorTabs = AnchorTabs.compose({
18082
18098
  baseName: 'anchor-tabs',
18083
- template: template$q,
18084
- styles: styles$J,
18099
+ template: template$r,
18100
+ styles: styles$K,
18085
18101
  shadowOptions: {
18086
18102
  delegatesFocus: false
18087
18103
  }
@@ -18098,7 +18114,7 @@
18098
18114
  -webkit-user-select: none;
18099
18115
  `;
18100
18116
 
18101
- const styles$I = css `
18117
+ const styles$J = css `
18102
18118
  ${display('block')}
18103
18119
 
18104
18120
  :host {
@@ -18202,7 +18218,7 @@
18202
18218
  }
18203
18219
  `;
18204
18220
 
18205
- const template$p = (context, definition) => html `
18221
+ const template$q = (context, definition) => html `
18206
18222
  <template
18207
18223
  role="treeitem"
18208
18224
  slot="${x => (x.isNestedItem() ? 'item' : null)}"
@@ -18339,8 +18355,8 @@
18339
18355
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
18340
18356
  const nimbleAnchorTreeItem = AnchorTreeItem.compose({
18341
18357
  baseName: 'anchor-tree-item',
18342
- template: template$p,
18343
- styles: styles$I,
18358
+ template: template$q,
18359
+ styles: styles$J,
18344
18360
  shadowOptions: {
18345
18361
  delegatesFocus: true
18346
18362
  }
@@ -18350,7 +18366,7 @@
18350
18366
  .register(nimbleAnchorTreeItem());
18351
18367
  DesignSystem.tagFor(AnchorTreeItem);
18352
18368
 
18353
- const styles$H = css `
18369
+ const styles$I = css `
18354
18370
  :host {
18355
18371
  contain: layout;
18356
18372
  display: block;
@@ -18374,7 +18390,7 @@
18374
18390
  baseName: 'anchored-region',
18375
18391
  baseClass: AnchoredRegion$1,
18376
18392
  template: anchoredRegionTemplate,
18377
- styles: styles$H
18393
+ styles: styles$I
18378
18394
  });
18379
18395
  DesignSystem.getOrCreate()
18380
18396
  .withPrefix('nimble')
@@ -18454,7 +18470,7 @@
18454
18470
  */
18455
18471
  const themeBehavior = (theme, styles) => new ThemeStyleSheetBehavior(theme, styles);
18456
18472
 
18457
- const styles$G = css `
18473
+ const styles$H = css `
18458
18474
  ${display('flex')}
18459
18475
 
18460
18476
  :host {
@@ -18612,8 +18628,8 @@
18612
18628
  }
18613
18629
  `));
18614
18630
 
18615
- const styles$F = css `
18616
- ${styles$O}
18631
+ const styles$G = css `
18632
+ ${styles$P}
18617
18633
  ${buttonAppearanceVariantStyles}
18618
18634
  `;
18619
18635
 
@@ -18659,7 +18675,7 @@
18659
18675
  baseName: 'button',
18660
18676
  baseClass: Button$1,
18661
18677
  template: buttonTemplate,
18662
- styles: styles$F,
18678
+ styles: styles$G,
18663
18679
  shadowOptions: {
18664
18680
  delegatesFocus: true
18665
18681
  }
@@ -19317,13 +19333,13 @@
19317
19333
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path class="cls-1" d="M8.033 14.026 4.9 10.866 6.277 9.53l1.744 1.81 4.562-4.507 1.307 1.363Zm1.155-10.68-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>`
19318
19334
  };
19319
19335
 
19320
- const template$o = html `
19336
+ const template$p = html `
19321
19337
  <template>
19322
19338
  <div class="icon" :innerHTML=${x => x.icon.data}></div>
19323
19339
  </template
19324
19340
  `;
19325
19341
 
19326
- const styles$E = css `
19342
+ const styles$F = css `
19327
19343
  ${display('inline-flex')}
19328
19344
 
19329
19345
  :host {
@@ -19376,8 +19392,8 @@
19376
19392
  const registerIcon = (baseName, iconClass) => {
19377
19393
  const composedIcon = iconClass.compose({
19378
19394
  baseName,
19379
- template: template$o,
19380
- styles: styles$E,
19395
+ template: template$p,
19396
+ styles: styles$F,
19381
19397
  baseClass: iconClass
19382
19398
  });
19383
19399
  DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
@@ -19462,7 +19478,7 @@
19462
19478
  }).withDefault(coreLabelDefaults.numericIncrementLabel);
19463
19479
 
19464
19480
  // prettier-ignore
19465
- const template$n = html `
19481
+ const template$o = html `
19466
19482
  <div class="container"
19467
19483
  role="status"
19468
19484
  aria-atomic="${x => x.ariaAtomic}"
@@ -19581,13 +19597,13 @@
19581
19597
  applyMixins(Banner, ARIAGlobalStatesAndProperties);
19582
19598
  const nimbleBanner = Banner.compose({
19583
19599
  baseName: 'banner',
19584
- template: template$n,
19585
- styles: styles$G
19600
+ template: template$o,
19601
+ styles: styles$H
19586
19602
  });
19587
19603
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());
19588
19604
  DesignSystem.tagFor(Banner);
19589
19605
 
19590
- const styles$D = css `
19606
+ const styles$E = css `
19591
19607
  ${display('inline-block')}
19592
19608
 
19593
19609
  :host {
@@ -19628,12 +19644,12 @@
19628
19644
  baseName: 'breadcrumb',
19629
19645
  baseClass: Breadcrumb$1,
19630
19646
  template: breadcrumbTemplate,
19631
- styles: styles$D
19647
+ styles: styles$E
19632
19648
  });
19633
19649
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBreadcrumb());
19634
19650
  DesignSystem.tagFor(Breadcrumb);
19635
19651
 
19636
- const styles$C = css `
19652
+ const styles$D = css `
19637
19653
  ${display('inline-flex')}
19638
19654
 
19639
19655
  :host {
@@ -19709,7 +19725,7 @@
19709
19725
  baseName: 'breadcrumb-item',
19710
19726
  baseClass: BreadcrumbItem$1,
19711
19727
  template: breadcrumbItemTemplate,
19712
- styles: styles$C,
19728
+ styles: styles$D,
19713
19729
  separator: forwardSlash16X16.data
19714
19730
  });
19715
19731
  DesignSystem.getOrCreate()
@@ -19717,7 +19733,7 @@
19717
19733
  .register(nimbleBreadcrumbItem());
19718
19734
  DesignSystem.tagFor(BreadcrumbItem);
19719
19735
 
19720
- const styles$B = css `
19736
+ const styles$C = css `
19721
19737
  ${display('inline-flex')}
19722
19738
 
19723
19739
  :host {
@@ -19876,7 +19892,7 @@
19876
19892
  const nimbleCardButton = CardButton.compose({
19877
19893
  baseName: 'card-button',
19878
19894
  template: buttonTemplate,
19879
- styles: styles$B,
19895
+ styles: styles$C,
19880
19896
  shadowOptions: {
19881
19897
  delegatesFocus: true
19882
19898
  }
@@ -19884,11 +19900,11 @@
19884
19900
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCardButton());
19885
19901
  DesignSystem.tagFor(CardButton);
19886
19902
 
19887
- const styles$A = css `
19903
+ const styles$B = css `
19888
19904
  ${display('inline-flex')}
19889
19905
 
19890
19906
  :host {
19891
- font: ${buttonLabelFont};
19907
+ font: ${bodyFont};
19892
19908
  align-items: center;
19893
19909
  cursor: pointer;
19894
19910
  outline: none;
@@ -20002,41 +20018,95 @@
20002
20018
  baseName: 'checkbox',
20003
20019
  baseClass: Checkbox$1,
20004
20020
  template: checkboxTemplate,
20005
- styles: styles$A,
20021
+ styles: styles$B,
20006
20022
  checkedIndicator: check16X16.data,
20007
20023
  indeterminateIndicator: minus16X16.data
20008
20024
  });
20009
20025
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
20010
20026
  const checkboxTag = DesignSystem.tagFor(Checkbox);
20011
20027
 
20012
- const styles$z = css `
20013
- ${styles$O}
20028
+ const styles$A = css `
20029
+ ${styles$P}
20014
20030
 
20015
20031
  .control[aria-pressed='true'] {
20016
20032
  background-color: ${fillSelectedColor};
20017
20033
  border-color: ${fillSelectedColor};
20034
+ position: relative;
20035
+ transition: box-shadow ${smallDelay} ease-in-out,
20036
+ border-color ${smallDelay} ease-in-out,
20037
+ background-size ${smallDelay} ease-in-out;
20038
+ background-size: 100% 100%;
20039
+ background-repeat: no-repeat;
20040
+ background-position: center;
20018
20041
  }
20019
20042
 
20020
20043
  .control[aria-pressed='true']:hover {
20021
- background-color: ${fillSelectedColor};
20044
+ border-color: ${borderHoverColor};
20045
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
20046
+ background-image: linear-gradient(
20047
+ ${fillSelectedColor},
20048
+ ${fillSelectedColor}
20049
+ );
20050
+ background-size: calc(100% - 4px) calc(100% - 4px);
20022
20051
  }
20023
20052
 
20024
20053
  .control[aria-pressed='true']${focusVisible} {
20025
- background-color: ${fillSelectedColor};
20054
+ background-color: transparent;
20055
+ border-color: ${borderHoverColor};
20056
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
20057
+ background-image: linear-gradient(
20058
+ ${fillSelectedColor},
20059
+ ${fillSelectedColor}
20060
+ );
20061
+ background-size: calc(100% - 4px) calc(100% - 4px);
20062
+ }
20063
+
20064
+ .control[aria-pressed='true']:active {
20065
+ box-shadow: none;
20066
+ background-image: linear-gradient(
20067
+ ${fillSelectedColor},
20068
+ ${fillSelectedColor}
20069
+ );
20070
+ background-size: calc(100% - 2px) calc(100% - 2px);
20026
20071
  }
20027
20072
 
20028
20073
  :host([disabled]) .control[aria-pressed='true'] {
20029
- background-color: ${fillSelectedColor};
20030
20074
  border-color: ${fillSelectedColor};
20075
+ background-color: ${fillSelectedColor};
20076
+ background-image: none;
20031
20077
  }
20032
20078
 
20033
20079
  :host([disabled]) .control[aria-pressed='true']:hover {
20034
- background-color: ${fillSelectedColor};
20035
20080
  border-color: ${fillSelectedColor};
20081
+ background-color: ${fillSelectedColor};
20082
+ box-shadow: none;
20083
+ }
20084
+
20085
+ .control[aria-pressed='true']::before {
20086
+ content: '';
20087
+ position: absolute;
20088
+ width: 100%;
20089
+ height: 100%;
20090
+ pointer-events: none;
20091
+ box-sizing: border-box;
20092
+ outline: 0px solid transparent;
20093
+ outline: none;
20094
+ background-clip: content-box;
20095
+ transition: outline ${smallDelay} ease-in-out;
20096
+ }
20097
+
20098
+ .control[aria-pressed='true']${focusVisible}::before {
20099
+ outline: ${borderWidth} solid ${borderHoverColor};
20100
+ outline-offset: -3px;
20101
+ color: transparent;
20102
+ }
20103
+
20104
+ .control[aria-pressed='true']:active::before {
20105
+ outline: none;
20036
20106
  }
20037
20107
  `;
20038
20108
 
20039
- const template$m = (context, definition) => html `
20109
+ const template$n = (context, definition) => html `
20040
20110
  <div
20041
20111
  role="button"
20042
20112
  part="control"
@@ -20111,8 +20181,8 @@
20111
20181
  applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
20112
20182
  const nimbleToggleButton = ToggleButton.compose({
20113
20183
  baseName: 'toggle-button',
20114
- template: template$m,
20115
- styles: styles$z,
20184
+ template: template$n,
20185
+ styles: styles$A,
20116
20186
  shadowOptions: {
20117
20187
  delegatesFocus: true
20118
20188
  }
@@ -20148,7 +20218,7 @@
20148
20218
  block: 'block'
20149
20219
  };
20150
20220
 
20151
- const styles$y = css `
20221
+ const styles$z = css `
20152
20222
  ${display('inline-flex')}
20153
20223
 
20154
20224
  :host {
@@ -20370,7 +20440,7 @@
20370
20440
  }
20371
20441
  `));
20372
20442
 
20373
- const styles$x = css `
20443
+ const styles$y = css `
20374
20444
  .error-icon {
20375
20445
  display: none;
20376
20446
  }
@@ -20404,9 +20474,9 @@
20404
20474
  }
20405
20475
  `;
20406
20476
 
20407
- const styles$w = css `
20477
+ const styles$x = css `
20478
+ ${styles$z}
20408
20479
  ${styles$y}
20409
- ${styles$x}
20410
20480
 
20411
20481
  :host {
20412
20482
  --ni-private-hover-bottom-border-width: 2px;
@@ -20487,7 +20557,7 @@
20487
20557
  `));
20488
20558
 
20489
20559
  // prettier-ignore
20490
- const template$l = (context, definition) => html `
20560
+ const template$m = (context, definition) => html `
20491
20561
  <template
20492
20562
  aria-disabled="${x => x.ariaDisabled}"
20493
20563
  autocomplete="${x => x.autocomplete}"
@@ -20758,8 +20828,8 @@
20758
20828
  const nimbleCombobox = Combobox.compose({
20759
20829
  baseName: 'combobox',
20760
20830
  baseClass: Combobox$1,
20761
- template: template$l,
20762
- styles: styles$w,
20831
+ template: template$m,
20832
+ styles: styles$x,
20763
20833
  shadowOptions: {
20764
20834
  delegatesFocus: true
20765
20835
  },
@@ -20804,7 +20874,7 @@
20804
20874
  */
20805
20875
  const UserDismissed = Symbol('user dismissed');
20806
20876
 
20807
- const styles$v = css `
20877
+ const styles$w = css `
20808
20878
  ${display('grid')}
20809
20879
 
20810
20880
  dialog {
@@ -20920,7 +20990,7 @@
20920
20990
  }
20921
20991
  `));
20922
20992
 
20923
- const template$k = html `
20993
+ const template$l = html `
20924
20994
  <template>
20925
20995
  <dialog
20926
20996
  ${ref('dialogElement')}
@@ -21046,14 +21116,14 @@
21046
21116
  applyMixins(Dialog, ARIAGlobalStatesAndProperties);
21047
21117
  const nimbleDialog = Dialog.compose({
21048
21118
  baseName: 'dialog',
21049
- template: template$k,
21050
- styles: styles$v,
21119
+ template: template$l,
21120
+ styles: styles$w,
21051
21121
  baseClass: Dialog
21052
21122
  });
21053
21123
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDialog());
21054
21124
  DesignSystem.tagFor(Dialog);
21055
21125
 
21056
- const styles$u = css `
21126
+ const styles$v = css `
21057
21127
  ${display('block')}
21058
21128
 
21059
21129
  :host {
@@ -21206,7 +21276,7 @@
21206
21276
  }
21207
21277
  `));
21208
21278
 
21209
- const template$j = html `
21279
+ const template$k = html `
21210
21280
  <dialog
21211
21281
  ${ref('dialog')}
21212
21282
  aria-label="${x => x.ariaLabel}"
@@ -21320,8 +21390,8 @@
21320
21390
  applyMixins(Drawer, ARIAGlobalStatesAndProperties);
21321
21391
  const nimbleDrawer = Drawer.compose({
21322
21392
  baseName: 'drawer',
21323
- template: template$j,
21324
- styles: styles$u
21393
+ template: template$k,
21394
+ styles: styles$v
21325
21395
  });
21326
21396
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
21327
21397
  DesignSystem.tagFor(Drawer);
@@ -23361,7 +23431,7 @@
23361
23431
  .register(nimbleLabelProviderTable());
23362
23432
  DesignSystem.tagFor(LabelProviderTable);
23363
23433
 
23364
- const styles$t = css `
23434
+ const styles$u = css `
23365
23435
  ${display('flex')}
23366
23436
 
23367
23437
  :host {
@@ -23441,12 +23511,12 @@
23441
23511
  baseName: 'list-option',
23442
23512
  baseClass: ListboxOption,
23443
23513
  template: listboxOptionTemplate,
23444
- styles: styles$t
23514
+ styles: styles$u
23445
23515
  });
23446
23516
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleListOption());
23447
23517
  DesignSystem.tagFor(ListOption);
23448
23518
 
23449
- const styles$s = css `
23519
+ const styles$t = css `
23450
23520
  ${display('grid')}
23451
23521
 
23452
23522
  :host {
@@ -23513,12 +23583,12 @@
23513
23583
  baseName: 'menu',
23514
23584
  baseClass: Menu$1,
23515
23585
  template: menuTemplate,
23516
- styles: styles$s
23586
+ styles: styles$t
23517
23587
  });
23518
23588
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());
23519
23589
  DesignSystem.tagFor(Menu);
23520
23590
 
23521
- const styles$r = css `
23591
+ const styles$s = css `
23522
23592
  ${display('inline-block')}
23523
23593
 
23524
23594
  :host {
@@ -23537,7 +23607,7 @@
23537
23607
  `;
23538
23608
 
23539
23609
  // prettier-ignore
23540
- const template$i = html `
23610
+ const template$j = html `
23541
23611
  <template
23542
23612
  ?open="${x => x.open}"
23543
23613
  @focusout="${(x, c) => x.focusoutHandler(c.event)}"
@@ -23792,8 +23862,8 @@
23792
23862
  ], MenuButton.prototype, "slottedMenus", void 0);
23793
23863
  const nimbleMenuButton = MenuButton.compose({
23794
23864
  baseName: 'menu-button',
23795
- template: template$i,
23796
- styles: styles$r,
23865
+ template: template$j,
23866
+ styles: styles$s,
23797
23867
  shadowOptions: {
23798
23868
  delegatesFocus: true
23799
23869
  }
@@ -23801,7 +23871,7 @@
23801
23871
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuButton());
23802
23872
  const menuButtonTag = DesignSystem.tagFor(MenuButton);
23803
23873
 
23804
- const styles$q = css `
23874
+ const styles$r = css `
23805
23875
  ${display('grid')}
23806
23876
 
23807
23877
  :host {
@@ -23899,7 +23969,7 @@
23899
23969
  baseName: 'menu-item',
23900
23970
  baseClass: MenuItem$1,
23901
23971
  template: menuItemTemplate,
23902
- styles: styles$q,
23972
+ styles: styles$r,
23903
23973
  expandCollapseGlyph: arrowExpanderRight16X16.data
23904
23974
  });
23905
23975
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuItem());
@@ -23914,9 +23984,9 @@
23914
23984
  block: 'block'
23915
23985
  };
23916
23986
 
23917
- const styles$p = css `
23987
+ const styles$q = css `
23918
23988
  ${display('inline-block')}
23919
- ${styles$x}
23989
+ ${styles$y}
23920
23990
 
23921
23991
  :host {
23922
23992
  font: ${bodyFont};
@@ -24130,7 +24200,7 @@
24130
24200
  baseName: 'number-field',
24131
24201
  baseClass: NumberField$1,
24132
24202
  template: numberFieldTemplate,
24133
- styles: styles$p,
24203
+ styles: styles$q,
24134
24204
  shadowOptions: {
24135
24205
  delegatesFocus: true
24136
24206
  },
@@ -24172,11 +24242,11 @@
24172
24242
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleNumberField());
24173
24243
  DesignSystem.tagFor(NumberField);
24174
24244
 
24175
- const styles$o = css `
24245
+ const styles$p = css `
24176
24246
  ${display('inline-flex')}
24177
24247
 
24178
24248
  :host {
24179
- font: ${buttonLabelFont};
24249
+ font: ${bodyFont};
24180
24250
  align-items: center;
24181
24251
  outline: none;
24182
24252
  width: fit-content;
@@ -24273,13 +24343,13 @@
24273
24343
  baseName: 'radio',
24274
24344
  baseClass: Radio$1,
24275
24345
  template: radioTemplate,
24276
- styles: styles$o,
24346
+ styles: styles$p,
24277
24347
  checkedIndicator: circleFilled16X16.data
24278
24348
  });
24279
24349
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadio());
24280
24350
  DesignSystem.tagFor(Radio);
24281
24351
 
24282
- const styles$n = css `
24352
+ const styles$o = css `
24283
24353
  ${display('inline-block')}
24284
24354
 
24285
24355
  .positioning-region {
@@ -24314,7 +24384,7 @@
24314
24384
  baseName: 'radio-group',
24315
24385
  baseClass: RadioGroup$1,
24316
24386
  template: radioGroupTemplate,
24317
- styles: styles$n,
24387
+ styles: styles$o,
24318
24388
  shadowOptions: {
24319
24389
  delegatesFocus: true
24320
24390
  }
@@ -24322,6 +24392,34 @@
24322
24392
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadioGroup());
24323
24393
  DesignSystem.tagFor(RadioGroup);
24324
24394
 
24395
+ const template$i = html `
24396
+ <template> Rich Text Editor here. </template>
24397
+ `;
24398
+
24399
+ const styles$n = css `
24400
+ ${display('flex')}
24401
+
24402
+ :host {
24403
+ font: ${bodyFont};
24404
+ color: ${bodyFontColor};
24405
+ }
24406
+ `;
24407
+
24408
+ /**
24409
+ * A nimble styled rich text editor
24410
+ */
24411
+ class RichTextEditor extends FoundationElement {
24412
+ }
24413
+ const nimbleRichTextEditor = RichTextEditor.compose({
24414
+ baseName: 'rich-text-editor',
24415
+ template: template$i,
24416
+ styles: styles$n
24417
+ });
24418
+ DesignSystem.getOrCreate()
24419
+ .withPrefix('nimble')
24420
+ .register(nimbleRichTextEditor());
24421
+ DesignSystem.tagFor(RichTextEditor);
24422
+
24325
24423
  const template$h = html `
24326
24424
  <template> Rich Text Viewer here. </template>
24327
24425
  `;
@@ -24351,8 +24449,8 @@
24351
24449
  DesignSystem.tagFor(RichTextViewer);
24352
24450
 
24353
24451
  const styles$l = css `
24452
+ ${styles$z}
24354
24453
  ${styles$y}
24355
- ${styles$x}
24356
24454
 
24357
24455
  ${
24358
24456
  /* We are using flex `order` to define the visual ordering of the selected value,
@@ -24706,7 +24804,7 @@
24706
24804
 
24707
24805
  :host {
24708
24806
  outline: none;
24709
- font: ${buttonLabelFont};
24807
+ font: ${bodyFont};
24710
24808
  color: ${buttonLabelFontColor};
24711
24809
  flex-direction: column;
24712
24810
  cursor: pointer;
@@ -24923,7 +25021,7 @@
24923
25021
  baseName: 'tab',
24924
25022
  baseClass: Tab$1,
24925
25023
  template: tabTemplate,
24926
- styles: styles$L
25024
+ styles: styles$M
24927
25025
  });
24928
25026
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTab());
24929
25027
  DesignSystem.tagFor(Tab);
@@ -32234,7 +32332,7 @@
32234
32332
 
32235
32333
  const styles$6 = css `
32236
32334
  ${display('inline-flex')}
32237
- ${styles$x}
32335
+ ${styles$y}
32238
32336
 
32239
32337
  :host {
32240
32338
  font: ${bodyFont};
@@ -32580,7 +32678,7 @@
32580
32678
 
32581
32679
  const styles$5 = css `
32582
32680
  ${display('inline-block')}
32583
- ${styles$x}
32681
+ ${styles$y}
32584
32682
 
32585
32683
  :host {
32586
32684
  font: ${bodyFont};