@xplortech/apollo-core 2.7.0 → 2.7.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 (263) hide show
  1. package/.typings/apollo-components.html-data.json +97 -180
  2. package/build/style.css +220 -951
  3. package/dist/apollo-core/apollo-core.css +5 -35
  4. package/dist/apollo-core/apollo-core.esm.js +1 -1
  5. package/dist/apollo-core/{p-6c956d4e.entry.js → p-0bf50890.entry.js} +1 -1
  6. package/dist/apollo-core/p-1947e7a8.entry.js +1 -0
  7. package/dist/apollo-core/p-27928cb0.entry.js +1 -0
  8. package/dist/apollo-core/p-34438721.entry.js +1 -0
  9. package/dist/apollo-core/p-35c2f72d.entry.js +1 -0
  10. package/dist/apollo-core/p-368c81f1.entry.js +1 -0
  11. package/dist/apollo-core/p-36ba29da.entry.js +1 -0
  12. package/dist/apollo-core/p-406b27a8.entry.js +1 -0
  13. package/dist/apollo-core/p-5d63b4ce.entry.js +1 -0
  14. package/dist/apollo-core/{p-7eb86c63.entry.js → p-6a15f1e0.entry.js} +1 -1
  15. package/dist/apollo-core/p-8d692d05.entry.js +1 -0
  16. package/dist/apollo-core/{p-28d12fd3.entry.js → p-b61d7952.entry.js} +1 -1
  17. package/dist/apollo-core/{p-084d26ed.entry.js → p-ca127ee8.entry.js} +1 -1
  18. package/dist/apollo-core/p-d1c9c233.entry.js +1 -0
  19. package/dist/apollo-core/p-dc205893.entry.js +1 -0
  20. package/dist/apollo-core/p-e2a5d41c.entry.js +1 -0
  21. package/dist/cjs/apollo-core.cjs.js +1 -1
  22. package/dist/cjs/index-BQ97-AWw.js +10 -2
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/cjs/xpl-accordion.cjs.entry.js +2 -2
  25. package/dist/cjs/xpl-application-shell.cjs.entry.js +1 -1
  26. package/dist/cjs/{xpl-avatar_61.cjs.entry.js → xpl-avatar_54.cjs.entry.js} +238 -1683
  27. package/dist/cjs/xpl-button-row.cjs.entry.js +1 -1
  28. package/dist/cjs/xpl-calendar.cjs.entry.js +1 -1
  29. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +2 -2
  30. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +2 -2
  31. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +1 -1
  32. package/dist/cjs/xpl-grid-item.cjs.entry.js +1 -1
  33. package/dist/cjs/xpl-grid.cjs.entry.js +1 -1
  34. package/dist/cjs/xpl-large-card.cjs.entry.js +1 -1
  35. package/dist/cjs/xpl-main-nav.cjs.entry.js +1 -1
  36. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +57 -0
  37. package/dist/cjs/xpl-table-header.cjs.entry.js +14 -0
  38. package/dist/cjs/xpl-toggle.cjs.entry.js +3 -3
  39. package/dist/cjs/xpl-toolbar.cjs.entry.js +2 -2
  40. package/dist/collection/collection-manifest.json +2 -7
  41. package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
  42. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  43. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  44. package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
  45. package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
  46. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  47. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  48. package/dist/collection/components/xpl-button/xpl-button.js +1 -1
  49. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  50. package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
  51. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +25 -25
  52. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
  53. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  54. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  55. package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
  56. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  57. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
  58. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  59. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
  60. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +77 -7
  61. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +1 -1
  62. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
  63. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
  64. package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
  65. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  66. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +53 -46
  67. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
  68. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
  69. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
  70. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
  71. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +5 -5
  72. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
  73. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
  74. package/dist/collection/components/xpl-input/xpl-input.js +2 -2
  75. package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
  76. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  77. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  78. package/dist/collection/components/xpl-modal/xpl-modal.js +1 -1
  79. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  80. package/dist/collection/components/xpl-pagination/pagination.stories.js +18 -0
  81. package/dist/collection/components/xpl-pagination/xpl-pagination.js +7 -3
  82. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  83. package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
  84. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  85. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  86. package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
  87. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  88. package/dist/collection/components/xpl-select/xpl-select.js +58 -6
  89. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +2 -2
  90. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +2 -2
  91. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  92. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  93. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  94. package/dist/collection/components/xpl-table/table.stories.js +67 -319
  95. package/dist/collection/components/xpl-table/xpl-table.js +151 -1456
  96. package/dist/collection/components/xpl-table-header/table-header.stories.js +126 -0
  97. package/dist/collection/components/xpl-table-header/xpl-table-header.js +7 -0
  98. package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +75 -0
  99. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +188 -0
  100. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  101. package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
  102. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  103. package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
  104. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  105. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  106. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  107. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  108. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  109. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  110. package/dist/components/index.js +1 -1
  111. package/dist/components/xpl-accordion.js +1 -1
  112. package/dist/components/xpl-application-shell.js +1 -1
  113. package/dist/components/xpl-backdrop2.js +1 -1
  114. package/dist/components/xpl-badge2.js +1 -1
  115. package/dist/components/xpl-banner.js +1 -1
  116. package/dist/components/xpl-breadcrumb-item.js +1 -1
  117. package/dist/components/xpl-breadcrumbs.js +1 -1
  118. package/dist/components/xpl-button-row.js +1 -1
  119. package/dist/components/xpl-button2.js +1 -1
  120. package/dist/components/xpl-calendar.js +1 -1
  121. package/dist/components/xpl-checkbox2.js +1 -1
  122. package/dist/components/xpl-choicelist.js +1 -1
  123. package/dist/components/xpl-content-area.js +1 -1
  124. package/dist/components/xpl-dashboard.js +1 -1
  125. package/dist/components/xpl-data-card.js +1 -1
  126. package/dist/components/xpl-divider2.js +1 -1
  127. package/dist/components/xpl-dropdown-group2.js +1 -1
  128. package/dist/components/xpl-dropdown-heading2.js +1 -1
  129. package/dist/components/xpl-dropdown-option2.js +1 -1
  130. package/dist/components/xpl-dropdown2.js +1 -1
  131. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  132. package/dist/components/xpl-dynamic-table-row.js +1 -1
  133. package/dist/components/xpl-dynamic-table.js +1 -1
  134. package/dist/components/xpl-grid-item.js +1 -1
  135. package/dist/components/xpl-grid.js +1 -1
  136. package/dist/components/xpl-header-accordion.js +1 -1
  137. package/dist/components/xpl-icon2.js +1 -1
  138. package/dist/components/xpl-input-date2.js +1 -1
  139. package/dist/components/xpl-input-file2.js +1 -1
  140. package/dist/components/xpl-input-search2.js +1 -1
  141. package/dist/components/xpl-input2.js +1 -1
  142. package/dist/components/xpl-large-card.js +1 -1
  143. package/dist/components/xpl-list.js +1 -1
  144. package/dist/components/xpl-main-nav.js +1 -1
  145. package/dist/components/xpl-modal.js +1 -1
  146. package/dist/components/xpl-nav-header-menu.js +1 -1
  147. package/dist/components/xpl-nav-item.js +1 -1
  148. package/dist/components/xpl-pagination.js +1 -1
  149. package/dist/components/xpl-panel.js +1 -1
  150. package/dist/components/xpl-popover2.js +1 -1
  151. package/dist/components/xpl-progress-bar.js +1 -1
  152. package/dist/components/xpl-progress-indicator.js +1 -1
  153. package/dist/components/xpl-radio2.js +1 -1
  154. package/dist/components/xpl-secondary-nav.js +1 -1
  155. package/dist/components/xpl-select2.js +1 -1
  156. package/dist/components/xpl-side-nav-item.js +1 -1
  157. package/dist/components/xpl-side-nav.js +1 -1
  158. package/dist/components/xpl-skeleton.js +1 -1
  159. package/dist/components/xpl-slideout.js +1 -1
  160. package/dist/components/xpl-tab-panel.js +1 -1
  161. package/dist/components/xpl-table-header-cell.js +1 -1
  162. package/dist/components/xpl-table-header.js +1 -1
  163. package/dist/components/xpl-table.js +1 -1
  164. package/dist/components/xpl-tabs.js +1 -1
  165. package/dist/components/xpl-tag2.js +1 -1
  166. package/dist/components/xpl-toast.js +1 -1
  167. package/dist/components/xpl-toggle.js +1 -1
  168. package/dist/components/xpl-toolbar.js +1 -1
  169. package/dist/components/xpl-tooltip2.js +1 -1
  170. package/dist/components/xpl-top-nav-item2.js +1 -1
  171. package/dist/components/xpl-top-nav.js +1 -1
  172. package/dist/components/xpl-utility-bar.js +1 -1
  173. package/dist/docs/xpl-checkbox/readme.md +5 -7
  174. package/dist/docs/xpl-dropdown/readme.md +13 -11
  175. package/dist/docs/xpl-dynamic-table/readme.md +19 -22
  176. package/dist/docs/xpl-dynamic-table-cell/readme.md +18 -20
  177. package/dist/docs/xpl-dynamic-table-row/readme.md +19 -21
  178. package/dist/docs/xpl-icon/readme.md +1 -1
  179. package/dist/docs/xpl-select/readme.md +17 -15
  180. package/dist/docs/xpl-table/readme.md +46 -110
  181. package/dist/docs/{xpl-table/xpl-table-header → xpl-table-header}/readme.md +13 -13
  182. package/dist/docs/xpl-table-header-cell/readme.md +47 -0
  183. package/dist/esm/apollo-core.js +1 -1
  184. package/dist/esm/index-C7bgJs6C.js +10 -2
  185. package/dist/esm/loader.js +1 -1
  186. package/dist/esm/xpl-accordion.entry.js +2 -2
  187. package/dist/esm/xpl-application-shell.entry.js +1 -1
  188. package/dist/esm/{xpl-avatar_61.entry.js → xpl-avatar_54.entry.js} +239 -1677
  189. package/dist/esm/xpl-button-row.entry.js +1 -1
  190. package/dist/esm/xpl-calendar.entry.js +1 -1
  191. package/dist/esm/xpl-dynamic-table-cell.entry.js +2 -2
  192. package/dist/esm/xpl-dynamic-table-row.entry.js +2 -2
  193. package/dist/esm/xpl-dynamic-table.entry.js +1 -1
  194. package/dist/esm/xpl-grid-item.entry.js +1 -1
  195. package/dist/esm/xpl-grid.entry.js +1 -1
  196. package/dist/esm/xpl-large-card.entry.js +1 -1
  197. package/dist/esm/xpl-main-nav.entry.js +1 -1
  198. package/dist/esm/xpl-table-header-cell.entry.js +55 -0
  199. package/dist/esm/xpl-table-header.entry.js +12 -0
  200. package/dist/esm/xpl-toggle.entry.js +3 -3
  201. package/dist/esm/xpl-toolbar.entry.js +2 -2
  202. package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +2 -2
  203. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +5 -0
  204. package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +10 -9
  205. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +13 -0
  206. package/dist/types/components/xpl-select/xpl-select.d.ts +3 -0
  207. package/dist/types/components/xpl-table/table.stories.d.ts +19 -161
  208. package/dist/types/components/xpl-table/xpl-table.d.ts +21 -123
  209. package/dist/types/components/{xpl-table/xpl-table-header → xpl-table-header}/table-header.stories.d.ts +16 -13
  210. package/dist/types/components/{xpl-table/xpl-table-header-cell → xpl-table-header-cell}/table-header-cell.stories.d.ts +20 -24
  211. package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +13 -0
  212. package/dist/types/components.d.ts +89 -391
  213. package/package.json +10 -1
  214. package/dist/apollo-core/p-146d5d55.entry.js +0 -1
  215. package/dist/apollo-core/p-16742606.entry.js +0 -1
  216. package/dist/apollo-core/p-3eb5eb7c.entry.js +0 -1
  217. package/dist/apollo-core/p-4882f0bd.entry.js +0 -1
  218. package/dist/apollo-core/p-64b34268.entry.js +0 -1
  219. package/dist/apollo-core/p-71b75f36.entry.js +0 -1
  220. package/dist/apollo-core/p-84254a24.entry.js +0 -1
  221. package/dist/apollo-core/p-9f2a0321.entry.js +0 -1
  222. package/dist/apollo-core/p-cde83ab0.entry.js +0 -1
  223. package/dist/apollo-core/p-e7363036.entry.js +0 -1
  224. package/dist/collection/components/xpl-table/utils/move-row-dom.js +0 -50
  225. package/dist/collection/components/xpl-table/utils/table-internal.js +0 -58
  226. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +0 -7
  227. package/dist/collection/components/xpl-table/xpl-table-cell/xpl-table-cell.js +0 -155
  228. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +0 -7
  229. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +0 -37
  230. package/dist/collection/components/xpl-table/xpl-table-header/table-header.stories.js +0 -131
  231. package/dist/collection/components/xpl-table/xpl-table-header/xpl-table-header.js +0 -7
  232. package/dist/collection/components/xpl-table/xpl-table-header-cell/table-header-cell.stories.js +0 -105
  233. package/dist/collection/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.js +0 -402
  234. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +0 -121
  235. package/dist/components/lifecycle.js +0 -1
  236. package/dist/components/xpl-table-body.d.ts +0 -11
  237. package/dist/components/xpl-table-body.js +0 -1
  238. package/dist/components/xpl-table-cell.d.ts +0 -11
  239. package/dist/components/xpl-table-cell.js +0 -1
  240. package/dist/components/xpl-table-cell2.js +0 -1
  241. package/dist/components/xpl-table-footer-cell.d.ts +0 -11
  242. package/dist/components/xpl-table-footer-cell.js +0 -1
  243. package/dist/components/xpl-table-footer-cell2.js +0 -1
  244. package/dist/components/xpl-table-footer.d.ts +0 -11
  245. package/dist/components/xpl-table-footer.js +0 -1
  246. package/dist/components/xpl-table-header-cell2.js +0 -1
  247. package/dist/components/xpl-table-row.d.ts +0 -11
  248. package/dist/components/xpl-table-row.js +0 -1
  249. package/dist/docs/xpl-table/xpl-table-body/readme.md +0 -10
  250. package/dist/docs/xpl-table/xpl-table-cell/readme.md +0 -33
  251. package/dist/docs/xpl-table/xpl-table-footer/readme.md +0 -10
  252. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +0 -30
  253. package/dist/docs/xpl-table/xpl-table-header-cell/readme.md +0 -66
  254. package/dist/docs/xpl-table/xpl-table-row/readme.md +0 -19
  255. package/dist/types/components/xpl-table/utils/move-row-dom.d.ts +0 -3
  256. package/dist/types/components/xpl-table/utils/table-internal.d.ts +0 -8
  257. package/dist/types/components/xpl-table/xpl-table-body/xpl-table-body.d.ts +0 -3
  258. package/dist/types/components/xpl-table/xpl-table-cell/xpl-table-cell.d.ts +0 -11
  259. package/dist/types/components/xpl-table/xpl-table-footer/xpl-table-footer.d.ts +0 -3
  260. package/dist/types/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.d.ts +0 -4
  261. package/dist/types/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.d.ts +0 -32
  262. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +0 -13
  263. /package/dist/types/components/{xpl-table/xpl-table-header → xpl-table-header}/xpl-table-header.d.ts +0 -0
@@ -9,23 +9,21 @@ import { AvatarColor, AvatarGroupItem, AvatarStatus, AvatarVariant } from "./com
9
9
  import { BadgeVariantProp } from "./components/xpl-badge/xpl-badge";
10
10
  import { Choice } from "./components/xpl-choicelist/choice";
11
11
  import { DropdownItem, DropdownOptionGroup } from "./components/xpl-dropdown/dropdown-option";
12
+ import { Placement } from "@floating-ui/dom";
12
13
  import { ListItem, XplListOrderChangeDetail } from "./components/xpl-list/listitem";
13
14
  import { BadgeVariantProp as BadgeVariantProp1 } from "./components/xpl-badge/xpl-badge";
14
15
  import { PopoverPosition } from "./components/xpl-popover/xpl-popover";
15
16
  import { SpotlightActionLayout, SpotlightAnchorPosition } from "./components/xpl-spotlight/xpl-spotlight";
16
- import { XplTableRowOrderChangeDetail, XplTableSortChangedDetail } from "./components/xpl-table/xpl-table";
17
- import { HeaderSortChangeDetail } from "./components/xpl-table/xpl-table-header-cell/xpl-table-header-cell";
18
17
  import { TagDragEndDetail, TagDragStartDetail } from "./components/xpl-tag/xpl-tag";
19
18
  export { AvatarColor, AvatarGroupItem, AvatarStatus, AvatarVariant } from "./components/xpl-avatar/xpl-avatar";
20
19
  export { BadgeVariantProp } from "./components/xpl-badge/xpl-badge";
21
20
  export { Choice } from "./components/xpl-choicelist/choice";
22
21
  export { DropdownItem, DropdownOptionGroup } from "./components/xpl-dropdown/dropdown-option";
22
+ export { Placement } from "@floating-ui/dom";
23
23
  export { ListItem, XplListOrderChangeDetail } from "./components/xpl-list/listitem";
24
24
  export { BadgeVariantProp as BadgeVariantProp1 } from "./components/xpl-badge/xpl-badge";
25
25
  export { PopoverPosition } from "./components/xpl-popover/xpl-popover";
26
26
  export { SpotlightActionLayout, SpotlightAnchorPosition } from "./components/xpl-spotlight/xpl-spotlight";
27
- export { XplTableRowOrderChangeDetail, XplTableSortChangedDetail } from "./components/xpl-table/xpl-table";
28
- export { HeaderSortChangeDetail } from "./components/xpl-table/xpl-table-header-cell/xpl-table-header-cell";
29
27
  export { TagDragEndDetail, TagDragStartDetail } from "./components/xpl-tag/xpl-tag";
30
28
  export namespace Components {
31
29
  interface XplAccordion {
@@ -498,6 +496,10 @@ export namespace Components {
498
496
  * @default true
499
497
  */
500
498
  "closeOnSelect": boolean;
499
+ /**
500
+ * When `anchorToTrigger` is true, additional placements to try when the default `placement` does not fit (passed to Floating UI `flip`).
501
+ */
502
+ "flipFallbackPlacements"?: Placement[];
501
503
  /**
502
504
  * called on dropdown option click and keydown events to update isSelected states
503
505
  */
@@ -516,6 +518,11 @@ export namespace Components {
516
518
  * options that are listed
517
519
  */
518
520
  "options"?: DropdownItem[];
521
+ /**
522
+ * Floating UI placement when `anchorToTrigger` is true (e.g. `bottom-start`, `top-start`).
523
+ * @default 'bottom-start'
524
+ */
525
+ "placement": Placement;
519
526
  /**
520
527
  * whether selection should be made when focusing on interactive element
521
528
  * @default false
@@ -576,16 +583,8 @@ export namespace Components {
576
583
  */
577
584
  "value"?: string;
578
585
  }
579
- /**
580
- * @deprecated Use the compositional `<xpl-table>` API instead.
581
- * This component will be removed in a future major release.
582
- */
583
586
  interface XplDynamicTable {
584
587
  }
585
- /**
586
- * @deprecated Use `<xpl-table-cell>` instead.
587
- * This component will be removed in a future major release.
588
- */
589
588
  interface XplDynamicTableCell {
590
589
  /**
591
590
  * Whether the cell and its contents are disabled.
@@ -593,10 +592,6 @@ export namespace Components {
593
592
  */
594
593
  "disabled": boolean;
595
594
  }
596
- /**
597
- * @deprecated Use `<xpl-table-row>` instead.
598
- * This component will be removed in a future major release.
599
- */
600
595
  interface XplDynamicTableRow {
601
596
  /**
602
597
  * Whether the row and its cells are disabled.
@@ -1475,6 +1470,15 @@ export namespace Components {
1475
1470
  * Whether the field is disabled
1476
1471
  */
1477
1472
  "disabled"?: boolean;
1473
+ /**
1474
+ * Additional placements to try for the options panel when the default `dropdownPlacement` does not fit. Passed to `xpl-dropdown` / Floating UI `flip`.
1475
+ */
1476
+ "dropdownFlipFallbackPlacements"?: Placement[];
1477
+ /**
1478
+ * Initial Floating UI placement for the options panel (e.g. `top-start`, `bottom-start`). Forwarded to the inner `xpl-dropdown` when the menu is open.
1479
+ * @default 'bottom-start'
1480
+ */
1481
+ "dropdownPlacement": Placement;
1478
1482
  /**
1479
1483
  * If an empty string (attribute present with no value), will display visually as an error. If a string is included, will display visually as an error and include the value as an error message.
1480
1484
  */
@@ -1754,62 +1758,39 @@ export namespace Components {
1754
1758
  */
1755
1759
  "target": string;
1756
1760
  }
1757
- /**
1758
- * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
1759
- */
1760
1761
  interface XplTable {
1761
1762
  /**
1762
- * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The header values for each column.
1763
+ * The header values for each column.
1763
1764
  */
1764
1765
  "columns"?: string[];
1765
1766
  /**
1766
- * @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.
1767
+ * The data for the body of the table.
1767
1768
  */
1768
1769
  "data"?: string[][];
1769
1770
  /**
1770
- * @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.
1771
+ * The data for the footer of the table.
1771
1772
  */
1772
1773
  "footer"?: string[][];
1773
1774
  /**
1774
- * 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`.
1775
+ * When true, the first column of the table is sticky and will cover the leftmost rows in a horizontally scrollable container.
1775
1776
  */
1776
1777
  "freeze"?: boolean;
1777
1778
  /**
1778
- * @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.
1779
+ * Toggles to show the sort button on each table head
1779
1780
  * @default false
1780
1781
  */
1781
1782
  "isSortable"?: boolean;
1782
1783
  /**
1783
- * Accessible label for the table. Maps to `aria-label` in compositional mode.
1784
- */
1785
- "label"?: string;
1786
- /**
1787
- * @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.
1784
+ * Toggles a selectable checkbox for each row in the table
1788
1785
  */
1789
1786
  "multiselect"?: boolean;
1790
1787
  /**
1791
- * 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`.
1792
- */
1793
- "reorderHandleIcon"?: string;
1794
- /**
1795
- * 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).
1796
- */
1797
- "reorderHandleIconKeyboard"?: string;
1798
- /**
1799
- * 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.
1800
- */
1801
- "rowReorderable"?: boolean;
1802
- /**
1803
- * 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.
1804
- */
1805
- "selectable"?: boolean;
1806
- /**
1807
- * @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.
1788
+ * The values for the input for each row when multiselect is activated.
1808
1789
  * @default []
1809
1790
  */
1810
1791
  "selectedValues"?: string[];
1811
1792
  /**
1812
- * @deprecated Use the compositional slot-based API instead. Will be removed in a future major release. Manually determined if the column is sortable.
1793
+ * Manually determined if the column is sortable
1813
1794
  * @default []
1814
1795
  */
1815
1796
  "sortableColumns"?: boolean[];
@@ -1818,113 +1799,33 @@ export namespace Components {
1818
1799
  */
1819
1800
  "striped"?: boolean;
1820
1801
  }
1821
- interface XplTableBody {
1822
- }
1823
- interface XplTableCell {
1824
- /**
1825
- * Horizontal text alignment within the cell.
1826
- * @default 'left'
1827
- */
1828
- "align": 'left' | 'right' | 'center';
1829
- /**
1830
- * Renders cell text in bold (--xpl-font-weight-semibold).
1831
- * @default false
1832
- */
1833
- "bold": boolean;
1834
- /**
1835
- * Whether the cell and its interactive children are disabled. Set automatically by xpl-table-row.
1836
- * @default false
1837
- */
1838
- "disabled": boolean;
1839
- /**
1840
- * Adds an underline to cell text.
1841
- * @default false
1842
- */
1843
- "underline": boolean;
1844
- }
1845
- interface XplTableFooter {
1846
- }
1847
- interface XplTableFooterCell {
1848
- /**
1849
- * Horizontal text alignment within the cell.
1850
- * @default 'left'
1851
- */
1852
- "align": 'left' | 'right' | 'center';
1853
- }
1854
1802
  interface XplTableHeader {
1855
1803
  }
1856
1804
  interface XplTableHeaderCell {
1857
- /**
1858
- * Horizontal text alignment within the header cell.
1859
- * @default 'left'
1860
- */
1861
- "align": 'left' | 'right' | 'center';
1862
- /**
1863
- * Accessible name for the header checkbox (native `aria-label`). Defaults to “Select all rows” when `type` is `checkbox`.
1864
- */
1865
- "checkboxAriaLabel"?: string;
1866
- /**
1867
- * Whether the header checkbox is checked
1868
- * @default false
1869
- */
1870
- "checked": boolean;
1871
- /**
1872
- * 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.
1873
- */
1874
- "columnWidth"?: string;
1875
1805
  /**
1876
1806
  * Icon to display in the cell. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names.
1877
1807
  */
1878
1808
  "icon"?: string;
1879
1809
  /**
1880
- * Whether the checkbox is in indeterminate (partially selected) state
1881
- * @default false
1882
- */
1883
- "indeterminate": boolean;
1884
- /**
1885
- * Text to display in the cell.
1810
+ * @property {string} - Text to display in the cell
1886
1811
  * @default ''
1887
1812
  */
1888
1813
  "label"?: string;
1889
1814
  /**
1890
- * 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.
1891
- */
1892
- "sortDirection"?: 'asc' | 'desc' | null;
1893
- /**
1894
- * 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.
1895
- */
1896
- "sortKey"?: string;
1897
- /**
1898
- * When true (and `type` is `label`), renders a sort control (button + affordance icon).
1815
+ * @property {boolean} - Whether the cell is sortable or not
1899
1816
  * @default false
1900
1817
  */
1901
- "sortable": boolean;
1818
+ "sortable"?: boolean;
1902
1819
  /**
1903
- * The type of cell to render.
1820
+ * @property {string} - The type of cell to render
1904
1821
  * @default 'label'
1905
1822
  */
1906
- "type": 'label' | 'checkbox' | 'icon' | 'empty';
1823
+ "type": 'label' | 'checkbox' | 'icon';
1907
1824
  /**
1908
- * 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).
1825
+ * @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
1909
1826
  */
1910
1827
  "width"?: number;
1911
1828
  }
1912
- interface XplTableRow {
1913
- /**
1914
- * Whether the row and its cells are disabled.
1915
- * @default false
1916
- */
1917
- "disabled": boolean;
1918
- /**
1919
- * Stable identifier for this row when used with a selectable compositional `xpl-table`. If omitted, the parent table assigns a unique id.
1920
- */
1921
- "rowId"?: string;
1922
- /**
1923
- * Whether the row is visually selected.
1924
- * @default false
1925
- */
1926
- "selected": boolean;
1927
- }
1928
1829
  interface XplTabs {
1929
1830
  /**
1930
1831
  * Disables the whole tab group (headings, mobile select, and segment pills).
@@ -2500,10 +2401,6 @@ declare global {
2500
2401
  interface HTMLXplDynamicTableElementEventMap {
2501
2402
  "selectedItemCountChange": string[];
2502
2403
  }
2503
- /**
2504
- * @deprecated Use the compositional `<xpl-table>` API instead.
2505
- * This component will be removed in a future major release.
2506
- */
2507
2404
  interface HTMLXplDynamicTableElement extends Components.XplDynamicTable, HTMLStencilElement {
2508
2405
  addEventListener<K extends keyof HTMLXplDynamicTableElementEventMap>(type: K, listener: (this: HTMLXplDynamicTableElement, ev: XplDynamicTableCustomEvent<HTMLXplDynamicTableElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2509
2406
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -2518,20 +2415,12 @@ declare global {
2518
2415
  prototype: HTMLXplDynamicTableElement;
2519
2416
  new (): HTMLXplDynamicTableElement;
2520
2417
  };
2521
- /**
2522
- * @deprecated Use `<xpl-table-cell>` instead.
2523
- * This component will be removed in a future major release.
2524
- */
2525
2418
  interface HTMLXplDynamicTableCellElement extends Components.XplDynamicTableCell, HTMLStencilElement {
2526
2419
  }
2527
2420
  var HTMLXplDynamicTableCellElement: {
2528
2421
  prototype: HTMLXplDynamicTableCellElement;
2529
2422
  new (): HTMLXplDynamicTableCellElement;
2530
2423
  };
2531
- /**
2532
- * @deprecated Use `<xpl-table-row>` instead.
2533
- * This component will be removed in a future major release.
2534
- */
2535
2424
  interface HTMLXplDynamicTableRowElement extends Components.XplDynamicTableRow, HTMLStencilElement {
2536
2425
  }
2537
2426
  var HTMLXplDynamicTableRowElement: {
@@ -3013,14 +2902,13 @@ declare global {
3013
2902
  new (): HTMLXplTabPanelElement;
3014
2903
  };
3015
2904
  interface HTMLXplTableElementEventMap {
3016
- "rowOrderChange": XplTableRowOrderChangeDetail;
3017
- "rowSelectionChange": { selectedRowIds: string[] };
3018
- "sortChanged": XplTableSortChangedDetail;
3019
2905
  "tableSelect": any;
2906
+ "sortChanged": {
2907
+ colNum: number;
2908
+ colName: string;
2909
+ sortTypeArr: string[];
2910
+ };
3020
2911
  }
3021
- /**
3022
- * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
3023
- */
3024
2912
  interface HTMLXplTableElement extends Components.XplTable, HTMLStencilElement {
3025
2913
  addEventListener<K extends keyof HTMLXplTableElementEventMap>(type: K, listener: (this: HTMLXplTableElement, ev: XplTableCustomEvent<HTMLXplTableElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3026
2914
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -3035,30 +2923,6 @@ declare global {
3035
2923
  prototype: HTMLXplTableElement;
3036
2924
  new (): HTMLXplTableElement;
3037
2925
  };
3038
- interface HTMLXplTableBodyElement extends Components.XplTableBody, HTMLStencilElement {
3039
- }
3040
- var HTMLXplTableBodyElement: {
3041
- prototype: HTMLXplTableBodyElement;
3042
- new (): HTMLXplTableBodyElement;
3043
- };
3044
- interface HTMLXplTableCellElement extends Components.XplTableCell, HTMLStencilElement {
3045
- }
3046
- var HTMLXplTableCellElement: {
3047
- prototype: HTMLXplTableCellElement;
3048
- new (): HTMLXplTableCellElement;
3049
- };
3050
- interface HTMLXplTableFooterElement extends Components.XplTableFooter, HTMLStencilElement {
3051
- }
3052
- var HTMLXplTableFooterElement: {
3053
- prototype: HTMLXplTableFooterElement;
3054
- new (): HTMLXplTableFooterElement;
3055
- };
3056
- interface HTMLXplTableFooterCellElement extends Components.XplTableFooterCell, HTMLStencilElement {
3057
- }
3058
- var HTMLXplTableFooterCellElement: {
3059
- prototype: HTMLXplTableFooterCellElement;
3060
- new (): HTMLXplTableFooterCellElement;
3061
- };
3062
2926
  interface HTMLXplTableHeaderElement extends Components.XplTableHeader, HTMLStencilElement {
3063
2927
  }
3064
2928
  var HTMLXplTableHeaderElement: {
@@ -3066,8 +2930,7 @@ declare global {
3066
2930
  new (): HTMLXplTableHeaderElement;
3067
2931
  };
3068
2932
  interface HTMLXplTableHeaderCellElementEventMap {
3069
- "headerCheckboxChange": boolean;
3070
- "headerSortChange": HeaderSortChangeDetail;
2933
+ "sortChanged": 'asc' | 'desc' | 'none';
3071
2934
  }
3072
2935
  interface HTMLXplTableHeaderCellElement extends Components.XplTableHeaderCell, HTMLStencilElement {
3073
2936
  addEventListener<K extends keyof HTMLXplTableHeaderCellElementEventMap>(type: K, listener: (this: HTMLXplTableHeaderCellElement, ev: XplTableHeaderCellCustomEvent<HTMLXplTableHeaderCellElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -3083,12 +2946,6 @@ declare global {
3083
2946
  prototype: HTMLXplTableHeaderCellElement;
3084
2947
  new (): HTMLXplTableHeaderCellElement;
3085
2948
  };
3086
- interface HTMLXplTableRowElement extends Components.XplTableRow, HTMLStencilElement {
3087
- }
3088
- var HTMLXplTableRowElement: {
3089
- prototype: HTMLXplTableRowElement;
3090
- new (): HTMLXplTableRowElement;
3091
- };
3092
2949
  interface HTMLXplTabsElementEventMap {
3093
2950
  "tabChange": string;
3094
2951
  }
@@ -3299,13 +3156,8 @@ declare global {
3299
3156
  "xpl-tab": HTMLXplTabElement;
3300
3157
  "xpl-tab-panel": HTMLXplTabPanelElement;
3301
3158
  "xpl-table": HTMLXplTableElement;
3302
- "xpl-table-body": HTMLXplTableBodyElement;
3303
- "xpl-table-cell": HTMLXplTableCellElement;
3304
- "xpl-table-footer": HTMLXplTableFooterElement;
3305
- "xpl-table-footer-cell": HTMLXplTableFooterCellElement;
3306
3159
  "xpl-table-header": HTMLXplTableHeaderElement;
3307
3160
  "xpl-table-header-cell": HTMLXplTableHeaderCellElement;
3308
- "xpl-table-row": HTMLXplTableRowElement;
3309
3161
  "xpl-tabs": HTMLXplTabsElement;
3310
3162
  "xpl-tag": HTMLXplTagElement;
3311
3163
  "xpl-toast": HTMLXplToastElement;
@@ -3821,6 +3673,10 @@ declare namespace LocalJSX {
3821
3673
  * @default true
3822
3674
  */
3823
3675
  "closeOnSelect"?: boolean;
3676
+ /**
3677
+ * When `anchorToTrigger` is true, additional placements to try when the default `placement` does not fit (passed to Floating UI `flip`).
3678
+ */
3679
+ "flipFallbackPlacements"?: Placement[];
3824
3680
  /**
3825
3681
  * text to display as heading
3826
3682
  * @default false
@@ -3839,6 +3695,11 @@ declare namespace LocalJSX {
3839
3695
  * options that are listed
3840
3696
  */
3841
3697
  "options"?: DropdownItem[];
3698
+ /**
3699
+ * Floating UI placement when `anchorToTrigger` is true (e.g. `bottom-start`, `top-start`).
3700
+ * @default 'bottom-start'
3701
+ */
3702
+ "placement"?: Placement;
3842
3703
  /**
3843
3704
  * whether selection should be made when focusing on interactive element
3844
3705
  * @default false
@@ -3899,20 +3760,12 @@ declare namespace LocalJSX {
3899
3760
  */
3900
3761
  "value"?: string;
3901
3762
  }
3902
- /**
3903
- * @deprecated Use the compositional `<xpl-table>` API instead.
3904
- * This component will be removed in a future major release.
3905
- */
3906
3763
  interface XplDynamicTable {
3907
3764
  /**
3908
3765
  * Emitted when the number of selected items changes.
3909
3766
  */
3910
3767
  "onSelectedItemCountChange"?: (event: XplDynamicTableCustomEvent<string[]>) => void;
3911
3768
  }
3912
- /**
3913
- * @deprecated Use `<xpl-table-cell>` instead.
3914
- * This component will be removed in a future major release.
3915
- */
3916
3769
  interface XplDynamicTableCell {
3917
3770
  /**
3918
3771
  * Whether the cell and its contents are disabled.
@@ -3920,10 +3773,6 @@ declare namespace LocalJSX {
3920
3773
  */
3921
3774
  "disabled"?: boolean;
3922
3775
  }
3923
- /**
3924
- * @deprecated Use `<xpl-table-row>` instead.
3925
- * This component will be removed in a future major release.
3926
- */
3927
3776
  interface XplDynamicTableRow {
3928
3777
  /**
3929
3778
  * Whether the row and its cells are disabled.
@@ -4920,6 +4769,15 @@ declare namespace LocalJSX {
4920
4769
  * Whether the field is disabled
4921
4770
  */
4922
4771
  "disabled"?: boolean;
4772
+ /**
4773
+ * Additional placements to try for the options panel when the default `dropdownPlacement` does not fit. Passed to `xpl-dropdown` / Floating UI `flip`.
4774
+ */
4775
+ "dropdownFlipFallbackPlacements"?: Placement[];
4776
+ /**
4777
+ * Initial Floating UI placement for the options panel (e.g. `top-start`, `bottom-start`). Forwarded to the inner `xpl-dropdown` when the menu is open.
4778
+ * @default 'bottom-start'
4779
+ */
4780
+ "dropdownPlacement"?: Placement;
4923
4781
  /**
4924
4782
  * If an empty string (attribute present with no value), will display visually as an error. If a string is included, will display visually as an error and include the value as an error message.
4925
4783
  */
@@ -5224,78 +5082,51 @@ declare namespace LocalJSX {
5224
5082
  */
5225
5083
  "target"?: string;
5226
5084
  }
5227
- /**
5228
- * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
5229
- */
5230
5085
  interface XplTable {
5231
5086
  /**
5232
- * @deprecated Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The header values for each column.
5087
+ * The header values for each column.
5233
5088
  */
5234
5089
  "columns"?: string[];
5235
5090
  /**
5236
- * @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.
5091
+ * The data for the body of the table.
5237
5092
  */
5238
5093
  "data"?: string[][];
5239
5094
  /**
5240
- * @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.
5095
+ * The data for the footer of the table.
5241
5096
  */
5242
5097
  "footer"?: string[][];
5243
5098
  /**
5244
- * 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`.
5099
+ * When true, the first column of the table is sticky and will cover the leftmost rows in a horizontally scrollable container.
5245
5100
  */
5246
5101
  "freeze"?: boolean;
5247
5102
  /**
5248
- * @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.
5103
+ * Toggles to show the sort button on each table head
5249
5104
  * @default false
5250
5105
  */
5251
5106
  "isSortable"?: boolean;
5252
5107
  /**
5253
- * Accessible label for the table. Maps to `aria-label` in compositional mode.
5254
- */
5255
- "label"?: string;
5256
- /**
5257
- * @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.
5108
+ * Toggles a selectable checkbox for each row in the table
5258
5109
  */
5259
5110
  "multiselect"?: boolean;
5260
5111
  /**
5261
- * Emitted after body rows are reordered via drag-and-drop (compositional `row-reorderable` mode).
5112
+ * Emits an event whenever the sort changes. The 'sortChanged' event passes an object with colNum (number), colName (string), sortTypeArr(string[]). The default action can be overridden by calling event.preventDefault().
5262
5113
  */
5263
- "onRowOrderChange"?: (event: XplTableCustomEvent<XplTableRowOrderChangeDetail>) => void;
5264
- /**
5265
- * Emitted when row selection changes in compositional `selectable` mode. 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.)
5266
- */
5267
- "onRowSelectionChange"?: (event: XplTableCustomEvent<{ selectedRowIds: string[] }>) => void;
5268
- /**
5269
- * 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.
5270
- */
5271
- "onSortChanged"?: (event: XplTableCustomEvent<XplTableSortChangedDetail>) => void;
5114
+ "onSortChanged"?: (event: XplTableCustomEvent<{
5115
+ colNum: number;
5116
+ colName: string;
5117
+ sortTypeArr: string[];
5118
+ }>) => void;
5272
5119
  /**
5273
- * Callback function that is called when the checkbox for a row of a `multiselect` table is checked.
5120
+ * Callback function that is called when the checkbox for a row of a `multiselect` table is checked
5274
5121
  */
5275
5122
  "onTableSelect"?: (event: XplTableCustomEvent<any>) => void;
5276
5123
  /**
5277
- * 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`.
5278
- */
5279
- "reorderHandleIcon"?: string;
5280
- /**
5281
- * 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).
5282
- */
5283
- "reorderHandleIconKeyboard"?: string;
5284
- /**
5285
- * 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.
5286
- */
5287
- "rowReorderable"?: boolean;
5288
- /**
5289
- * 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.
5290
- */
5291
- "selectable"?: boolean;
5292
- /**
5293
- * @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.
5124
+ * The values for the input for each row when multiselect is activated.
5294
5125
  * @default []
5295
5126
  */
5296
5127
  "selectedValues"?: string[];
5297
5128
  /**
5298
- * @deprecated Use the compositional slot-based API instead. Will be removed in a future major release. Manually determined if the column is sortable.
5129
+ * Manually determined if the column is sortable
5299
5130
  * @default []
5300
5131
  */
5301
5132
  "sortableColumns"?: boolean[];
@@ -5304,121 +5135,37 @@ declare namespace LocalJSX {
5304
5135
  */
5305
5136
  "striped"?: boolean;
5306
5137
  }
5307
- interface XplTableBody {
5308
- }
5309
- interface XplTableCell {
5310
- /**
5311
- * Horizontal text alignment within the cell.
5312
- * @default 'left'
5313
- */
5314
- "align"?: 'left' | 'right' | 'center';
5315
- /**
5316
- * Renders cell text in bold (--xpl-font-weight-semibold).
5317
- * @default false
5318
- */
5319
- "bold"?: boolean;
5320
- /**
5321
- * Whether the cell and its interactive children are disabled. Set automatically by xpl-table-row.
5322
- * @default false
5323
- */
5324
- "disabled"?: boolean;
5325
- /**
5326
- * Adds an underline to cell text.
5327
- * @default false
5328
- */
5329
- "underline"?: boolean;
5330
- }
5331
- interface XplTableFooter {
5332
- }
5333
- interface XplTableFooterCell {
5334
- /**
5335
- * Horizontal text alignment within the cell.
5336
- * @default 'left'
5337
- */
5338
- "align"?: 'left' | 'right' | 'center';
5339
- }
5340
5138
  interface XplTableHeader {
5341
5139
  }
5342
5140
  interface XplTableHeaderCell {
5343
- /**
5344
- * Horizontal text alignment within the header cell.
5345
- * @default 'left'
5346
- */
5347
- "align"?: 'left' | 'right' | 'center';
5348
- /**
5349
- * Accessible name for the header checkbox (native `aria-label`). Defaults to “Select all rows” when `type` is `checkbox`.
5350
- */
5351
- "checkboxAriaLabel"?: string;
5352
- /**
5353
- * Whether the header checkbox is checked
5354
- * @default false
5355
- */
5356
- "checked"?: boolean;
5357
- /**
5358
- * 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.
5359
- */
5360
- "columnWidth"?: string;
5361
5141
  /**
5362
5142
  * Icon to display in the cell. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names.
5363
5143
  */
5364
5144
  "icon"?: string;
5365
5145
  /**
5366
- * Whether the checkbox is in indeterminate (partially selected) state
5367
- * @default false
5368
- */
5369
- "indeterminate"?: boolean;
5370
- /**
5371
- * Text to display in the cell.
5146
+ * @property {string} - Text to display in the cell
5372
5147
  * @default ''
5373
5148
  */
5374
5149
  "label"?: string;
5375
5150
  /**
5376
- * Emitted when header checkbox changes
5151
+ * Emitted when the sort direction changes.
5377
5152
  */
5378
- "onHeaderCheckboxChange"?: (event: XplTableHeaderCellCustomEvent<boolean>) => void;
5153
+ "onSortChanged"?: (event: XplTableHeaderCellCustomEvent<'asc' | 'desc' | 'none'>) => void;
5379
5154
  /**
5380
- * Emitted when a sortable label header is activated. Parent `xpl-table` coordinates columns and emits `sortChanged`.
5381
- */
5382
- "onHeaderSortChange"?: (event: XplTableHeaderCellCustomEvent<HeaderSortChangeDetail>) => void;
5383
- /**
5384
- * 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.
5385
- */
5386
- "sortDirection"?: 'asc' | 'desc' | null;
5387
- /**
5388
- * 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.
5389
- */
5390
- "sortKey"?: string;
5391
- /**
5392
- * When true (and `type` is `label`), renders a sort control (button + affordance icon).
5155
+ * @property {boolean} - Whether the cell is sortable or not
5393
5156
  * @default false
5394
5157
  */
5395
5158
  "sortable"?: boolean;
5396
5159
  /**
5397
- * The type of cell to render.
5160
+ * @property {string} - The type of cell to render
5398
5161
  * @default 'label'
5399
5162
  */
5400
- "type"?: 'label' | 'checkbox' | 'icon' | 'empty';
5163
+ "type"?: 'label' | 'checkbox' | 'icon';
5401
5164
  /**
5402
- * 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).
5165
+ * @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
5403
5166
  */
5404
5167
  "width"?: number;
5405
5168
  }
5406
- interface XplTableRow {
5407
- /**
5408
- * Whether the row and its cells are disabled.
5409
- * @default false
5410
- */
5411
- "disabled"?: boolean;
5412
- /**
5413
- * Stable identifier for this row when used with a selectable compositional `xpl-table`. If omitted, the parent table assigns a unique id.
5414
- */
5415
- "rowId"?: string;
5416
- /**
5417
- * Whether the row is visually selected.
5418
- * @default false
5419
- */
5420
- "selected"?: boolean;
5421
- }
5422
5169
  interface XplTabs {
5423
5170
  /**
5424
5171
  * Disables the whole tab group (headings, mobile select, and segment pills).
@@ -5776,14 +5523,14 @@ declare namespace LocalJSX {
5776
5523
  interface XplCheckboxAttributes {
5777
5524
  "ariaLabel": string;
5778
5525
  "checked": boolean;
5779
- "dataId": string;
5780
5526
  "description": string;
5781
5527
  "disabled": boolean;
5782
5528
  "indeterminate": boolean;
5783
5529
  "name": string;
5530
+ "value": string;
5784
5531
  "required": boolean;
5785
5532
  "styled": boolean;
5786
- "value": string;
5533
+ "dataId": string;
5787
5534
  }
5788
5535
  interface XplChoicelistAttributes {
5789
5536
  "description": string;
@@ -5818,6 +5565,7 @@ declare namespace LocalJSX {
5818
5565
  "closeOnSelect": boolean;
5819
5566
  "mode": 'single' | 'multi';
5820
5567
  "anchorToTrigger": boolean;
5568
+ "placement": Placement;
5821
5569
  "selectedValues": string | string[];
5822
5570
  "selectOnFocus": boolean;
5823
5571
  "triggerId": string;
@@ -5851,10 +5599,10 @@ declare namespace LocalJSX {
5851
5599
  }
5852
5600
  interface XplHeaderAccordionAttributes {
5853
5601
  "contentId": string;
5854
- "disabled": boolean;
5855
- "hasCheckbox": boolean;
5856
5602
  "initialExpanded": boolean;
5603
+ "disabled": boolean;
5857
5604
  "selectedCount": number;
5605
+ "hasCheckbox": boolean;
5858
5606
  }
5859
5607
  interface XplIconAttributes {
5860
5608
  "icon": string;
@@ -6061,6 +5809,7 @@ declare namespace LocalJSX {
6061
5809
  "selectIcon": string;
6062
5810
  "description": string;
6063
5811
  "disabled": boolean;
5812
+ "dropdownPlacement": Placement;
6064
5813
  "error": string;
6065
5814
  "label": string;
6066
5815
  "mode": 'single' | 'multi';
@@ -6136,43 +5885,17 @@ declare namespace LocalJSX {
6136
5885
  }
6137
5886
  interface XplTableAttributes {
6138
5887
  "freeze": boolean;
6139
- "isSortable": boolean;
6140
- "label": string;
6141
5888
  "multiselect": boolean;
6142
- "reorderHandleIcon": string;
6143
- "reorderHandleIconKeyboard": string;
6144
- "rowReorderable": boolean;
6145
- "selectable": boolean;
6146
5889
  "striped": boolean;
6147
- }
6148
- interface XplTableCellAttributes {
6149
- "align": 'left' | 'right' | 'center';
6150
- "bold": boolean;
6151
- "disabled": boolean;
6152
- "underline": boolean;
6153
- }
6154
- interface XplTableFooterCellAttributes {
6155
- "align": 'left' | 'right' | 'center';
5890
+ "isSortable": boolean;
6156
5891
  }
6157
5892
  interface XplTableHeaderCellAttributes {
6158
- "align": 'left' | 'right' | 'center';
6159
- "checkboxAriaLabel": string;
6160
- "checked": boolean;
6161
- "columnWidth": string;
6162
5893
  "icon": string;
6163
- "indeterminate": boolean;
6164
- "label": string;
6165
5894
  "sortable": boolean;
6166
- "sortDirection": 'asc' | 'desc' | null;
6167
- "sortKey": string;
6168
- "type": 'label' | 'checkbox' | 'icon' | 'empty';
5895
+ "label": string;
5896
+ "type": 'label' | 'checkbox' | 'icon';
6169
5897
  "width": number;
6170
5898
  }
6171
- interface XplTableRowAttributes {
6172
- "disabled": boolean;
6173
- "rowId": string;
6174
- "selected": boolean;
6175
- }
6176
5899
  interface XplTabsAttributes {
6177
5900
  "disabled": boolean;
6178
5901
  "fullWidth": boolean;
@@ -6297,13 +6020,8 @@ declare namespace LocalJSX {
6297
6020
  "xpl-tab": Omit<XplTab, keyof XplTabAttributes> & { [K in keyof XplTab & keyof XplTabAttributes]?: XplTab[K] } & { [K in keyof XplTab & keyof XplTabAttributes as `attr:${K}`]?: XplTabAttributes[K] } & { [K in keyof XplTab & keyof XplTabAttributes as `prop:${K}`]?: XplTab[K] };
6298
6021
  "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] };
6299
6022
  "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] };
6300
- "xpl-table-body": XplTableBody;
6301
- "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] };
6302
- "xpl-table-footer": XplTableFooter;
6303
- "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] };
6304
6023
  "xpl-table-header": XplTableHeader;
6305
6024
  "xpl-table-header-cell": Omit<XplTableHeaderCell, keyof XplTableHeaderCellAttributes> & { [K in keyof XplTableHeaderCell & keyof XplTableHeaderCellAttributes]?: XplTableHeaderCell[K] } & { [K in keyof XplTableHeaderCell & keyof XplTableHeaderCellAttributes as `attr:${K}`]?: XplTableHeaderCellAttributes[K] } & { [K in keyof XplTableHeaderCell & keyof XplTableHeaderCellAttributes as `prop:${K}`]?: XplTableHeaderCell[K] };
6306
- "xpl-table-row": Omit<XplTableRow, keyof XplTableRowAttributes> & { [K in keyof XplTableRow & keyof XplTableRowAttributes]?: XplTableRow[K] } & { [K in keyof XplTableRow & keyof XplTableRowAttributes as `attr:${K}`]?: XplTableRowAttributes[K] } & { [K in keyof XplTableRow & keyof XplTableRowAttributes as `prop:${K}`]?: XplTableRow[K] };
6307
6025
  "xpl-tabs": Omit<XplTabs, keyof XplTabsAttributes> & { [K in keyof XplTabs & keyof XplTabsAttributes]?: XplTabs[K] } & { [K in keyof XplTabs & keyof XplTabsAttributes as `attr:${K}`]?: XplTabsAttributes[K] } & { [K in keyof XplTabs & keyof XplTabsAttributes as `prop:${K}`]?: XplTabs[K] };
6308
6026
  "xpl-tag": Omit<XplTag, keyof XplTagAttributes> & { [K in keyof XplTag & keyof XplTagAttributes]?: XplTag[K] } & { [K in keyof XplTag & keyof XplTagAttributes as `attr:${K}`]?: XplTagAttributes[K] } & { [K in keyof XplTag & keyof XplTagAttributes as `prop:${K}`]?: XplTag[K] };
6309
6027
  "xpl-toast": Omit<XplToast, keyof XplToastAttributes> & { [K in keyof XplToast & keyof XplToastAttributes]?: XplToast[K] } & { [K in keyof XplToast & keyof XplToastAttributes as `attr:${K}`]?: XplToastAttributes[K] } & { [K in keyof XplToast & keyof XplToastAttributes as `prop:${K}`]?: XplToast[K] };
@@ -6340,20 +6058,8 @@ declare module "@stencil/core" {
6340
6058
  "xpl-dropdown-group": LocalJSX.IntrinsicElements["xpl-dropdown-group"] & JSXBase.HTMLAttributes<HTMLXplDropdownGroupElement>;
6341
6059
  "xpl-dropdown-heading": LocalJSX.IntrinsicElements["xpl-dropdown-heading"] & JSXBase.HTMLAttributes<HTMLXplDropdownHeadingElement>;
6342
6060
  "xpl-dropdown-option": LocalJSX.IntrinsicElements["xpl-dropdown-option"] & JSXBase.HTMLAttributes<HTMLXplDropdownOptionElement>;
6343
- /**
6344
- * @deprecated Use the compositional `<xpl-table>` API instead.
6345
- * This component will be removed in a future major release.
6346
- */
6347
6061
  "xpl-dynamic-table": LocalJSX.IntrinsicElements["xpl-dynamic-table"] & JSXBase.HTMLAttributes<HTMLXplDynamicTableElement>;
6348
- /**
6349
- * @deprecated Use `<xpl-table-cell>` instead.
6350
- * This component will be removed in a future major release.
6351
- */
6352
6062
  "xpl-dynamic-table-cell": LocalJSX.IntrinsicElements["xpl-dynamic-table-cell"] & JSXBase.HTMLAttributes<HTMLXplDynamicTableCellElement>;
6353
- /**
6354
- * @deprecated Use `<xpl-table-row>` instead.
6355
- * This component will be removed in a future major release.
6356
- */
6357
6063
  "xpl-dynamic-table-row": LocalJSX.IntrinsicElements["xpl-dynamic-table-row"] & JSXBase.HTMLAttributes<HTMLXplDynamicTableRowElement>;
6358
6064
  "xpl-grid": LocalJSX.IntrinsicElements["xpl-grid"] & JSXBase.HTMLAttributes<HTMLXplGridElement>;
6359
6065
  "xpl-grid-item": LocalJSX.IntrinsicElements["xpl-grid-item"] & JSXBase.HTMLAttributes<HTMLXplGridItemElement>;
@@ -6413,17 +6119,9 @@ declare module "@stencil/core" {
6413
6119
  "xpl-spotlight": LocalJSX.IntrinsicElements["xpl-spotlight"] & JSXBase.HTMLAttributes<HTMLXplSpotlightElement>;
6414
6120
  "xpl-tab": LocalJSX.IntrinsicElements["xpl-tab"] & JSXBase.HTMLAttributes<HTMLXplTabElement>;
6415
6121
  "xpl-tab-panel": LocalJSX.IntrinsicElements["xpl-tab-panel"] & JSXBase.HTMLAttributes<HTMLXplTabPanelElement>;
6416
- /**
6417
- * Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
6418
- */
6419
6122
  "xpl-table": LocalJSX.IntrinsicElements["xpl-table"] & JSXBase.HTMLAttributes<HTMLXplTableElement>;
6420
- "xpl-table-body": LocalJSX.IntrinsicElements["xpl-table-body"] & JSXBase.HTMLAttributes<HTMLXplTableBodyElement>;
6421
- "xpl-table-cell": LocalJSX.IntrinsicElements["xpl-table-cell"] & JSXBase.HTMLAttributes<HTMLXplTableCellElement>;
6422
- "xpl-table-footer": LocalJSX.IntrinsicElements["xpl-table-footer"] & JSXBase.HTMLAttributes<HTMLXplTableFooterElement>;
6423
- "xpl-table-footer-cell": LocalJSX.IntrinsicElements["xpl-table-footer-cell"] & JSXBase.HTMLAttributes<HTMLXplTableFooterCellElement>;
6424
6123
  "xpl-table-header": LocalJSX.IntrinsicElements["xpl-table-header"] & JSXBase.HTMLAttributes<HTMLXplTableHeaderElement>;
6425
6124
  "xpl-table-header-cell": LocalJSX.IntrinsicElements["xpl-table-header-cell"] & JSXBase.HTMLAttributes<HTMLXplTableHeaderCellElement>;
6426
- "xpl-table-row": LocalJSX.IntrinsicElements["xpl-table-row"] & JSXBase.HTMLAttributes<HTMLXplTableRowElement>;
6427
6125
  "xpl-tabs": LocalJSX.IntrinsicElements["xpl-tabs"] & JSXBase.HTMLAttributes<HTMLXplTabsElement>;
6428
6126
  "xpl-tag": LocalJSX.IntrinsicElements["xpl-tag"] & JSXBase.HTMLAttributes<HTMLXplTagElement>;
6429
6127
  "xpl-toast": LocalJSX.IntrinsicElements["xpl-toast"] & JSXBase.HTMLAttributes<HTMLXplToastElement>;