@ni/nimble-components 18.9.0 → 18.9.1

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 (48) hide show
  1. package/dist/all-components-bundle.js +257 -196
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +485 -472
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/table/components/cell/index.d.ts +4 -13
  6. package/dist/esm/table/components/cell/index.js +4 -35
  7. package/dist/esm/table/components/cell/index.js.map +1 -1
  8. package/dist/esm/table/components/cell/styles.js +1 -1
  9. package/dist/esm/table/components/cell/template.d.ts +3 -1
  10. package/dist/esm/table/components/cell/template.js +7 -3
  11. package/dist/esm/table/components/cell/template.js.map +1 -1
  12. package/dist/esm/table/components/row/index.d.ts +1 -0
  13. package/dist/esm/table/components/row/index.js +9 -0
  14. package/dist/esm/table/components/row/index.js.map +1 -1
  15. package/dist/esm/table/components/row/template.js +1 -2
  16. package/dist/esm/table/components/row/template.js.map +1 -1
  17. package/dist/esm/table/index.d.ts +9 -0
  18. package/dist/esm/table/index.js +10 -0
  19. package/dist/esm/table/index.js.map +1 -1
  20. package/dist/esm/table/models/virtualizer.d.ts +1 -0
  21. package/dist/esm/table/models/virtualizer.js +21 -0
  22. package/dist/esm/table/models/virtualizer.js.map +1 -1
  23. package/dist/esm/table/template.js +1 -1
  24. package/dist/esm/table/template.js.map +1 -1
  25. package/dist/esm/table-column/base/cell-view/index.d.ts +16 -0
  26. package/dist/esm/table-column/base/cell-view/index.js +22 -0
  27. package/dist/esm/table-column/base/cell-view/index.js.map +1 -0
  28. package/dist/esm/table-column/base/index.d.ts +10 -13
  29. package/dist/esm/table-column/base/index.js +12 -0
  30. package/dist/esm/table-column/base/index.js.map +1 -1
  31. package/dist/esm/table-column/text/cell-view/index.d.ts +18 -0
  32. package/dist/esm/table-column/text/cell-view/index.js +35 -0
  33. package/dist/esm/table-column/text/cell-view/index.js.map +1 -0
  34. package/dist/esm/table-column/text/cell-view/styles.d.ts +1 -0
  35. package/dist/esm/table-column/text/{styles.js → cell-view/styles.js} +2 -2
  36. package/dist/esm/table-column/text/cell-view/styles.js.map +1 -0
  37. package/dist/esm/table-column/text/cell-view/template.d.ts +2 -0
  38. package/dist/esm/table-column/text/cell-view/template.js +17 -0
  39. package/dist/esm/table-column/text/cell-view/template.js.map +1 -0
  40. package/dist/esm/table-column/text/index.d.ts +2 -3
  41. package/dist/esm/table-column/text/index.js +2 -4
  42. package/dist/esm/table-column/text/index.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/esm/table-column/text/styles.d.ts +0 -1
  45. package/dist/esm/table-column/text/styles.js.map +0 -1
  46. package/dist/esm/table-column/text/template.d.ts +0 -3
  47. package/dist/esm/table-column/text/template.js +0 -24
  48. package/dist/esm/table-column/text/template.js.map +0 -1
@@ -16744,9 +16744,9 @@
16744
16744
  return `${prefix}${uniqueIdCounter++}`;
16745
16745
  }
16746
16746
 
16747
- const template$m = html `<slot></slot>`;
16747
+ const template$n = html `<slot></slot>`;
16748
16748
 
16749
- const styles$K = css `
16749
+ const styles$L = css `
16750
16750
  :host {
16751
16751
  display: contents;
16752
16752
  }
@@ -16802,8 +16802,8 @@
16802
16802
  ], ThemeProvider.prototype, "theme", void 0);
16803
16803
  const nimbleDesignSystemProvider = ThemeProvider.compose({
16804
16804
  baseName: 'theme-provider',
16805
- styles: styles$K,
16806
- template: template$m
16805
+ styles: styles$L,
16806
+ template: template$n
16807
16807
  });
16808
16808
  DesignSystem.getOrCreate()
16809
16809
  .withPrefix('nimble')
@@ -16987,7 +16987,7 @@
16987
16987
  }
16988
16988
  }
16989
16989
 
16990
- const styles$J = css `
16990
+ const styles$K = css `
16991
16991
  ${display('inline')}
16992
16992
 
16993
16993
  :host {
@@ -17070,7 +17070,7 @@
17070
17070
  `;
17071
17071
 
17072
17072
  // prettier-ignore
17073
- const template$l = (context, definition) => html `
17073
+ const template$m = (context, definition) => html `
17074
17074
  <a
17075
17075
  class="control"
17076
17076
  part="control"
@@ -17143,8 +17143,8 @@
17143
17143
  const nimbleAnchor = Anchor.compose({
17144
17144
  baseName: 'anchor',
17145
17145
  baseClass: Anchor$1,
17146
- template: template$l,
17147
- styles: styles$J,
17146
+ template: template$m,
17147
+ styles: styles$K,
17148
17148
  shadowOptions: {
17149
17149
  delegatesFocus: true
17150
17150
  }
@@ -17230,7 +17230,7 @@
17230
17230
  return new MultivaluePropertyStyleSheetBehavior('appearance', value, styles);
17231
17231
  }
17232
17232
 
17233
- const styles$I = css `
17233
+ const styles$J = css `
17234
17234
  ${display('inline-flex')}
17235
17235
 
17236
17236
  :host {
@@ -17511,8 +17511,8 @@
17511
17511
  }
17512
17512
  `));
17513
17513
 
17514
- const styles$H = css `
17515
- ${styles$I}
17514
+ const styles$I = css `
17515
+ ${styles$J}
17516
17516
  ${buttonAppearanceVariantStyles}
17517
17517
 
17518
17518
  .control {
@@ -17520,7 +17520,7 @@
17520
17520
  }
17521
17521
  `;
17522
17522
 
17523
- const template$k = (context, definition) => html `
17523
+ const template$l = (context, definition) => html `
17524
17524
  <a
17525
17525
  class="control"
17526
17526
  part="control"
@@ -17602,8 +17602,8 @@
17602
17602
  ], AnchorButton.prototype, "disabled", void 0);
17603
17603
  const nimbleAnchorButton = AnchorButton.compose({
17604
17604
  baseName: 'anchor-button',
17605
- template: template$k,
17606
- styles: styles$H,
17605
+ template: template$l,
17606
+ styles: styles$I,
17607
17607
  shadowOptions: {
17608
17608
  delegatesFocus: true
17609
17609
  }
@@ -17611,7 +17611,7 @@
17611
17611
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());
17612
17612
  DesignSystem.tagFor(AnchorButton);
17613
17613
 
17614
- const styles$G = css `
17614
+ const styles$H = css `
17615
17615
  ${display('grid')}
17616
17616
 
17617
17617
  :host {
@@ -17688,7 +17688,7 @@
17688
17688
  }
17689
17689
  `;
17690
17690
 
17691
- const template$j = (context, definition) => html `
17691
+ const template$k = (context, definition) => html `
17692
17692
  <template
17693
17693
  role="menuitem"
17694
17694
  class="${x => (typeof x.startColumnCount === 'number'
@@ -17793,8 +17793,8 @@
17793
17793
  ], AnchorMenuItem.prototype, "startColumnCount", void 0);
17794
17794
  const nimbleAnchorMenuItem = AnchorMenuItem.compose({
17795
17795
  baseName: 'anchor-menu-item',
17796
- template: template$j,
17797
- styles: styles$G,
17796
+ template: template$k,
17797
+ styles: styles$H,
17798
17798
  shadowOptions: {
17799
17799
  delegatesFocus: true
17800
17800
  }
@@ -17819,7 +17819,7 @@
17819
17819
  }
17820
17820
  });
17821
17821
 
17822
- const styles$F = css `
17822
+ const styles$G = css `
17823
17823
  ${display('inline-flex')}
17824
17824
 
17825
17825
  :host {
@@ -17925,8 +17925,8 @@
17925
17925
  }
17926
17926
  `;
17927
17927
 
17928
- const styles$E = css `
17929
- ${styles$F}
17928
+ const styles$F = css `
17929
+ ${styles$G}
17930
17930
 
17931
17931
  a {
17932
17932
  text-decoration: none;
@@ -17936,7 +17936,7 @@
17936
17936
  }
17937
17937
  `;
17938
17938
 
17939
- const template$i = () => html `
17939
+ const template$j = () => html `
17940
17940
  <template slot="anchortab" role="tab" aria-disabled="${x => x.disabled}">
17941
17941
  <a
17942
17942
  download="${x => x.download}"
@@ -17974,13 +17974,13 @@
17974
17974
  ], AnchorTab.prototype, "disabled", void 0);
17975
17975
  const nimbleAnchorTab = AnchorTab.compose({
17976
17976
  baseName: 'anchor-tab',
17977
- template: template$i,
17978
- styles: styles$E
17977
+ template: template$j,
17978
+ styles: styles$F
17979
17979
  });
17980
17980
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTab());
17981
17981
  DesignSystem.tagFor(AnchorTab);
17982
17982
 
17983
- const styles$D = css `
17983
+ const styles$E = css `
17984
17984
  ${display('grid')}
17985
17985
 
17986
17986
  :host {
@@ -17998,7 +17998,7 @@
17998
17998
  }
17999
17999
  `;
18000
18000
 
18001
- const template$h = (context, definition) => html `
18001
+ const template$i = (context, definition) => html `
18002
18002
  ${startSlotTemplate(context, definition)}
18003
18003
  <div ${ref('tablist')} class="tablist" part="tablist" role="tablist">
18004
18004
  <slot name="anchortab" ${slotted('tabs')}></slot>
@@ -18195,8 +18195,8 @@
18195
18195
  applyMixins(AnchorTabs, StartEnd);
18196
18196
  const nimbleAnchorTabs = AnchorTabs.compose({
18197
18197
  baseName: 'anchor-tabs',
18198
- template: template$h,
18199
- styles: styles$D,
18198
+ template: template$i,
18199
+ styles: styles$E,
18200
18200
  shadowOptions: {
18201
18201
  delegatesFocus: false
18202
18202
  }
@@ -18204,7 +18204,7 @@
18204
18204
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTabs());
18205
18205
  DesignSystem.tagFor(AnchorTabs);
18206
18206
 
18207
- const styles$C = css `
18207
+ const styles$D = css `
18208
18208
  :host {
18209
18209
  contain: layout;
18210
18210
  display: block;
@@ -18228,7 +18228,7 @@
18228
18228
  baseName: 'anchored-region',
18229
18229
  baseClass: AnchoredRegion$1,
18230
18230
  template: anchoredRegionTemplate,
18231
- styles: styles$C
18231
+ styles: styles$D
18232
18232
  });
18233
18233
  DesignSystem.getOrCreate()
18234
18234
  .withPrefix('nimble')
@@ -18308,7 +18308,7 @@
18308
18308
  */
18309
18309
  const themeBehavior = (theme, styles) => new ThemeStyleSheetBehavior(theme, styles);
18310
18310
 
18311
- const styles$B = css `
18311
+ const styles$C = css `
18312
18312
  ${display('flex')}
18313
18313
 
18314
18314
  :host {
@@ -18466,8 +18466,8 @@
18466
18466
  }
18467
18467
  `));
18468
18468
 
18469
- const styles$A = css `
18470
- ${styles$I}
18469
+ const styles$B = css `
18470
+ ${styles$J}
18471
18471
  ${buttonAppearanceVariantStyles}
18472
18472
  `;
18473
18473
 
@@ -18513,7 +18513,7 @@
18513
18513
  baseName: 'button',
18514
18514
  baseClass: Button$1,
18515
18515
  template: buttonTemplate,
18516
- styles: styles$A,
18516
+ styles: styles$B,
18517
18517
  shadowOptions: {
18518
18518
  delegatesFocus: true
18519
18519
  }
@@ -19135,13 +19135,13 @@
19135
19135
  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>`
19136
19136
  };
19137
19137
 
19138
- const template$g = html `
19138
+ const template$h = html `
19139
19139
  <template>
19140
19140
  <div class="icon" :innerHTML=${x => x.icon.data}></div>
19141
19141
  </template
19142
19142
  `;
19143
19143
 
19144
- const styles$z = css `
19144
+ const styles$A = css `
19145
19145
  ${display('inline-flex')}
19146
19146
 
19147
19147
  :host {
@@ -19194,8 +19194,8 @@
19194
19194
  const registerIcon = (baseName, iconClass) => {
19195
19195
  const composedIcon = iconClass.compose({
19196
19196
  baseName,
19197
- template: template$g,
19198
- styles: styles$z,
19197
+ template: template$h,
19198
+ styles: styles$A,
19199
19199
  baseClass: iconClass
19200
19200
  });
19201
19201
  DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
@@ -19261,7 +19261,7 @@
19261
19261
  };
19262
19262
 
19263
19263
  // prettier-ignore
19264
- const template$f = html `
19264
+ const template$g = html `
19265
19265
  <div class="container"
19266
19266
  role="status"
19267
19267
  aria-atomic="${x => x.ariaAtomic}"
@@ -19380,13 +19380,13 @@
19380
19380
  applyMixins(Banner, ARIAGlobalStatesAndProperties);
19381
19381
  const nimbleBanner = Banner.compose({
19382
19382
  baseName: 'banner',
19383
- template: template$f,
19384
- styles: styles$B
19383
+ template: template$g,
19384
+ styles: styles$C
19385
19385
  });
19386
19386
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());
19387
19387
  DesignSystem.tagFor(Banner);
19388
19388
 
19389
- const styles$y = css `
19389
+ const styles$z = css `
19390
19390
  ${display('inline-block')}
19391
19391
 
19392
19392
  :host {
@@ -19427,12 +19427,12 @@
19427
19427
  baseName: 'breadcrumb',
19428
19428
  baseClass: Breadcrumb$1,
19429
19429
  template: breadcrumbTemplate,
19430
- styles: styles$y
19430
+ styles: styles$z
19431
19431
  });
19432
19432
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBreadcrumb());
19433
19433
  DesignSystem.tagFor(Breadcrumb);
19434
19434
 
19435
- const styles$x = css `
19435
+ const styles$y = css `
19436
19436
  ${display('inline-flex')}
19437
19437
 
19438
19438
  :host {
@@ -19508,7 +19508,7 @@
19508
19508
  baseName: 'breadcrumb-item',
19509
19509
  baseClass: BreadcrumbItem$1,
19510
19510
  template: breadcrumbItemTemplate,
19511
- styles: styles$x,
19511
+ styles: styles$y,
19512
19512
  separator: forwardSlash16X16.data
19513
19513
  });
19514
19514
  DesignSystem.getOrCreate()
@@ -19516,7 +19516,7 @@
19516
19516
  .register(nimbleBreadcrumbItem());
19517
19517
  DesignSystem.tagFor(BreadcrumbItem);
19518
19518
 
19519
- const styles$w = css `
19519
+ const styles$x = css `
19520
19520
  ${display('inline-flex')}
19521
19521
 
19522
19522
  :host {
@@ -19675,7 +19675,7 @@
19675
19675
  const nimbleCardButton = CardButton.compose({
19676
19676
  baseName: 'card-button',
19677
19677
  template: buttonTemplate,
19678
- styles: styles$w,
19678
+ styles: styles$x,
19679
19679
  shadowOptions: {
19680
19680
  delegatesFocus: true
19681
19681
  }
@@ -19683,7 +19683,7 @@
19683
19683
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCardButton());
19684
19684
  DesignSystem.tagFor(CardButton);
19685
19685
 
19686
- const styles$v = css `
19686
+ const styles$w = css `
19687
19687
  ${display('inline-flex')}
19688
19688
 
19689
19689
  :host {
@@ -19801,15 +19801,15 @@
19801
19801
  baseName: 'checkbox',
19802
19802
  baseClass: Checkbox$1,
19803
19803
  template: checkboxTemplate,
19804
- styles: styles$v,
19804
+ styles: styles$w,
19805
19805
  checkedIndicator: check16X16.data,
19806
19806
  indeterminateIndicator: minus16X16.data
19807
19807
  });
19808
19808
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
19809
19809
  DesignSystem.tagFor(Checkbox);
19810
19810
 
19811
- const styles$u = css `
19812
- ${styles$I}
19811
+ const styles$v = css `
19812
+ ${styles$J}
19813
19813
 
19814
19814
  .control[aria-pressed='true'] {
19815
19815
  background-color: ${fillSelectedColor};
@@ -19835,7 +19835,7 @@
19835
19835
  }
19836
19836
  `;
19837
19837
 
19838
- const template$e = (context, definition) => html `
19838
+ const template$f = (context, definition) => html `
19839
19839
  <div
19840
19840
  role="button"
19841
19841
  part="control"
@@ -19910,8 +19910,8 @@
19910
19910
  applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
19911
19911
  const nimbleToggleButton = ToggleButton.compose({
19912
19912
  baseName: 'toggle-button',
19913
- template: template$e,
19914
- styles: styles$u,
19913
+ template: template$f,
19914
+ styles: styles$v,
19915
19915
  shadowOptions: {
19916
19916
  delegatesFocus: true
19917
19917
  }
@@ -19943,7 +19943,7 @@
19943
19943
  block: 'block'
19944
19944
  };
19945
19945
 
19946
- const styles$t = css `
19946
+ const styles$u = css `
19947
19947
  ${display('inline-flex')}
19948
19948
 
19949
19949
  :host {
@@ -20179,7 +20179,7 @@
20179
20179
  }
20180
20180
  `));
20181
20181
 
20182
- const styles$s = css `
20182
+ const styles$t = css `
20183
20183
  .error-icon {
20184
20184
  display: none;
20185
20185
  }
@@ -20213,9 +20213,9 @@
20213
20213
  }
20214
20214
  `;
20215
20215
 
20216
- const styles$r = css `
20216
+ const styles$s = css `
20217
+ ${styles$u}
20217
20218
  ${styles$t}
20218
- ${styles$s}
20219
20219
 
20220
20220
  :host {
20221
20221
  --ni-private-hover-bottom-border-width: 2px;
@@ -20451,7 +20451,7 @@
20451
20451
  baseName: 'combobox',
20452
20452
  baseClass: Combobox$1,
20453
20453
  template: comboboxTemplate,
20454
- styles: styles$r,
20454
+ styles: styles$s,
20455
20455
  shadowOptions: {
20456
20456
  delegatesFocus: true
20457
20457
  },
@@ -20496,7 +20496,7 @@
20496
20496
  */
20497
20497
  const UserDismissed = Symbol('user dismissed');
20498
20498
 
20499
- const styles$q = css `
20499
+ const styles$r = css `
20500
20500
  ${display('grid')}
20501
20501
 
20502
20502
  dialog {
@@ -20612,7 +20612,7 @@
20612
20612
  }
20613
20613
  `));
20614
20614
 
20615
- const template$d = html `
20615
+ const template$e = html `
20616
20616
  <template>
20617
20617
  <dialog
20618
20618
  ${ref('dialogElement')}
@@ -20738,14 +20738,14 @@
20738
20738
  applyMixins(Dialog, ARIAGlobalStatesAndProperties);
20739
20739
  const nimbleDialog = Dialog.compose({
20740
20740
  baseName: 'dialog',
20741
- template: template$d,
20742
- styles: styles$q,
20741
+ template: template$e,
20742
+ styles: styles$r,
20743
20743
  baseClass: Dialog
20744
20744
  });
20745
20745
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDialog());
20746
20746
  DesignSystem.tagFor(Dialog);
20747
20747
 
20748
- const styles$p = css `
20748
+ const styles$q = css `
20749
20749
  ${display('block')}
20750
20750
 
20751
20751
  :host {
@@ -20898,7 +20898,7 @@
20898
20898
  }
20899
20899
  `));
20900
20900
 
20901
- const template$c = html `
20901
+ const template$d = html `
20902
20902
  <dialog
20903
20903
  ${ref('dialog')}
20904
20904
  aria-label="${x => x.ariaLabel}"
@@ -21012,8 +21012,8 @@
21012
21012
  applyMixins(Drawer, ARIAGlobalStatesAndProperties);
21013
21013
  const nimbleDrawer = Drawer.compose({
21014
21014
  baseName: 'drawer',
21015
- template: template$c,
21016
- styles: styles$p
21015
+ template: template$d,
21016
+ styles: styles$q
21017
21017
  });
21018
21018
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
21019
21019
  DesignSystem.tagFor(Drawer);
@@ -22794,7 +22794,7 @@
22794
22794
  registerIcon('icon-xmark-check', IconXmarkCheck);
22795
22795
  DesignSystem.tagFor(IconXmarkCheck);
22796
22796
 
22797
- const styles$o = css `
22797
+ const styles$p = css `
22798
22798
  ${display('flex')}
22799
22799
 
22800
22800
  :host {
@@ -22874,12 +22874,12 @@
22874
22874
  baseName: 'list-option',
22875
22875
  baseClass: ListboxOption,
22876
22876
  template: listboxOptionTemplate,
22877
- styles: styles$o
22877
+ styles: styles$p
22878
22878
  });
22879
22879
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleListOption());
22880
22880
  DesignSystem.tagFor(ListOption);
22881
22881
 
22882
- const styles$n = css `
22882
+ const styles$o = css `
22883
22883
  ${display('grid')}
22884
22884
 
22885
22885
  :host {
@@ -22946,12 +22946,12 @@
22946
22946
  baseName: 'menu',
22947
22947
  baseClass: Menu$1,
22948
22948
  template: menuTemplate,
22949
- styles: styles$n
22949
+ styles: styles$o
22950
22950
  });
22951
22951
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());
22952
22952
  DesignSystem.tagFor(Menu);
22953
22953
 
22954
- const styles$m = css `
22954
+ const styles$n = css `
22955
22955
  ${display('inline-block')}
22956
22956
 
22957
22957
  :host {
@@ -22970,7 +22970,7 @@
22970
22970
  `;
22971
22971
 
22972
22972
  // prettier-ignore
22973
- const template$b = html `
22973
+ const template$c = html `
22974
22974
  <template
22975
22975
  ?open="${x => x.open}"
22976
22976
  @focusout="${(x, c) => x.focusoutHandler(c.event)}"
@@ -23225,8 +23225,8 @@
23225
23225
  ], MenuButton.prototype, "slottedMenus", void 0);
23226
23226
  const nimbleMenuButton = MenuButton.compose({
23227
23227
  baseName: 'menu-button',
23228
- template: template$b,
23229
- styles: styles$m,
23228
+ template: template$c,
23229
+ styles: styles$n,
23230
23230
  shadowOptions: {
23231
23231
  delegatesFocus: true
23232
23232
  }
@@ -23234,7 +23234,7 @@
23234
23234
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuButton());
23235
23235
  const menuButtonTag = DesignSystem.tagFor(MenuButton);
23236
23236
 
23237
- const styles$l = css `
23237
+ const styles$m = css `
23238
23238
  ${display('grid')}
23239
23239
 
23240
23240
  :host {
@@ -23332,7 +23332,7 @@
23332
23332
  baseName: 'menu-item',
23333
23333
  baseClass: MenuItem$1,
23334
23334
  template: menuItemTemplate,
23335
- styles: styles$l,
23335
+ styles: styles$m,
23336
23336
  expandCollapseGlyph: arrowExpanderRight16X16.data
23337
23337
  });
23338
23338
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuItem());
@@ -23347,9 +23347,9 @@
23347
23347
  block: 'block'
23348
23348
  };
23349
23349
 
23350
- const styles$k = css `
23350
+ const styles$l = css `
23351
23351
  ${display('inline-block')}
23352
- ${styles$s}
23352
+ ${styles$t}
23353
23353
 
23354
23354
  :host {
23355
23355
  font: ${bodyFont};
@@ -23563,7 +23563,7 @@
23563
23563
  baseName: 'number-field',
23564
23564
  baseClass: NumberField$1,
23565
23565
  template: numberFieldTemplate,
23566
- styles: styles$k,
23566
+ styles: styles$l,
23567
23567
  shadowOptions: {
23568
23568
  delegatesFocus: true
23569
23569
  },
@@ -23605,7 +23605,7 @@
23605
23605
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleNumberField());
23606
23606
  DesignSystem.tagFor(NumberField);
23607
23607
 
23608
- const styles$j = css `
23608
+ const styles$k = css `
23609
23609
  ${display('inline-flex')}
23610
23610
 
23611
23611
  :host {
@@ -23705,13 +23705,13 @@
23705
23705
  baseName: 'radio',
23706
23706
  baseClass: Radio$1,
23707
23707
  template: radioTemplate,
23708
- styles: styles$j,
23708
+ styles: styles$k,
23709
23709
  checkedIndicator: circleFilled16X16.data
23710
23710
  });
23711
23711
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadio());
23712
23712
  DesignSystem.tagFor(Radio);
23713
23713
 
23714
- const styles$i = css `
23714
+ const styles$j = css `
23715
23715
  ${display('inline-block')}
23716
23716
 
23717
23717
  .positioning-region {
@@ -23746,7 +23746,7 @@
23746
23746
  baseName: 'radio-group',
23747
23747
  baseClass: RadioGroup$1,
23748
23748
  template: radioGroupTemplate,
23749
- styles: styles$i,
23749
+ styles: styles$j,
23750
23750
  shadowOptions: {
23751
23751
  delegatesFocus: true
23752
23752
  }
@@ -23754,9 +23754,9 @@
23754
23754
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadioGroup());
23755
23755
  DesignSystem.tagFor(RadioGroup);
23756
23756
 
23757
- const styles$h = css `
23757
+ const styles$i = css `
23758
+ ${styles$u}
23758
23759
  ${styles$t}
23759
- ${styles$s}
23760
23760
 
23761
23761
  ${
23762
23762
  /* We are using flex `order` to define the visual ordering of the selected value,
@@ -23832,7 +23832,7 @@
23832
23832
  baseName: 'select',
23833
23833
  baseClass: Select$1,
23834
23834
  template: selectTemplate,
23835
- styles: styles$h,
23835
+ styles: styles$i,
23836
23836
  indicator: arrowExpanderDown16X16.data,
23837
23837
  end: html `
23838
23838
  <${iconExclamationMarkTag}
@@ -23845,7 +23845,7 @@
23845
23845
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());
23846
23846
  DesignSystem.tagFor(Select);
23847
23847
 
23848
- const styles$g = css `
23848
+ const styles$h = css `
23849
23849
  ${display('inline-flex')}
23850
23850
 
23851
23851
  :host {
@@ -23989,7 +23989,7 @@
23989
23989
  }
23990
23990
  `));
23991
23991
 
23992
- const template$a = html `
23992
+ const template$b = html `
23993
23993
  <template role="progressbar">
23994
23994
  <div class="container">
23995
23995
  <div class="bit1"></div>
@@ -24006,13 +24006,13 @@
24006
24006
  }
24007
24007
  const nimbleSpinner = Spinner.compose({
24008
24008
  baseName: 'spinner',
24009
- template: template$a,
24010
- styles: styles$g
24009
+ template: template$b,
24010
+ styles: styles$h
24011
24011
  });
24012
24012
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSpinner());
24013
24013
  DesignSystem.tagFor(Spinner);
24014
24014
 
24015
- const styles$f = css `
24015
+ const styles$g = css `
24016
24016
  ${display('inline-flex')}
24017
24017
 
24018
24018
  :host {
@@ -24175,7 +24175,7 @@
24175
24175
  `));
24176
24176
 
24177
24177
  // prettier-ignore
24178
- const template$9 = html `
24178
+ const template$a = html `
24179
24179
  <template
24180
24180
  role="switch"
24181
24181
  aria-checked="${x => x.checked}"
@@ -24219,8 +24219,8 @@
24219
24219
  const nimbleSwitch = Switch.compose({
24220
24220
  baseClass: Switch$1,
24221
24221
  baseName: 'switch',
24222
- template: template$9,
24223
- styles: styles$f
24222
+ template: template$a,
24223
+ styles: styles$g
24224
24224
  });
24225
24225
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSwitch());
24226
24226
  DesignSystem.tagFor(Switch);
@@ -24234,12 +24234,12 @@
24234
24234
  baseName: 'tab',
24235
24235
  baseClass: Tab$1,
24236
24236
  template: tabTemplate,
24237
- styles: styles$F
24237
+ styles: styles$G
24238
24238
  });
24239
24239
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTab());
24240
24240
  DesignSystem.tagFor(Tab);
24241
24241
 
24242
- const styles$e = css `
24242
+ const styles$f = css `
24243
24243
  ${display('block')}
24244
24244
 
24245
24245
  :host {
@@ -24259,7 +24259,7 @@
24259
24259
  baseName: 'tab-panel',
24260
24260
  baseClass: TabPanel$1,
24261
24261
  template: tabPanelTemplate,
24262
- styles: styles$e
24262
+ styles: styles$f
24263
24263
  });
24264
24264
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabPanel());
24265
24265
  DesignSystem.tagFor(TabPanel);
@@ -27293,6 +27293,31 @@
27293
27293
  });
27294
27294
  }
27295
27295
 
27296
+ // prettier-ignore
27297
+ const template$9 = html `
27298
+ <template role="cell">
27299
+ ${x => x.cellViewTemplate}
27300
+ ${when(x => x.hasActionMenu, html `
27301
+ <${menuButtonTag} ${ref('actionMenuButton')}
27302
+ content-hidden
27303
+ appearance="${ButtonAppearance.ghost}"
27304
+ @beforetoggle="${(x, c) => x.onActionMenuBeforeToggle(c.event)}"
27305
+ @toggle="${(x, c) => x.onActionMenuToggle(c.event)}"
27306
+ class="action-menu"
27307
+ >
27308
+ <${iconThreeDotsLineTag} slot="start"></${iconThreeDotsLineTag}>
27309
+ ${x => x.actionMenuLabel}
27310
+ <slot name="cellActionMenu" slot="menu"></slot>
27311
+ </${menuButtonTag}>
27312
+ `)}
27313
+ </template>
27314
+ `;
27315
+ const createCellViewTemplate = (cellViewTag) => html `<${cellViewTag} class="cell-view"
27316
+ :cellRecord="${y => y.cellState?.cellRecord}"
27317
+ :columnConfig="${y => y.cellState?.columnConfig}"
27318
+ >
27319
+ </${cellViewTag}>`;
27320
+
27296
27321
  /**
27297
27322
  * The possible directions a table column can be sorted in.
27298
27323
  */
@@ -27366,6 +27391,11 @@
27366
27391
  super.connectedCallback();
27367
27392
  this.setAttribute('slot', this.internalUniqueId);
27368
27393
  }
27394
+ cellViewTagChanged() {
27395
+ this.currentCellViewTemplate = this.cellViewTag
27396
+ ? createCellViewTemplate(this.cellViewTag)
27397
+ : undefined;
27398
+ }
27369
27399
  internalFractionalWidthChanged() {
27370
27400
  this.currentFractionalWidth = this.internalFractionalWidth;
27371
27401
  }
@@ -27406,6 +27436,12 @@
27406
27436
  __decorate$1([
27407
27437
  observable
27408
27438
  ], TableColumn.prototype, "internalMinPixelWidth", void 0);
27439
+ __decorate$1([
27440
+ observable
27441
+ ], TableColumn.prototype, "cellViewTag", void 0);
27442
+ __decorate$1([
27443
+ observable
27444
+ ], TableColumn.prototype, "currentCellViewTemplate", void 0);
27409
27445
  __decorate$1([
27410
27446
  observable
27411
27447
  ], TableColumn.prototype, "dataRecordFieldNames", void 0);
@@ -27506,7 +27542,7 @@
27506
27542
  }
27507
27543
  }
27508
27544
 
27509
- const styles$d = css `
27545
+ const styles$e = css `
27510
27546
  ${display('flex')}
27511
27547
 
27512
27548
  :host {
@@ -27602,7 +27638,7 @@
27602
27638
  }
27603
27639
  `));
27604
27640
 
27605
- const styles$c = css `
27641
+ const styles$d = css `
27606
27642
  ${display('flex')}
27607
27643
 
27608
27644
  :host {
@@ -27672,12 +27708,12 @@
27672
27708
  const nimbleTableHeader = TableHeader.compose({
27673
27709
  baseName: 'table-header',
27674
27710
  template: template$8,
27675
- styles: styles$c
27711
+ styles: styles$d
27676
27712
  });
27677
27713
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableHeader());
27678
27714
  const tableHeaderTag = DesignSystem.tagFor(TableHeader);
27679
27715
 
27680
- const styles$b = css `
27716
+ const styles$c = css `
27681
27717
  ${display('grid')}
27682
27718
 
27683
27719
  :host {
@@ -27703,7 +27739,7 @@
27703
27739
  }
27704
27740
  `;
27705
27741
 
27706
- const styles$a = css `
27742
+ const styles$b = css `
27707
27743
  ${display('grid')}
27708
27744
 
27709
27745
  :host {
@@ -27715,7 +27751,7 @@
27715
27751
  --ni-private-table-cell-action-menu-display: block;
27716
27752
  }
27717
27753
 
27718
- .cell-content-container {
27754
+ .cell-view {
27719
27755
  overflow: hidden;
27720
27756
  display: flex;
27721
27757
  align-items: center;
@@ -27726,27 +27762,6 @@
27726
27762
  }
27727
27763
  `;
27728
27764
 
27729
- // prettier-ignore
27730
- const template$7 = html `
27731
- <template role="cell">
27732
- <div ${ref('cellContentContainer')} class="cell-content-container"></div>
27733
-
27734
- ${when(x => x.hasActionMenu, html `
27735
- <${menuButtonTag}
27736
- content-hidden
27737
- appearance="${ButtonAppearance.ghost}"
27738
- @beforetoggle="${(x, c) => x.onActionMenuBeforeToggle(c.event)}"
27739
- @toggle="${(x, c) => x.onActionMenuToggle(c.event)}"
27740
- class="action-menu"
27741
- >
27742
- <${iconThreeDotsLineTag} slot="start"></${iconThreeDotsLineTag}>
27743
- ${x => x.actionMenuLabel}
27744
- <slot name="cellActionMenu" slot="menu"></slot>
27745
- </${menuButtonTag}>
27746
- `)}
27747
- </template>
27748
- `;
27749
-
27750
27765
  /**
27751
27766
  * A styled cell that is used within the nimble-table-row.
27752
27767
  * @internal
@@ -27756,18 +27771,6 @@
27756
27771
  super(...arguments);
27757
27772
  this.hasActionMenu = false;
27758
27773
  this.menuOpen = false;
27759
- this.customCellView = undefined;
27760
- }
27761
- connectedCallback() {
27762
- super.connectedCallback();
27763
- this.customCellView = this.cellTemplate?.render(this.cellState, this.cellContentContainer);
27764
- }
27765
- disconnectedCallback() {
27766
- super.disconnectedCallback();
27767
- if (this.customCellView) {
27768
- this.customCellView.dispose();
27769
- this.customCellView = undefined;
27770
- }
27771
27774
  }
27772
27775
  onActionMenuBeforeToggle(event) {
27773
27776
  this.$emit('cell-action-menu-beforetoggle', event.detail);
@@ -27776,32 +27779,10 @@
27776
27779
  this.menuOpen = event.detail.newState;
27777
27780
  this.$emit('cell-action-menu-toggle', event.detail);
27778
27781
  }
27779
- cellStateChanged() {
27780
- this.customCellView?.bind(this.cellState, defaultExecutionContext);
27781
- }
27782
- cellTemplateChanged() {
27783
- if (this.$fastController.isConnected) {
27784
- this.customCellView = this.cellTemplate?.render(this.cellState, this.cellContentContainer);
27785
- }
27786
- }
27787
- cellStylesChanged(prev, next) {
27788
- if (prev) {
27789
- this.$fastController.removeStyles(prev);
27790
- }
27791
- if (next) {
27792
- this.$fastController.addStyles(next);
27793
- }
27794
- }
27795
27782
  }
27796
27783
  __decorate$1([
27797
27784
  observable
27798
27785
  ], TableCell.prototype, "cellState", void 0);
27799
- __decorate$1([
27800
- observable
27801
- ], TableCell.prototype, "cellTemplate", void 0);
27802
- __decorate$1([
27803
- observable
27804
- ], TableCell.prototype, "cellStyles", void 0);
27805
27786
  __decorate$1([
27806
27787
  attr({ attribute: 'has-action-menu', mode: 'boolean' })
27807
27788
  ], TableCell.prototype, "hasActionMenu", void 0);
@@ -27811,24 +27792,26 @@
27811
27792
  __decorate$1([
27812
27793
  attr({ attribute: 'action-menu-label' })
27813
27794
  ], TableCell.prototype, "actionMenuLabel", void 0);
27795
+ __decorate$1([
27796
+ observable
27797
+ ], TableCell.prototype, "cellViewTemplate", void 0);
27814
27798
  const nimbleTableCell = TableCell.compose({
27815
27799
  baseName: 'table-cell',
27816
- template: template$7,
27817
- styles: styles$a
27800
+ template: template$9,
27801
+ styles: styles$b
27818
27802
  });
27819
27803
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableCell());
27820
27804
  const tableCellTag = DesignSystem.tagFor(TableCell);
27821
27805
 
27822
27806
  // prettier-ignore
27823
- const template$6 = html `
27807
+ const template$7 = html `
27824
27808
  <template role="row">
27825
27809
  ${repeat(x => x.columnStates, html `
27826
27810
  ${when(x => !x.column.columnHidden, html `
27827
27811
  <${tableCellTag}
27828
27812
  class="cell"
27829
- :cellTemplate="${x => x.column.cellTemplate}"
27830
- :cellStyles="${x => x.column.cellStyles}"
27831
27813
  :cellState="${x => x.cellState}"
27814
+ :cellViewTemplate="${x => x.column.currentCellViewTemplate}"
27832
27815
  ?has-action-menu="${x => !!x.column.actionMenuSlot}"
27833
27816
  action-menu-label="${x => x.column.actionMenuLabel}"
27834
27817
  @cell-action-menu-beforetoggle="${(x, c) => c.parent.onCellActionMenuBeforeToggle(c.event, x.column)}"
@@ -27887,6 +27870,14 @@
27887
27870
  this.menuOpen = event.detail.newState;
27888
27871
  this.emitToggleEvent('row-action-menu-toggle', event.detail, column);
27889
27872
  }
27873
+ closeOpenActionMenus() {
27874
+ if (this.menuOpen) {
27875
+ const cellWithMenuOpen = Array.from(this.shadowRoot.children).find(c => c instanceof TableCell && c.menuOpen);
27876
+ if (cellWithMenuOpen?.actionMenuButton?.open) {
27877
+ cellWithMenuOpen.actionMenuButton.toggleButton.control.click();
27878
+ }
27879
+ }
27880
+ }
27890
27881
  emitToggleEvent(eventType, menuButtonEventDetail, column) {
27891
27882
  const detail = {
27892
27883
  newState: menuButtonEventDetail.newState,
@@ -27920,14 +27911,14 @@
27920
27911
  ], TableRow.prototype, "columnStates", null);
27921
27912
  const nimbleTableRow = TableRow.compose({
27922
27913
  baseName: 'table-row',
27923
- template: template$6,
27924
- styles: styles$b
27914
+ template: template$7,
27915
+ styles: styles$c
27925
27916
  });
27926
27917
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableRow());
27927
27918
  const tableRowTag = DesignSystem.tagFor(TableRow);
27928
27919
 
27929
27920
  // prettier-ignore
27930
- const template$5 = html `
27921
+ const template$6 = html `
27931
27922
  <template role="table" ${children$1({ property: 'childItems', filter: elements() })}>
27932
27923
  <div class="table-container" style="
27933
27924
  --ni-private-table-scroll-x: -${x => x.scrollX}px;
@@ -27954,7 +27945,7 @@
27954
27945
  </div>
27955
27946
  <div class="table-viewport" ${ref('viewport')}>
27956
27947
  <div class="table-scroll"></div>
27957
- <div class="table-row-container"
27948
+ <div class="table-row-container" ${children$1({ property: 'rowElements', filter: elements(tableRowTag) })}
27958
27949
  role="rowgroup">
27959
27950
  ${when(x => x.columns.length > 0 && x.canRenderRows, html `
27960
27951
  ${repeat(x => x.virtualizer.visibleItems, html `
@@ -28608,6 +28599,25 @@
28608
28599
  };
28609
28600
  }
28610
28601
 
28602
+ /**
28603
+ * Base class for table cell views, which are used within the nimble-table-cell.
28604
+ * Each TableColumn type has a corresponding TableCellView type (linked via TableColumn.cellViewTag).
28605
+ */
28606
+ class TableCellView extends FoundationElement {
28607
+ /**
28608
+ * Called if an element inside this cell view has focus, and this row/cell is being recycled.
28609
+ * Expected implementation is to commit changes as needed, and blur the focusable element (or close
28610
+ * the menu/popup/etc).
28611
+ */
28612
+ focusedRecycleCallback() { }
28613
+ }
28614
+ __decorate$1([
28615
+ observable
28616
+ ], TableCellView.prototype, "cellRecord", void 0);
28617
+ __decorate$1([
28618
+ observable
28619
+ ], TableCellView.prototype, "columnConfig", void 0);
28620
+
28611
28621
  /**
28612
28622
  * Helper class for the nimble-table for row virtualization.
28613
28623
  *
@@ -28672,6 +28682,7 @@
28672
28682
  };
28673
28683
  }
28674
28684
  handleVirtualizerChange() {
28685
+ this.notifyFocusedCellRecycling();
28675
28686
  const virtualizer = this.virtualizer;
28676
28687
  this.visibleItems = virtualizer.getVirtualItems();
28677
28688
  this.allRowsHeight = virtualizer.getTotalSize();
@@ -28686,6 +28697,25 @@
28686
28697
  }
28687
28698
  this.rowContainerYOffset = rowContainerYOffset;
28688
28699
  }
28700
+ notifyFocusedCellRecycling() {
28701
+ let tableFocusedElement = this.table.shadowRoot.activeElement;
28702
+ while (tableFocusedElement !== null
28703
+ && !(tableFocusedElement instanceof TableCellView)) {
28704
+ if (tableFocusedElement.shadowRoot) {
28705
+ tableFocusedElement = tableFocusedElement.shadowRoot.activeElement;
28706
+ }
28707
+ else {
28708
+ break;
28709
+ }
28710
+ }
28711
+ if (tableFocusedElement instanceof TableCellView) {
28712
+ tableFocusedElement.focusedRecycleCallback();
28713
+ }
28714
+ if (this.table.openActionMenuRecordId !== undefined) {
28715
+ const activeRow = this.table.rowElements.find(row => row.recordId === this.table.openActionMenuRecordId);
28716
+ activeRow?.closeOpenActionMenus();
28717
+ }
28718
+ }
28689
28719
  }
28690
28720
  __decorate$1([
28691
28721
  observable
@@ -28881,6 +28911,10 @@
28881
28911
  * @internal
28882
28912
  */
28883
28913
  this.childItems = [];
28914
+ /**
28915
+ * @internal
28916
+ */
28917
+ this.rowElements = [];
28884
28918
  /**
28885
28919
  * @internal
28886
28920
  */
@@ -28955,6 +28989,9 @@
28955
28989
  }
28956
28990
  onRowActionMenuToggle(event) {
28957
28991
  this.$emit('action-menu-toggle', event.detail);
28992
+ if (!event.detail.newState) {
28993
+ this.openActionMenuRecordId = undefined;
28994
+ }
28958
28995
  }
28959
28996
  /**
28960
28997
  * @internal
@@ -29126,6 +29163,9 @@
29126
29163
  __decorate$1([
29127
29164
  observable
29128
29165
  ], Table.prototype, "childItems", void 0);
29166
+ __decorate$1([
29167
+ observable
29168
+ ], Table.prototype, "rowElements", void 0);
29129
29169
  __decorate$1([
29130
29170
  observable
29131
29171
  ], Table.prototype, "actionMenuSlots", void 0);
@@ -29146,13 +29186,13 @@
29146
29186
  ], Table.prototype, "firstSortedColumn", void 0);
29147
29187
  const nimbleTable = Table.compose({
29148
29188
  baseName: 'table',
29149
- template: template$5,
29150
- styles: styles$d
29189
+ template: template$6,
29190
+ styles: styles$e
29151
29191
  });
29152
29192
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTable());
29153
29193
  DesignSystem.tagFor(Table);
29154
29194
 
29155
- const styles$9 = css `
29195
+ const styles$a = css `
29156
29196
  :host {
29157
29197
  display: contents;
29158
29198
  }
@@ -29164,7 +29204,7 @@
29164
29204
  }
29165
29205
  `;
29166
29206
 
29167
- const template$4 = html `
29207
+ const template$5 = html `
29168
29208
  <template>
29169
29209
  <span class="header-content">
29170
29210
  <slot></slot>
@@ -29211,7 +29251,7 @@
29211
29251
  return FractionalWidthColumn;
29212
29252
  }
29213
29253
 
29214
- const cellStyles = css `
29254
+ const styles$9 = css `
29215
29255
  span {
29216
29256
  font: ${bodyFont};
29217
29257
  color: ${bodyFontColor};
@@ -29225,29 +29265,51 @@
29225
29265
  }
29226
29266
  `;
29227
29267
 
29228
- const getCellContent = (cellState) => {
29229
- return typeof cellState.cellRecord.value === 'string'
29230
- ? cellState.cellRecord.value
29231
- : cellState.columnConfig.placeholder;
29232
- };
29233
- const setTitleWhenOverflow = (span, title) => {
29234
- if (title && span.offsetWidth < span.scrollWidth) {
29235
- span.setAttribute('title', title);
29236
- }
29237
- };
29238
- const removeTitle = (span) => {
29239
- span.removeAttribute('title');
29240
- };
29241
- const cellTemplate = html `
29268
+ const template$4 = html `
29242
29269
  <span
29270
+ ${ref('textSpan')}
29243
29271
  class="${x => (typeof x.cellRecord.value === 'string' ? '' : 'placeholder')}"
29244
- @mouseover="${(x, c) => setTitleWhenOverflow(c.event.target, getCellContent(x))}"
29245
- @mouseout="${(_x, c) => removeTitle(c.event.target)}"
29272
+ @mouseover="${x => {
29273
+ x.isValidContentAndHasOverflow = !!x.content && x.textSpan.offsetWidth < x.textSpan.scrollWidth;
29274
+ }}"
29275
+ @mouseout="${x => {
29276
+ x.isValidContentAndHasOverflow = false;
29277
+ }}"
29278
+ title=${x => (x.isValidContentAndHasOverflow ? x.content : null)}
29246
29279
  >
29247
- ${x => getCellContent(x)}
29280
+ ${x => x.content}
29248
29281
  </span>
29249
29282
  `;
29250
29283
 
29284
+ /**
29285
+ * A cell view for displaying strings
29286
+ */
29287
+ class TableColumnTextCellView extends TableCellView {
29288
+ constructor() {
29289
+ super(...arguments);
29290
+ /** @internal */
29291
+ this.isValidContentAndHasOverflow = false;
29292
+ }
29293
+ get content() {
29294
+ return typeof this.cellRecord.value === 'string'
29295
+ ? this.cellRecord.value
29296
+ : this.columnConfig.placeholder;
29297
+ }
29298
+ }
29299
+ __decorate$1([
29300
+ observable
29301
+ ], TableColumnTextCellView.prototype, "isValidContentAndHasOverflow", void 0);
29302
+ __decorate$1([
29303
+ volatile
29304
+ ], TableColumnTextCellView.prototype, "content", null);
29305
+ const textCellView = TableColumnTextCellView.compose({
29306
+ baseName: 'table-column-text-cell-view',
29307
+ template: template$4,
29308
+ styles: styles$9
29309
+ });
29310
+ DesignSystem.getOrCreate().withPrefix('nimble').register(textCellView());
29311
+ const tableColumnTextCellViewTag = DesignSystem.tagFor(TableColumnTextCellView);
29312
+
29251
29313
  /**
29252
29314
  * The base class for a table column for displaying strings.
29253
29315
  */
@@ -29255,8 +29317,7 @@
29255
29317
  constructor() {
29256
29318
  super();
29257
29319
  this.cellRecordFieldNames = ['value'];
29258
- this.cellStyles = cellStyles;
29259
- this.cellTemplate = cellTemplate;
29320
+ this.cellViewTag = tableColumnTextCellViewTag;
29260
29321
  this.sortOperation = TableColumnSortOperation.localeAwareCaseSensitive;
29261
29322
  }
29262
29323
  fieldNameChanged() {
@@ -29280,8 +29341,8 @@
29280
29341
  }
29281
29342
  const nimbleTableColumnText = TableColumnText.compose({
29282
29343
  baseName: 'table-column-text',
29283
- template: template$4,
29284
- styles: styles$9
29344
+ template: template$5,
29345
+ styles: styles$a
29285
29346
  });
29286
29347
  DesignSystem.getOrCreate()
29287
29348
  .withPrefix('nimble')
@@ -29379,7 +29440,7 @@
29379
29440
 
29380
29441
  const styles$6 = css `
29381
29442
  ${display('inline-flex')}
29382
- ${styles$s}
29443
+ ${styles$t}
29383
29444
 
29384
29445
  :host {
29385
29446
  font: ${bodyFont};
@@ -29725,7 +29786,7 @@
29725
29786
 
29726
29787
  const styles$5 = css `
29727
29788
  ${display('inline-block')}
29728
- ${styles$s}
29789
+ ${styles$t}
29729
29790
 
29730
29791
  :host {
29731
29792
  font: ${bodyFont};