@xplortech/apollo-core 3.1.0 → 3.2.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 (493) hide show
  1. package/.typings/apollo-components.html-data.json +120 -14
  2. package/build/components/avatar.css +1 -1
  3. package/build/components/data-card.css +1 -1
  4. package/build/components/dropdown.css +1 -1
  5. package/build/components/input-time.css +1 -1
  6. package/build/components/large-card.css +1 -1
  7. package/build/components/list-item.css +1 -1
  8. package/build/components/modal.css +1 -1
  9. package/build/components/popover.css +1 -1
  10. package/build/components/side-nav.css +1 -1
  11. package/build/components/spotlight.css +1 -1
  12. package/build/components/table-cell-base.css +1 -0
  13. package/build/components/table-cell.css +1 -0
  14. package/build/components/table-footer-cell.css +1 -1
  15. package/build/components/table-header-cell.css +1 -1
  16. package/build/components/table.css +1 -1
  17. package/build/components/tag.css +1 -1
  18. package/build/components/toast.css +1 -1
  19. package/build/components/toggle.css +1 -1
  20. package/build/components/toolbar.css +1 -1
  21. package/build/components/tooltip.css +1 -1
  22. package/build/components/top-nav.css +1 -1
  23. package/build/components-manifest.json +19 -3
  24. package/build/core.css +1 -1
  25. package/build/style.css +1 -1
  26. package/build/variables/apollo.css +4 -0
  27. package/build/variables/field-edge.css +4 -0
  28. package/build/vendor/flatpickr.css +1 -1
  29. package/dist/apollo-core/apollo-core.css +1 -1
  30. package/dist/apollo-core/apollo-core.esm.js +1 -1
  31. package/dist/apollo-core/p-045a4538.entry.js +1 -0
  32. package/dist/apollo-core/{p-d443291f.entry.js → p-050a8bf2.entry.js} +1 -1
  33. package/dist/apollo-core/p-08767607.entry.js +1 -0
  34. package/dist/apollo-core/{p-149ddd12.entry.js → p-11914cd4.entry.js} +1 -1
  35. package/dist/apollo-core/{p-581b702c.entry.js → p-14e86de8.entry.js} +1 -1
  36. package/dist/apollo-core/p-194c0ccd.entry.js +1 -0
  37. package/dist/apollo-core/p-1c031055.entry.js +1 -0
  38. package/dist/apollo-core/p-24f7280a.entry.js +1 -0
  39. package/dist/apollo-core/{p-47bda204.entry.js → p-24fa8a03.entry.js} +1 -1
  40. package/dist/apollo-core/{p-91895c40.entry.js → p-2971e2ec.entry.js} +1 -1
  41. package/dist/apollo-core/{p-0958c719.entry.js → p-3417c1ce.entry.js} +1 -1
  42. package/dist/apollo-core/p-3713cd77.entry.js +1 -0
  43. package/dist/apollo-core/p-386851a2.entry.js +1 -0
  44. package/dist/apollo-core/p-3cd1238b.entry.js +1 -0
  45. package/dist/apollo-core/p-45c872d2.entry.js +1 -0
  46. package/dist/apollo-core/{p-b45179fb.entry.js → p-49531864.entry.js} +1 -1
  47. package/dist/apollo-core/p-4e3c6616.entry.js +1 -0
  48. package/dist/apollo-core/p-5b9fd96e.entry.js +1 -0
  49. package/dist/apollo-core/p-5c3be343.entry.js +1 -0
  50. package/dist/apollo-core/p-5cbf5d42.entry.js +1 -0
  51. package/dist/apollo-core/p-5ec2b180.entry.js +1 -0
  52. package/dist/apollo-core/{p-790709c0.entry.js → p-64f5c129.entry.js} +1 -1
  53. package/dist/apollo-core/{p-28bce81a.entry.js → p-65f6b66c.entry.js} +1 -1
  54. package/dist/apollo-core/{p-d9070ae5.entry.js → p-715baae0.entry.js} +1 -1
  55. package/dist/apollo-core/p-72e0455f.entry.js +1 -0
  56. package/dist/apollo-core/p-7ac7fbc0.entry.js +1 -0
  57. package/dist/apollo-core/p-7d70e089.entry.js +1 -0
  58. package/dist/apollo-core/{p-d41b8f46.entry.js → p-7eb02cf3.entry.js} +1 -1
  59. package/dist/apollo-core/p-7f4463ff.entry.js +1 -0
  60. package/dist/apollo-core/p-808f3d9c.entry.js +1 -0
  61. package/dist/apollo-core/p-87582346.entry.js +1 -0
  62. package/dist/apollo-core/{p-2c995d80.entry.js → p-8f8f4759.entry.js} +1 -1
  63. package/dist/apollo-core/{p-5d9a593e.entry.js → p-907bc21e.entry.js} +1 -1
  64. package/dist/apollo-core/p-9905c77c.entry.js +1 -0
  65. package/dist/apollo-core/{p-54903322.entry.js → p-9d731673.entry.js} +1 -1
  66. package/dist/apollo-core/{p-2938ab4f.entry.js → p-9feaa8be.entry.js} +1 -1
  67. package/dist/apollo-core/p-O7gQjVdS.js +1 -0
  68. package/dist/apollo-core/p-a6ecca68.entry.js +1 -0
  69. package/dist/apollo-core/p-a789c272.entry.js +1 -0
  70. package/dist/apollo-core/{p-06a9a27b.entry.js → p-aeb2bcb8.entry.js} +1 -1
  71. package/dist/apollo-core/p-b3b4678b.entry.js +1 -0
  72. package/dist/apollo-core/{p-82812126.entry.js → p-b64ed46d.entry.js} +1 -1
  73. package/dist/apollo-core/{p-0368a1df.entry.js → p-bc821e69.entry.js} +1 -1
  74. package/dist/apollo-core/p-bd493c4a.entry.js +1 -0
  75. package/dist/apollo-core/p-bdcece21.entry.js +1 -0
  76. package/dist/apollo-core/{p-cdb5b5c4.entry.js → p-bfb7a83a.entry.js} +1 -1
  77. package/dist/apollo-core/{p-cdacfcd4.entry.js → p-c22f70f4.entry.js} +1 -1
  78. package/dist/apollo-core/{p-5730d96c.entry.js → p-c5bc3b2c.entry.js} +1 -1
  79. package/dist/apollo-core/{p-4ad79534.entry.js → p-ca83003e.entry.js} +1 -1
  80. package/dist/apollo-core/p-d3230277.entry.js +1 -0
  81. package/dist/apollo-core/p-d3ada7d0.entry.js +1 -0
  82. package/dist/apollo-core/{p-d0bc7c45.entry.js → p-d469bf5d.entry.js} +1 -1
  83. package/dist/apollo-core/p-d7f8ee34.entry.js +1 -0
  84. package/dist/apollo-core/p-d879c349.entry.js +1 -0
  85. package/dist/apollo-core/{p-2139f9f6.entry.js → p-df257cbf.entry.js} +1 -1
  86. package/dist/apollo-core/p-e09d8beb.entry.js +1 -0
  87. package/dist/apollo-core/p-e4d50301.entry.js +1 -0
  88. package/dist/apollo-core/{p-f3a2c79b.entry.js → p-ea9cdd65.entry.js} +1 -1
  89. package/dist/apollo-core/{p-ca4652b3.entry.js → p-eba654a3.entry.js} +1 -1
  90. package/dist/apollo-core/{p-4a2323b3.entry.js → p-ee68bed6.entry.js} +1 -1
  91. package/dist/apollo-core/{p-abdf199b.entry.js → p-f384a990.entry.js} +1 -1
  92. package/dist/apollo-core/{p-4d4acd1f.entry.js → p-f579e4b0.entry.js} +1 -1
  93. package/dist/apollo-core/{p-d724c419.entry.js → p-fcb17ff9.entry.js} +1 -1
  94. package/dist/apollo-core/{p-e2890eb1.entry.js → p-ff16f574.entry.js} +1 -1
  95. package/dist/cjs/apollo-core.cjs.js +1 -1
  96. package/dist/cjs/index-3cBvw409.js +8 -12
  97. package/dist/cjs/loader.cjs.js +1 -1
  98. package/dist/cjs/table-internal-DssCrBs_.js +67 -0
  99. package/dist/cjs/xpl-accordion.cjs.entry.js +2 -2
  100. package/dist/cjs/xpl-application-shell.cjs.entry.js +1 -1
  101. package/dist/cjs/xpl-avatar_3.cjs.entry.js +4 -4
  102. package/dist/cjs/xpl-backdrop.cjs.entry.js +1 -1
  103. package/dist/cjs/xpl-badge.cjs.entry.js +1 -1
  104. package/dist/cjs/xpl-banner.cjs.entry.js +2 -2
  105. package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +1 -1
  106. package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +1 -1
  107. package/dist/cjs/xpl-button-row.cjs.entry.js +1 -1
  108. package/dist/cjs/xpl-button.cjs.entry.js +1 -1
  109. package/dist/cjs/xpl-calendar.cjs.entry.js +1 -1
  110. package/dist/cjs/xpl-checkbox.cjs.entry.js +3 -3
  111. package/dist/cjs/xpl-choicelist.cjs.entry.js +1 -1
  112. package/dist/cjs/xpl-content-area.cjs.entry.js +1 -1
  113. package/dist/cjs/xpl-dashboard.cjs.entry.js +1 -1
  114. package/dist/cjs/xpl-data-card.cjs.entry.js +2 -2
  115. package/dist/cjs/xpl-dropdown_4.cjs.entry.js +8 -8
  116. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +2 -2
  117. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +2 -2
  118. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +2 -2
  119. package/dist/cjs/xpl-grid-item.cjs.entry.js +1 -1
  120. package/dist/cjs/xpl-grid.cjs.entry.js +1 -1
  121. package/dist/cjs/xpl-header-accordion.cjs.entry.js +1 -1
  122. package/dist/cjs/xpl-icon.cjs.entry.js +2 -2
  123. package/dist/cjs/xpl-input-color.cjs.entry.js +8 -8
  124. package/dist/cjs/xpl-input-phone.cjs.entry.js +5 -5
  125. package/dist/cjs/xpl-input-time.cjs.entry.js +2 -2
  126. package/dist/cjs/xpl-input_4.cjs.entry.js +10 -10
  127. package/dist/cjs/xpl-large-card.cjs.entry.js +1 -1
  128. package/dist/cjs/xpl-list.cjs.entry.js +2 -2
  129. package/dist/cjs/xpl-main-nav.cjs.entry.js +1 -1
  130. package/dist/cjs/xpl-modal.cjs.entry.js +1 -1
  131. package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +2 -2
  132. package/dist/cjs/xpl-nav-item.cjs.entry.js +2 -2
  133. package/dist/cjs/xpl-pagination.cjs.entry.js +4 -4
  134. package/dist/cjs/xpl-panel.cjs.entry.js +2 -2
  135. package/dist/cjs/xpl-popover.cjs.entry.js +4 -4
  136. package/dist/cjs/xpl-progress-bar.cjs.entry.js +2 -2
  137. package/dist/cjs/xpl-progress-indicator.cjs.entry.js +1 -1
  138. package/dist/cjs/xpl-secondary-nav.cjs.entry.js +1 -1
  139. package/dist/cjs/xpl-select_2.cjs.entry.js +9 -9
  140. package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +2 -2
  141. package/dist/cjs/xpl-side-nav-item.cjs.entry.js +2 -2
  142. package/dist/cjs/xpl-side-nav-section.cjs.entry.js +5 -5
  143. package/dist/cjs/xpl-side-nav.cjs.entry.js +2 -2
  144. package/dist/cjs/xpl-skeleton.cjs.entry.js +1 -1
  145. package/dist/cjs/xpl-slideout.cjs.entry.js +1 -1
  146. package/dist/cjs/xpl-tab-panel.cjs.entry.js +2 -2
  147. package/dist/cjs/xpl-table-body.cjs.entry.js +1 -1
  148. package/dist/cjs/xpl-table-cell_3.cjs.entry.js +228 -0
  149. package/dist/cjs/xpl-table-footer.cjs.entry.js +1 -1
  150. package/dist/cjs/xpl-table-header.cjs.entry.js +1 -1
  151. package/dist/cjs/xpl-table-row.cjs.entry.js +43 -2
  152. package/dist/cjs/xpl-table.cjs.entry.js +1204 -80
  153. package/dist/cjs/xpl-tabs.cjs.entry.js +5 -5
  154. package/dist/cjs/xpl-toast.cjs.entry.js +2 -2
  155. package/dist/cjs/xpl-toggle.cjs.entry.js +3 -3
  156. package/dist/cjs/xpl-toolbar.cjs.entry.js +2 -2
  157. package/dist/cjs/xpl-tooltip.cjs.entry.js +1 -1
  158. package/dist/cjs/xpl-top-nav-item.cjs.entry.js +2 -2
  159. package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +2 -2
  160. package/dist/cjs/xpl-top-nav.cjs.entry.js +5 -5
  161. package/dist/cjs/xpl-utility-bar.cjs.entry.js +1 -1
  162. package/dist/collection/collection-manifest.json +2 -1
  163. package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
  164. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  165. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  166. package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
  167. package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
  168. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  169. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  170. package/dist/collection/components/xpl-button/xpl-button.js +1 -1
  171. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  172. package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
  173. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +3 -3
  174. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
  175. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  176. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  177. package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
  178. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  179. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
  180. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  181. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
  182. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +4 -4
  183. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
  184. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
  185. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
  186. package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
  187. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  188. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
  189. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
  190. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
  191. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
  192. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
  193. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +5 -5
  194. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
  195. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
  196. package/dist/collection/components/xpl-input/xpl-input.js +2 -2
  197. package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
  198. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  199. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  200. package/dist/collection/components/xpl-modal/xpl-modal.js +1 -1
  201. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  202. package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
  203. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  204. package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
  205. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  206. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  207. package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
  208. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  209. package/dist/collection/components/xpl-select/xpl-select.js +7 -7
  210. package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +2 -2
  211. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +2 -2
  212. package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +5 -5
  213. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +2 -2
  214. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  215. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  216. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  217. package/dist/collection/components/xpl-table/utils/move-row-dom.js +50 -0
  218. package/dist/collection/components/xpl-table/utils/table-internal.js +57 -0
  219. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +1 -1
  220. package/dist/collection/components/xpl-table/xpl-table-cell/xpl-table-cell.js +167 -0
  221. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +1 -1
  222. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +2 -2
  223. package/dist/collection/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.js +402 -0
  224. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +44 -2
  225. package/dist/collection/components/xpl-table/xpl-table.js +1427 -116
  226. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  227. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  228. package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
  229. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  230. package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
  231. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  232. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  233. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  234. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  235. package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +2 -2
  236. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  237. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  238. package/dist/components/index.d.ts +3 -1
  239. package/dist/components/index.js +1 -1
  240. package/dist/components/{p-oIn1krdu.js → p-1D7CWIJ-.js} +1 -1
  241. package/dist/components/{p-xtOHikY0.js → p-2cJsJK3-.js} +1 -1
  242. package/dist/components/{p-DYmvElhR.js → p-8zrW9vEC.js} +1 -1
  243. package/dist/components/p-B56GeUtW.js +1 -0
  244. package/dist/components/p-B6YLKDUX.js +1 -0
  245. package/dist/components/{p-D--kzomA.js → p-B7aaJikj.js} +1 -1
  246. package/dist/components/{p-U0JYwf4c.js → p-BOm_p_mz.js} +1 -1
  247. package/dist/components/p-BZIZSovL.js +1 -0
  248. package/dist/components/{p-xFsB212F.js → p-Btb2UkLz.js} +1 -1
  249. package/dist/components/{p-DAb-txW3.js → p-C0AbGd4t.js} +1 -1
  250. package/dist/components/p-CFXvQqUO.js +1 -0
  251. package/dist/components/{p-l3EZ-agL.js → p-CQjJIHK6.js} +1 -1
  252. package/dist/components/{p-Chpgh5SL.js → p-CV5nn1zR.js} +1 -1
  253. package/dist/components/p-CdRmVtIN.js +1 -0
  254. package/dist/components/p-CgemLtmL.js +1 -0
  255. package/dist/components/p-CmbpWpb0.js +1 -0
  256. package/dist/components/p-CuVYRPvz.js +1 -0
  257. package/dist/components/{p-JyNpXfDe.js → p-D09sGbzs.js} +1 -1
  258. package/dist/components/{p-BdpZR4KO.js → p-DTh_zemx.js} +1 -1
  259. package/dist/components/{p-CiHTfk3E.js → p-DoVubWyd.js} +1 -1
  260. package/dist/components/p-Dp62sBqX.js +1 -0
  261. package/dist/components/p-DqgnC_vS.js +1 -0
  262. package/dist/components/p-DtV4i45B.js +1 -0
  263. package/dist/components/{p-wIU7KUhA.js → p-ohy3NrgH.js} +1 -1
  264. package/dist/components/p-rLxtqgsy.js +1 -0
  265. package/dist/components/xpl-accordion.js +1 -1
  266. package/dist/components/xpl-application-shell.js +1 -1
  267. package/dist/components/xpl-avatar.js +1 -1
  268. package/dist/components/xpl-backdrop.js +1 -1
  269. package/dist/components/xpl-badge.js +1 -1
  270. package/dist/components/xpl-banner.js +1 -1
  271. package/dist/components/xpl-breadcrumb-item.js +1 -1
  272. package/dist/components/xpl-breadcrumbs.js +1 -1
  273. package/dist/components/xpl-button-row.js +1 -1
  274. package/dist/components/xpl-button.js +1 -1
  275. package/dist/components/xpl-calendar.js +1 -1
  276. package/dist/components/xpl-checkbox.js +1 -1
  277. package/dist/components/xpl-choicelist.js +1 -1
  278. package/dist/components/xpl-content-area.js +1 -1
  279. package/dist/components/xpl-dashboard.js +1 -1
  280. package/dist/components/xpl-data-card.js +1 -1
  281. package/dist/components/xpl-divider.js +1 -1
  282. package/dist/components/xpl-dropdown-group.js +1 -1
  283. package/dist/components/xpl-dropdown-heading.js +1 -1
  284. package/dist/components/xpl-dropdown-option.js +1 -1
  285. package/dist/components/xpl-dropdown.js +1 -1
  286. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  287. package/dist/components/xpl-dynamic-table-row.js +1 -1
  288. package/dist/components/xpl-dynamic-table.js +1 -1
  289. package/dist/components/xpl-grid-item.js +1 -1
  290. package/dist/components/xpl-grid.js +1 -1
  291. package/dist/components/xpl-header-accordion.js +1 -1
  292. package/dist/components/xpl-icon.js +1 -1
  293. package/dist/components/xpl-input-color.js +1 -1
  294. package/dist/components/xpl-input-date.js +1 -1
  295. package/dist/components/xpl-input-file.js +1 -1
  296. package/dist/components/xpl-input-phone.js +1 -1
  297. package/dist/components/xpl-input-search.js +1 -1
  298. package/dist/components/xpl-input-time.js +1 -1
  299. package/dist/components/xpl-input.js +1 -1
  300. package/dist/components/xpl-large-card.js +1 -1
  301. package/dist/components/xpl-list-item.js +1 -1
  302. package/dist/components/xpl-list.js +1 -1
  303. package/dist/components/xpl-main-nav.js +1 -1
  304. package/dist/components/xpl-modal.js +1 -1
  305. package/dist/components/xpl-nav-header-menu.js +1 -1
  306. package/dist/components/xpl-nav-item.js +1 -1
  307. package/dist/components/xpl-pagination.js +1 -1
  308. package/dist/components/xpl-panel.js +1 -1
  309. package/dist/components/xpl-popover.js +1 -1
  310. package/dist/components/xpl-progress-bar.js +1 -1
  311. package/dist/components/xpl-progress-indicator.js +1 -1
  312. package/dist/components/xpl-radio.js +1 -1
  313. package/dist/components/xpl-secondary-nav.js +1 -1
  314. package/dist/components/xpl-select.js +1 -1
  315. package/dist/components/xpl-side-nav-header-item.js +1 -1
  316. package/dist/components/xpl-side-nav-item.js +1 -1
  317. package/dist/components/xpl-side-nav-section.js +1 -1
  318. package/dist/components/xpl-side-nav.js +1 -1
  319. package/dist/components/xpl-skeleton.js +1 -1
  320. package/dist/components/xpl-slideout.js +1 -1
  321. package/dist/components/xpl-spotlight.js +1 -1
  322. package/dist/components/xpl-tab-panel.js +1 -1
  323. package/dist/components/xpl-tab.js +1 -1
  324. package/dist/components/xpl-table-body.js +1 -1
  325. package/dist/components/xpl-table-cell.d.ts +11 -0
  326. package/dist/components/xpl-table-cell.js +1 -0
  327. package/dist/components/xpl-table-footer-cell.js +1 -1
  328. package/dist/components/xpl-table-footer.js +1 -1
  329. package/dist/components/xpl-table-header-cell.js +1 -1
  330. package/dist/components/xpl-table-header.js +1 -1
  331. package/dist/components/xpl-table-row.js +1 -1
  332. package/dist/components/xpl-table.js +1 -1
  333. package/dist/components/xpl-tabs.js +1 -1
  334. package/dist/components/xpl-tag.js +1 -1
  335. package/dist/components/xpl-toast.js +1 -1
  336. package/dist/components/xpl-toggle.js +1 -1
  337. package/dist/components/xpl-toolbar.js +1 -1
  338. package/dist/components/xpl-tooltip.js +1 -1
  339. package/dist/components/xpl-top-nav-item.js +1 -1
  340. package/dist/components/xpl-top-nav-menu.js +1 -1
  341. package/dist/components/xpl-top-nav.js +1 -1
  342. package/dist/components/xpl-utility-bar.js +1 -1
  343. package/dist/docs/xpl-avatar/readme.md +1 -1
  344. package/dist/docs/xpl-checkbox/readme.md +1 -3
  345. package/dist/docs/xpl-data-card/readme.md +1 -1
  346. package/dist/docs/xpl-dynamic-table/readme.md +4 -1
  347. package/dist/docs/xpl-dynamic-table-cell/readme.md +2 -0
  348. package/dist/docs/xpl-dynamic-table-row/readme.md +2 -0
  349. package/dist/docs/xpl-icon/readme.md +1 -1
  350. package/dist/docs/xpl-input/xpl-input-time/readme.md +1 -1
  351. package/dist/docs/xpl-large-card/readme.md +1 -1
  352. package/dist/docs/xpl-modal/readme.md +2 -2
  353. package/dist/docs/xpl-popover/readme.md +1 -2
  354. package/dist/docs/xpl-slideout/readme.md +1 -1
  355. package/dist/docs/xpl-spotlight/readme.md +1 -0
  356. package/dist/docs/xpl-table/readme.md +178 -20
  357. package/dist/docs/xpl-table/xpl-table-body/readme.md +4 -4
  358. package/dist/docs/xpl-table/xpl-table-cell/readme.md +53 -0
  359. package/dist/docs/xpl-table/xpl-table-footer/readme.md +4 -4
  360. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +24 -15
  361. package/dist/docs/xpl-table/xpl-table-header-cell/readme.md +84 -0
  362. package/dist/docs/xpl-table/xpl-table-row/readme.md +18 -14
  363. package/dist/docs/xpl-toast/readme.md +2 -2
  364. package/dist/docs/xpl-toggle/readme.md +1 -1
  365. package/dist/docs/xpl-toolbar/readme.md +5 -3
  366. package/dist/docs/xpl-tooltip/readme.md +1 -2
  367. package/dist/docs.json +776 -113
  368. package/dist/esm/apollo-core.js +1 -1
  369. package/dist/esm/index-ukZKsqqq.js +8 -12
  370. package/dist/esm/loader.js +1 -1
  371. package/dist/esm/table-internal-O7gQjVdS.js +59 -0
  372. package/dist/esm/xpl-accordion.entry.js +2 -2
  373. package/dist/esm/xpl-application-shell.entry.js +1 -1
  374. package/dist/esm/xpl-avatar_3.entry.js +4 -4
  375. package/dist/esm/xpl-backdrop.entry.js +1 -1
  376. package/dist/esm/xpl-badge.entry.js +1 -1
  377. package/dist/esm/xpl-banner.entry.js +2 -2
  378. package/dist/esm/xpl-breadcrumb-item.entry.js +1 -1
  379. package/dist/esm/xpl-breadcrumbs.entry.js +1 -1
  380. package/dist/esm/xpl-button-row.entry.js +1 -1
  381. package/dist/esm/xpl-button.entry.js +1 -1
  382. package/dist/esm/xpl-calendar.entry.js +1 -1
  383. package/dist/esm/xpl-checkbox.entry.js +3 -3
  384. package/dist/esm/xpl-choicelist.entry.js +1 -1
  385. package/dist/esm/xpl-content-area.entry.js +1 -1
  386. package/dist/esm/xpl-dashboard.entry.js +1 -1
  387. package/dist/esm/xpl-data-card.entry.js +2 -2
  388. package/dist/esm/xpl-dropdown_4.entry.js +8 -8
  389. package/dist/esm/xpl-dynamic-table-cell.entry.js +2 -2
  390. package/dist/esm/xpl-dynamic-table-row.entry.js +2 -2
  391. package/dist/esm/xpl-dynamic-table.entry.js +2 -2
  392. package/dist/esm/xpl-grid-item.entry.js +1 -1
  393. package/dist/esm/xpl-grid.entry.js +1 -1
  394. package/dist/esm/xpl-header-accordion.entry.js +1 -1
  395. package/dist/esm/xpl-icon.entry.js +2 -2
  396. package/dist/esm/xpl-input-color.entry.js +8 -8
  397. package/dist/esm/xpl-input-phone.entry.js +5 -5
  398. package/dist/esm/xpl-input-time.entry.js +2 -2
  399. package/dist/esm/xpl-input_4.entry.js +10 -10
  400. package/dist/esm/xpl-large-card.entry.js +1 -1
  401. package/dist/esm/xpl-list.entry.js +2 -2
  402. package/dist/esm/xpl-main-nav.entry.js +1 -1
  403. package/dist/esm/xpl-modal.entry.js +1 -1
  404. package/dist/esm/xpl-nav-header-menu.entry.js +2 -2
  405. package/dist/esm/xpl-nav-item.entry.js +2 -2
  406. package/dist/esm/xpl-pagination.entry.js +4 -4
  407. package/dist/esm/xpl-panel.entry.js +2 -2
  408. package/dist/esm/xpl-popover.entry.js +4 -4
  409. package/dist/esm/xpl-progress-bar.entry.js +2 -2
  410. package/dist/esm/xpl-progress-indicator.entry.js +1 -1
  411. package/dist/esm/xpl-secondary-nav.entry.js +1 -1
  412. package/dist/esm/xpl-select_2.entry.js +9 -9
  413. package/dist/esm/xpl-side-nav-header-item.entry.js +2 -2
  414. package/dist/esm/xpl-side-nav-item.entry.js +2 -2
  415. package/dist/esm/xpl-side-nav-section.entry.js +5 -5
  416. package/dist/esm/xpl-side-nav.entry.js +2 -2
  417. package/dist/esm/xpl-skeleton.entry.js +1 -1
  418. package/dist/esm/xpl-slideout.entry.js +1 -1
  419. package/dist/esm/xpl-tab-panel.entry.js +2 -2
  420. package/dist/esm/xpl-table-body.entry.js +1 -1
  421. package/dist/esm/xpl-table-cell_3.entry.js +224 -0
  422. package/dist/esm/xpl-table-footer.entry.js +1 -1
  423. package/dist/esm/xpl-table-header.entry.js +1 -1
  424. package/dist/esm/xpl-table-row.entry.js +44 -3
  425. package/dist/esm/xpl-table.entry.js +1204 -80
  426. package/dist/esm/xpl-tabs.entry.js +5 -5
  427. package/dist/esm/xpl-toast.entry.js +2 -2
  428. package/dist/esm/xpl-toggle.entry.js +3 -3
  429. package/dist/esm/xpl-toolbar.entry.js +2 -2
  430. package/dist/esm/xpl-tooltip.entry.js +1 -1
  431. package/dist/esm/xpl-top-nav-item.entry.js +2 -2
  432. package/dist/esm/xpl-top-nav-menu.entry.js +2 -2
  433. package/dist/esm/xpl-top-nav.entry.js +5 -5
  434. package/dist/esm/xpl-utility-bar.entry.js +1 -1
  435. package/dist/types/components/xpl-table/utils/move-row-dom.d.ts +3 -0
  436. package/dist/types/components/xpl-table/utils/table-internal.d.ts +8 -0
  437. package/dist/types/components/xpl-table/xpl-table-cell/xpl-table-cell.d.ts +11 -0
  438. package/dist/types/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.d.ts +33 -0
  439. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +7 -0
  440. package/dist/types/components/xpl-table/xpl-table.d.ts +126 -22
  441. package/dist/types/components.d.ts +238 -60
  442. package/hydrate/index.js +1670 -266
  443. package/hydrate/index.mjs +1670 -266
  444. package/package.json +7 -7
  445. package/dist/apollo-core/p-056a99e4.entry.js +0 -1
  446. package/dist/apollo-core/p-068e3532.entry.js +0 -1
  447. package/dist/apollo-core/p-0a0a6e43.entry.js +0 -1
  448. package/dist/apollo-core/p-1a94c2d9.entry.js +0 -1
  449. package/dist/apollo-core/p-2faa7b9c.entry.js +0 -1
  450. package/dist/apollo-core/p-30b1b700.entry.js +0 -1
  451. package/dist/apollo-core/p-32084caf.entry.js +0 -1
  452. package/dist/apollo-core/p-38586952.entry.js +0 -1
  453. package/dist/apollo-core/p-50fae269.entry.js +0 -1
  454. package/dist/apollo-core/p-60cb3cfb.entry.js +0 -1
  455. package/dist/apollo-core/p-722b145a.entry.js +0 -1
  456. package/dist/apollo-core/p-75e5bfe0.entry.js +0 -1
  457. package/dist/apollo-core/p-77fe3cc1.entry.js +0 -1
  458. package/dist/apollo-core/p-83bb7607.entry.js +0 -1
  459. package/dist/apollo-core/p-8664d88b.entry.js +0 -1
  460. package/dist/apollo-core/p-8a925e9d.entry.js +0 -1
  461. package/dist/apollo-core/p-9064badb.entry.js +0 -1
  462. package/dist/apollo-core/p-969d5cca.entry.js +0 -1
  463. package/dist/apollo-core/p-99a79cf4.entry.js +0 -1
  464. package/dist/apollo-core/p-ae8a5f66.entry.js +0 -1
  465. package/dist/apollo-core/p-af8ebf49.entry.js +0 -1
  466. package/dist/apollo-core/p-b29025b2.entry.js +0 -1
  467. package/dist/apollo-core/p-b5a61076.entry.js +0 -1
  468. package/dist/apollo-core/p-bf7d8e18.entry.js +0 -1
  469. package/dist/apollo-core/p-c48e4884.entry.js +0 -1
  470. package/dist/apollo-core/p-cb5b15c2.entry.js +0 -1
  471. package/dist/apollo-core/p-cc57f20d.entry.js +0 -1
  472. package/dist/apollo-core/p-dca48977.entry.js +0 -1
  473. package/dist/apollo-core/p-e1833287.entry.js +0 -1
  474. package/dist/apollo-core/p-e2b73b60.entry.js +0 -1
  475. package/dist/apollo-core/p-e7e445b0.entry.js +0 -1
  476. package/dist/apollo-core/p-f1c103ff.entry.js +0 -1
  477. package/dist/apollo-core/p-ffc2f0cf.entry.js +0 -1
  478. package/dist/cjs/xpl-table-footer-cell.cjs.entry.js +0 -18
  479. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +0 -59
  480. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +0 -190
  481. package/dist/components/p-9VnxPQLs.js +0 -1
  482. package/dist/components/p-B2oLZUDD.js +0 -1
  483. package/dist/components/p-BYYFsuD3.js +0 -1
  484. package/dist/components/p-BZtxVB1R.js +0 -1
  485. package/dist/components/p-CnVGKN63.js +0 -1
  486. package/dist/components/p-Cz7zDaI4.js +0 -1
  487. package/dist/components/p-D4rv6CNJ.js +0 -1
  488. package/dist/components/p-EfW0v54z.js +0 -1
  489. package/dist/components/p-YG9Jza0y.js +0 -1
  490. package/dist/docs/xpl-table-header-cell/readme.md +0 -47
  491. package/dist/esm/xpl-table-footer-cell.entry.js +0 -16
  492. package/dist/esm/xpl-table-header-cell.entry.js +0 -57
  493. package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +0 -13
@@ -16,6 +16,8 @@ import { BadgePalette, BadgeVariantProp as BadgeVariantProp1 } from "./component
16
16
  import { PopoverPosition } from "./components/xpl-popover/xpl-popover";
17
17
  import { Placement as Placement1 } from "@floating-ui/dom";
18
18
  import { SpotlightActionLayout, SpotlightAnchorPosition } from "./components/xpl-spotlight/xpl-spotlight";
19
+ import { XplTableRowOrderChangeDetail, XplTableSortChangedDetail } from "./components/xpl-table/xpl-table";
20
+ import { HeaderSortChangeDetail } from "./components/xpl-table/xpl-table-header-cell/xpl-table-header-cell";
19
21
  import { TagDragEndDetail, TagDragStartDetail } from "./components/xpl-tag/xpl-tag";
20
22
  export { AvatarColor, AvatarGroupItem, AvatarStatus, AvatarVariant } from "./components/xpl-avatar/xpl-avatar";
21
23
  export { BadgeVariantProp } from "./components/xpl-badge/xpl-badge";
@@ -28,6 +30,8 @@ export { BadgePalette, BadgeVariantProp as BadgeVariantProp1 } from "./component
28
30
  export { PopoverPosition } from "./components/xpl-popover/xpl-popover";
29
31
  export { Placement as Placement1 } from "@floating-ui/dom";
30
32
  export { SpotlightActionLayout, SpotlightAnchorPosition } from "./components/xpl-spotlight/xpl-spotlight";
33
+ export { XplTableRowOrderChangeDetail, XplTableSortChangedDetail } from "./components/xpl-table/xpl-table";
34
+ export { HeaderSortChangeDetail } from "./components/xpl-table/xpl-table-header-cell/xpl-table-header-cell";
31
35
  export { TagDragEndDetail, TagDragStartDetail } from "./components/xpl-tag/xpl-tag";
32
36
  export namespace Components {
33
37
  /**
@@ -2032,44 +2036,66 @@ export namespace Components {
2032
2036
  "target": string;
2033
2037
  }
2034
2038
  /**
2039
+ * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
2035
2040
  * @since 0.1.1
2036
2041
  */
2037
2042
  interface XplTable {
2038
2043
  /**
2039
- * The header values for each column.
2044
+ * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The header values for each column.
2040
2045
  */
2041
2046
  "columns"?: string[];
2042
2047
  /**
2043
- * The data for the body of the table.
2048
+ * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The data for the body of the table.
2044
2049
  */
2045
2050
  "data"?: string[][];
2046
2051
  /**
2047
- * The data for the footer of the table.
2052
+ * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The data for the footer of the table.
2048
2053
  */
2049
2054
  "footer"?: string[][];
2050
2055
  /**
2051
- * When true, the first column of the table is sticky and will cover the leftmost rows in a horizontally scrollable container.
2056
+ * When true, the first **data** column (per row) is sticky during horizontal scroll. Leading compositional columns are skipped: `selectable` (checkbox) and/or `row-reorderable` (grip) are not frozen so they scroll with the grid; the next column stays pinned at `left: 0`.
2052
2057
  */
2053
2058
  "freeze"?: boolean;
2054
2059
  /**
2055
- * Toggles to show the sort button on each table head
2060
+ * @deprecated Legacy data-driven table API only. May be removed in a future major release. Toggles to show the sort button on each table head.
2056
2061
  * @default false
2057
2062
  */
2058
- "isSortable": boolean;
2063
+ "isSortable"?: boolean;
2064
+ /**
2065
+ * Accessible label for the table. Maps to `aria-label` in compositional mode.
2066
+ */
2067
+ "label"?: string;
2059
2068
  /**
2060
- * Toggles a selectable checkbox for each row in the table
2069
+ * @deprecated Legacy data-driven table API only. May be removed in a future major release. Toggles a selectable checkbox for each row in the table.
2061
2070
  */
2062
2071
  "multiselect"?: boolean;
2063
2072
  /**
2064
- * The values for the input for each row when multiselect is activated.
2073
+ * Icon name for the optional `xpl-icon` inside each **managed** reorder grip when the row is **not** in keyboard reorder mode (pointer / idle). Set to `""` to omit the icon so you can style the button or author a fully custom reorder column in markup. When omitted, defaults to `grip-dots-vertical`.
2074
+ */
2075
+ "reorderHandleIcon"?: string;
2076
+ /**
2077
+ * Icon name for the managed reorder grip **while that row is in keyboard reorder mode** (after the user activates the grip with Enter or Space). Use a different icon than `reorder-handle-icon` so users can see they should use arrow keys. When omitted, defaults to `caret-expand-y` (same as `xpl-list` keyboard reorder). Set to `""` to show no icon in keyboard mode only (combine with CSS on `.xpl-table__row-drag-handle--keyboard-mode` if needed).
2078
+ */
2079
+ "reorderHandleIconKeyboard"?: string;
2080
+ /**
2081
+ * When true (compositional mode only), **prepends** a managed reorder column as the **first** grid column (empty header + grip button per body row) and enables HTML5 drag-and-drop row reordering (same interaction model as `xpl-list`). With `selectable`, DOM order is **reorder | selection | data** unless you author a custom reorder column. The table updates the DOM and emits `rowOrderChange`; consumers should persist order if needed. Ignored in legacy `columns`/`data` mode.
2082
+ * @default false
2083
+ */
2084
+ "rowReorderable": boolean;
2085
+ /**
2086
+ * When true (compositional mode only), enables row selection state, the selection toolbar (“N Selected”), and `rowSelectionChange`. **You must add the selection column in your markup:** a header cell with `type="checkbox"`, a body cell containing `xpl-checkbox` per row (aligned with that column), and matching `xpl-table-footer-cell` cells when you use a footer. Each body row should use `row-id` on `xpl-table-row` (or accept auto-generated ids) so `rowSelectionChange` can report `selectedRowIds`. The toolbar uses the same layout as `xpl-toolbar` and is visible only while at least one row is selected. Use `toolbar-actions-left` / `toolbar-actions-right` slots on this host for bulk actions.
2087
+ */
2088
+ "selectable"?: boolean;
2089
+ /**
2090
+ * @deprecated Legacy data-driven table API only. May be removed in a future major release. The values for the input for each row when multiselect is activated.
2065
2091
  * @default []
2066
2092
  */
2067
- "selectedValues": string[];
2093
+ "selectedValues"?: string[];
2068
2094
  /**
2069
- * Manually determined if the column is sortable
2095
+ * @deprecated Use the compositional slot-based API instead. Will be removed in a future major release. Manually determined if the column is sortable.
2070
2096
  * @default []
2071
2097
  */
2072
- "sortableColumns": boolean[];
2098
+ "sortableColumns"?: boolean[];
2073
2099
  /**
2074
2100
  * Toggles an optional styling of the background of each even row of the table body.
2075
2101
  */
@@ -2077,6 +2103,28 @@ export namespace Components {
2077
2103
  }
2078
2104
  interface XplTableBody {
2079
2105
  }
2106
+ interface XplTableCell {
2107
+ /**
2108
+ * Horizontal text alignment within the cell.
2109
+ * @default 'left'
2110
+ */
2111
+ "align": 'left' | 'right' | 'center';
2112
+ /**
2113
+ * Renders cell text in bold (--xpl-font-weight-semibold).
2114
+ * @default false
2115
+ */
2116
+ "bold": boolean;
2117
+ /**
2118
+ * Whether the cell and its interactive children are disabled. Set automatically by xpl-table-row.
2119
+ * @default false
2120
+ */
2121
+ "disabled": boolean;
2122
+ /**
2123
+ * Adds an underline to cell text.
2124
+ * @default false
2125
+ */
2126
+ "underline": boolean;
2127
+ }
2080
2128
  interface XplTableFooter {
2081
2129
  }
2082
2130
  interface XplTableFooterCell {
@@ -2091,31 +2139,59 @@ export namespace Components {
2091
2139
  */
2092
2140
  interface XplTableHeader {
2093
2141
  }
2094
- /**
2095
- * @since 1.3.0
2096
- */
2097
2142
  interface XplTableHeaderCell {
2143
+ /**
2144
+ * Horizontal text alignment within the header cell.
2145
+ * @default 'left'
2146
+ */
2147
+ "align": 'left' | 'right' | 'center';
2148
+ /**
2149
+ * Accessible name for the header checkbox (native `aria-label`). Defaults to “Select all rows” when `type` is `checkbox`.
2150
+ */
2151
+ "checkboxAriaLabel"?: string;
2152
+ /**
2153
+ * Whether the header checkbox is checked
2154
+ * @default false
2155
+ */
2156
+ "checked": boolean;
2157
+ /**
2158
+ * CSS grid track size for this column (e.g. `1fr`, `minmax(120px, 1fr)`, `auto`). When set, overrides `width`. Use this when you need flexible columns; default layout uses `auto` per column unless you set a track here.
2159
+ */
2160
+ "columnWidth"?: string;
2098
2161
  /**
2099
2162
  * Icon to display in the cell. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names.
2100
2163
  */
2101
2164
  "icon"?: string;
2102
2165
  /**
2103
- * @property {string} - Text to display in the cell
2166
+ * Whether the checkbox is in indeterminate (partially selected) state
2167
+ * @default false
2168
+ */
2169
+ "indeterminate": boolean;
2170
+ /**
2171
+ * Text to display in the cell.
2104
2172
  * @default ''
2105
2173
  */
2106
2174
  "label"?: string;
2107
2175
  /**
2108
- * @property {boolean} - Whether the cell is sortable or not
2176
+ * Active sort direction for this column when `sortable`. Set by `xpl-table` when used inside a compositional table; may be set by the app for controlled updates.
2177
+ */
2178
+ "sortDirection"?: 'asc' | 'desc' | null;
2179
+ /**
2180
+ * When `sortable` is true, optional stable id used as the key in `sortChanged`’s detail object. Falls back to a slug of `label` when omitted.
2181
+ */
2182
+ "sortKey"?: string;
2183
+ /**
2184
+ * When true (and `type` is `label`), renders a sort control (button + affordance icon).
2109
2185
  * @default false
2110
2186
  */
2111
- "sortable"?: boolean;
2187
+ "sortable": boolean;
2112
2188
  /**
2113
- * @property {string} - The type of cell to render
2189
+ * The type of cell to render. **Reflected** to the host `type` attribute so `xpl-table` (and CSS `[type="checkbox"]`) can find the selection column after frameworks set the prop without syncing the attribute (e.g. Vue `:type="'checkbox'"`).
2114
2190
  * @default 'label'
2115
2191
  */
2116
- "type": 'label' | 'checkbox' | 'icon';
2192
+ "type": 'label' | 'checkbox' | 'icon' | 'empty';
2117
2193
  /**
2118
- * @property {number} - Width of the cell, in pixels. Minimum width is 48px. If no value is provided, it will default to fit the content of the cell with 16px of padding on each side
2194
+ * Fixed width for this column in pixels (minimum 48px). Sets the grid track to `Npx`. Ignored when `columnWidth` is set. When omitted, the column track defaults to `auto` (content-sized).
2119
2195
  */
2120
2196
  "width"?: number;
2121
2197
  }
@@ -3558,14 +3634,13 @@ declare global {
3558
3634
  new (): HTMLXplTabPanelElement;
3559
3635
  };
3560
3636
  interface HTMLXplTableElementEventMap {
3637
+ "rowOrderChange": XplTableRowOrderChangeDetail;
3638
+ "rowSelectionChange": { selectedRowIds: string[] };
3639
+ "sortChanged": XplTableSortChangedDetail;
3561
3640
  "tableSelect": any;
3562
- "sortChanged": {
3563
- colNum: number;
3564
- colName: string;
3565
- sortTypeArr: ('asc' | 'desc' | null)[];
3566
- };
3567
3641
  }
3568
3642
  /**
3643
+ * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
3569
3644
  * @since 0.1.1
3570
3645
  */
3571
3646
  interface HTMLXplTableElement extends Components.XplTable, HTMLStencilElement {
@@ -3588,6 +3663,12 @@ declare global {
3588
3663
  prototype: HTMLXplTableBodyElement;
3589
3664
  new (): HTMLXplTableBodyElement;
3590
3665
  };
3666
+ interface HTMLXplTableCellElement extends Components.XplTableCell, HTMLStencilElement {
3667
+ }
3668
+ var HTMLXplTableCellElement: {
3669
+ prototype: HTMLXplTableCellElement;
3670
+ new (): HTMLXplTableCellElement;
3671
+ };
3591
3672
  interface HTMLXplTableFooterElement extends Components.XplTableFooter, HTMLStencilElement {
3592
3673
  }
3593
3674
  var HTMLXplTableFooterElement: {
@@ -3610,11 +3691,9 @@ declare global {
3610
3691
  new (): HTMLXplTableHeaderElement;
3611
3692
  };
3612
3693
  interface HTMLXplTableHeaderCellElementEventMap {
3613
- "sortChanged": 'asc' | 'desc' | 'none';
3694
+ "headerCheckboxChange": boolean;
3695
+ "headerSortChange": HeaderSortChangeDetail;
3614
3696
  }
3615
- /**
3616
- * @since 1.3.0
3617
- */
3618
3697
  interface HTMLXplTableHeaderCellElement extends Components.XplTableHeaderCell, HTMLStencilElement {
3619
3698
  addEventListener<K extends keyof HTMLXplTableHeaderCellElementEventMap>(type: K, listener: (this: HTMLXplTableHeaderCellElement, ev: XplTableHeaderCellCustomEvent<HTMLXplTableHeaderCellElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3620
3699
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -3911,6 +3990,7 @@ declare global {
3911
3990
  "xpl-tab-panel": HTMLXplTabPanelElement;
3912
3991
  "xpl-table": HTMLXplTableElement;
3913
3992
  "xpl-table-body": HTMLXplTableBodyElement;
3993
+ "xpl-table-cell": HTMLXplTableCellElement;
3914
3994
  "xpl-table-footer": HTMLXplTableFooterElement;
3915
3995
  "xpl-table-footer-cell": HTMLXplTableFooterCellElement;
3916
3996
  "xpl-table-header": HTMLXplTableHeaderElement;
@@ -6115,53 +6195,79 @@ declare namespace LocalJSX {
6115
6195
  "target"?: string;
6116
6196
  }
6117
6197
  /**
6198
+ * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
6118
6199
  * @since 0.1.1
6119
6200
  */
6120
6201
  interface XplTable {
6121
6202
  /**
6122
- * The header values for each column.
6203
+ * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The header values for each column.
6123
6204
  */
6124
6205
  "columns"?: string[];
6125
6206
  /**
6126
- * The data for the body of the table.
6207
+ * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The data for the body of the table.
6127
6208
  */
6128
6209
  "data"?: string[][];
6129
6210
  /**
6130
- * The data for the footer of the table.
6211
+ * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The data for the footer of the table.
6131
6212
  */
6132
6213
  "footer"?: string[][];
6133
6214
  /**
6134
- * When true, the first column of the table is sticky and will cover the leftmost rows in a horizontally scrollable container.
6215
+ * When true, the first **data** column (per row) is sticky during horizontal scroll. Leading compositional columns are skipped: `selectable` (checkbox) and/or `row-reorderable` (grip) are not frozen so they scroll with the grid; the next column stays pinned at `left: 0`.
6135
6216
  */
6136
6217
  "freeze"?: boolean;
6137
6218
  /**
6138
- * Toggles to show the sort button on each table head
6219
+ * @deprecated Legacy data-driven table API only. May be removed in a future major release. Toggles to show the sort button on each table head.
6139
6220
  * @default false
6140
6221
  */
6141
6222
  "isSortable"?: boolean;
6142
6223
  /**
6143
- * Toggles a selectable checkbox for each row in the table
6224
+ * Accessible label for the table. Maps to `aria-label` in compositional mode.
6225
+ */
6226
+ "label"?: string;
6227
+ /**
6228
+ * @deprecated Legacy data-driven table API only. May be removed in a future major release. Toggles a selectable checkbox for each row in the table.
6144
6229
  */
6145
6230
  "multiselect"?: boolean;
6146
6231
  /**
6147
- * Emits an event whenever the sort changes. The 'sortChanged' event passes an object with colNum (number), colName (string), sortTypeArr(('asc' | 'desc' | null)[]). The default action can be overridden by calling event.preventDefault().
6232
+ * Emitted after body rows are reordered via drag-and-drop (compositional `row-reorderable` mode).
6148
6233
  */
6149
- "onSortChanged"?: (event: XplTableCustomEvent<{
6150
- colNum: number;
6151
- colName: string;
6152
- sortTypeArr: ('asc' | 'desc' | null)[];
6153
- }>) => void;
6234
+ "onRowOrderChange"?: (event: XplTableCustomEvent<XplTableRowOrderChangeDetail>) => void;
6154
6235
  /**
6155
- * Callback function that is called when the checkbox for a row of a `multiselect` table is checked
6236
+ * Emitted when row selection changes in compositional `selectable` mode (`bubbles: false`, `composed: true`). Listen on this `xpl-table` instance only; the event does not bubble to parents—use `table.addEventListener('rowSelectionChange', …)` on the same element. When wiring from a script in static HTML, wait for `customElements.whenDefined('xpl-table')` so the host is ready. (Named `rowSelectionChange` to avoid clashing with the native `selectionchange` event.)
6237
+ */
6238
+ "onRowSelectionChange"?: (event: XplTableCustomEvent<{ selectedRowIds: string[] }>) => void;
6239
+ /**
6240
+ * Emitted when sort changes in **legacy** or **compositional** mode. `event.detail` is a plain object: **sort-key slug → `'asc' | 'desc' | null`** (null = that column not sorted). Keys match legacy column titles (slugified) or compositional `sort-key` / label slugs. Call `event.preventDefault()` in legacy mode to skip built-in row sorting; compositional tables do not reorder rows automatically.
6241
+ */
6242
+ "onSortChanged"?: (event: XplTableCustomEvent<XplTableSortChangedDetail>) => void;
6243
+ /**
6244
+ * Callback function that is called when the checkbox for a row of a `multiselect` table is checked.
6156
6245
  */
6157
6246
  "onTableSelect"?: (event: XplTableCustomEvent<any>) => void;
6158
6247
  /**
6159
- * The values for the input for each row when multiselect is activated.
6248
+ * Icon name for the optional `xpl-icon` inside each **managed** reorder grip when the row is **not** in keyboard reorder mode (pointer / idle). Set to `""` to omit the icon so you can style the button or author a fully custom reorder column in markup. When omitted, defaults to `grip-dots-vertical`.
6249
+ */
6250
+ "reorderHandleIcon"?: string;
6251
+ /**
6252
+ * Icon name for the managed reorder grip **while that row is in keyboard reorder mode** (after the user activates the grip with Enter or Space). Use a different icon than `reorder-handle-icon` so users can see they should use arrow keys. When omitted, defaults to `caret-expand-y` (same as `xpl-list` keyboard reorder). Set to `""` to show no icon in keyboard mode only (combine with CSS on `.xpl-table__row-drag-handle--keyboard-mode` if needed).
6253
+ */
6254
+ "reorderHandleIconKeyboard"?: string;
6255
+ /**
6256
+ * When true (compositional mode only), **prepends** a managed reorder column as the **first** grid column (empty header + grip button per body row) and enables HTML5 drag-and-drop row reordering (same interaction model as `xpl-list`). With `selectable`, DOM order is **reorder | selection | data** unless you author a custom reorder column. The table updates the DOM and emits `rowOrderChange`; consumers should persist order if needed. Ignored in legacy `columns`/`data` mode.
6257
+ * @default false
6258
+ */
6259
+ "rowReorderable"?: boolean;
6260
+ /**
6261
+ * When true (compositional mode only), enables row selection state, the selection toolbar (“N Selected”), and `rowSelectionChange`. **You must add the selection column in your markup:** a header cell with `type="checkbox"`, a body cell containing `xpl-checkbox` per row (aligned with that column), and matching `xpl-table-footer-cell` cells when you use a footer. Each body row should use `row-id` on `xpl-table-row` (or accept auto-generated ids) so `rowSelectionChange` can report `selectedRowIds`. The toolbar uses the same layout as `xpl-toolbar` and is visible only while at least one row is selected. Use `toolbar-actions-left` / `toolbar-actions-right` slots on this host for bulk actions.
6262
+ */
6263
+ "selectable"?: boolean;
6264
+ /**
6265
+ * @deprecated Legacy data-driven table API only. May be removed in a future major release. The values for the input for each row when multiselect is activated.
6160
6266
  * @default []
6161
6267
  */
6162
6268
  "selectedValues"?: string[];
6163
6269
  /**
6164
- * Manually determined if the column is sortable
6270
+ * @deprecated Use the compositional slot-based API instead. Will be removed in a future major release. Manually determined if the column is sortable.
6165
6271
  * @default []
6166
6272
  */
6167
6273
  "sortableColumns"?: boolean[];
@@ -6172,6 +6278,28 @@ declare namespace LocalJSX {
6172
6278
  }
6173
6279
  interface XplTableBody {
6174
6280
  }
6281
+ interface XplTableCell {
6282
+ /**
6283
+ * Horizontal text alignment within the cell.
6284
+ * @default 'left'
6285
+ */
6286
+ "align"?: 'left' | 'right' | 'center';
6287
+ /**
6288
+ * Renders cell text in bold (--xpl-font-weight-semibold).
6289
+ * @default false
6290
+ */
6291
+ "bold"?: boolean;
6292
+ /**
6293
+ * Whether the cell and its interactive children are disabled. Set automatically by xpl-table-row.
6294
+ * @default false
6295
+ */
6296
+ "disabled"?: boolean;
6297
+ /**
6298
+ * Adds an underline to cell text.
6299
+ * @default false
6300
+ */
6301
+ "underline"?: boolean;
6302
+ }
6175
6303
  interface XplTableFooter {
6176
6304
  }
6177
6305
  interface XplTableFooterCell {
@@ -6186,35 +6314,67 @@ declare namespace LocalJSX {
6186
6314
  */
6187
6315
  interface XplTableHeader {
6188
6316
  }
6189
- /**
6190
- * @since 1.3.0
6191
- */
6192
6317
  interface XplTableHeaderCell {
6318
+ /**
6319
+ * Horizontal text alignment within the header cell.
6320
+ * @default 'left'
6321
+ */
6322
+ "align"?: 'left' | 'right' | 'center';
6323
+ /**
6324
+ * Accessible name for the header checkbox (native `aria-label`). Defaults to “Select all rows” when `type` is `checkbox`.
6325
+ */
6326
+ "checkboxAriaLabel"?: string;
6327
+ /**
6328
+ * Whether the header checkbox is checked
6329
+ * @default false
6330
+ */
6331
+ "checked"?: boolean;
6332
+ /**
6333
+ * CSS grid track size for this column (e.g. `1fr`, `minmax(120px, 1fr)`, `auto`). When set, overrides `width`. Use this when you need flexible columns; default layout uses `auto` per column unless you set a track here.
6334
+ */
6335
+ "columnWidth"?: string;
6193
6336
  /**
6194
6337
  * Icon to display in the cell. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names.
6195
6338
  */
6196
6339
  "icon"?: string;
6197
6340
  /**
6198
- * @property {string} - Text to display in the cell
6341
+ * Whether the checkbox is in indeterminate (partially selected) state
6342
+ * @default false
6343
+ */
6344
+ "indeterminate"?: boolean;
6345
+ /**
6346
+ * Text to display in the cell.
6199
6347
  * @default ''
6200
6348
  */
6201
6349
  "label"?: string;
6202
6350
  /**
6203
- * Emitted when the sort direction changes.
6351
+ * Emitted when header checkbox changes
6352
+ */
6353
+ "onHeaderCheckboxChange"?: (event: XplTableHeaderCellCustomEvent<boolean>) => void;
6354
+ /**
6355
+ * Emitted when a sortable label header is activated. Parent `xpl-table` coordinates columns and emits `sortChanged`.
6356
+ */
6357
+ "onHeaderSortChange"?: (event: XplTableHeaderCellCustomEvent<HeaderSortChangeDetail>) => void;
6358
+ /**
6359
+ * Active sort direction for this column when `sortable`. Set by `xpl-table` when used inside a compositional table; may be set by the app for controlled updates.
6360
+ */
6361
+ "sortDirection"?: 'asc' | 'desc' | null;
6362
+ /**
6363
+ * When `sortable` is true, optional stable id used as the key in `sortChanged`’s detail object. Falls back to a slug of `label` when omitted.
6204
6364
  */
6205
- "onSortChanged"?: (event: XplTableHeaderCellCustomEvent<'asc' | 'desc' | 'none'>) => void;
6365
+ "sortKey"?: string;
6206
6366
  /**
6207
- * @property {boolean} - Whether the cell is sortable or not
6367
+ * When true (and `type` is `label`), renders a sort control (button + affordance icon).
6208
6368
  * @default false
6209
6369
  */
6210
6370
  "sortable"?: boolean;
6211
6371
  /**
6212
- * @property {string} - The type of cell to render
6372
+ * The type of cell to render. **Reflected** to the host `type` attribute so `xpl-table` (and CSS `[type="checkbox"]`) can find the selection column after frameworks set the prop without syncing the attribute (e.g. Vue `:type="'checkbox'"`).
6213
6373
  * @default 'label'
6214
6374
  */
6215
- "type"?: 'label' | 'checkbox' | 'icon';
6375
+ "type"?: 'label' | 'checkbox' | 'icon' | 'empty';
6216
6376
  /**
6217
- * @property {number} - Width of the cell, in pixels. Minimum width is 48px. If no value is provided, it will default to fit the content of the cell with 16px of padding on each side
6377
+ * Fixed width for this column in pixels (minimum 48px). Sets the grid track to `Npx`. Ignored when `columnWidth` is set. When omitted, the column track defaults to `auto` (content-sized).
6218
6378
  */
6219
6379
  "width"?: number;
6220
6380
  }
@@ -7048,18 +7208,36 @@ declare namespace LocalJSX {
7048
7208
  }
7049
7209
  interface XplTableAttributes {
7050
7210
  "freeze": boolean;
7211
+ "isSortable": boolean;
7212
+ "label": string;
7051
7213
  "multiselect": boolean;
7214
+ "reorderHandleIcon": string;
7215
+ "reorderHandleIconKeyboard": string;
7216
+ "rowReorderable": boolean;
7217
+ "selectable": boolean;
7052
7218
  "striped": boolean;
7053
- "isSortable": boolean;
7219
+ }
7220
+ interface XplTableCellAttributes {
7221
+ "align": 'left' | 'right' | 'center';
7222
+ "bold": boolean;
7223
+ "disabled": boolean;
7224
+ "underline": boolean;
7054
7225
  }
7055
7226
  interface XplTableFooterCellAttributes {
7056
7227
  "align": 'center' | 'left' | 'right';
7057
7228
  }
7058
7229
  interface XplTableHeaderCellAttributes {
7230
+ "align": 'left' | 'right' | 'center';
7231
+ "checkboxAriaLabel": string;
7232
+ "checked": boolean;
7233
+ "columnWidth": string;
7059
7234
  "icon": string;
7060
- "sortable": boolean;
7235
+ "indeterminate": boolean;
7061
7236
  "label": string;
7062
- "type": 'label' | 'checkbox' | 'icon';
7237
+ "sortDirection": 'asc' | 'desc' | null;
7238
+ "sortKey": string;
7239
+ "sortable": boolean;
7240
+ "type": 'label' | 'checkbox' | 'icon' | 'empty';
7063
7241
  "width": number;
7064
7242
  }
7065
7243
  interface XplTableRowAttributes {
@@ -7201,6 +7379,7 @@ declare namespace LocalJSX {
7201
7379
  "xpl-tab-panel": Omit<XplTabPanel, keyof XplTabPanelAttributes> & { [K in keyof XplTabPanel & keyof XplTabPanelAttributes]?: XplTabPanel[K] } & { [K in keyof XplTabPanel & keyof XplTabPanelAttributes as `attr:${K}`]?: XplTabPanelAttributes[K] } & { [K in keyof XplTabPanel & keyof XplTabPanelAttributes as `prop:${K}`]?: XplTabPanel[K] };
7202
7380
  "xpl-table": Omit<XplTable, keyof XplTableAttributes> & { [K in keyof XplTable & keyof XplTableAttributes]?: XplTable[K] } & { [K in keyof XplTable & keyof XplTableAttributes as `attr:${K}`]?: XplTableAttributes[K] } & { [K in keyof XplTable & keyof XplTableAttributes as `prop:${K}`]?: XplTable[K] };
7203
7381
  "xpl-table-body": XplTableBody;
7382
+ "xpl-table-cell": Omit<XplTableCell, keyof XplTableCellAttributes> & { [K in keyof XplTableCell & keyof XplTableCellAttributes]?: XplTableCell[K] } & { [K in keyof XplTableCell & keyof XplTableCellAttributes as `attr:${K}`]?: XplTableCellAttributes[K] } & { [K in keyof XplTableCell & keyof XplTableCellAttributes as `prop:${K}`]?: XplTableCell[K] };
7204
7383
  "xpl-table-footer": XplTableFooter;
7205
7384
  "xpl-table-footer-cell": Omit<XplTableFooterCell, keyof XplTableFooterCellAttributes> & { [K in keyof XplTableFooterCell & keyof XplTableFooterCellAttributes]?: XplTableFooterCell[K] } & { [K in keyof XplTableFooterCell & keyof XplTableFooterCellAttributes as `attr:${K}`]?: XplTableFooterCellAttributes[K] } & { [K in keyof XplTableFooterCell & keyof XplTableFooterCellAttributes as `prop:${K}`]?: XplTableFooterCell[K] };
7206
7385
  "xpl-table-header": XplTableHeader;
@@ -7510,19 +7689,18 @@ declare module "@stencil/core" {
7510
7689
  */
7511
7690
  "xpl-tab-panel": LocalJSX.IntrinsicElements["xpl-tab-panel"] & JSXBase.HTMLAttributes<HTMLXplTabPanelElement>;
7512
7691
  /**
7692
+ * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
7513
7693
  * @since 0.1.1
7514
7694
  */
7515
7695
  "xpl-table": LocalJSX.IntrinsicElements["xpl-table"] & JSXBase.HTMLAttributes<HTMLXplTableElement>;
7516
7696
  "xpl-table-body": LocalJSX.IntrinsicElements["xpl-table-body"] & JSXBase.HTMLAttributes<HTMLXplTableBodyElement>;
7697
+ "xpl-table-cell": LocalJSX.IntrinsicElements["xpl-table-cell"] & JSXBase.HTMLAttributes<HTMLXplTableCellElement>;
7517
7698
  "xpl-table-footer": LocalJSX.IntrinsicElements["xpl-table-footer"] & JSXBase.HTMLAttributes<HTMLXplTableFooterElement>;
7518
7699
  "xpl-table-footer-cell": LocalJSX.IntrinsicElements["xpl-table-footer-cell"] & JSXBase.HTMLAttributes<HTMLXplTableFooterCellElement>;
7519
7700
  /**
7520
7701
  * @since 1.0.0
7521
7702
  */
7522
7703
  "xpl-table-header": LocalJSX.IntrinsicElements["xpl-table-header"] & JSXBase.HTMLAttributes<HTMLXplTableHeaderElement>;
7523
- /**
7524
- * @since 1.3.0
7525
- */
7526
7704
  "xpl-table-header-cell": LocalJSX.IntrinsicElements["xpl-table-header-cell"] & JSXBase.HTMLAttributes<HTMLXplTableHeaderCellElement>;
7527
7705
  "xpl-table-row": LocalJSX.IntrinsicElements["xpl-table-row"] & JSXBase.HTMLAttributes<HTMLXplTableRowElement>;
7528
7706
  /**