@ni/nimble-components 20.15.1 → 20.16.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 (39) hide show
  1. package/dist/all-components-bundle.js +234 -127
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +2226 -2176
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/anchor/index.d.ts +11 -0
  6. package/dist/esm/anchor/index.js +3 -0
  7. package/dist/esm/anchor/index.js.map +1 -1
  8. package/dist/esm/anchor/styles.js +4 -0
  9. package/dist/esm/anchor/styles.js.map +1 -1
  10. package/dist/esm/anchor/template.js +8 -2
  11. package/dist/esm/anchor/template.js.map +1 -1
  12. package/dist/esm/label-provider/table/index.d.ts +6 -0
  13. package/dist/esm/label-provider/table/index.js +9 -1
  14. package/dist/esm/label-provider/table/index.js.map +1 -1
  15. package/dist/esm/label-provider/table/label-token-defaults.js +2 -0
  16. package/dist/esm/label-provider/table/label-token-defaults.js.map +1 -1
  17. package/dist/esm/label-provider/table/label-tokens.d.ts +2 -0
  18. package/dist/esm/label-provider/table/label-tokens.js +8 -0
  19. package/dist/esm/label-provider/table/label-tokens.js.map +1 -1
  20. package/dist/esm/patterns/expand-collapse/styles.d.ts +1 -0
  21. package/dist/esm/patterns/expand-collapse/styles.js +27 -0
  22. package/dist/esm/patterns/expand-collapse/styles.js.map +1 -0
  23. package/dist/esm/table/components/cell/styles.js +2 -2
  24. package/dist/esm/table/components/cell/styles.js.map +1 -1
  25. package/dist/esm/table/components/group-row/styles.js +3 -22
  26. package/dist/esm/table/components/group-row/styles.js.map +1 -1
  27. package/dist/esm/table/components/group-row/template.js +2 -1
  28. package/dist/esm/table/components/group-row/template.js.map +1 -1
  29. package/dist/esm/table/components/row/index.d.ts +12 -0
  30. package/dist/esm/table/components/row/index.js +37 -4
  31. package/dist/esm/table/components/row/index.js.map +1 -1
  32. package/dist/esm/table/components/row/styles.js +20 -1
  33. package/dist/esm/table/components/row/styles.js.map +1 -1
  34. package/dist/esm/table/components/row/template.js +28 -7
  35. package/dist/esm/table/components/row/template.js.map +1 -1
  36. package/dist/esm/table/index.js +4 -3
  37. package/dist/esm/table/index.js.map +1 -1
  38. package/dist/esm/table/types.d.ts +8 -0
  39. package/package.json +1 -1
@@ -16274,7 +16274,7 @@
16274
16274
 
16275
16275
  /**
16276
16276
  * Do not edit directly
16277
- * Generated on Thu, 07 Dec 2023 21:34:12 GMT
16277
+ * Generated on Mon, 11 Dec 2023 19:16:45 GMT
16278
16278
  */
16279
16279
 
16280
16280
  const Information100DarkUi = "#a46eff";
@@ -16678,7 +16678,7 @@
16678
16678
 
16679
16679
  const template$D = html `<slot></slot>`;
16680
16680
 
16681
- const styles$V = css `
16681
+ const styles$W = css `
16682
16682
  :host {
16683
16683
  display: contents;
16684
16684
  }
@@ -16795,7 +16795,7 @@
16795
16795
  ], ThemeProvider.prototype, "theme", void 0);
16796
16796
  const nimbleDesignSystemProvider = ThemeProvider.compose({
16797
16797
  baseName: 'theme-provider',
16798
- styles: styles$V,
16798
+ styles: styles$W,
16799
16799
  template: template$D
16800
16800
  });
16801
16801
  DesignSystem.getOrCreate()
@@ -17001,7 +17001,7 @@
17001
17001
  }
17002
17002
  }
17003
17003
 
17004
- const styles$U = css `
17004
+ const styles$V = css `
17005
17005
  ${display('inline')}
17006
17006
 
17007
17007
  :host {
@@ -17009,6 +17009,10 @@
17009
17009
  font: ${linkFont};
17010
17010
  }
17011
17011
 
17012
+ .top-container {
17013
+ display: contents;
17014
+ }
17015
+
17012
17016
  [part='start'] {
17013
17017
  display: none;
17014
17018
  }
@@ -17084,7 +17088,13 @@
17084
17088
  `;
17085
17089
 
17086
17090
  // prettier-ignore
17087
- const template$C = (_context, definition) => html `<a
17091
+ const template$C = (_context, definition) => html `${
17092
+ /* top-container div is necessary because setting contenteditable directly on the native anchor instead
17093
+ leaves it focusable, unlike the behavior you get when the anchor is _within_ a contenteditable element.
17094
+ */ ''}<div
17095
+ class="top-container"
17096
+ contenteditable="${x => x.contentEditable}"
17097
+ ><a
17088
17098
  class="control"
17089
17099
  part="control"
17090
17100
  download="${x => x.download}"
@@ -17148,7 +17158,7 @@
17148
17158
  @slotchange="${x => x.handleEndContentChange()}">
17149
17159
  ${definition.end || ''}
17150
17160
  </slot
17151
- ></span></a>`;
17161
+ ></span></a></div>`;
17152
17162
 
17153
17163
  /**
17154
17164
  * A nimble-styled anchor
@@ -17170,12 +17180,15 @@
17170
17180
  __decorate$1([
17171
17181
  attr
17172
17182
  ], Anchor.prototype, "appearance", void 0);
17183
+ __decorate$1([
17184
+ attr({ attribute: 'contenteditable' })
17185
+ ], Anchor.prototype, "contentEditable", void 0);
17173
17186
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
17174
17187
  const nimbleAnchor = Anchor.compose({
17175
17188
  baseName: 'anchor',
17176
17189
  baseClass: Anchor$1,
17177
17190
  template: template$C,
17178
- styles: styles$U,
17191
+ styles: styles$V,
17179
17192
  shadowOptions: {
17180
17193
  delegatesFocus: true
17181
17194
  }
@@ -17278,7 +17291,7 @@
17278
17291
  padding: 0;
17279
17292
  `;
17280
17293
 
17281
- const styles$T = css `
17294
+ const styles$U = css `
17282
17295
  @layer base, hover, focusVisible, active, disabled, top;
17283
17296
 
17284
17297
  @layer base {
@@ -17555,8 +17568,8 @@
17555
17568
  }
17556
17569
  `));
17557
17570
 
17558
- const styles$S = css `
17559
- ${styles$T}
17571
+ const styles$T = css `
17572
+ ${styles$U}
17560
17573
  ${buttonAppearanceVariantStyles}
17561
17574
 
17562
17575
  .control {
@@ -17647,7 +17660,7 @@
17647
17660
  const nimbleAnchorButton = AnchorButton.compose({
17648
17661
  baseName: 'anchor-button',
17649
17662
  template: template$B,
17650
- styles: styles$S,
17663
+ styles: styles$T,
17651
17664
  shadowOptions: {
17652
17665
  delegatesFocus: true
17653
17666
  }
@@ -17655,7 +17668,7 @@
17655
17668
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());
17656
17669
  DesignSystem.tagFor(AnchorButton);
17657
17670
 
17658
- const styles$R = css `
17671
+ const styles$S = css `
17659
17672
  ${display('grid')}
17660
17673
 
17661
17674
  :host {
@@ -17839,7 +17852,7 @@
17839
17852
  const nimbleAnchorMenuItem = AnchorMenuItem.compose({
17840
17853
  baseName: 'anchor-menu-item',
17841
17854
  template: template$A,
17842
- styles: styles$R,
17855
+ styles: styles$S,
17843
17856
  shadowOptions: {
17844
17857
  delegatesFocus: true
17845
17858
  }
@@ -17863,7 +17876,7 @@
17863
17876
  }
17864
17877
  });
17865
17878
 
17866
- const styles$Q = css `
17879
+ const styles$R = css `
17867
17880
  ${display('inline-flex')}
17868
17881
 
17869
17882
  :host {
@@ -18032,7 +18045,7 @@
18032
18045
  const nimbleAnchorTab = AnchorTab.compose({
18033
18046
  baseName: 'anchor-tab',
18034
18047
  template: template$z,
18035
- styles: styles$Q,
18048
+ styles: styles$R,
18036
18049
  shadowOptions: {
18037
18050
  delegatesFocus: true
18038
18051
  }
@@ -18040,7 +18053,7 @@
18040
18053
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTab());
18041
18054
  DesignSystem.tagFor(AnchorTab);
18042
18055
 
18043
- const styles$P = css `
18056
+ const styles$Q = css `
18044
18057
  ${display('grid')}
18045
18058
 
18046
18059
  :host {
@@ -18269,7 +18282,7 @@
18269
18282
  const nimbleAnchorTabs = AnchorTabs.compose({
18270
18283
  baseName: 'anchor-tabs',
18271
18284
  template: template$y,
18272
- styles: styles$P,
18285
+ styles: styles$Q,
18273
18286
  shadowOptions: {
18274
18287
  delegatesFocus: false
18275
18288
  }
@@ -18286,7 +18299,7 @@
18286
18299
  -webkit-user-select: none;
18287
18300
  `;
18288
18301
 
18289
- const styles$O = css `
18302
+ const styles$P = css `
18290
18303
  ${display('block')}
18291
18304
 
18292
18305
  :host {
@@ -18525,7 +18538,7 @@
18525
18538
  const nimbleAnchorTreeItem = AnchorTreeItem.compose({
18526
18539
  baseName: 'anchor-tree-item',
18527
18540
  template: template$x,
18528
- styles: styles$O,
18541
+ styles: styles$P,
18529
18542
  shadowOptions: {
18530
18543
  delegatesFocus: true
18531
18544
  }
@@ -18535,7 +18548,7 @@
18535
18548
  .register(nimbleAnchorTreeItem());
18536
18549
  DesignSystem.tagFor(AnchorTreeItem);
18537
18550
 
18538
- const styles$N = css `
18551
+ const styles$O = css `
18539
18552
  :host {
18540
18553
  contain: layout;
18541
18554
  display: block;
@@ -18559,7 +18572,7 @@
18559
18572
  baseName: 'anchored-region',
18560
18573
  baseClass: AnchoredRegion$1,
18561
18574
  template: anchoredRegionTemplate,
18562
- styles: styles$N
18575
+ styles: styles$O
18563
18576
  });
18564
18577
  DesignSystem.getOrCreate()
18565
18578
  .withPrefix('nimble')
@@ -18639,7 +18652,7 @@
18639
18652
  */
18640
18653
  const themeBehavior = (theme, styles) => new ThemeStyleSheetBehavior(theme, styles);
18641
18654
 
18642
- const styles$M = css `
18655
+ const styles$N = css `
18643
18656
  ${display('flex')}
18644
18657
 
18645
18658
  :host {
@@ -18782,8 +18795,8 @@
18782
18795
  }
18783
18796
  `));
18784
18797
 
18785
- const styles$L = css `
18786
- ${styles$T}
18798
+ const styles$M = css `
18799
+ ${styles$U}
18787
18800
  ${buttonAppearanceVariantStyles}
18788
18801
  `;
18789
18802
 
@@ -18829,7 +18842,7 @@
18829
18842
  baseName: 'button',
18830
18843
  baseClass: Button$1,
18831
18844
  template: buttonTemplate,
18832
- styles: styles$L,
18845
+ styles: styles$M,
18833
18846
  shadowOptions: {
18834
18847
  delegatesFocus: true
18835
18848
  }
@@ -19546,7 +19559,7 @@
19546
19559
  :innerHTML=${x => x.icon.data}
19547
19560
  ></div>`;
19548
19561
 
19549
- const styles$K = css `
19562
+ const styles$L = css `
19550
19563
  ${display('inline-flex')}
19551
19564
 
19552
19565
  :host {
@@ -19600,7 +19613,7 @@
19600
19613
  const composedIcon = iconClass.compose({
19601
19614
  baseName,
19602
19615
  template: template$w,
19603
- styles: styles$K,
19616
+ styles: styles$L,
19604
19617
  baseClass: iconClass
19605
19618
  });
19606
19619
  DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
@@ -19821,12 +19834,12 @@
19821
19834
  const nimbleBanner = Banner.compose({
19822
19835
  baseName: 'banner',
19823
19836
  template: template$v,
19824
- styles: styles$M
19837
+ styles: styles$N
19825
19838
  });
19826
19839
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());
19827
19840
  DesignSystem.tagFor(Banner);
19828
19841
 
19829
- const styles$J = css `
19842
+ const styles$K = css `
19830
19843
  ${display('inline-block')}
19831
19844
 
19832
19845
  :host {
@@ -19867,12 +19880,12 @@
19867
19880
  baseName: 'breadcrumb',
19868
19881
  baseClass: Breadcrumb$1,
19869
19882
  template: breadcrumbTemplate,
19870
- styles: styles$J
19883
+ styles: styles$K
19871
19884
  });
19872
19885
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBreadcrumb());
19873
19886
  DesignSystem.tagFor(Breadcrumb);
19874
19887
 
19875
- const styles$I = css `
19888
+ const styles$J = css `
19876
19889
  ${display('inline-flex')}
19877
19890
 
19878
19891
  :host {
@@ -19946,7 +19959,7 @@
19946
19959
  baseName: 'breadcrumb-item',
19947
19960
  baseClass: BreadcrumbItem$1,
19948
19961
  template: breadcrumbItemTemplate,
19949
- styles: styles$I,
19962
+ styles: styles$J,
19950
19963
  separator: forwardSlash16X16.data
19951
19964
  });
19952
19965
  DesignSystem.getOrCreate()
@@ -19954,7 +19967,7 @@
19954
19967
  .register(nimbleBreadcrumbItem());
19955
19968
  DesignSystem.tagFor(BreadcrumbItem);
19956
19969
 
19957
- const styles$H = css `
19970
+ const styles$I = css `
19958
19971
  ${display('flex')}
19959
19972
 
19960
19973
  :host {
@@ -19995,12 +20008,12 @@
19995
20008
  baseName: 'card',
19996
20009
  baseClass: Card$1,
19997
20010
  template: template$u,
19998
- styles: styles$H
20011
+ styles: styles$I
19999
20012
  });
20000
20013
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCard());
20001
20014
  DesignSystem.tagFor(Card);
20002
20015
 
20003
- const styles$G = css `
20016
+ const styles$H = css `
20004
20017
  ${display('inline-flex')}
20005
20018
 
20006
20019
  :host {
@@ -20159,7 +20172,7 @@
20159
20172
  const nimbleCardButton = CardButton.compose({
20160
20173
  baseName: 'card-button',
20161
20174
  template: buttonTemplate,
20162
- styles: styles$G,
20175
+ styles: styles$H,
20163
20176
  shadowOptions: {
20164
20177
  delegatesFocus: true
20165
20178
  }
@@ -20167,7 +20180,7 @@
20167
20180
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCardButton());
20168
20181
  DesignSystem.tagFor(CardButton);
20169
20182
 
20170
- const styles$F = css `
20183
+ const styles$G = css `
20171
20184
  ${display('inline-flex')}
20172
20185
 
20173
20186
  :host {
@@ -20285,15 +20298,15 @@
20285
20298
  baseName: 'checkbox',
20286
20299
  baseClass: Checkbox$1,
20287
20300
  template: checkboxTemplate,
20288
- styles: styles$F,
20301
+ styles: styles$G,
20289
20302
  checkedIndicator: check16X16.data,
20290
20303
  indeterminateIndicator: minus16X16.data
20291
20304
  });
20292
20305
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
20293
20306
  const checkboxTag = DesignSystem.tagFor(Checkbox);
20294
20307
 
20295
- const styles$E = css `
20296
- ${styles$T}
20308
+ const styles$F = css `
20309
+ ${styles$U}
20297
20310
 
20298
20311
  @layer base {
20299
20312
  .control[aria-pressed='true'] {
@@ -20448,7 +20461,7 @@
20448
20461
  const nimbleToggleButton = ToggleButton.compose({
20449
20462
  baseName: 'toggle-button',
20450
20463
  template: template$t,
20451
- styles: styles$E,
20464
+ styles: styles$F,
20452
20465
  shadowOptions: {
20453
20466
  delegatesFocus: true
20454
20467
  }
@@ -20485,7 +20498,7 @@
20485
20498
  block: 'block'
20486
20499
  };
20487
20500
 
20488
- const styles$D = css `
20501
+ const styles$E = css `
20489
20502
  ${display('inline-flex')}
20490
20503
 
20491
20504
  :host {
@@ -20711,7 +20724,7 @@
20711
20724
  }
20712
20725
  `));
20713
20726
 
20714
- const styles$C = css `
20727
+ const styles$D = css `
20715
20728
  .error-icon {
20716
20729
  display: none;
20717
20730
  }
@@ -20745,9 +20758,9 @@
20745
20758
  }
20746
20759
  `;
20747
20760
 
20748
- const styles$B = css `
20761
+ const styles$C = css `
20762
+ ${styles$E}
20749
20763
  ${styles$D}
20750
- ${styles$C}
20751
20764
 
20752
20765
  :host {
20753
20766
  --ni-private-hover-bottom-border-width: 2px;
@@ -21162,7 +21175,7 @@
21162
21175
  baseName: 'combobox',
21163
21176
  baseClass: Combobox$1,
21164
21177
  template: template$s,
21165
- styles: styles$B,
21178
+ styles: styles$C,
21166
21179
  shadowOptions: {
21167
21180
  delegatesFocus: true
21168
21181
  },
@@ -21207,7 +21220,7 @@
21207
21220
  */
21208
21221
  const UserDismissed = Symbol('user dismissed');
21209
21222
 
21210
- const styles$A = css `
21223
+ const styles$B = css `
21211
21224
  ${display('grid')}
21212
21225
 
21213
21226
  dialog {
@@ -21437,13 +21450,13 @@
21437
21450
  const nimbleDialog = Dialog.compose({
21438
21451
  baseName: 'dialog',
21439
21452
  template: template$r,
21440
- styles: styles$A,
21453
+ styles: styles$B,
21441
21454
  baseClass: Dialog
21442
21455
  });
21443
21456
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDialog());
21444
21457
  DesignSystem.tagFor(Dialog);
21445
21458
 
21446
- const styles$z = css `
21459
+ const styles$A = css `
21447
21460
  ${display('block')}
21448
21461
 
21449
21462
  :host {
@@ -21711,7 +21724,7 @@
21711
21724
  const nimbleDrawer = Drawer.compose({
21712
21725
  baseName: 'drawer',
21713
21726
  template: template$q,
21714
- styles: styles$z
21727
+ styles: styles$A
21715
21728
  });
21716
21729
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
21717
21730
  DesignSystem.tagFor(Drawer);
@@ -24024,6 +24037,8 @@
24024
24037
  const tableLabelDefaults = {
24025
24038
  tableGroupCollapseLabel: 'Collapse group',
24026
24039
  tableGroupExpandLabel: 'Expand group',
24040
+ tableRowCollapseLabel: 'Collapse row',
24041
+ tableRowExpandLabel: 'Expand row',
24027
24042
  tableGroupsCollapseAllLabel: 'Collapse all groups',
24028
24043
  tableCellActionMenuLabel: 'Options',
24029
24044
  tableColumnHeaderGroupedLabel: 'Grouped',
@@ -24043,6 +24058,14 @@
24043
24058
  name: 'table-group-expand-label',
24044
24059
  cssCustomPropertyName: null
24045
24060
  }).withDefault(tableLabelDefaults.tableGroupExpandLabel);
24061
+ const tableRowCollapseLabel = DesignToken.create({
24062
+ name: 'table-row-collapse-label',
24063
+ cssCustomPropertyName: null
24064
+ }).withDefault(tableLabelDefaults.tableRowCollapseLabel);
24065
+ const tableRowExpandLabel = DesignToken.create({
24066
+ name: 'table-row-expand-label',
24067
+ cssCustomPropertyName: null
24068
+ }).withDefault(tableLabelDefaults.tableRowExpandLabel);
24046
24069
  const tableGroupsCollapseAllLabel = DesignToken.create({
24047
24070
  name: 'table-groups-collapse-all-label',
24048
24071
  cssCustomPropertyName: null
@@ -24083,6 +24106,8 @@
24083
24106
  const supportedLabels = {
24084
24107
  groupCollapse: tableGroupCollapseLabel,
24085
24108
  groupExpand: tableGroupExpandLabel,
24109
+ rowCollapse: tableRowCollapseLabel,
24110
+ rowExpand: tableRowExpandLabel,
24086
24111
  groupsCollapseAll: tableGroupsCollapseAllLabel,
24087
24112
  cellActionMenu: tableCellActionMenuLabel,
24088
24113
  columnHeaderGrouped: tableColumnHeaderGroupedLabel,
@@ -24108,6 +24133,12 @@
24108
24133
  __decorate$1([
24109
24134
  attr({ attribute: 'group-expand' })
24110
24135
  ], LabelProviderTable.prototype, "groupExpand", void 0);
24136
+ __decorate$1([
24137
+ attr({ attribute: 'row-collapse' })
24138
+ ], LabelProviderTable.prototype, "rowCollapse", void 0);
24139
+ __decorate$1([
24140
+ attr({ attribute: 'row-expand' })
24141
+ ], LabelProviderTable.prototype, "rowExpand", void 0);
24111
24142
  __decorate$1([
24112
24143
  attr({ attribute: 'groups-collapse-all' })
24113
24144
  ], LabelProviderTable.prototype, "groupsCollapseAll", void 0);
@@ -24143,7 +24174,7 @@
24143
24174
  .register(nimbleLabelProviderTable());
24144
24175
  DesignSystem.tagFor(LabelProviderTable);
24145
24176
 
24146
- const styles$y = css `
24177
+ const styles$z = css `
24147
24178
  ${display('flex')}
24148
24179
 
24149
24180
  :host {
@@ -24265,7 +24296,7 @@
24265
24296
  baseName: 'list-option',
24266
24297
  baseClass: ListboxOption,
24267
24298
  template: template$p,
24268
- styles: styles$y
24299
+ styles: styles$z
24269
24300
  });
24270
24301
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleListOption());
24271
24302
  DesignSystem.tagFor(ListOption);
@@ -24379,7 +24410,7 @@
24379
24410
  DesignSystem.getOrCreate().withPrefix('nimble').register(spinnerMapping());
24380
24411
  DesignSystem.tagFor(MappingSpinner);
24381
24412
 
24382
- const styles$x = css `
24413
+ const styles$y = css `
24383
24414
  ${display('grid')}
24384
24415
 
24385
24416
  :host {
@@ -24446,12 +24477,12 @@
24446
24477
  baseName: 'menu',
24447
24478
  baseClass: Menu$1,
24448
24479
  template: menuTemplate,
24449
- styles: styles$x
24480
+ styles: styles$y
24450
24481
  });
24451
24482
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());
24452
24483
  DesignSystem.tagFor(Menu);
24453
24484
 
24454
- const styles$w = css `
24485
+ const styles$x = css `
24455
24486
  ${display('inline-block')}
24456
24487
 
24457
24488
  :host {
@@ -24726,7 +24757,7 @@
24726
24757
  const nimbleMenuButton = MenuButton.compose({
24727
24758
  baseName: 'menu-button',
24728
24759
  template: template$n,
24729
- styles: styles$w,
24760
+ styles: styles$x,
24730
24761
  shadowOptions: {
24731
24762
  delegatesFocus: true
24732
24763
  }
@@ -24734,7 +24765,7 @@
24734
24765
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuButton());
24735
24766
  const menuButtonTag = DesignSystem.tagFor(MenuButton);
24736
24767
 
24737
- const styles$v = css `
24768
+ const styles$w = css `
24738
24769
  ${display('grid')}
24739
24770
 
24740
24771
  :host {
@@ -24832,7 +24863,7 @@
24832
24863
  baseName: 'menu-item',
24833
24864
  baseClass: MenuItem$1,
24834
24865
  template: menuItemTemplate,
24835
- styles: styles$v,
24866
+ styles: styles$w,
24836
24867
  expandCollapseGlyph: arrowExpanderRight16X16.data
24837
24868
  });
24838
24869
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuItem());
@@ -24847,9 +24878,9 @@
24847
24878
  block: 'block'
24848
24879
  };
24849
24880
 
24850
- const styles$u = css `
24881
+ const styles$v = css `
24851
24882
  ${display('inline-block')}
24852
- ${styles$C}
24883
+ ${styles$D}
24853
24884
 
24854
24885
  :host {
24855
24886
  font: ${bodyFont};
@@ -25063,7 +25094,7 @@
25063
25094
  baseName: 'number-field',
25064
25095
  baseClass: NumberField$1,
25065
25096
  template: numberFieldTemplate,
25066
- styles: styles$u,
25097
+ styles: styles$v,
25067
25098
  shadowOptions: {
25068
25099
  delegatesFocus: true
25069
25100
  },
@@ -25107,7 +25138,7 @@
25107
25138
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleNumberField());
25108
25139
  DesignSystem.tagFor(NumberField);
25109
25140
 
25110
- const styles$t = css `
25141
+ const styles$u = css `
25111
25142
  ${display('inline-flex')}
25112
25143
 
25113
25144
  :host {
@@ -25208,13 +25239,13 @@
25208
25239
  baseName: 'radio',
25209
25240
  baseClass: Radio$1,
25210
25241
  template: radioTemplate,
25211
- styles: styles$t,
25242
+ styles: styles$u,
25212
25243
  checkedIndicator: circleFilled16X16.data
25213
25244
  });
25214
25245
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadio());
25215
25246
  DesignSystem.tagFor(Radio);
25216
25247
 
25217
- const styles$s = css `
25248
+ const styles$t = css `
25218
25249
  ${display('inline-block')}
25219
25250
 
25220
25251
  .positioning-region {
@@ -25249,7 +25280,7 @@
25249
25280
  baseName: 'radio-group',
25250
25281
  baseClass: RadioGroup$1,
25251
25282
  template: radioGroupTemplate,
25252
- styles: styles$s,
25283
+ styles: styles$t,
25253
25284
  shadowOptions: {
25254
25285
  delegatesFocus: true
25255
25286
  }
@@ -42101,7 +42132,7 @@ img.ProseMirror-separator {
42101
42132
  return string.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
42102
42133
  }
42103
42134
 
42104
- const styles$r = css `
42135
+ const styles$s = css `
42105
42136
  .positioning-region {
42106
42137
  display: flex;
42107
42138
  padding: ${smallPadding} ${standardPadding};
@@ -42136,7 +42167,7 @@ img.ProseMirror-separator {
42136
42167
  baseName: 'toolbar',
42137
42168
  baseClass: Toolbar$1,
42138
42169
  template: toolbarTemplate,
42139
- styles: styles$r,
42170
+ styles: styles$s,
42140
42171
  shadowOptions: {
42141
42172
  delegatesFocus: true
42142
42173
  }
@@ -42280,7 +42311,7 @@ img.ProseMirror-separator {
42280
42311
  >@${x => x.mentionLabel}</span
42281
42312
  ><slot contenteditable="true"></slot>`;
42282
42313
 
42283
- const styles$q = css `
42314
+ const styles$r = css `
42284
42315
  ${display('inline-block')}
42285
42316
 
42286
42317
  :host {
@@ -42321,16 +42352,16 @@ img.ProseMirror-separator {
42321
42352
  const nimbleRichTextMentionUsersView = RichTextMentionUsersView.compose({
42322
42353
  baseName: 'rich-text-mention-users-view',
42323
42354
  template: template$l,
42324
- styles: styles$q
42355
+ styles: styles$r
42325
42356
  });
42326
42357
  DesignSystem.getOrCreate()
42327
42358
  .withPrefix('nimble')
42328
42359
  .register(nimbleRichTextMentionUsersView());
42329
42360
  const richTextMentionUsersViewTag = DesignSystem.tagFor(RichTextMentionUsersView);
42330
42361
 
42331
- const styles$p = css `
42362
+ const styles$q = css `
42332
42363
  ${display('inline-flex')}
42333
- ${styles$C}
42364
+ ${styles$D}
42334
42365
 
42335
42366
  :host {
42336
42367
  font: ${bodyFont};
@@ -60505,7 +60536,7 @@ img.ProseMirror-separator {
60505
60536
  const nimbleRichTextEditor = RichTextEditor.compose({
60506
60537
  baseName: 'rich-text-editor',
60507
60538
  template: template$m,
60508
- styles: styles$p
60539
+ styles: styles$q
60509
60540
  });
60510
60541
  DesignSystem.getOrCreate()
60511
60542
  .withPrefix('nimble')
@@ -60518,7 +60549,7 @@ img.ProseMirror-separator {
60518
60549
  </template>
60519
60550
  `;
60520
60551
 
60521
- const styles$o = css `
60552
+ const styles$p = css `
60522
60553
  ${display('flex')}
60523
60554
 
60524
60555
  :host {
@@ -60629,16 +60660,16 @@ img.ProseMirror-separator {
60629
60660
  const nimbleRichTextViewer = RichTextViewer.compose({
60630
60661
  baseName: 'rich-text-viewer',
60631
60662
  template: template$k,
60632
- styles: styles$o
60663
+ styles: styles$p
60633
60664
  });
60634
60665
  DesignSystem.getOrCreate()
60635
60666
  .withPrefix('nimble')
60636
60667
  .register(nimbleRichTextViewer());
60637
60668
  DesignSystem.tagFor(RichTextViewer);
60638
60669
 
60639
- const styles$n = css `
60670
+ const styles$o = css `
60671
+ ${styles$E}
60640
60672
  ${styles$D}
60641
- ${styles$C}
60642
60673
 
60643
60674
  ${
60644
60675
  /* We are using flex `order` to define the visual ordering of the selected value,
@@ -60810,7 +60841,7 @@ img.ProseMirror-separator {
60810
60841
  baseName: 'select',
60811
60842
  baseClass: Select$1,
60812
60843
  template: template$j,
60813
- styles: styles$n,
60844
+ styles: styles$o,
60814
60845
  indicator: arrowExpanderDown16X16.data,
60815
60846
  end: html `
60816
60847
  <${iconExclamationMarkTag}
@@ -60823,7 +60854,7 @@ img.ProseMirror-separator {
60823
60854
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());
60824
60855
  DesignSystem.tagFor(Select);
60825
60856
 
60826
- const styles$m = css `
60857
+ const styles$n = css `
60827
60858
  ${display('inline-flex')}
60828
60859
 
60829
60860
  :host {
@@ -61024,12 +61055,12 @@ img.ProseMirror-separator {
61024
61055
  const nimbleSpinner = Spinner.compose({
61025
61056
  baseName: 'spinner',
61026
61057
  template: template$i,
61027
- styles: styles$m
61058
+ styles: styles$n
61028
61059
  });
61029
61060
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSpinner());
61030
61061
  const spinnerTag = DesignSystem.tagFor(Spinner);
61031
61062
 
61032
- const styles$l = css `
61063
+ const styles$m = css `
61033
61064
  ${display('inline-flex')}
61034
61065
 
61035
61066
  :host {
@@ -61237,12 +61268,12 @@ img.ProseMirror-separator {
61237
61268
  baseClass: Switch$1,
61238
61269
  baseName: 'switch',
61239
61270
  template: template$h,
61240
- styles: styles$l
61271
+ styles: styles$m
61241
61272
  });
61242
61273
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSwitch());
61243
61274
  DesignSystem.tagFor(Switch);
61244
61275
 
61245
- const styles$k = css `
61276
+ const styles$l = css `
61246
61277
  ${display('inline-flex')}
61247
61278
 
61248
61279
  :host {
@@ -61353,12 +61384,12 @@ img.ProseMirror-separator {
61353
61384
  baseName: 'tab',
61354
61385
  baseClass: Tab$2,
61355
61386
  template: tabTemplate,
61356
- styles: styles$k
61387
+ styles: styles$l
61357
61388
  });
61358
61389
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTab());
61359
61390
  DesignSystem.tagFor(Tab);
61360
61391
 
61361
- const styles$j = css `
61392
+ const styles$k = css `
61362
61393
  ${display('block')}
61363
61394
 
61364
61395
  :host {
@@ -61378,7 +61409,7 @@ img.ProseMirror-separator {
61378
61409
  baseName: 'tab-panel',
61379
61410
  baseClass: TabPanel$1,
61380
61411
  template: tabPanelTemplate,
61381
- styles: styles$j
61412
+ styles: styles$k
61382
61413
  });
61383
61414
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabPanel());
61384
61415
  DesignSystem.tagFor(TabPanel);
@@ -65211,7 +65242,7 @@ img.ProseMirror-separator {
65211
65242
  }
65212
65243
  }
65213
65244
 
65214
- const styles$i = css `
65245
+ const styles$j = css `
65215
65246
  ${display('flex')}
65216
65247
 
65217
65248
  :host {
@@ -65395,7 +65426,7 @@ img.ProseMirror-separator {
65395
65426
  }
65396
65427
  `));
65397
65428
 
65398
- const styles$h = css `
65429
+ const styles$i = css `
65399
65430
  ${display('flex')}
65400
65431
 
65401
65432
  :host {
@@ -65492,12 +65523,38 @@ img.ProseMirror-separator {
65492
65523
  const nimbleTableHeader = TableHeader.compose({
65493
65524
  baseName: 'table-header',
65494
65525
  template: template$g,
65495
- styles: styles$h
65526
+ styles: styles$i
65496
65527
  });
65497
65528
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableHeader());
65498
65529
  const tableHeaderTag = DesignSystem.tagFor(TableHeader);
65499
65530
 
65531
+ const styles$h = css `
65532
+ :host .animating {
65533
+ transition: ${mediumDelay} ease-in;
65534
+ }
65535
+
65536
+ .expand-collapse-button {
65537
+ height: ${controlSlimHeight};
65538
+ align-self: center;
65539
+ }
65540
+
65541
+ .expander-icon {
65542
+ transform: rotate(0deg);
65543
+ }
65544
+
65545
+ :host([expanded]) .expander-icon {
65546
+ transform: rotate(90deg);
65547
+ }
65548
+
65549
+ @media (prefers-reduced-motion) {
65550
+ :host .animating {
65551
+ transition-duration: 0s;
65552
+ }
65553
+ }
65554
+ `;
65555
+
65500
65556
  const styles$g = css `
65557
+ ${styles$h}
65501
65558
  ${display('flex')}
65502
65559
 
65503
65560
  :host {
@@ -65532,6 +65589,13 @@ img.ProseMirror-separator {
65532
65589
  background-color: ${fillHoverSelectedColor};
65533
65590
  }
65534
65591
 
65592
+ .expand-collapse-button {
65593
+ padding-left: calc(
65594
+ ${mediumPadding} + (var(--ni-private-table-row-indent-level) - 1) *
65595
+ ${controlHeight}
65596
+ );
65597
+ }
65598
+
65535
65599
  .row-operations-container {
65536
65600
  display: flex;
65537
65601
  }
@@ -65549,6 +65613,10 @@ img.ProseMirror-separator {
65549
65613
  flex: 0 0 auto;
65550
65614
  }
65551
65615
 
65616
+ .row-front-spacer.top-level-parent {
65617
+ width: ${mediumPadding};
65618
+ }
65619
+
65552
65620
  .cell-container {
65553
65621
  display: grid;
65554
65622
  width: 100%;
@@ -65557,6 +65625,12 @@ img.ProseMirror-separator {
65557
65625
  grid-template-columns: var(--ni-private-table-row-grid-columns) auto;
65558
65626
  }
65559
65627
 
65628
+ .cell-container.nested-parent {
65629
+ margin-left: calc(
65630
+ (${controlHeight} * var(--ni-private-table-row-indent-level)) * -1
65631
+ );
65632
+ }
65633
+
65560
65634
  nimble-table-cell {
65561
65635
  --ni-private-table-cell-action-menu-display: none;
65562
65636
  }
@@ -65593,7 +65667,7 @@ img.ProseMirror-separator {
65593
65667
  --ni-private-table-cell-nesting-level: 0;
65594
65668
  padding: 0px ${mediumPadding};
65595
65669
  padding-left: calc(
65596
- ${mediumPadding} + ${standardPadding} * 2 *
65670
+ ${mediumPadding} + ${controlHeight} *
65597
65671
  var(--ni-private-table-cell-nesting-level)
65598
65672
  );
65599
65673
  align-self: center;
@@ -65696,7 +65770,12 @@ img.ProseMirror-separator {
65696
65770
 
65697
65771
  // prettier-ignore
65698
65772
  const template$e = html `
65699
- <template role="row" aria-selected=${x => x.ariaSelected}>
65773
+ <template
65774
+ role="row"
65775
+ aria-selected=${x => x.ariaSelected}
65776
+ aria-expanded=${x => x.expanded}
65777
+ style="--ni-private-table-row-indent-level: ${x => x.nestingLevel};"
65778
+ >
65700
65779
  ${when(x => !x.rowOperationGridCellHidden, html `
65701
65780
  <span role="gridcell" class="row-operations-container">
65702
65781
  ${when(x => x.selectable && !x.hideSelection, html `
@@ -65712,11 +65791,24 @@ img.ProseMirror-separator {
65712
65791
  `)}
65713
65792
  </span>
65714
65793
  `)}
65715
- ${'' /* This is needed to help align the cell widths exactly with the column headers, due to the space reserved for
65716
- the collapse-all button in the header. */}
65717
- <span class="row-front-spacer"></span>
65794
+ <span class="row-front-spacer ${x => (x.isParentRow && x.nestingLevel === 0 ? 'top-level-parent' : '')}"></span>
65795
+ ${when(x => x.isParentRow, html `
65796
+ <${buttonTag}
65797
+ appearance="${ButtonAppearance.ghost}"
65798
+ content-hidden
65799
+ class="expand-collapse-button"
65800
+ tabindex="-1"
65801
+ @click="${(x, c) => x.onRowExpandToggle(c.event)}"
65802
+ title="${x => (x.expanded ? tableRowCollapseLabel.getValueFor(x) : tableRowExpandLabel.getValueFor(x))}"
65803
+ aria-hidden="true"
65804
+ >
65805
+ <${iconArrowExpanderRightTag} ${ref('expandIcon')} slot="start" class="expander-icon ${x => x.animationClass}"></${iconArrowExpanderRightTag}>
65806
+ </${buttonTag}>
65807
+ `)}
65718
65808
 
65719
- <span ${ref('cellContainer')} class="cell-container">
65809
+ <span ${ref('cellContainer')}
65810
+ class="cell-container ${x => (x.isParentRow && x.nestingLevel > 0 ? 'nested-parent' : '')}"
65811
+ >
65720
65812
  ${repeat(x => x.columns, html `
65721
65813
  ${when(x => !x.columnHidden, html `
65722
65814
  <${tableCellTag}
@@ -65730,7 +65822,7 @@ img.ProseMirror-separator {
65730
65822
  action-menu-label="${x => x.actionMenuLabel}"
65731
65823
  @cell-action-menu-beforetoggle="${(x, c) => c.parent.onCellActionMenuBeforeToggle(c.event, x)}"
65732
65824
  @cell-action-menu-toggle="${(x, c) => c.parent.onCellActionMenuToggle(c.event, x)}"
65733
- :nestingLevel="${(_, c) => c.parent.cellIndentLevels[c.index]};"
65825
+ :nestingLevel="${(_, c) => c.parent.cellIndentLevels[c.index]}"
65734
65826
  >
65735
65827
 
65736
65828
  ${when((x, c) => (c.parent.currentActionMenuColumn === x) && x.actionMenuSlot, html `
@@ -65756,12 +65848,14 @@ img.ProseMirror-separator {
65756
65848
  this.selectable = false;
65757
65849
  this.selected = false;
65758
65850
  this.hideSelection = false;
65851
+ this.expanded = false;
65759
65852
  /**
65760
65853
  * @internal
65761
65854
  * */
65762
65855
  this.columnNotifiers = [];
65763
65856
  this.columns = [];
65764
65857
  this.nestingLevel = 0;
65858
+ this.isParentRow = false;
65765
65859
  this.menuOpen = false;
65766
65860
  this.rowOperationGridCellHidden = false;
65767
65861
  /**
@@ -65776,11 +65870,19 @@ img.ProseMirror-separator {
65776
65870
  * of each column's cell.
65777
65871
  * */
65778
65872
  this.cellStates = [];
65873
+ /**
65874
+ * @internal
65875
+ */
65876
+ this.animationClass = '';
65779
65877
  // Programmatically updating the selection state of a checkbox fires the 'change' event.
65780
65878
  // Therefore, selection change events that occur due to programmatically updating
65781
65879
  // the selection checkbox 'checked' value should be ingored.
65782
65880
  // https://github.com/microsoft/fast/issues/5750
65783
65881
  this.ignoreSelectionChangeEvents = false;
65882
+ this.removeAnimatingClass = () => {
65883
+ this.animationClass = '';
65884
+ this.expandIcon?.removeEventListener('transitionend', this.removeAnimatingClass);
65885
+ };
65784
65886
  }
65785
65887
  get ariaSelected() {
65786
65888
  if (this.selectable) {
@@ -65829,6 +65931,23 @@ img.ProseMirror-separator {
65829
65931
  this.updateCellStates();
65830
65932
  }
65831
65933
  }
65934
+ onRowExpandToggle(event) {
65935
+ const expandEventDetail = {
65936
+ oldState: this.expanded,
65937
+ newState: !this.expanded,
65938
+ recordId: this.recordId
65939
+ };
65940
+ this.$emit('row-expand-toggle', expandEventDetail);
65941
+ event.stopImmediatePropagation();
65942
+ // To avoid a visual glitch with improper expand/collapse icons performing an
65943
+ // animation (due to visual re-use apparently), we apply a class to the
65944
+ // contained expand-collapse button temporarily. We use the 'transitionend' event
65945
+ // to remove the temporary class and register a function reference as the handler
65946
+ // to avoid issues that may result from the 'transitionend' event not firing, as it
65947
+ // will never result in multiple event listeners being registered.
65948
+ this.animationClass = 'animating';
65949
+ this.expandIcon?.addEventListener('transitionend', this.removeAnimatingClass);
65950
+ }
65832
65951
  emitActionMenuToggleEvent(eventType, menuButtonEventDetail, column) {
65833
65952
  const detail = {
65834
65953
  newState: menuButtonEventDetail.newState,
@@ -65851,10 +65970,7 @@ img.ProseMirror-separator {
65851
65970
  }
65852
65971
  updateCellIndentLevels() {
65853
65972
  this.cellIndentLevels = this.columns.map((_, i) => {
65854
- if (i === 0 && this.nestingLevel > 0) {
65855
- return this.nestingLevel - 1;
65856
- }
65857
- return 0;
65973
+ return i === 0 ? this.nestingLevel : 0;
65858
65974
  });
65859
65975
  }
65860
65976
  removeColumnObservers() {
@@ -65919,6 +66035,9 @@ img.ProseMirror-separator {
65919
66035
  __decorate$1([
65920
66036
  attr({ attribute: 'hide-selection', mode: 'boolean' })
65921
66037
  ], TableRow.prototype, "hideSelection", void 0);
66038
+ __decorate$1([
66039
+ attr({ mode: 'boolean' })
66040
+ ], TableRow.prototype, "expanded", void 0);
65922
66041
  __decorate$1([
65923
66042
  observable
65924
66043
  ], TableRow.prototype, "dataRecord", void 0);
@@ -65931,6 +66050,9 @@ img.ProseMirror-separator {
65931
66050
  __decorate$1([
65932
66051
  observable
65933
66052
  ], TableRow.prototype, "nestingLevel", void 0);
66053
+ __decorate$1([
66054
+ attr({ attribute: 'is-parent-row', mode: 'boolean' })
66055
+ ], TableRow.prototype, "isParentRow", void 0);
65934
66056
  __decorate$1([
65935
66057
  attr({ attribute: 'menu-open', mode: 'boolean' })
65936
66058
  ], TableRow.prototype, "menuOpen", void 0);
@@ -65946,6 +66068,9 @@ img.ProseMirror-separator {
65946
66068
  __decorate$1([
65947
66069
  observable
65948
66070
  ], TableRow.prototype, "selectionCheckbox", void 0);
66071
+ __decorate$1([
66072
+ observable
66073
+ ], TableRow.prototype, "animationClass", void 0);
65949
66074
  __decorate$1([
65950
66075
  volatile
65951
66076
  ], TableRow.prototype, "ariaSelected", null);
@@ -65959,6 +66084,7 @@ img.ProseMirror-separator {
65959
66084
 
65960
66085
  const styles$e = css `
65961
66086
  ${display('grid')}
66087
+ ${styles$h}
65962
66088
 
65963
66089
  :host {
65964
66090
  align-items: center;
@@ -65983,11 +66109,6 @@ img.ProseMirror-separator {
65983
66109
  1fr;
65984
66110
  }
65985
66111
 
65986
- :host([expanded]) .animating,
65987
- :host .animating {
65988
- transition: ${mediumDelay} ease-in-out;
65989
- }
65990
-
65991
66112
  :host::before {
65992
66113
  content: '';
65993
66114
  width: 100%;
@@ -66006,15 +66127,6 @@ img.ProseMirror-separator {
66006
66127
  ${mediumPadding} + ${standardPadding} * 2 *
66007
66128
  var(--ni-private-table-group-row-indent-level)
66008
66129
  );
66009
- height: ${controlSlimHeight};
66010
- }
66011
-
66012
- :host([expanded]) .expander-icon {
66013
- transform: rotate(90deg);
66014
- }
66015
-
66016
- .expander-icon {
66017
- transform: rotate(0deg);
66018
66130
  }
66019
66131
 
66020
66132
  .group-row-header-content {
@@ -66036,13 +66148,6 @@ img.ProseMirror-separator {
66036
66148
  ${userSelectNone}
66037
66149
  }
66038
66150
 
66039
- @media (prefers-reduced-motion) {
66040
- :host .animating,
66041
- :host([expanded]) .animating {
66042
- transition-duration: 0s;
66043
- }
66044
- }
66045
-
66046
66151
  .checkbox-container {
66047
66152
  display: flex;
66048
66153
  }
@@ -66070,6 +66175,7 @@ img.ProseMirror-separator {
66070
66175
  <template
66071
66176
  role="row"
66072
66177
  @click=${x => x.onGroupExpandToggle()}
66178
+ aria-expanded=${x => x.expanded}
66073
66179
  style="--ni-private-table-group-row-indent-level: ${x => x.nestingLevel};"
66074
66180
  >
66075
66181
  ${when(x => x.selectable, html `
@@ -66093,9 +66199,9 @@ img.ProseMirror-separator {
66093
66199
  class="expand-collapse-button"
66094
66200
  tabindex="-1"
66095
66201
  title="${x => (x.expanded ? tableGroupCollapseLabel.getValueFor(x) : tableGroupExpandLabel.getValueFor(x))}"
66202
+ aria-hidden="true"
66096
66203
  >
66097
66204
  <${iconArrowExpanderRightTag} ${ref('expandIcon')} slot="start" class="expander-icon ${x => x.animationClass}"></${iconArrowExpanderRightTag}>
66098
- ${x => (x.expanded ? tableGroupCollapseLabel.getValueFor(x) : tableGroupExpandLabel.getValueFor(x))}
66099
66205
  </${buttonTag}>
66100
66206
  </span>
66101
66207
 
@@ -68388,16 +68494,17 @@ img.ProseMirror-separator {
68388
68494
  this.selectionState = this.getTableSelectionState();
68389
68495
  const rows = this.table.getRowModel().rows;
68390
68496
  this.tableData = rows.map(row => {
68497
+ const isGrouped = row.getIsGrouped();
68391
68498
  const rowState = {
68392
68499
  record: row.original.clientRecord,
68393
68500
  id: row.id,
68394
68501
  selectionState: this.getRowSelectionState(row),
68395
- isGrouped: row.getIsGrouped(),
68502
+ isGrouped,
68396
68503
  isExpanded: row.getIsExpanded(),
68397
- groupRowValue: row.getIsGrouped()
68504
+ groupRowValue: isGrouped
68398
68505
  ? row.getValue(row.groupingColumnId)
68399
68506
  : undefined,
68400
- nestingLevel: row.depth,
68507
+ nestingLevel: !isGrouped && row.depth > 0 ? row.depth - 1 : row.depth,
68401
68508
  leafItemCount: row
68402
68509
  .getLeafRows()
68403
68510
  .filter(leafRow => leafRow.getLeafRows().length === 0)
@@ -68597,7 +68704,7 @@ img.ProseMirror-separator {
68597
68704
  const nimbleTable = Table.compose({
68598
68705
  baseName: 'table',
68599
68706
  template: template$c,
68600
- styles: styles$i
68707
+ styles: styles$j
68601
68708
  });
68602
68709
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTable());
68603
68710
  DesignSystem.tagFor(Table);
@@ -70654,7 +70761,7 @@ img.ProseMirror-separator {
70654
70761
 
70655
70762
  const styles$5 = css `
70656
70763
  ${display('inline-flex')}
70657
- ${styles$C}
70764
+ ${styles$D}
70658
70765
 
70659
70766
  :host {
70660
70767
  font: ${bodyFont};
@@ -71000,7 +71107,7 @@ img.ProseMirror-separator {
71000
71107
 
71001
71108
  const styles$4 = css `
71002
71109
  ${display('inline-block')}
71003
- ${styles$C}
71110
+ ${styles$D}
71004
71111
 
71005
71112
  :host {
71006
71113
  font: ${bodyFont};