@xplortech/apollo-core 2.7.0 → 2.8.0

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 (270) hide show
  1. package/.typings/apollo-components.html-data.json +104 -183
  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-689f1dae.entry.js +1 -0
  15. package/dist/apollo-core/{p-7eb86c63.entry.js → p-6a15f1e0.entry.js} +1 -1
  16. package/dist/apollo-core/p-8d692d05.entry.js +1 -0
  17. package/dist/apollo-core/{p-28d12fd3.entry.js → p-b61d7952.entry.js} +1 -1
  18. package/dist/apollo-core/{p-084d26ed.entry.js → p-ca127ee8.entry.js} +1 -1
  19. package/dist/apollo-core/p-cd56a3d5.entry.js +1 -0
  20. package/dist/apollo-core/p-dc205893.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} +1311 -1725
  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 +8 -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 +29 -34
  52. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +7 -6
  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 +28 -24
  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/radio.stories.js +10 -1
  87. package/dist/collection/components/xpl-radio/xpl-radio.js +30 -5
  88. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  89. package/dist/collection/components/xpl-select/xpl-select.js +58 -6
  90. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +2 -2
  91. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +2 -2
  92. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  93. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  94. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  95. package/dist/collection/components/xpl-table/table.stories.js +67 -319
  96. package/dist/collection/components/xpl-table/xpl-table.js +151 -1456
  97. package/dist/collection/components/xpl-table-header/table-header.stories.js +126 -0
  98. package/dist/collection/components/xpl-table-header/xpl-table-header.js +7 -0
  99. package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +75 -0
  100. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +188 -0
  101. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  102. package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
  103. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  104. package/dist/collection/components/xpl-toggle/xpl-toggle.js +26 -4
  105. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  106. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  107. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  108. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  109. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  110. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  111. package/dist/components/index.js +1 -1
  112. package/dist/components/xpl-accordion.js +1 -1
  113. package/dist/components/xpl-application-shell.js +1 -1
  114. package/dist/components/xpl-backdrop2.js +1 -1
  115. package/dist/components/xpl-badge2.js +1 -1
  116. package/dist/components/xpl-banner.js +1 -1
  117. package/dist/components/xpl-breadcrumb-item.js +1 -1
  118. package/dist/components/xpl-breadcrumbs.js +1 -1
  119. package/dist/components/xpl-button-row.js +1 -1
  120. package/dist/components/xpl-button2.js +1 -1
  121. package/dist/components/xpl-calendar.js +1 -1
  122. package/dist/components/xpl-checkbox2.js +1 -1
  123. package/dist/components/xpl-choicelist.js +1 -1
  124. package/dist/components/xpl-content-area.js +1 -1
  125. package/dist/components/xpl-dashboard.js +1 -1
  126. package/dist/components/xpl-data-card.js +1 -1
  127. package/dist/components/xpl-divider2.js +1 -1
  128. package/dist/components/xpl-dropdown-group2.js +1 -1
  129. package/dist/components/xpl-dropdown-heading2.js +1 -1
  130. package/dist/components/xpl-dropdown-option2.js +1 -1
  131. package/dist/components/xpl-dropdown2.js +1 -1
  132. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  133. package/dist/components/xpl-dynamic-table-row.js +1 -1
  134. package/dist/components/xpl-dynamic-table.js +1 -1
  135. package/dist/components/xpl-grid-item.js +1 -1
  136. package/dist/components/xpl-grid.js +1 -1
  137. package/dist/components/xpl-header-accordion.js +1 -1
  138. package/dist/components/xpl-icon2.js +1 -1
  139. package/dist/components/xpl-input-date2.js +1 -1
  140. package/dist/components/xpl-input-file2.js +1 -1
  141. package/dist/components/xpl-input-search2.js +1 -1
  142. package/dist/components/xpl-input2.js +1 -1
  143. package/dist/components/xpl-large-card.js +1 -1
  144. package/dist/components/xpl-list.js +1 -1
  145. package/dist/components/xpl-main-nav.js +1 -1
  146. package/dist/components/xpl-modal.js +1 -1
  147. package/dist/components/xpl-nav-header-menu.js +1 -1
  148. package/dist/components/xpl-nav-item.js +1 -1
  149. package/dist/components/xpl-pagination.js +1 -1
  150. package/dist/components/xpl-panel.js +1 -1
  151. package/dist/components/xpl-popover2.js +1 -1
  152. package/dist/components/xpl-progress-bar.js +1 -1
  153. package/dist/components/xpl-progress-indicator.js +1 -1
  154. package/dist/components/xpl-radio2.js +1 -1
  155. package/dist/components/xpl-secondary-nav.js +1 -1
  156. package/dist/components/xpl-select2.js +1 -1
  157. package/dist/components/xpl-side-nav-item.js +1 -1
  158. package/dist/components/xpl-side-nav.js +1 -1
  159. package/dist/components/xpl-skeleton.js +1 -1
  160. package/dist/components/xpl-slideout.js +1 -1
  161. package/dist/components/xpl-tab-panel.js +1 -1
  162. package/dist/components/xpl-table-header-cell.js +1 -1
  163. package/dist/components/xpl-table-header.js +1 -1
  164. package/dist/components/xpl-table.js +1 -1
  165. package/dist/components/xpl-tabs.js +1 -1
  166. package/dist/components/xpl-tag2.js +1 -1
  167. package/dist/components/xpl-toast.js +1 -1
  168. package/dist/components/xpl-toggle.js +1 -1
  169. package/dist/components/xpl-toolbar.js +1 -1
  170. package/dist/components/xpl-tooltip2.js +1 -1
  171. package/dist/components/xpl-top-nav-item2.js +1 -1
  172. package/dist/components/xpl-top-nav.js +1 -1
  173. package/dist/components/xpl-utility-bar.js +1 -1
  174. package/dist/docs/xpl-checkbox/readme.md +10 -10
  175. package/dist/docs/xpl-dropdown/readme.md +13 -11
  176. package/dist/docs/xpl-dynamic-table/readme.md +19 -22
  177. package/dist/docs/xpl-dynamic-table-cell/readme.md +18 -20
  178. package/dist/docs/xpl-dynamic-table-row/readme.md +19 -21
  179. package/dist/docs/xpl-icon/readme.md +1 -1
  180. package/dist/docs/xpl-radio/readme.md +10 -9
  181. package/dist/docs/xpl-select/readme.md +17 -15
  182. package/dist/docs/xpl-table/readme.md +46 -110
  183. package/dist/docs/{xpl-table/xpl-table-header → xpl-table-header}/readme.md +13 -13
  184. package/dist/docs/xpl-table-header-cell/readme.md +47 -0
  185. package/dist/docs/xpl-toggle/readme.md +16 -9
  186. package/dist/esm/apollo-core.js +1 -1
  187. package/dist/esm/index-C7bgJs6C.js +10 -2
  188. package/dist/esm/loader.js +1 -1
  189. package/dist/esm/xpl-accordion.entry.js +2 -2
  190. package/dist/esm/xpl-application-shell.entry.js +1 -1
  191. package/dist/esm/{xpl-avatar_61.entry.js → xpl-avatar_54.entry.js} +1312 -1719
  192. package/dist/esm/xpl-button-row.entry.js +1 -1
  193. package/dist/esm/xpl-calendar.entry.js +1 -1
  194. package/dist/esm/xpl-dynamic-table-cell.entry.js +2 -2
  195. package/dist/esm/xpl-dynamic-table-row.entry.js +2 -2
  196. package/dist/esm/xpl-dynamic-table.entry.js +1 -1
  197. package/dist/esm/xpl-grid-item.entry.js +1 -1
  198. package/dist/esm/xpl-grid.entry.js +1 -1
  199. package/dist/esm/xpl-large-card.entry.js +1 -1
  200. package/dist/esm/xpl-main-nav.entry.js +1 -1
  201. package/dist/esm/xpl-table-header-cell.entry.js +55 -0
  202. package/dist/esm/xpl-table-header.entry.js +12 -0
  203. package/dist/esm/xpl-toggle.entry.js +9 -4
  204. package/dist/esm/xpl-toolbar.entry.js +2 -2
  205. package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +3 -3
  206. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +5 -0
  207. package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +10 -9
  208. package/dist/types/components/xpl-input/xpl-input.d.ts +3 -2
  209. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +13 -0
  210. package/dist/types/components/xpl-radio/radio.stories.d.ts +10 -1
  211. package/dist/types/components/xpl-radio/xpl-radio.d.ts +2 -0
  212. package/dist/types/components/xpl-select/xpl-select.d.ts +3 -0
  213. package/dist/types/components/xpl-table/table.stories.d.ts +19 -161
  214. package/dist/types/components/xpl-table/xpl-table.d.ts +21 -123
  215. package/dist/types/components/{xpl-table/xpl-table-header → xpl-table-header}/table-header.stories.d.ts +16 -13
  216. package/dist/types/components/{xpl-table/xpl-table-header-cell → xpl-table-header-cell}/table-header-cell.stories.d.ts +20 -24
  217. package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +13 -0
  218. package/dist/types/components/xpl-toggle/xpl-toggle.d.ts +3 -0
  219. package/dist/types/components.d.ts +128 -402
  220. package/package.json +37 -3
  221. package/dist/apollo-core/p-146d5d55.entry.js +0 -1
  222. package/dist/apollo-core/p-16742606.entry.js +0 -1
  223. package/dist/apollo-core/p-3eb5eb7c.entry.js +0 -1
  224. package/dist/apollo-core/p-4882f0bd.entry.js +0 -1
  225. package/dist/apollo-core/p-64b34268.entry.js +0 -1
  226. package/dist/apollo-core/p-71b75f36.entry.js +0 -1
  227. package/dist/apollo-core/p-84254a24.entry.js +0 -1
  228. package/dist/apollo-core/p-9f2a0321.entry.js +0 -1
  229. package/dist/apollo-core/p-cde83ab0.entry.js +0 -1
  230. package/dist/apollo-core/p-e7363036.entry.js +0 -1
  231. package/dist/collection/components/xpl-table/utils/move-row-dom.js +0 -50
  232. package/dist/collection/components/xpl-table/utils/table-internal.js +0 -58
  233. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +0 -7
  234. package/dist/collection/components/xpl-table/xpl-table-cell/xpl-table-cell.js +0 -155
  235. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +0 -7
  236. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +0 -37
  237. package/dist/collection/components/xpl-table/xpl-table-header/table-header.stories.js +0 -131
  238. package/dist/collection/components/xpl-table/xpl-table-header/xpl-table-header.js +0 -7
  239. package/dist/collection/components/xpl-table/xpl-table-header-cell/table-header-cell.stories.js +0 -105
  240. package/dist/collection/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.js +0 -402
  241. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +0 -121
  242. package/dist/components/lifecycle.js +0 -1
  243. package/dist/components/xpl-table-body.d.ts +0 -11
  244. package/dist/components/xpl-table-body.js +0 -1
  245. package/dist/components/xpl-table-cell.d.ts +0 -11
  246. package/dist/components/xpl-table-cell.js +0 -1
  247. package/dist/components/xpl-table-cell2.js +0 -1
  248. package/dist/components/xpl-table-footer-cell.d.ts +0 -11
  249. package/dist/components/xpl-table-footer-cell.js +0 -1
  250. package/dist/components/xpl-table-footer-cell2.js +0 -1
  251. package/dist/components/xpl-table-footer.d.ts +0 -11
  252. package/dist/components/xpl-table-footer.js +0 -1
  253. package/dist/components/xpl-table-header-cell2.js +0 -1
  254. package/dist/components/xpl-table-row.d.ts +0 -11
  255. package/dist/components/xpl-table-row.js +0 -1
  256. package/dist/docs/xpl-table/xpl-table-body/readme.md +0 -10
  257. package/dist/docs/xpl-table/xpl-table-cell/readme.md +0 -33
  258. package/dist/docs/xpl-table/xpl-table-footer/readme.md +0 -10
  259. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +0 -30
  260. package/dist/docs/xpl-table/xpl-table-header-cell/readme.md +0 -66
  261. package/dist/docs/xpl-table/xpl-table-row/readme.md +0 -19
  262. package/dist/types/components/xpl-table/utils/move-row-dom.d.ts +0 -3
  263. package/dist/types/components/xpl-table/utils/table-internal.d.ts +0 -8
  264. package/dist/types/components/xpl-table/xpl-table-body/xpl-table-body.d.ts +0 -3
  265. package/dist/types/components/xpl-table/xpl-table-cell/xpl-table-cell.d.ts +0 -11
  266. package/dist/types/components/xpl-table/xpl-table-footer/xpl-table-footer.d.ts +0 -3
  267. package/dist/types/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.d.ts +0 -4
  268. package/dist/types/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.d.ts +0 -32
  269. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +0 -13
  270. /package/dist/types/components/{xpl-table/xpl-table-header → xpl-table-header}/xpl-table-header.d.ts +0 -0
@@ -10,17 +10,19 @@ A selection within a dropdown does not change the parent trigger.
10
10
 
11
11
  ## Properties
12
12
 
13
- | Property | Attribute | Description | Type | Default |
14
- | ----------------- | ------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------- | ----------- |
15
- | `anchorToTrigger` | `anchor-to-trigger` | whether to anchor the dropdown to the trigger element, requires triggerId to be set | `boolean` | `false` |
16
- | `closeOnSelect` | `close-on-select` | options that are listed | `boolean` | `true` |
17
- | `isOpen` | `open` | text to display as heading | `boolean` | `false` |
18
- | `mode` | `mode` | constant representing number of options that can be selected | `"multi" \| "single"` | `'single'` |
19
- | `options` | -- | options that are listed | `Partial<DropdownOption & DropdownOptionGroup>[]` | `undefined` |
20
- | `selectOnFocus` | `select-on-focus` | whether selection should be made when focusing on interactive element | `boolean` | `false` |
21
- | `selectedValues` | `selected-values` | The currently selected value(s) in the dropdown. | `string \| string[]` | `undefined` |
22
- | `triggerId` | `trigger-id` | the id for the element that triggers the open state | `string` | `undefined` |
23
- | `update` | -- | call back function invoked when a selection is made | `(e: any, { component }: { component: Dropdown; }) => void` | `undefined` |
13
+ | Property | Attribute | Description | Type | Default |
14
+ | ------------------------ | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
15
+ | `anchorToTrigger` | `anchor-to-trigger` | whether to anchor the dropdown to the trigger element, requires triggerId to be set | `boolean` | `false` |
16
+ | `closeOnSelect` | `close-on-select` | options that are listed | `boolean` | `true` |
17
+ | `flipFallbackPlacements` | -- | When `anchorToTrigger` is true, additional placements to try when the default `placement` does not fit (passed to Floating UI `flip`). | `Placement[]` | `undefined` |
18
+ | `isOpen` | `open` | text to display as heading | `boolean` | `false` |
19
+ | `mode` | `mode` | constant representing number of options that can be selected | `"multi" \| "single"` | `'single'` |
20
+ | `options` | -- | options that are listed | `Partial<DropdownOption & DropdownOptionGroup>[]` | `undefined` |
21
+ | `placement` | `placement` | Floating UI placement when `anchorToTrigger` is true (e.g. `bottom-start`, `top-start`). | `"bottom" \| "bottom-end" \| "bottom-start" \| "left" \| "left-end" \| "left-start" \| "right" \| "right-end" \| "right-start" \| "top" \| "top-end" \| "top-start"` | `'bottom-start'` |
22
+ | `selectOnFocus` | `select-on-focus` | whether selection should be made when focusing on interactive element | `boolean` | `false` |
23
+ | `selectedValues` | `selected-values` | The currently selected value(s) in the dropdown. | `string \| string[]` | `undefined` |
24
+ | `triggerId` | `trigger-id` | the id for the element that triggers the open state | `string` | `undefined` |
25
+ | `update` | -- | call back function invoked when a selection is made | `(e: any, { component }: { component: Dropdown; }) => void` | `undefined` |
24
26
 
25
27
 
26
28
  ## Events
@@ -1,22 +1,19 @@
1
- # xpl-dynamic-table
2
-
3
- > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
4
-
5
- The Dynamic Table is a rich content table that can accommodate multiple types of data.
6
-
7
- <!-- Auto Generated Below -->
8
-
9
-
10
- > **[DEPRECATED]** Use the compositional `<xpl-table>` API instead.
11
- This component will be removed in a future major release.
12
-
13
- ## Events
14
-
15
- | Event | Description | Type |
16
- | ------------------------- | -------------------------------------------------- | ----------------------- |
17
- | `selectedItemCountChange` | Emitted when the number of selected items changes. | `CustomEvent<string[]>` |
18
-
19
-
20
- ----------------------------------------------
21
-
22
- *Built with [StencilJS](https://stenciljs.com/)*
1
+ # xpl-dynamic-table
2
+
3
+ > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
4
+
5
+ The Dynamic Table is a rich content table that can accommodate multiple types of data.
6
+
7
+ <!-- Auto Generated Below -->
8
+
9
+
10
+ ## Events
11
+
12
+ | Event | Description | Type |
13
+ | ------------------------- | -------------------------------------------------- | ----------------------- |
14
+ | `selectedItemCountChange` | Emitted when the number of selected items changes. | `CustomEvent<string[]>` |
15
+
16
+
17
+ ----------------------------------------------
18
+
19
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -1,20 +1,18 @@
1
- # xpl-dynamic-table-cell
2
-
3
- > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
4
-
5
- <!-- Auto Generated Below -->
6
-
7
-
8
- > **[DEPRECATED]** Use `<xpl-table-cell>` instead.
9
- This component will be removed in a future major release.
10
-
11
- ## Properties
12
-
13
- | Property | Attribute | Description | Type | Default |
14
- | ---------- | ---------- | ----------------------------------------------- | --------- | ------- |
15
- | `disabled` | `disabled` | Whether the cell and its contents are disabled. | `boolean` | `false` |
16
-
17
-
18
- ----------------------------------------------
19
-
20
- *Built with [StencilJS](https://stenciljs.com/)*
1
+ # xpl-dynamic-table-cell
2
+
3
+ > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
4
+
5
+
6
+ <!-- Auto Generated Below -->
7
+
8
+
9
+ ## Properties
10
+
11
+ | Property | Attribute | Description | Type | Default |
12
+ | ---------- | ---------- | ----------------------------------------------- | --------- | ------- |
13
+ | `disabled` | `disabled` | Whether the cell and its contents are disabled. | `boolean` | `false` |
14
+
15
+
16
+ ----------------------------------------------
17
+
18
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -1,21 +1,19 @@
1
- # xpl-dynamic-table-row
2
-
3
- > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
4
-
5
- <!-- Auto Generated Below -->
6
-
7
-
8
- > **[DEPRECATED]** Use `<xpl-table-row>` instead.
9
- This component will be removed in a future major release.
10
-
11
- ## Properties
12
-
13
- | Property | Attribute | Description | Type | Default |
14
- | ---------- | ---------- | ------------------------------------------- | --------- | ------- |
15
- | `disabled` | `disabled` | Whether the row and its cells are disabled. | `boolean` | `false` |
16
- | `selected` | `selected` | Whether the row is selected. | `boolean` | `false` |
17
-
18
-
19
- ----------------------------------------------
20
-
21
- *Built with [StencilJS](https://stenciljs.com/)*
1
+ # xpl-dynamic-table-row
2
+
3
+ > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
4
+
5
+
6
+ <!-- Auto Generated Below -->
7
+
8
+
9
+ ## Properties
10
+
11
+ | Property | Attribute | Description | Type | Default |
12
+ | ---------- | ---------- | ------------------------------------------- | --------- | ------- |
13
+ | `disabled` | `disabled` | Whether the row and its cells are disabled. | `boolean` | `false` |
14
+ | `selected` | `selected` | Whether the row is selected. | `boolean` | `false` |
15
+
16
+
17
+ ----------------------------------------------
18
+
19
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -56,7 +56,7 @@ The `icon` property accepts any icon name as a string. See the links above for t
56
56
  - [xpl-slideout](../xpl-slideout)
57
57
  - [xpl-spotlight](../xpl-spotlight)
58
58
  - [xpl-table](../xpl-table)
59
- - [xpl-table-header-cell](../xpl-table/xpl-table-header-cell)
59
+ - [xpl-table-header-cell](../xpl-table-header-cell)
60
60
  - [xpl-tag](../xpl-tag)
61
61
  - [xpl-toast](../xpl-toast)
62
62
  - [xpl-top-nav](../xpl-top-nav)
@@ -7,15 +7,16 @@ Radio buttons allow users to make selections or choices. Radios are always singl
7
7
 
8
8
  ## Properties
9
9
 
10
- | Property | Attribute | Description | Type | Default |
11
- | ------------- | ------------- | ------------------------------------------------------------------------------------------ | --------- | ----------- |
12
- | `checked` | `checked` | Whether the input is "on" | `boolean` | `undefined` |
13
- | `description` | `description` | Description text for the field | `string` | `undefined` |
14
- | `disabled` | `disabled` | Whether the input is disabled | `boolean` | `undefined` |
15
- | `name` | `name` | The name attribute for the html input. (submittted in form as name/value pair) | `string` | `undefined` |
16
- | `required` | `required` | Whether the input is required | `boolean` | `undefined` |
17
- | `styled` | `styled` | Whether the input is contained in a box with a border and, in disabled state, a background | `boolean` | `undefined` |
18
- | `value` | `value` | The value attribute for the radio input. (submittted in form as name/value pair) | `string` | `undefined` |
10
+ | Property | Attribute | Description | Type | Default |
11
+ | --------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- |
12
+ | `checked` | `checked` | Whether the input is "on" | `boolean` | `undefined` |
13
+ | `description` | `description` | Description text for the field | `string` | `undefined` |
14
+ | `disabled` | `disabled` | Whether the input is disabled | `boolean` | `undefined` |
15
+ | `name` | `name` | The name attribute for the html input. (submitted in form as name/value pair) | `string` | `undefined` |
16
+ | `required` | `required` | Whether the input is required | `boolean` | `undefined` |
17
+ | `selectedValue` | `selected-value` | The currently selected value for the radio group this radio belongs to. When set, the radio renders as checked when `selectedValue` equals its own `value` prop. Use this to drive radio-group selection from a single source of truth — e.g. Vue `v-model` on a shared `selectedValue` across every radio in a group, where each radio still declares its own `value`. Falls back to the boolean `checked` prop when not set. | `string` | `undefined` |
18
+ | `styled` | `styled` | Whether the input is contained in a box with a border and, in disabled state, a background | `boolean` | `undefined` |
19
+ | `value` | `value` | The value attribute for the radio input. (submitted in form as name/value pair) | `string` | `undefined` |
19
20
 
20
21
 
21
22
  ## Events
@@ -13,21 +13,23 @@ The `selectIcon` property accepts icon names as strings. See [xpl-icon available
13
13
 
14
14
  ## Properties
15
15
 
16
- | Property | Attribute | Description | Type | Default |
17
- | -------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | ---------------- |
18
- | `choices` | -- | An array of choices for the user to choose from. Each choice should be of the form: { label: string; href?: string; value?: string; isGroupHeading?: boolean; isSelected?: boolean; isDisabled?: boolean; options?: DropdownItem[]; groupName?: string; } | `Partial<DropdownOption & DropdownOptionGroup>[]` | `[]` |
19
- | `classNames` | `class-names` | The class name to apply to the select component. | `string` | `undefined` |
20
- | `customDisplayValue` | `custom-display-value` | If true, enables custom display value rendering via slot. | `boolean` | `undefined` |
21
- | `description` | `description` | Optional text that appears below the input label. | `string` | `undefined` |
22
- | `disabled` | `disabled` | Whether the field is disabled | `boolean` | `undefined` |
23
- | `error` | `error` | 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. | `string` | `undefined` |
24
- | `label` | `label` | The label that appears above the select dropdown | `string` | `undefined` |
25
- | `mode` | `mode` | Whether to allow a single choice or multiple choices. | `"multi" \| "single"` | `'single'` |
26
- | `name` | `name` | The name of the hidden input field that contains the selected option's value(s) | `string` | `undefined` |
27
- | `placeholder` | `placeholder` | Placeholder text that appears when the field has no value | `string` | `undefined` |
28
- | `selectIcon` | `select-icon` | The icon to display in the select trigger button. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names. | `string` | `'chevron-down'` |
29
- | `selectedValues` | `selected-values` | The value(s) currently selected in the select component. | `string \| string[]` | `undefined` |
30
- | `truncate` | `truncate` | Only used in multi-choice selects. If `true`, badges representing selections that would overflow the container are replaced with "+x more" (where x is the number not shown). If `false`, the container's height will adjust to show all badges representing selections. | `boolean` | `true` |
16
+ | Property | Attribute | Description | Type | Default |
17
+ | -------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
18
+ | `choices` | -- | An array of choices for the user to choose from. Each choice should be of the form: { label: string; href?: string; value?: string; isGroupHeading?: boolean; isSelected?: boolean; isDisabled?: boolean; options?: DropdownItem[]; groupName?: string; } | `Partial<DropdownOption & DropdownOptionGroup>[]` | `[]` |
19
+ | `classNames` | `class-names` | The class name to apply to the select component. | `string` | `undefined` |
20
+ | `customDisplayValue` | `custom-display-value` | If true, enables custom display value rendering via slot. | `boolean` | `undefined` |
21
+ | `description` | `description` | Optional text that appears below the input label. | `string` | `undefined` |
22
+ | `disabled` | `disabled` | Whether the field is disabled | `boolean` | `undefined` |
23
+ | `dropdownFlipFallbackPlacements` | -- | Additional placements to try for the options panel when the default `dropdownPlacement` does not fit. Passed to `xpl-dropdown` / Floating UI `flip`. | `Placement[]` | `undefined` |
24
+ | `dropdownPlacement` | `dropdown-placement` | 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. | `"bottom" \| "bottom-end" \| "bottom-start" \| "left" \| "left-end" \| "left-start" \| "right" \| "right-end" \| "right-start" \| "top" \| "top-end" \| "top-start"` | `'bottom-start'` |
25
+ | `error` | `error` | 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. | `string` | `undefined` |
26
+ | `label` | `label` | The label that appears above the select dropdown | `string` | `undefined` |
27
+ | `mode` | `mode` | Whether to allow a single choice or multiple choices. | `"multi" \| "single"` | `'single'` |
28
+ | `name` | `name` | The name of the hidden input field that contains the selected option's value(s) | `string` | `undefined` |
29
+ | `placeholder` | `placeholder` | Placeholder text that appears when the field has no value | `string` | `undefined` |
30
+ | `selectIcon` | `select-icon` | The icon to display in the select trigger button. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names. | `string` | `'chevron-down'` |
31
+ | `selectedValues` | `selected-values` | The value(s) currently selected in the select component. | `string \| string[]` | `undefined` |
32
+ | `truncate` | `truncate` | Only used in multi-choice selects. If `true`, badges representing selections that would overflow the container are replaced with "+x more" (where x is the number not shown). If `false`, the container's height will adjust to show all badges representing selections. | `boolean` | `true` |
31
33
 
32
34
 
33
35
  ## Events
@@ -1,110 +1,46 @@
1
- # xpl-table
2
-
3
- Tables are used to organize and display information from a data set.
4
-
5
- ## Rendering modes
6
-
7
- 1. **Compositional (recommended)** — Provide `xpl-table-header`, `xpl-table-body`, and optional `xpl-table-footer` with `xpl-table-row` / `xpl-table-header-cell` / `xpl-table-cell` / `xpl-table-footer-cell`. The host uses CSS grid (`role="grid"`). Column widths come from each **`xpl-table-header-cell`** (`width` in px, or `column-width` for any grid track; default `auto` / content-sized). Use `label` for an accessible name. **Sorting:** set `sortable` (and optional `sort-key`) on label header cells; `xpl-table` emits **`sortChanged`** with sort-key slugs → `asc` / `desc` / `null`. The host does **not** reorder row DOM — listen and update your data (or reorder nodes yourself), same as the main Table Storybook demo.
8
- 2. **Legacy data-driven** — Set `columns`, `data`, and optionally `footer` for a built-in `<table>` implementation. That path supports `isSortable` / `sortableColumns`, `multiselect`, and emits `sortChanged` / `tableSelect` (legacy can reorder rows unless you `preventDefault`). Prefer compositional markup for new work.
9
-
10
- **Selection (compositional only):** Set `selectable` on `xpl-table` and **author the selection column in your template** so the framework that renders the table (Ember, React, Angular, etc.) owns every cell node. Required pieces:
11
-
12
- - **Header:** one `xpl-table-header-cell` with `type="checkbox"` (tri-state “select all”).
13
- - **Body:** in each `xpl-table-row`, a cell aligned with that column containing `xpl-checkbox` (value is driven from `row-id` on the row).
14
- - **Footer:** if you use `xpl-table-footer`, add a leading `xpl-table-footer-cell` per row for the selection column (often empty) so column counts stay aligned.
15
-
16
- `xpl-table` keeps `selectedRowIds`, syncs `checked` / `indeterminate` on the header and row checkboxes, sets `selected` on rows, shows the bulk toolbar, and emits `rowSelectionChange` **on the `xpl-table` element** (`bubbles: false`). From a static script, use `customElements.whenDefined('xpl-table')` before `addEventListener`. Row checkboxes get an accessible name derived from the first **non-selection** data cell in that row (e.g. `Select row, Jordan Lee`); the header uses “Select all rows” unless you set `checkbox-aria-label` on the checkbox header cell.
17
-
18
- ### Breaking change compositional `selectable`
19
-
20
- **Before:** Setting `selectable` alone caused the table to **inject** selection header/body/footer cells into the light DOM (including nodes marked `data-xpl-selection-managed`).
21
-
22
- **After:** You **must** add the selection column in your own markup, as described above. `xpl-table` no longer creates or removes those cells; it only syncs selection state and emits events. If you previously relied on automatic injection, add the header checkbox column, per-row checkbox cells, and (when using a footer) leading footer cells so column counts match.
23
-
24
- ### Row reorder (`row-reorderable`, managed grip column)
25
-
26
- When `row-reorderable` is set, Apollo can **inject** a leading reorder column with a native **button** + optional `xpl-icon` on each body row (unless you author that column yourself). Keyboard and pointer reorder share the same grip; **keyboard mode** is indicated by `aria-pressed`, updated labels, the class `xpl-table__row-drag-handle--keyboard-mode`, and optionally a **different icon**.
27
-
28
- **Pointer drag (full row):** Body rows use CSS **`subgrid`** so `xpl-table-row` is a real grid box (like `xpl-list-item`’s row surface). When `CSS.supports('grid-template-columns','subgrid')` is true, **`draggable`** is set on **`xpl-table-row`** so the browser’s drag image matches the whole row; drag still **starts only from the grip** (pointer-down there sets the drag token—dragging from other cells is ignored). Engines without subgrid keep **`draggable`** on the grip button only.
29
-
30
- | Attribute | When it applies | Purpose |
31
- | --------- | ---------------- | ------- |
32
- | `reorder-handle-icon` | Default / drag affordance | Icon name for `xpl-icon` (default `grip-dots-vertical`). Use `reorder-handle-icon=""` to omit the injected icon and use CSS or your own markup in a **custom** reorder cell instead. |
33
- | `reorder-handle-icon-keyboard` | While that row is in **keyboard reorder mode** (Enter or Space on the grip) | Icon name for the same grip when the user is using **Arrow Up/Down** to move the row (default `caret-expand-y`, matching `xpl-list`). Use `reorder-handle-icon-keyboard=""` to show **no** icon in keyboard mode only. |
34
-
35
- **Recommended for product UIs:** Set **both** attributes to your design-system icon names so drag vs keyboard modes are visually distinct. You can still add styles targeting `.xpl-table__row-drag-handle--keyboard-mode` (e.g. outline) for extra clarity.
36
-
37
- **Interaction:** Focus the grip → **Enter** or **Space** → **Arrow Up/Down** to reorder → **Escape** to exit. Pointer down on the row exits keyboard mode; starting a drag also exits keyboard mode.
38
-
39
- **Custom reorder column:** If you add reorder cells in your own template (not injected), **you** own icons, keyboard behavior, and `rowOrderChange` — these attributes apply only to **managed** injected grips.
40
-
41
- <!-- Auto Generated Below -->
42
-
43
-
44
- ## Overview
45
-
46
- Compositional tables use CSS grid on the host (`role="grid"`). Legacy mode uses a `<table>`.
47
-
48
- ## Properties
49
-
50
- | Property | Attribute | Description | Type | Default |
51
- | --------------------------- | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------- |
52
- | `columns` | -- | <span style="color:red">**[DEPRECATED]**</span> Legacy data-driven table API only (`columns` / `data` / `footer`). May be removed in a future major release. The header values for each column.<br/><br/> | `string[]` | `undefined` |
53
- | `data` | -- | <span style="color:red">**[DEPRECATED]**</span> 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.<br/><br/> | `string[][]` | `undefined` |
54
- | `footer` | -- | <span style="color:red">**[DEPRECATED]**</span> 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.<br/><br/> | `string[][]` | `undefined` |
55
- | `freeze` | `freeze` | 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`. | `boolean` | `undefined` |
56
- | `isSortable` | `is-sortable` | <span style="color:red">**[DEPRECATED]**</span> Legacy data-driven table API only. May be removed in a future major release. Toggles to show the sort button on each table head.<br/><br/> | `boolean` | `false` |
57
- | `label` | `label` | Accessible label for the table. Maps to `aria-label` in compositional mode. | `string` | `undefined` |
58
- | `multiselect` | `multiselect` | <span style="color:red">**[DEPRECATED]**</span> Legacy data-driven table API only. May be removed in a future major release. Toggles a selectable checkbox for each row in the table.<br/><br/> | `boolean` | `undefined` |
59
- | `reorderHandleIcon` | `reorder-handle-icon` | 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`. | `string` | `undefined` |
60
- | `reorderHandleIconKeyboard` | `reorder-handle-icon-keyboard` | 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). | `string` | `undefined` |
61
- | `rowReorderable` | `row-reorderable` | 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. | `boolean` | `undefined` |
62
- | `selectable` | `selectable` | 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. | `boolean` | `undefined` |
63
- | `selectedValues` | -- | <span style="color:red">**[DEPRECATED]**</span> 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.<br/><br/> | `string[]` | `[]` |
64
- | `sortableColumns` | -- | <span style="color:red">**[DEPRECATED]**</span> Use the compositional slot-based API instead. Will be removed in a future major release. Manually determined if the column is sortable.<br/><br/> | `boolean[]` | `[]` |
65
- | `striped` | `striped` | Toggles an optional styling of the background of each even row of the table body. | `boolean` | `undefined` |
66
-
67
-
68
- ## Events
69
-
70
- | Event | Description | Type |
71
- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
72
- | `rowOrderChange` | Emitted after body rows are reordered via drag-and-drop (compositional `row-reorderable` mode). | `CustomEvent<XplTableRowOrderChangeDetail>` |
73
- | `rowSelectionChange` | 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.) | `CustomEvent<{ selectedRowIds: string[]; }>` |
74
- | `sortChanged` | 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. | `CustomEvent<XplTableSortChangedDetail>` |
75
- | `tableSelect` | Callback function that is called when the checkbox for a row of a `multiselect` table is checked. | `CustomEvent<any>` |
76
-
77
-
78
- ## Slots
79
-
80
- | Slot | Description |
81
- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
82
- | | `xpl-table-header`, `xpl-table-body`, and optional `xpl-table-footer`. |
83
- | `"toolbar-actions-left"` | Bulk actions in the selection toolbar (left group). Only when `selectable` is set; the toolbar is shown only while at least one row is selected. |
84
- | `"toolbar-actions-right"` | Bulk actions in the selection toolbar (right group). Same visibility as `toolbar-actions-left`. |
85
-
86
-
87
- ## Dependencies
88
-
89
- ### Depends on
90
-
91
- - [xpl-table-header-cell](xpl-table-header-cell)
92
- - [xpl-table-cell](xpl-table-cell)
93
- - [xpl-icon](../xpl-icon)
94
- - [xpl-table-footer-cell](xpl-table-footer-cell)
95
-
96
- ### Graph
97
- ```mermaid
98
- graph TD;
99
- xpl-table --> xpl-table-header-cell
100
- xpl-table --> xpl-table-cell
101
- xpl-table --> xpl-icon
102
- xpl-table --> xpl-table-footer-cell
103
- xpl-table-header-cell --> xpl-icon
104
- xpl-table-header-cell --> xpl-checkbox
105
- style xpl-table fill:#f9f,stroke:#333,stroke-width:4px
106
- ```
107
-
108
- ----------------------------------------------
109
-
110
- *Built with [StencilJS](https://stenciljs.com/)*
1
+ # xpl-table
2
+
3
+ Tables are used to organize and display information from a data set.
4
+
5
+ <!-- Auto Generated Below -->
6
+
7
+
8
+ ## Properties
9
+
10
+ | Property | Attribute | Description | Type | Default |
11
+ | ----------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------- |
12
+ | `columns` | -- | The header values for each column. | `string[]` | `undefined` |
13
+ | `data` | -- | The data for the body of the table. | `string[][]` | `undefined` |
14
+ | `footer` | -- | The data for the footer of the table. | `string[][]` | `undefined` |
15
+ | `freeze` | `freeze` | When true, the first column of the table is sticky and will cover the leftmost rows in a horizontally scrollable container. | `boolean` | `undefined` |
16
+ | `isSortable` | `is-sortable` | Toggles to show the sort button on each table head | `boolean` | `false` |
17
+ | `multiselect` | `multiselect` | Toggles a selectable checkbox for each row in the table | `boolean` | `undefined` |
18
+ | `selectedValues` | -- | The values for the input for each row when multiselect is activated. | `string[]` | `[]` |
19
+ | `sortableColumns` | -- | Manually determined if the column is sortable | `boolean[]` | `[]` |
20
+ | `striped` | `striped` | Toggles an optional styling of the background of each even row of the table body. | `boolean` | `undefined` |
21
+
22
+
23
+ ## Events
24
+
25
+ | Event | Description | Type |
26
+ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
27
+ | `sortChanged` | 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(). | `CustomEvent<{ colNum: number; colName: string; sortTypeArr: string[]; }>` |
28
+ | `tableSelect` | Callback function that is called when the checkbox for a row of a `multiselect` table is checked | `CustomEvent<any>` |
29
+
30
+
31
+ ## Dependencies
32
+
33
+ ### Depends on
34
+
35
+ - [xpl-icon](../xpl-icon)
36
+
37
+ ### Graph
38
+ ```mermaid
39
+ graph TD;
40
+ xpl-table --> xpl-icon
41
+ style xpl-table fill:#f9f,stroke:#333,stroke-width:4px
42
+ ```
43
+
44
+ ----------------------------------------------
45
+
46
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -1,13 +1,13 @@
1
- # xpl-table-header
2
-
3
- Semantic wrapper for the header **row group** in a compositional `xpl-table` (`role="rowgroup"`). Place one `xpl-table-row` (with `xpl-table-header-cell` children) inside.
4
-
5
- > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
6
-
7
-
8
- <!-- Auto Generated Below -->
9
-
10
-
11
- ----------------------------------------------
12
-
13
- *Built with [StencilJS](https://stenciljs.com/)*
1
+ # xpl-table-header
2
+
3
+ Component parts used to assemble the Dynamic Table.
4
+
5
+ > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
6
+
7
+
8
+ <!-- Auto Generated Below -->
9
+
10
+
11
+ ----------------------------------------------
12
+
13
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -0,0 +1,47 @@
1
+ # xpl-table-header-cell
2
+
3
+ > **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.
4
+
5
+ The `icon` property accepts icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list.
6
+
7
+ ---
8
+
9
+ <!-- Auto Generated Below -->
10
+
11
+
12
+ ## Properties
13
+
14
+ | Property | Attribute | Description | Type | Default |
15
+ | ---------- | ---------- | -------------------------------------------------------------------------------------------------------- | --------------------------------- | ----------- |
16
+ | `icon` | `icon` | Icon to display in the cell. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names. | `string` | `undefined` |
17
+ | `label` | `label` | | `string` | `''` |
18
+ | `sortable` | `sortable` | | `boolean` | `false` |
19
+ | `type` | `type` | | `"checkbox" \| "icon" \| "label"` | `'label'` |
20
+ | `width` | `width` | | `number` | `undefined` |
21
+
22
+
23
+ ## Events
24
+
25
+ | Event | Description | Type |
26
+ | ------------- | ---------------------------------------- | ---------------------------------------- |
27
+ | `sortChanged` | Emitted when the sort direction changes. | `CustomEvent<"asc" \| "desc" \| "none">` |
28
+
29
+
30
+ ## Dependencies
31
+
32
+ ### Depends on
33
+
34
+ - [xpl-checkbox](../xpl-checkbox)
35
+ - [xpl-icon](../xpl-icon)
36
+
37
+ ### Graph
38
+ ```mermaid
39
+ graph TD;
40
+ xpl-table-header-cell --> xpl-checkbox
41
+ xpl-table-header-cell --> xpl-icon
42
+ style xpl-table-header-cell fill:#f9f,stroke:#333,stroke-width:4px
43
+ ```
44
+
45
+ ----------------------------------------------
46
+
47
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -7,15 +7,22 @@ A Toggle is a type of form control that is used to switch between enabled and di
7
7
 
8
8
  ## Properties
9
9
 
10
- | Property | Attribute | Description | Type | Default |
11
- | ------------- | ------------- | ------------------------------------------------------------------------------ | ---------------------- | ----------- |
12
- | `checked` | `checked` | Whether the toggle is `on` | `boolean` | `undefined` |
13
- | `description` | `description` | The toggle's description appears *above* the toggle. | `string` | `undefined` |
14
- | `disabled` | `disabled` | Whether the toggle is disabled | `boolean` | `undefined` |
15
- | `heading` | `heading` | The toggle's heading appears *above* the toggle. | `string` | `undefined` |
16
- | `label` | `label` | The toggle's label appears *to the right of* the toggle. | `string` | `undefined` |
17
- | `name` | `name` | The name attribute for the html input. (submittted in form as name/value pair) | `string` | `undefined` |
18
- | `variant` | `variant` | The size of the toggle -- `default` or `small` | `"default" \| "small"` | `'default'` |
10
+ | Property | Attribute | Description | Type | Default |
11
+ | ------------- | ------------- | ----------------------------------------------------------------------------- | ---------------------- | ----------- |
12
+ | `checked` | `checked` | Whether the toggle is `on` | `boolean` | `undefined` |
13
+ | `description` | `description` | The toggle's description appears *above* the toggle. | `string` | `undefined` |
14
+ | `disabled` | `disabled` | Whether the toggle is disabled | `boolean` | `undefined` |
15
+ | `heading` | `heading` | The toggle's heading appears *above* the toggle. | `string` | `undefined` |
16
+ | `label` | `label` | The toggle's label appears *to the right of* the toggle. | `string` | `undefined` |
17
+ | `name` | `name` | The name attribute for the html input. (submitted in form as name/value pair) | `string` | `undefined` |
18
+ | `variant` | `variant` | The size of the toggle -- `default` or `small` | `"default" \| "small"` | `'default'` |
19
+
20
+
21
+ ## Events
22
+
23
+ | Event | Description | Type |
24
+ | -------------- | --------------------------------------------------------------------------------- | ---------------------- |
25
+ | `toggleChange` | Emitted when the toggle checked state changes. Detail is the new `checked` value. | `CustomEvent<boolean>` |
19
26
 
20
27
 
21
28
  ----------------------------------------------