@ni/nimble-components 20.0.5 → 20.1.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.
@@ -16288,7 +16288,7 @@
16288
16288
 
16289
16289
  /**
16290
16290
  * Do not edit directly
16291
- * Generated on Tue, 01 Aug 2023 20:23:50 GMT
16291
+ * Generated on Wed, 02 Aug 2023 18:51:55 GMT
16292
16292
  */
16293
16293
 
16294
16294
  const Information100DarkUi = "#a46eff";
@@ -16312,6 +16312,8 @@
16312
16312
  const BannerFail100DarkUi = "#d63434";
16313
16313
  const Warning100LightUi = "#ff4b00";
16314
16314
  const DigitalGreenDark = "#006b46";
16315
+ const DigitalGreenDark105 = "#00734b";
16316
+ const DigitalGreenDark110 = "#00613f";
16315
16317
  const PowerGreen = "#32eb96";
16316
16318
  const Title2Family = "Source Sans Pro";
16317
16319
  const Title2Weight = "400";
@@ -16422,6 +16424,14 @@
16422
16424
  dividerBackgroundColor: 'divider-background-color',
16423
16425
  headerBackgroundColor: 'header-background-color',
16424
16426
  sectionBackgroundColor: 'section-background-color',
16427
+ buttonFillPrimaryColor: 'button-fill-primary-color',
16428
+ buttonPrimaryFontColor: 'button-primary-font-color',
16429
+ buttonFillActivePrimaryColor: 'button-fill-active-primary-color',
16430
+ buttonFillAccentColor: 'button-fill-accent-color',
16431
+ buttonAccentBlockFontColor: 'button-accent-block-font-color',
16432
+ buttonAccentOutlineFontColor: 'button-accent-outline-font-color',
16433
+ buttonBorderAccentOutlineColor: 'button-border-accent-outline-color',
16434
+ buttonFillAccentActiveColor: 'button-fill-accent-active-color',
16425
16435
  fillSelectedColor: 'fill-selected-color',
16426
16436
  fillSelectedRgbPartialColor: 'fill-selected-rgb-partial-color',
16427
16437
  fillHoverSelectedColor: 'fill-hover-selected-color',
@@ -16753,7 +16763,7 @@
16753
16763
  DesignToken.create(styleNameFromTokenName(tokenNames.sectionBackgroundColor)).withDefault((element) => getColorForTheme(element, Black15, Black80, ForestGreen));
16754
16764
  DesignToken.create(styleNameFromTokenName(tokenNames.dividerBackgroundColor)).withDefault((element) => getColorForTheme(element, Black15, Black80, ForestGreen));
16755
16765
  const fillSelectedColor = DesignToken.create(styleNameFromTokenName(tokenNames.fillSelectedColor)).withDefault((element) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.2));
16756
- DesignToken.create(styleNameFromTokenName(tokenNames.fillSelectedRgbPartialColor)).withDefault((element) => hexToRgbPartial(getFillSelectedColorForTheme(element)));
16766
+ const fillSelectedRgbPartialColor = DesignToken.create(styleNameFromTokenName(tokenNames.fillSelectedRgbPartialColor)).withDefault((element) => hexToRgbPartial(getFillSelectedColorForTheme(element)));
16757
16767
  const fillHoverSelectedColor = DesignToken.create(styleNameFromTokenName(tokenNames.fillHoverSelectedColor)).withDefault((element) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.15));
16758
16768
  const fillHoverColor = DesignToken.create(styleNameFromTokenName(tokenNames.fillHoverColor)).withDefault((element) => hexToRgbaCssColor(getFillHoverColorForTheme(element), 0.1));
16759
16769
  DesignToken.create(styleNameFromTokenName(tokenNames.fillDownColor)).withDefault((element) => hexToRgbaCssColor(getFillDownColorForTheme(element), 0.15));
@@ -16771,6 +16781,14 @@
16771
16781
  DesignToken.create(styleNameFromTokenName(tokenNames.graphGridlineColor)).withDefault((element) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.2));
16772
16782
  DesignToken.create(styleNameFromTokenName(tokenNames.tooltipBackgroundColor)).withDefault((element) => getColorForTheme(element, Black15, Black85, ForestGreen));
16773
16783
  const tableRowBorderColor = DesignToken.create(styleNameFromTokenName(tokenNames.tableRowBorderColor)).withDefault((element) => getColorForTheme(element, Black15, Black80, ForestGreen));
16784
+ const buttonFillPrimaryColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonFillPrimaryColor)).withDefault((element) => getColorForTheme(element, hexToRgbaCssColor(Black91, 0.75), hexToRgbaCssColor(Black15, 0.3), hexToRgbaCssColor(White, 0.3)));
16785
+ const buttonPrimaryFontColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonPrimaryFontColor)).withDefault((element) => getColorForTheme(element, Black15, Black15, White));
16786
+ const buttonFillActivePrimaryColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonFillActivePrimaryColor)).withDefault((element) => getColorForTheme(element, hexToRgbaCssColor(Black91, 0.85), hexToRgbaCssColor(Black15, 0.2), hexToRgbaCssColor(White, 0.2)));
16787
+ const buttonFillAccentColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonFillAccentColor)).withDefault((element) => getColorForTheme(element, DigitalGreenDark, DigitalGreenLight, hexToRgbaCssColor(White, 0.1)));
16788
+ const buttonAccentBlockFontColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonAccentBlockFontColor)).withDefault((element) => getColorForTheme(element, White, Black15, White));
16789
+ const buttonAccentOutlineFontColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonAccentOutlineFontColor)).withDefault((element) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, White));
16790
+ const buttonBorderAccentOutlineColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonBorderAccentOutlineColor)).withDefault((element) => getColorForTheme(element, DigitalGreenLight, PowerGreen, hexToRgbaCssColor(White, 0.3)));
16791
+ const buttonFillAccentActiveColor = DesignToken.create(styleNameFromTokenName(tokenNames.buttonFillAccentActiveColor)).withDefault((element) => getColorForTheme(element, DigitalGreenDark110, DigitalGreenDark, hexToRgbaCssColor(White, 0.2)));
16774
16792
  // Component Sizing Tokens
16775
16793
  const controlHeight = DesignToken.create(styleNameFromTokenName(tokenNames.controlHeight)).withDefault('32px');
16776
16794
  const controlSlimHeight = DesignToken.create(styleNameFromTokenName(tokenNames.controlSlimHeight)).withDefault('24px');
@@ -17150,299 +17168,294 @@
17150
17168
  }
17151
17169
 
17152
17170
  const styles$P = css `
17153
- ${display('inline-flex')}
17171
+ @layer base, hover, focusVisible, active, disabled, top;
17154
17172
 
17155
- :host {
17156
- background-color: transparent;
17157
- height: ${controlHeight};
17158
- color: ${buttonLabelFontColor};
17159
- font: ${buttonLabelFont};
17160
- cursor: pointer;
17161
- outline: none;
17162
- border: none;
17163
- box-sizing: border-box;
17164
- ${
17173
+ @layer base {
17174
+ ${display('inline-flex')}
17175
+
17176
+ :host {
17177
+ background-color: transparent;
17178
+ height: ${controlHeight};
17179
+ color: ${buttonLabelFontColor};
17180
+ font: ${buttonLabelFont};
17181
+ cursor: pointer;
17182
+ outline: none;
17183
+ border: none;
17184
+ box-sizing: border-box;
17185
+ ${
17165
17186
  /*
17166
17187
  Not sure why but this is needed to get buttons with icons and buttons
17167
17188
  without icons to align on the same line when the button is inline-flex
17168
17189
  See: https://github.com/microsoft/fast/issues/5414
17169
17190
  */ ''}
17170
- vertical-align: middle;
17171
- }
17172
-
17173
- :host([disabled]) {
17174
- color: ${buttonLabelDisabledFontColor};
17175
- cursor: default;
17176
- }
17191
+ vertical-align: middle;
17192
+ }
17177
17193
 
17178
- .control {
17179
- background-color: transparent;
17180
- height: 100%;
17181
- width: 100%;
17182
- border: ${borderWidth} solid transparent;
17183
- box-sizing: border-box;
17184
- color: inherit;
17185
- border-radius: inherit;
17186
- fill: inherit;
17187
- display: inline-flex;
17188
- align-items: center;
17189
- justify-content: center;
17190
- gap: 4px;
17191
- cursor: inherit;
17192
- font: inherit;
17193
- outline: none;
17194
- margin: 0;
17195
- padding: 0 ${standardPadding};
17196
- position: relative;
17197
- transition: box-shadow ${smallDelay} ease-in-out,
17198
- border-color ${smallDelay} ease-in-out,
17199
- background-size ${smallDelay} ease-in-out;
17200
- background-size: 100% 100%;
17201
- background-repeat: no-repeat;
17202
- background-position: center;
17203
- }
17194
+ .control {
17195
+ background-color: transparent;
17196
+ height: 100%;
17197
+ width: 100%;
17198
+ border: ${borderWidth} solid transparent;
17199
+ box-sizing: border-box;
17200
+ color: inherit;
17201
+ border-radius: inherit;
17202
+ fill: inherit;
17203
+ display: inline-flex;
17204
+ align-items: center;
17205
+ justify-content: center;
17206
+ gap: 4px;
17207
+ cursor: inherit;
17208
+ font: inherit;
17209
+ outline: none;
17210
+ margin: 0;
17211
+ padding: 0 ${standardPadding};
17212
+ position: relative;
17213
+ transition: box-shadow ${smallDelay} ease-in-out,
17214
+ border-color ${smallDelay} ease-in-out,
17215
+ background-size ${smallDelay} ease-in-out;
17216
+ background-size: 100% 100%;
17217
+ background-repeat: no-repeat;
17218
+ background-position: center;
17219
+ }
17204
17220
 
17205
- :host([content-hidden]) .control {
17206
- aspect-ratio: 1 / 1;
17207
- padding: 0px;
17208
- }
17221
+ :host([content-hidden]) .control {
17222
+ aspect-ratio: 1 / 1;
17223
+ padding: 0px;
17224
+ }
17209
17225
 
17210
- @media (prefers-reduced-motion) {
17211
- .control {
17212
- transition-duration: 0s;
17226
+ .control::before {
17227
+ content: '';
17228
+ position: absolute;
17229
+ width: 100%;
17230
+ height: 100%;
17231
+ pointer-events: none;
17232
+ box-sizing: border-box;
17233
+ outline: 0px solid transparent;
17234
+ color: transparent;
17235
+ background-clip: content-box;
17236
+ transition: outline ${smallDelay} ease-in-out;
17213
17237
  }
17214
- }
17215
17238
 
17216
- .control:hover {
17217
- border-color: ${borderHoverColor};
17218
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17219
- }
17239
+ .content {
17240
+ display: contents;
17241
+ }
17220
17242
 
17221
- .control${focusVisible} {
17222
- border-color: ${borderHoverColor};
17223
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17224
- }
17243
+ :host([content-hidden]) .content {
17244
+ ${
17245
+ /**
17246
+ * Hide content visually while keeping it screen reader-accessible.
17247
+ * Source: https://webaim.org/techniques/css/invisiblecontent/#techniques
17248
+ * See discussion here: https://github.com/microsoft/fast/issues/5740#issuecomment-1068195035
17249
+ */
17250
+ ''}
17251
+ display: inline-block;
17252
+ height: 1px;
17253
+ width: 1px;
17254
+ position: absolute;
17255
+ margin: -1px;
17256
+ clip: rect(1px, 1px, 1px, 1px);
17257
+ clip-path: inset(50%);
17258
+ overflow: hidden;
17259
+ padding: 0;
17260
+ }
17225
17261
 
17226
- .control:active {
17227
- box-shadow: none;
17228
- background-image: linear-gradient(
17229
- ${fillSelectedColor},
17230
- ${fillSelectedColor}
17231
- );
17232
- background-size: calc(100% - 2px) calc(100% - 2px);
17233
- }
17262
+ [part='start'] {
17263
+ display: contents;
17264
+ ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17265
+ }
17234
17266
 
17235
- :host([disabled]) .control {
17236
- box-shadow: none;
17237
- background-image: none;
17267
+ [part='end'] {
17268
+ display: contents;
17269
+ ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17270
+ }
17238
17271
  }
17239
17272
 
17240
- .control::before {
17241
- content: '';
17242
- position: absolute;
17243
- width: 100%;
17244
- height: 100%;
17245
- pointer-events: none;
17246
- box-sizing: border-box;
17247
- outline: 0px solid transparent;
17248
- color: transparent;
17249
- background-clip: content-box;
17250
- transition: outline ${smallDelay} ease-in-out;
17273
+ @layer hover {
17274
+ .control:hover {
17275
+ border-color: ${borderHoverColor};
17276
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17277
+ }
17251
17278
  }
17252
17279
 
17253
- .control${focusVisible}::before {
17254
- outline: ${borderWidth} solid ${borderHoverColor};
17255
- outline-offset: -3px;
17256
- }
17280
+ @layer focusVisible {
17281
+ .control${focusVisible} {
17282
+ border-color: ${borderHoverColor};
17283
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17284
+ }
17257
17285
 
17258
- .control:active::before {
17259
- outline: none;
17286
+ .control${focusVisible}::before {
17287
+ outline: ${borderWidth} solid ${borderHoverColor};
17288
+ outline-offset: -3px;
17289
+ }
17260
17290
  }
17261
17291
 
17262
- :host([disabled]) .control::before {
17263
- box-shadow: none;
17264
- }
17292
+ @layer active {
17293
+ .control:active {
17294
+ box-shadow: none;
17295
+ background-image: linear-gradient(
17296
+ ${fillSelectedColor},
17297
+ ${fillSelectedColor}
17298
+ );
17299
+ background-size: calc(100% - 2px) calc(100% - 2px);
17300
+ }
17265
17301
 
17266
- .content {
17267
- display: contents;
17302
+ .control:active::before {
17303
+ outline: none;
17304
+ }
17268
17305
  }
17269
17306
 
17270
- :host([content-hidden]) .content {
17271
- ${
17272
- /**
17273
- * Hide content visually while keeping it screen reader-accessible.
17274
- * Source: https://webaim.org/techniques/css/invisiblecontent/#techniques
17275
- * See discussion here: https://github.com/microsoft/fast/issues/5740#issuecomment-1068195035
17276
- */
17277
- ''}
17278
- display: inline-block;
17279
- height: 1px;
17280
- width: 1px;
17281
- position: absolute;
17282
- margin: -1px;
17283
- clip: rect(1px, 1px, 1px, 1px);
17284
- clip-path: inset(50%);
17285
- overflow: hidden;
17286
- padding: 0;
17287
- }
17307
+ @layer disabled {
17308
+ :host([disabled]) {
17309
+ color: ${buttonLabelDisabledFontColor};
17310
+ cursor: default;
17311
+ }
17288
17312
 
17289
- [part='start'] {
17290
- display: contents;
17291
- ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17292
- }
17313
+ :host([disabled]) .control {
17314
+ box-shadow: none;
17315
+ background-image: none;
17316
+ color: rgba(${actionRgbPartialColor}, 0.3);
17317
+ }
17293
17318
 
17294
- :host([disabled]) slot[name='start']::slotted(*) {
17295
- opacity: 0.3;
17296
- }
17319
+ :host([disabled]) .control::before {
17320
+ box-shadow: none;
17321
+ }
17297
17322
 
17298
- [part='end'] {
17299
- display: contents;
17300
- ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17301
- }
17323
+ :host([disabled]) slot[name='start']::slotted(*) {
17324
+ opacity: 0.3;
17325
+ ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17326
+ }
17302
17327
 
17303
- :host([disabled]) slot[name='end']::slotted(*) {
17304
- opacity: 0.3;
17328
+ :host([disabled]) slot[name='end']::slotted(*) {
17329
+ opacity: 0.3;
17330
+ ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
17331
+ }
17305
17332
  }
17306
17333
 
17307
- :host([content-hidden]) [part='end'] {
17308
- display: none;
17309
- }
17310
- `.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
17334
+ @layer top {
17335
+ @media (prefers-reduced-motion) {
17311
17336
  .control {
17312
- border-color: rgba(${actionRgbPartialColor}, 0.3);
17337
+ transition-duration: 0s;
17313
17338
  }
17339
+ }
17314
17340
 
17315
- .control:hover {
17316
- background-color: transparent;
17341
+ :host([content-hidden]) [part='end'] {
17342
+ display: none;
17343
+ }
17344
+ }
17345
+ `.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
17346
+ @layer base {
17347
+ .control {
17348
+ border-color: rgba(${actionRgbPartialColor}, 0.3);
17349
+ }
17317
17350
  }
17318
17351
 
17319
- :host([disabled]) .control {
17320
- border-color: rgba(${borderRgbPartialColor}, 0.3);
17352
+ @layer disabled {
17353
+ :host([disabled]) .control {
17354
+ border-color: rgba(${borderRgbPartialColor}, 0.3);
17355
+ }
17321
17356
  }
17322
17357
  `), appearanceBehavior(ButtonAppearance.ghost, css `
17323
- .control:hover {
17324
- background-color: transparent;
17325
- }
17326
-
17327
- .control${focusVisible} {
17328
- background-color: transparent;
17329
- }
17330
-
17331
- :host([disabled]) .control {
17332
- border-color: transparent;
17358
+ @layer disabled {
17359
+ :host([disabled]) .control {
17360
+ border-color: transparent;
17361
+ }
17333
17362
  }
17334
17363
  `), appearanceBehavior(ButtonAppearance.block, css `
17335
- .control {
17336
- background-color: rgba(${borderRgbPartialColor}, 0.1);
17337
- }
17338
-
17339
- .control:hover {
17340
- background-color: transparent;
17341
- background-image: linear-gradient(
17342
- rgba(${borderRgbPartialColor}, 0.1),
17343
- rgba(${borderRgbPartialColor}, 0.1)
17344
- );
17345
- background-size: calc(100% - 4px) calc(100% - 4px);
17364
+ @layer base {
17365
+ .control {
17366
+ background-image: linear-gradient(
17367
+ rgba(${borderRgbPartialColor}, 0.1),
17368
+ rgba(${borderRgbPartialColor}, 0.1)
17369
+ );
17370
+ border-color: rgba(${borderRgbPartialColor}, 0.1);
17371
+ }
17346
17372
  }
17347
17373
 
17348
- .control${focusVisible} {
17349
- background-color: transparent;
17350
- background-image: linear-gradient(
17351
- rgba(${borderRgbPartialColor}, 0.1),
17352
- rgba(${borderRgbPartialColor}, 0.1)
17353
- );
17354
- background-size: calc(100% - 4px) calc(100% - 4px);
17374
+ @layer hover {
17375
+ .control:hover {
17376
+ background-size: calc(100% - 4px) calc(100% - 4px);
17377
+ }
17355
17378
  }
17356
17379
 
17357
- .control:active {
17358
- background-image: linear-gradient(
17359
- ${fillSelectedColor},
17360
- ${fillSelectedColor}
17361
- );
17362
- background-size: calc(100% - 2px) calc(100% - 2px);
17380
+ @layer focusVisible {
17381
+ .control${focusVisible} {
17382
+ background-size: calc(100% - 4px) calc(100% - 4px);
17383
+ }
17363
17384
  }
17364
17385
 
17365
- :host([disabled]) .control {
17366
- background-color: rgba(${borderRgbPartialColor}, 0.1);
17367
- border-color: transparent;
17386
+ @layer disabled {
17387
+ :host([disabled]) .control {
17388
+ background-image: linear-gradient(
17389
+ rgba(${borderRgbPartialColor}, 0.1),
17390
+ rgba(${borderRgbPartialColor}, 0.1)
17391
+ );
17392
+ background-size: 100% 100%;
17393
+ border-color: rgba(${borderRgbPartialColor}, 0.1);
17394
+ }
17368
17395
  }
17369
17396
  `));
17370
17397
  const buttonAppearanceVariantStyles = css ``.withBehaviors(appearanceBehavior(ButtonAppearance.outline, css `
17371
- :host([appearance-variant='primary']) .control {
17372
- box-shadow: 0px 0px 0px ${borderWidth}
17373
- rgba(${actionRgbPartialColor}, 0.3) inset;
17374
- }
17375
-
17376
- :host([appearance-variant='primary']) .control:hover {
17377
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17378
- }
17379
-
17380
- :host([appearance-variant='primary']) .control${focusVisible} {
17381
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17382
- }
17383
-
17384
- :host([appearance-variant='primary']) .control:active {
17385
- box-shadow: 0px 0px 0px ${borderWidth} ${fillSelectedColor}
17386
- inset;
17387
- }
17398
+ @layer base {
17399
+ :host([appearance-variant='primary']) .control {
17400
+ border-color: ${actionRgbPartialColor};
17401
+ }
17388
17402
 
17389
- :host([appearance-variant='primary'][disabled]) .control {
17390
- box-shadow: none;
17403
+ :host([appearance-variant='accent']) .control {
17404
+ border-color: ${buttonBorderAccentOutlineColor};
17405
+ color: ${buttonAccentOutlineFontColor};
17406
+ }
17391
17407
  }
17392
17408
  `), appearanceBehavior(ButtonAppearance.block, css `
17393
- :host([appearance-variant='primary']) .control {
17394
- border-color: rgba(${actionRgbPartialColor}, 0.3);
17395
- box-shadow: 0px 0px 0px ${borderWidth}
17396
- rgba(${actionRgbPartialColor}, 0.3) inset;
17397
- }
17398
-
17399
- :host([appearance-variant='primary'][content-hidden]) .control {
17400
- padding: 0px;
17401
- }
17402
-
17403
- :host([appearance-variant='primary']) .control:hover {
17404
- border-color: ${borderHoverColor};
17405
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17406
- }
17409
+ @layer base {
17410
+ :host([appearance-variant='primary']) [part='start'] {
17411
+ ${iconColor.cssCustomProperty}: white;
17412
+ }
17407
17413
 
17408
- :host([appearance-variant='primary']) .control${focusVisible} {
17409
- background-clip: border-box;
17410
- border-color: ${borderHoverColor};
17411
- border-width: ${borderWidth};
17412
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
17413
- padding: 0 ${standardPadding};
17414
- }
17414
+ :host([appearance-variant='primary']) .control {
17415
+ background-image: linear-gradient(
17416
+ ${buttonFillPrimaryColor},
17417
+ ${buttonFillPrimaryColor}
17418
+ );
17419
+ color: ${buttonPrimaryFontColor};
17420
+ border-color: ${buttonFillPrimaryColor};
17421
+ }
17415
17422
 
17416
- :host([appearance-variant='primary'][content-hidden])
17417
- .control${focusVisible} {
17418
- padding: 0px;
17419
- }
17423
+ :host([appearance-variant='primary']) [part='end'] {
17424
+ ${iconColor.cssCustomProperty}: white;
17425
+ }
17420
17426
 
17421
- :host([appearance-variant='primary']) .control:active {
17422
- box-shadow: none;
17423
- }
17427
+ :host([appearance-variant='accent']) [part='start'] {
17428
+ ${iconColor.cssCustomProperty}: white;
17429
+ }
17424
17430
 
17425
- :host([appearance-variant='primary'][content-hidden])
17426
- .control:active {
17427
- padding: 0px;
17428
- }
17431
+ :host([appearance-variant='accent']) .control {
17432
+ background-image: linear-gradient(
17433
+ ${buttonFillAccentColor},
17434
+ ${buttonFillAccentColor}
17435
+ );
17436
+ color: ${buttonAccentBlockFontColor};
17437
+ border-color: ${buttonFillAccentColor};
17438
+ }
17429
17439
 
17430
- :host([appearance-variant='primary'][disabled]) .control {
17431
- background-clip: border-box;
17432
- border-color: transparent;
17433
- border-width: ${borderWidth};
17434
- box-shadow: none;
17435
- padding: 0 ${standardPadding};
17440
+ :host([appearance-variant='accent']) [part='end'] {
17441
+ ${iconColor.cssCustomProperty}: white;
17442
+ }
17436
17443
  }
17437
17444
 
17438
- :host([appearance-variant='primary'][disabled][content-hidden])
17439
- .control {
17440
- padding: 0px;
17441
- }
17445
+ @layer active {
17446
+ :host([appearance-variant='primary']) .control:active {
17447
+ background-image: linear-gradient(
17448
+ ${buttonFillActivePrimaryColor},
17449
+ ${buttonFillActivePrimaryColor}
17450
+ );
17451
+ }
17442
17452
 
17443
- :host([appearance-variant='primary']) .control:active::before {
17444
- border-color: ${fillSelectedColor};
17445
- border-width: ${borderWidth};
17453
+ :host([appearance-variant='accent']) .control:active {
17454
+ background-image: linear-gradient(
17455
+ ${buttonFillAccentActiveColor},
17456
+ ${buttonFillAccentActiveColor}
17457
+ );
17458
+ }
17446
17459
  }
17447
17460
  `));
17448
17461
 
@@ -20108,81 +20121,80 @@
20108
20121
  const styles$A = css `
20109
20122
  ${styles$P}
20110
20123
 
20111
- .control[aria-pressed='true'] {
20112
- background-color: ${fillSelectedColor};
20113
- border-color: ${fillSelectedColor};
20114
- position: relative;
20115
- transition: box-shadow ${smallDelay} ease-in-out,
20116
- border-color ${smallDelay} ease-in-out,
20117
- background-size ${smallDelay} ease-in-out;
20118
- background-size: 100% 100%;
20119
- background-repeat: no-repeat;
20120
- background-position: center;
20121
- }
20122
-
20123
- .control[aria-pressed='true']:hover {
20124
- border-color: ${borderHoverColor};
20125
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
20126
- background-image: linear-gradient(
20127
- ${fillSelectedColor},
20128
- ${fillSelectedColor}
20129
- );
20130
- background-size: calc(100% - 4px) calc(100% - 4px);
20124
+ @layer base {
20125
+ .control[aria-pressed='true'] {
20126
+ background-color: transparent;
20127
+ background-image: linear-gradient(
20128
+ ${fillSelectedColor},
20129
+ ${fillSelectedColor}
20130
+ );
20131
+ border-color: rgba(${fillSelectedRgbPartialColor}, 0.3);
20132
+ }
20131
20133
  }
20132
20134
 
20133
- .control[aria-pressed='true']${focusVisible} {
20134
- background-color: transparent;
20135
- border-color: ${borderHoverColor};
20136
- box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
20137
- background-image: linear-gradient(
20138
- ${fillSelectedColor},
20139
- ${fillSelectedColor}
20140
- );
20141
- background-size: calc(100% - 4px) calc(100% - 4px);
20135
+ @layer hover {
20136
+ .control[aria-pressed='true']:hover {
20137
+ border-color: ${borderHoverColor};
20138
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
20139
+ background-image: linear-gradient(
20140
+ ${fillSelectedColor},
20141
+ ${fillSelectedColor}
20142
+ );
20143
+ background-size: calc(100% - 4px) calc(100% - 4px);
20144
+ }
20142
20145
  }
20143
20146
 
20144
- .control[aria-pressed='true']:active {
20145
- box-shadow: none;
20146
- background-image: linear-gradient(
20147
- ${fillSelectedColor},
20148
- ${fillSelectedColor}
20149
- );
20150
- background-size: calc(100% - 2px) calc(100% - 2px);
20151
- }
20147
+ @layer focusVisible {
20148
+ .control[aria-pressed='true']${focusVisible} {
20149
+ border-color: ${borderHoverColor};
20150
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;
20151
+ background-image: linear-gradient(
20152
+ ${fillSelectedColor},
20153
+ ${fillSelectedColor}
20154
+ );
20155
+ background-size: calc(100% - 4px) calc(100% - 4px);
20156
+ }
20152
20157
 
20153
- :host([disabled]) .control[aria-pressed='true'] {
20154
- border-color: ${fillSelectedColor};
20155
- background-color: ${fillSelectedColor};
20156
- background-image: none;
20158
+ .control[aria-pressed='true']${focusVisible}::before {
20159
+ outline: ${borderWidth} solid ${borderHoverColor};
20160
+ outline-offset: -3px;
20161
+ color: transparent;
20162
+ }
20157
20163
  }
20158
20164
 
20159
- :host([disabled]) .control[aria-pressed='true']:hover {
20160
- border-color: ${fillSelectedColor};
20161
- background-color: ${fillSelectedColor};
20162
- box-shadow: none;
20163
- }
20165
+ @layer active {
20166
+ .control[aria-pressed='true']:active {
20167
+ box-shadow: none;
20168
+ background-image: linear-gradient(
20169
+ ${fillSelectedColor},
20170
+ ${fillSelectedColor}
20171
+ );
20172
+ background-size: calc(100% - 2px) calc(100% - 2px);
20173
+ }
20164
20174
 
20165
- .control[aria-pressed='true']::before {
20166
- content: '';
20167
- position: absolute;
20168
- width: 100%;
20169
- height: 100%;
20170
- pointer-events: none;
20171
- box-sizing: border-box;
20172
- outline: 0px solid transparent;
20173
- outline: none;
20174
- background-clip: content-box;
20175
- transition: outline ${smallDelay} ease-in-out;
20175
+ .control[aria-pressed='true']:active::before {
20176
+ outline: none;
20177
+ }
20176
20178
  }
20177
20179
 
20178
- .control[aria-pressed='true']${focusVisible}::before {
20179
- outline: ${borderWidth} solid ${borderHoverColor};
20180
- outline-offset: -3px;
20181
- color: transparent;
20182
- }
20180
+ @layer disabled {
20181
+ :host([disabled]) .control[aria-pressed='true'] {
20182
+ background-image: linear-gradient(
20183
+ ${fillSelectedColor},
20184
+ ${fillSelectedColor}
20185
+ );
20186
+ border-color: rgba(${fillSelectedRgbPartialColor}, 0.3);
20187
+ }
20183
20188
 
20184
- .control[aria-pressed='true']:active::before {
20185
- outline: none;
20189
+ :host([disabled]) .control[aria-pressed='true']:hover {
20190
+ background-image: linear-gradient(
20191
+ ${fillSelectedColor},
20192
+ ${fillSelectedColor}
20193
+ );
20194
+ background-size: 100% 100%;
20195
+ border-color: rgba(${fillSelectedRgbPartialColor}, 0.3);
20196
+ box-shadow: none;
20197
+ }
20186
20198
  }
20187
20199
  `;
20188
20200
 
@@ -47925,6 +47937,9 @@
47925
47937
  __decorate$1([
47926
47938
  observable
47927
47939
  ], Table.prototype, "tableScrollableMinWidth", void 0);
47940
+ __decorate$1([
47941
+ observable
47942
+ ], Table.prototype, "documentShiftKeyDown", void 0);
47928
47943
  const nimbleTable = Table.compose({
47929
47944
  baseName: 'table',
47930
47945
  template: template$9,