@esri/calcite-components 5.2.0-next.14 → 5.2.0-next.15

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 (165) hide show
  1. package/dist/cdn/{6YLJ3NL4.js → 2ICUEUOW.js} +1 -1
  2. package/dist/cdn/{Y3FAB6G2.js → 2OJMBKZL.js} +1 -1
  3. package/dist/cdn/{GDP3QRZQ.js → 2YQ43QTX.js} +1 -1
  4. package/dist/cdn/36576SWA.js +2 -0
  5. package/dist/cdn/{LURVUV4O.js → 3A7TVJSM.js} +1 -1
  6. package/dist/cdn/{PWGR5AJD.js → 3HBRYHGR.js} +1 -1
  7. package/dist/cdn/{VH5BZDLX.js → 3TSSOJNN.js} +1 -1
  8. package/dist/cdn/{EH3ZS3AI.js → 3U46POVB.js} +1 -1
  9. package/dist/cdn/{HJSWKTWW.js → 4OEMYYGV.js} +1 -1
  10. package/dist/cdn/{ZU6KB5AC.js → 4UXQSYZ7.js} +1 -1
  11. package/dist/cdn/{YS6CLONR.js → 4VXMLC7M.js} +1 -1
  12. package/dist/cdn/{B66XEYW2.js → 5FPES5GS.js} +1 -1
  13. package/dist/cdn/{6D5AK4GJ.js → 5HPXECRV.js} +1 -1
  14. package/dist/cdn/{BVYG6VVD.js → 5UW7EUHQ.js} +1 -1
  15. package/dist/cdn/{G7GLZIL5.js → 6KEWJUMR.js} +1 -1
  16. package/dist/cdn/{LK3625ZO.js → 6TTIV4ZC.js} +1 -1
  17. package/dist/cdn/{QCZA4MJZ.js → 6VAAV6YM.js} +1 -1
  18. package/dist/cdn/{WVZMOFAQ.js → 7C77AIYE.js} +1 -1
  19. package/dist/cdn/{EXV5UE47.js → 7ON7H7XO.js} +1 -1
  20. package/dist/cdn/{7WMROAW4.js → 7V54ULAQ.js} +1 -1
  21. package/dist/cdn/{6CTVP6XP.js → 7YYKJIWV.js} +1 -1
  22. package/dist/cdn/{ZQW5EHUD.js → AVTZDKEU.js} +1 -1
  23. package/dist/cdn/{Z7GJKEIA.js → B2RBPUJ7.js} +1 -1
  24. package/dist/cdn/{OECHJXEQ.js → BBVZ3JMD.js} +1 -1
  25. package/dist/cdn/{3NCFJD25.js → BH2577DK.js} +1 -1
  26. package/dist/cdn/{BSF3NY4V.js → BHKW6XAK.js} +1 -1
  27. package/dist/cdn/{EO5N74I3.js → BU2RIC53.js} +1 -1
  28. package/dist/cdn/{OUSNZRJZ.js → BU4KQTTB.js} +1 -1
  29. package/dist/cdn/{ORAHJ4QI.js → CIU7BMGP.js} +1 -1
  30. package/dist/cdn/{PN5LDURO.js → CO2DVF6K.js} +1 -1
  31. package/dist/cdn/{XZEWXNBK.js → CZROJYN3.js} +1 -1
  32. package/dist/cdn/{UBTLX7CK.js → D6GQPIAD.js} +1 -1
  33. package/dist/cdn/{BL5X256T.js → DJSNRMSM.js} +1 -1
  34. package/dist/cdn/{EQWEKQDO.js → DN7W4U5Y.js} +1 -1
  35. package/dist/cdn/{H4VRREJL.js → DNJQO5RP.js} +1 -1
  36. package/dist/cdn/{FZ53VYVY.js → DT2BAUOU.js} +1 -1
  37. package/dist/cdn/{3CJCDXXM.js → DUH6VXSJ.js} +1 -1
  38. package/dist/cdn/{QSPWWIIZ.js → DYDGDY5D.js} +1 -1
  39. package/dist/cdn/{WFM52MRQ.js → E5Q7HYR5.js} +1 -1
  40. package/dist/cdn/{MSAH5RX3.js → E7KPXV4D.js} +1 -1
  41. package/dist/cdn/{4363MSYP.js → EBFY3DI7.js} +1 -1
  42. package/dist/cdn/{D6XD3BXF.js → EBKN4W5P.js} +1 -1
  43. package/dist/cdn/EOTOGYGB.js +2 -0
  44. package/dist/cdn/{HLJQDLHI.js → ETZWYJ2I.js} +1 -1
  45. package/dist/cdn/{GJNU6EMY.js → EUIE5IWR.js} +1 -1
  46. package/dist/cdn/EXFLJZNY.js +2 -0
  47. package/dist/cdn/{7WTBOSC5.js → EZ2VLGIN.js} +1 -1
  48. package/dist/cdn/{A5XTOCVX.js → EZS7H7DP.js} +1 -1
  49. package/dist/cdn/{ZGO66DGC.js → F7TRKPMV.js} +1 -1
  50. package/dist/cdn/{KCTZSNBT.js → FESOLJ65.js} +1 -1
  51. package/dist/cdn/{I2H4WGUS.js → FGA6I2LE.js} +1 -1
  52. package/dist/cdn/{CR7M7KVL.js → FKCNVRGV.js} +1 -1
  53. package/dist/cdn/{B3FIO2DT.js → FLCHWBKR.js} +1 -1
  54. package/dist/cdn/{DWAZPL2W.js → GEEP5N3L.js} +1 -1
  55. package/dist/cdn/{MMNBD7LM.js → GFVBXNU2.js} +1 -1
  56. package/dist/cdn/{SYSWISF6.js → GMFL6PGY.js} +1 -1
  57. package/dist/cdn/{A6VJGLSS.js → GNAKN63L.js} +1 -1
  58. package/dist/cdn/{OV7EBZPB.js → HWBQT3T2.js} +1 -1
  59. package/dist/cdn/{JVDVZORD.js → HYERCWKU.js} +1 -1
  60. package/dist/cdn/{QZSPTHHD.js → I5LV3F2A.js} +1 -1
  61. package/dist/cdn/{2RQWAUJS.js → ICWLUJEK.js} +1 -1
  62. package/dist/cdn/{UFW5G6ZY.js → IJEONWQI.js} +1 -1
  63. package/dist/cdn/{R5LGIEUS.js → ILUA3HJQ.js} +1 -1
  64. package/dist/cdn/{LNQK4SQB.js → IV64BFMC.js} +1 -1
  65. package/dist/cdn/{6Q33X7P4.js → IYS3R2W5.js} +1 -1
  66. package/dist/cdn/{PGUXZOTZ.js → J4KRU5PH.js} +1 -1
  67. package/dist/cdn/{JBDHPNDM.js → JIEYMW75.js} +1 -1
  68. package/dist/cdn/{G37Q6LNH.js → JIHLGDIF.js} +1 -1
  69. package/dist/cdn/{TMRLVWBO.js → JLXKH7FQ.js} +1 -1
  70. package/dist/cdn/{U4TZRIC5.js → JMB6V353.js} +1 -1
  71. package/dist/cdn/{545MJ5AY.js → JQNCTK7C.js} +1 -1
  72. package/dist/cdn/{3AKE4BCT.js → KBPBNUZD.js} +1 -1
  73. package/dist/cdn/{7PO443AZ.js → KG4SRWDA.js} +1 -1
  74. package/dist/cdn/{ABMJH33P.js → KTVMBPSM.js} +1 -1
  75. package/dist/cdn/{G5FIT3VP.js → LSA756AV.js} +1 -1
  76. package/dist/cdn/{4GDHH5DV.js → LZLK3UDG.js} +1 -1
  77. package/dist/cdn/{JVKBC3XX.js → M27E5HDR.js} +1 -1
  78. package/dist/cdn/{HG5J2NEG.js → M6MU5RGX.js} +1 -1
  79. package/dist/cdn/{LAH33JTG.js → MLU5JNL5.js} +1 -1
  80. package/dist/cdn/{GCB2FLDV.js → MTJMV4XH.js} +1 -1
  81. package/dist/cdn/{V3VTO2ZZ.js → N3QX4IC4.js} +1 -1
  82. package/dist/cdn/{EEUC3KBF.js → NHCNZDRG.js} +1 -1
  83. package/dist/cdn/{SCWTJCNK.js → NKXO643H.js} +1 -1
  84. package/dist/cdn/{W7AGRLRI.js → NNGMLYGE.js} +1 -1
  85. package/dist/cdn/{IUW6CWCX.js → NW4KWXXB.js} +1 -1
  86. package/dist/cdn/{PTH7GUAT.js → OCX6NYCM.js} +1 -1
  87. package/dist/cdn/{I3NOTK5S.js → OE6VC6EY.js} +1 -1
  88. package/dist/cdn/{6Q4TUT5Y.js → ORRPVGCK.js} +1 -1
  89. package/dist/cdn/{RLE74BGN.js → P4ESRCCM.js} +1 -1
  90. package/dist/cdn/{KSKQOJZX.js → PIUP4ZQW.js} +1 -1
  91. package/dist/cdn/{4MGG67YX.js → PJALDHXX.js} +1 -1
  92. package/dist/cdn/{KD7UHFNY.js → PNJYQ6IH.js} +1 -1
  93. package/dist/cdn/{LJPWEOCO.js → PRRBFKOU.js} +1 -1
  94. package/dist/cdn/{4VDL3UOJ.js → PUCKJHW2.js} +1 -1
  95. package/dist/cdn/{YJLCYJ2M.js → PUZHBU3E.js} +1 -1
  96. package/dist/cdn/{3UXDKWOB.js → Q6GM5XU4.js} +1 -1
  97. package/dist/cdn/{MVJAI5VF.js → QKUI4P3X.js} +1 -1
  98. package/dist/cdn/{RPIHDJF2.js → QVISZWVR.js} +1 -1
  99. package/dist/cdn/{OODIPTDH.js → R7TJLOEF.js} +1 -1
  100. package/dist/cdn/{P6DSHT3Y.js → RNRP4IRY.js} +1 -1
  101. package/dist/cdn/{44HY2CJ4.js → RXY7D7QB.js} +1 -1
  102. package/dist/cdn/{OAOMEBGK.js → RYLXEBE6.js} +1 -1
  103. package/dist/cdn/{C7EIL5WB.js → S2TWAITW.js} +1 -1
  104. package/dist/cdn/{XHRQMRVG.js → S5Z5B7WV.js} +1 -1
  105. package/dist/cdn/{H7EDS3CQ.js → S6HM53NY.js} +1 -1
  106. package/dist/cdn/{Q7WHVLIS.js → SAVNFJ57.js} +1 -1
  107. package/dist/cdn/{TEIBL22G.js → SD4SZNSG.js} +1 -1
  108. package/dist/cdn/{WCEPBGPF.js → SELOT4S4.js} +1 -1
  109. package/dist/cdn/{6HSIDCQD.js → SGCEWUTH.js} +1 -1
  110. package/dist/cdn/{UVGPW4FV.js → SQZBOLGJ.js} +1 -1
  111. package/dist/cdn/{4HIEDMZD.js → SWDBHLKG.js} +1 -1
  112. package/dist/cdn/{6JHWUVP4.js → T6AKC47S.js} +1 -1
  113. package/dist/cdn/{FEJS343B.js → TQ6TTPUS.js} +1 -1
  114. package/dist/cdn/{MXTIZU2R.js → U4CWDR2F.js} +1 -1
  115. package/dist/cdn/{GS5ZCHGY.js → UECWR7KX.js} +1 -1
  116. package/dist/cdn/{ZF6T2CLM.js → UPZS6PZJ.js} +1 -1
  117. package/dist/cdn/{AVV4E53Z.js → USLI3AX2.js} +1 -1
  118. package/dist/cdn/{QWBN3AWD.js → UVPSLQYP.js} +1 -1
  119. package/dist/cdn/{3PLEDPR4.js → UWVFDDBU.js} +1 -1
  120. package/dist/cdn/{NGE5JQLU.js → VERBYQX6.js} +1 -1
  121. package/dist/cdn/{HLQVOOYB.js → VIKIAEXA.js} +1 -1
  122. package/dist/cdn/{X6Q5JZBS.js → VSQC4OO7.js} +1 -1
  123. package/dist/cdn/{GWXFMOCL.js → VXOTTW5W.js} +1 -1
  124. package/dist/cdn/{7D4K4QDI.js → WHDZYGAR.js} +1 -1
  125. package/dist/cdn/{SOHXC2HB.js → WIHIX3MV.js} +1 -1
  126. package/dist/cdn/{TS6R5IK4.js → WNPNOONU.js} +1 -1
  127. package/dist/cdn/{ZNGJAGTZ.js → WU5PDRBJ.js} +1 -1
  128. package/dist/cdn/{UT3IREUB.js → XG4B2C5X.js} +1 -1
  129. package/dist/cdn/{VP3UYOHO.js → XGJCQM35.js} +1 -1
  130. package/dist/cdn/{SDDCAWLS.js → XM3R5LHF.js} +1 -1
  131. package/dist/cdn/{66FRAAIX.js → XPMPRYRP.js} +1 -1
  132. package/dist/cdn/{K76VTOP3.js → XT336ZH2.js} +1 -1
  133. package/dist/cdn/{UVD3MS5W.js → Y5F3HQZT.js} +1 -1
  134. package/dist/cdn/{LS43N4RX.js → YCSY3IMN.js} +1 -1
  135. package/dist/cdn/{A56N4SUK.js → YGOIXBFK.js} +1 -1
  136. package/dist/cdn/{D4VDP2CJ.js → YQ5EBNWH.js} +1 -1
  137. package/dist/cdn/{B64URJTB.js → YRYTBKSO.js} +1 -1
  138. package/dist/cdn/{UZZGN37F.js → Z676GS42.js} +1 -1
  139. package/dist/cdn/{4EC2NTV4.js → ZAQOJFC2.js} +1 -1
  140. package/dist/cdn/{FEJWDUDH.js → ZFFCVUVW.js} +1 -1
  141. package/dist/cdn/{33AXJNE7.js → ZG6W5Q6E.js} +1 -1
  142. package/dist/cdn/{SXMZWDUQ.js → ZYSPWQNI.js} +1 -1
  143. package/dist/cdn/{QR2CY34G.js → ZZ4SXAKR.js} +1 -1
  144. package/dist/cdn/ZZWQQ7NP.js +2 -0
  145. package/dist/cdn/index.js +1 -1
  146. package/dist/chunks/runtime.js +3 -3
  147. package/dist/components/calcite-table/customElement.d.ts +6 -0
  148. package/dist/components/calcite-table/customElement.js +80 -5
  149. package/dist/components/calcite-table-cell/customElement.js +3 -2
  150. package/dist/components/calcite-table-header/customElement.js +1 -1
  151. package/dist/components/calcite-table-row/customElement.js +26 -15
  152. package/dist/docs/api.json +1 -1
  153. package/dist/docs/docs.json +1 -1
  154. package/dist/docs/vscode.html-custom-data.json +1 -1
  155. package/dist/docs/web-types.json +1 -1
  156. package/dist/loader.js +3 -3
  157. package/dist/types/lumina.d.ts +1 -1
  158. package/dist/types/preact.d.ts +1 -1
  159. package/dist/types/react.d.ts +1 -1
  160. package/dist/types/stencil.d.ts +1 -1
  161. package/package.json +2 -2
  162. package/dist/cdn/KBUGK427.js +0 -2
  163. package/dist/cdn/PZX674UB.js +0 -2
  164. package/dist/cdn/TEGKCRK6.js +0 -2
  165. package/dist/cdn/TNG5UZWM.js +0 -2
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, html, render } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { f as focusElementInGroup } from "../../chunks/dom.js";
7
+ import { f as focusElementInGroup, D as getSlotAssignedElements } from "../../chunks/dom.js";
8
8
  import { i as isActivationKey } from "../../chunks/key.js";
9
9
  import { g as getIconScale } from "../../chunks/component.js";
10
10
  import { u as useInteractive } from "../../chunks/useInteractive.js";
@@ -17,12 +17,16 @@ const ICONS = {
17
17
  circleF: "circle-f",
18
18
  circle: "circle"
19
19
  };
20
- const styles = css`@charset "UTF-8";:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:contents}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) tr{pointer-events:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)) )}:host([selected]) calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color-selected, var(--calcite-color-foreground-1) )}tr{border-block-end:var(--calcite-border-width-sm) solid var(--calcite-table-row-border-color, transparent);background-color:var(--calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)))}tr.last-visible-row{border-block-end:0}@-moz-document url-prefix(){tr{box-shadow:inset 0 -1px 0 0 var(--calcite-table-row-border-color)}tr.last-visible-row{box-shadow:inset 0 -1px 0 0 transparent}}:host([item-hidden]){display:none}`;
20
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:contents}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) tr{pointer-events:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)) )}:host([slot=table-header]) tr{position:var(--calcite-internal-table-header-row-position);inset-block-start:var(--calcite-internal-table-header-offset, 0);z-index:var(--calcite-internal-table-header-z-index, calc(var(--calcite-z-index) + 1))}:host([selected]) calcite-table-cell{--calcite-internal-table-cell-background-color: var( --calcite-table-row-background-color-selected, var(--calcite-color-foreground-1) )}tr{--calcite-internal-table-row-border-block-end-width: var(--calcite-border-width-sm);--calcite-internal-table-row-border-block-end-color: var(--calcite-table-row-border-color, transparent);background-color:var(--calcite-table-row-background-color, var(--calcite-table-row-background, var(--calcite-color-foreground-1)))}tr.last-visible-row{--calcite-internal-table-row-border-block-end-width: 0;--calcite-internal-table-row-border-block-end-color: transparent}:host([item-hidden]){display:none}`;
21
21
  class TableRow extends LitElement {
22
22
  constructor() {
23
23
  super();
24
+ this.numberedCellRef = createRef();
25
+ this.numberedHeaderRef = createRef();
24
26
  this.rowCells = [];
25
- this.tableRowSlotRef = createRef();
27
+ this.rowSlotRef = createRef();
28
+ this.selectionCellRef = createRef();
29
+ this.selectionHeaderRef = createRef();
26
30
  this.userTriggered = false;
27
31
  this._selected = false;
28
32
  this.clickHandler = () => {
@@ -42,6 +46,7 @@ class TableRow extends LitElement {
42
46
  this.interactionMode = "interactive";
43
47
  this.lastVisibleRow = false;
44
48
  this.numbered = false;
49
+ this.stickyHeaderEnabled = false;
45
50
  this.selectionMode = "none";
46
51
  this.calciteInternalTableRowFocusRequest = createEvent({ cancelable: false });
47
52
  this.calciteInternalTableRowSelect = createEvent({ cancelable: false });
@@ -49,7 +54,7 @@ class TableRow extends LitElement {
49
54
  this.listenOn(document, "calciteInternalTableRowFocusChange", this.calciteInternalTableRowFocusChangeHandler);
50
55
  }
51
56
  static {
52
- this.properties = { alignment: [3, {}, { reflect: true }], itemHidden: [7, {}, { reflect: true, type: Boolean }], bodyRowCount: [9, {}, { type: Number }], cellCount: [9, {}, { type: Number }], disabled: [7, {}, { reflect: true, type: Boolean }], interactionMode: 1, lastVisibleRow: [5, {}, { type: Boolean }], numbered: [5, {}, { type: Boolean }], positionAll: [9, {}, { type: Number }], positionSection: [9, {}, { type: Number }], positionSectionLocalized: 1, readCellContentsToAT: [5, {}, { type: Boolean }], rowType: 1, scale: 1, selected: [7, {}, { reflect: true, type: Boolean }], selectedRowCount: [9, {}, { type: Number }], selectedRowCountLocalized: 1, selectionMode: 1 };
57
+ this.properties = { alignment: [3, {}, { reflect: true }], itemHidden: [7, {}, { reflect: true, type: Boolean }], bodyRowCount: [9, {}, { type: Number }], cellCount: [9, {}, { type: Number }], disabled: [7, {}, { reflect: true, type: Boolean }], interactionMode: 1, lastVisibleRow: [5, {}, { type: Boolean }], numbered: [5, {}, { type: Boolean }], positionAll: [9, {}, { type: Number }], positionSection: [9, {}, { type: Number }], positionSectionLocalized: 1, readCellContentsToAT: [5, {}, { type: Boolean }], rowType: 1, scale: 1, stickyHeaderEnabled: [5, {}, { type: Boolean }], selected: [7, {}, { reflect: true, type: Boolean }], selectedRowCount: [9, {}, { type: Number }], selectedRowCountLocalized: 1, selectionMode: 1 };
53
58
  }
54
59
  static {
55
60
  this.styles = styles;
@@ -79,7 +84,7 @@ class TableRow extends LitElement {
79
84
  }
80
85
  }
81
86
  loaded() {
82
- if (this.tableRowEl && this.rowCells.length > 0) {
87
+ if (this.rowCells.length > 0) {
83
88
  this.updateCells();
84
89
  }
85
90
  }
@@ -87,12 +92,12 @@ class TableRow extends LitElement {
87
92
  this.updateCells();
88
93
  }
89
94
  handleCellChanges() {
90
- if (this.tableRowEl && this.rowCells.length > 0) {
95
+ if (this.rowCells.length > 0) {
91
96
  this.updateCells();
92
97
  }
93
98
  }
94
99
  handleDelayedCellChanges() {
95
- if (this.tableRowEl && this.rowCells.length > 0) {
100
+ if (this.rowCells.length > 0) {
96
101
  requestAnimationFrame(() => this.updateCells());
97
102
  }
98
103
  }
@@ -180,10 +185,14 @@ class TableRow extends LitElement {
180
185
  }
181
186
  updateCells() {
182
187
  const alignment = this.alignment ? this.alignment : this.rowType !== "head" ? "center" : "start";
183
- const slottedCells = this.tableRowSlotRef.value?.assignedElements({ flatten: true })?.filter((el) => el.matches("calcite-table-cell") || el.matches("calcite-table-header")) ?? [];
184
- const tableRowEls = this.tableRowEl?.querySelectorAll("calcite-table-header, calcite-table-cell");
185
- const renderedCells = tableRowEls ? Array.from(tableRowEls).filter((el) => el.numberCell || el.selectionCell) : void 0;
186
- const cells = renderedCells ? renderedCells.concat(slottedCells) : slottedCells;
188
+ const slottedCells = this.rowSlotRef.value ? getSlotAssignedElements(this.rowSlotRef.value, "calcite-table-cell, calcite-table-header") : [];
189
+ const renderedCells = [
190
+ this.numberedCellRef.value,
191
+ this.numberedHeaderRef.value,
192
+ this.selectionCellRef.value,
193
+ this.selectionHeaderRef.value
194
+ ].filter((cell) => cell != null);
195
+ const cells = renderedCells.concat(slottedCells);
187
196
  if (cells.length > 0) {
188
197
  cells?.forEach((cell, index) => {
189
198
  cell.interactionMode = this.interactionMode;
@@ -194,8 +203,11 @@ class TableRow extends LitElement {
194
203
  cell.positionInRow = index + 1;
195
204
  cell.scale = this.scale;
196
205
  if (cell.nodeName === "CALCITE-TABLE-CELL") {
206
+ const rowSpan = cell.rowSpan || 1;
207
+ const reachesBodyEnd = this.rowType === "body" && rowSpan > 1 && this.positionSection + rowSpan >= this.bodyRowCount;
197
208
  cell.readCellContentsToAT = this.readCellContentsToAT;
198
209
  cell.disabled = this.disabled;
210
+ cell.reachesBodyEnd = reachesBodyEnd;
199
211
  }
200
212
  });
201
213
  }
@@ -215,18 +227,17 @@ class TableRow extends LitElement {
215
227
  return html`<calcite-icon .icon=${icon} .scale=${getIconScale(this.scale)}></calcite-icon>`;
216
228
  }
217
229
  renderSelectableCell() {
218
- return this.rowType === "head" ? keyed("selection-head", html`<calcite-table-header alignment=center .bodyRowCount=${this.bodyRowCount} @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .selectedRowCount=${this.selectedRowCount} .selectedRowCountLocalized=${this.selectedRowCountLocalized} .selectionCell=${true} .selectionMode=${this.selectionMode}></calcite-table-header>`) : this.rowType === "body" ? keyed("selection-body", html`<calcite-table-cell alignment=center @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .parentRowIsSelected=${this.selected} .parentRowPositionLocalized=${this.positionSectionLocalized} .selectionCell=${true}>${this.renderSelectionIcon()}</calcite-table-cell>`) : keyed("selection-foot", html`<calcite-table-cell alignment=center .parentRowAlignment=${this.alignment} .selectionCell=${true}></calcite-table-cell>`);
230
+ return this.rowType === "head" ? keyed("selection-head", html`<calcite-table-header alignment=center .bodyRowCount=${this.bodyRowCount} @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .selectedRowCount=${this.selectedRowCount} .selectedRowCountLocalized=${this.selectedRowCountLocalized} .selectionCell=${true} .selectionMode=${this.selectionMode} ${ref(this.selectionHeaderRef)}></calcite-table-header>`) : this.rowType === "body" ? keyed("selection-body", html`<calcite-table-cell alignment=center @click=${this.clickHandler} @keydown=${this.handleKeyboardSelection} .parentRowAlignment=${this.alignment} .parentRowIsSelected=${this.selected} .parentRowPositionLocalized=${this.positionSectionLocalized} .selectionCell=${true} ${ref(this.selectionCellRef)}>${this.renderSelectionIcon()}</calcite-table-cell>`) : keyed("selection-foot", html`<calcite-table-cell alignment=center .parentRowAlignment=${this.alignment} .selectionCell=${true} ${ref(this.selectionCellRef)}></calcite-table-cell>`);
219
231
  }
220
232
  renderNumberedCell() {
221
- return this.rowType === "head" ? keyed("numbered-head", html`<calcite-table-header alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment}></calcite-table-header>`) : this.rowType === "body" ? keyed("numbered-body", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment}>${this.positionSectionLocalized}</calcite-table-cell>`) : keyed("numbered-foot", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment}></calcite-table-cell>`);
233
+ return this.rowType === "head" ? keyed("numbered-head", html`<calcite-table-header alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment} ${ref(this.numberedHeaderRef)}></calcite-table-header>`) : this.rowType === "body" ? keyed("numbered-body", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment} ${ref(this.numberedCellRef)}>${this.positionSectionLocalized}</calcite-table-cell>`) : keyed("numbered-foot", html`<calcite-table-cell alignment=center .numberCell=${true} .parentRowAlignment=${this.alignment} ${ref(this.numberedCellRef)}></calcite-table-cell>`);
222
234
  }
223
235
  render() {
224
236
  return this.interactiveContainer({ disabled: this.disabled, children: html`<tr .ariaRowIndex=${this.positionAll + 1} .ariaSelected=${this.selected} class=${safeClassMap({ [CSS.lastVisibleRow]: this.lastVisibleRow })} @keydown=${this.keyDownHandler} ${ref((el) => {
225
237
  if (!el) {
226
238
  return;
227
239
  }
228
- this.tableRowEl = el;
229
- render(html`${this.numbered && this.renderNumberedCell() || ""}${this.selectionMode !== "none" && this.renderSelectableCell() || ""}<slot ${ref(this.tableRowSlotRef)}></slot>`, el);
240
+ render(html`${this.numbered && this.renderNumberedCell() || ""}${this.selectionMode !== "none" && this.renderSelectableCell() || ""}<slot ${ref(this.rowSlotRef)}></slot>`, el);
230
241
  })}></tr>` });
231
242
  }
232
243
  }