@xplortech/apollo-core 3.1.0 → 3.2.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 (491) hide show
  1. package/.typings/apollo-components.html-data.json +120 -14
  2. package/build/components/avatar.css +1 -1
  3. package/build/components/data-card.css +1 -1
  4. package/build/components/dropdown.css +1 -1
  5. package/build/components/input-time.css +1 -1
  6. package/build/components/large-card.css +1 -1
  7. package/build/components/list-item.css +1 -1
  8. package/build/components/modal.css +1 -1
  9. package/build/components/popover.css +1 -1
  10. package/build/components/side-nav.css +1 -1
  11. package/build/components/spotlight.css +1 -1
  12. package/build/components/table-cell-base.css +1 -0
  13. package/build/components/table-cell.css +1 -0
  14. package/build/components/table-footer-cell.css +1 -1
  15. package/build/components/table-header-cell.css +1 -1
  16. package/build/components/table.css +1 -1
  17. package/build/components/tag.css +1 -1
  18. package/build/components/toast.css +1 -1
  19. package/build/components/toggle.css +1 -1
  20. package/build/components/toolbar.css +1 -1
  21. package/build/components/tooltip.css +1 -1
  22. package/build/components/top-nav.css +1 -1
  23. package/build/components-manifest.json +19 -3
  24. package/build/core.css +1 -1
  25. package/build/style.css +1 -1
  26. package/build/variables/apollo.css +4 -0
  27. package/build/variables/field-edge.css +4 -0
  28. package/build/vendor/flatpickr.css +1 -1
  29. package/dist/apollo-core/apollo-core.css +1 -1
  30. package/dist/apollo-core/apollo-core.esm.js +1 -1
  31. package/dist/apollo-core/p-045a4538.entry.js +1 -0
  32. package/dist/apollo-core/{p-d443291f.entry.js → p-050a8bf2.entry.js} +1 -1
  33. package/dist/apollo-core/p-08767607.entry.js +1 -0
  34. package/dist/apollo-core/{p-149ddd12.entry.js → p-11914cd4.entry.js} +1 -1
  35. package/dist/apollo-core/{p-581b702c.entry.js → p-14e86de8.entry.js} +1 -1
  36. package/dist/apollo-core/p-194c0ccd.entry.js +1 -0
  37. package/dist/apollo-core/p-1c031055.entry.js +1 -0
  38. package/dist/apollo-core/p-24f7280a.entry.js +1 -0
  39. package/dist/apollo-core/{p-47bda204.entry.js → p-24fa8a03.entry.js} +1 -1
  40. package/dist/apollo-core/{p-91895c40.entry.js → p-2971e2ec.entry.js} +1 -1
  41. package/dist/apollo-core/{p-0958c719.entry.js → p-3417c1ce.entry.js} +1 -1
  42. package/dist/apollo-core/p-3713cd77.entry.js +1 -0
  43. package/dist/apollo-core/p-386851a2.entry.js +1 -0
  44. package/dist/apollo-core/p-3cd1238b.entry.js +1 -0
  45. package/dist/apollo-core/{p-b45179fb.entry.js → p-49531864.entry.js} +1 -1
  46. package/dist/apollo-core/p-4e3c6616.entry.js +1 -0
  47. package/dist/apollo-core/p-5b9fd96e.entry.js +1 -0
  48. package/dist/apollo-core/{p-cb5b15c2.entry.js → p-5bfac8fd.entry.js} +1 -1
  49. package/dist/apollo-core/p-5c3be343.entry.js +1 -0
  50. package/dist/apollo-core/p-5cbf5d42.entry.js +1 -0
  51. package/dist/apollo-core/p-5ec2b180.entry.js +1 -0
  52. package/dist/apollo-core/{p-790709c0.entry.js → p-64f5c129.entry.js} +1 -1
  53. package/dist/apollo-core/{p-28bce81a.entry.js → p-65f6b66c.entry.js} +1 -1
  54. package/dist/apollo-core/{p-d9070ae5.entry.js → p-715baae0.entry.js} +1 -1
  55. package/dist/apollo-core/p-72e0455f.entry.js +1 -0
  56. package/dist/apollo-core/p-7ac7fbc0.entry.js +1 -0
  57. package/dist/apollo-core/p-7d70e089.entry.js +1 -0
  58. package/dist/apollo-core/{p-d41b8f46.entry.js → p-7eb02cf3.entry.js} +1 -1
  59. package/dist/apollo-core/p-7f4463ff.entry.js +1 -0
  60. package/dist/apollo-core/p-808f3d9c.entry.js +1 -0
  61. package/dist/apollo-core/p-87582346.entry.js +1 -0
  62. package/dist/apollo-core/{p-2c995d80.entry.js → p-8f8f4759.entry.js} +1 -1
  63. package/dist/apollo-core/{p-5d9a593e.entry.js → p-907bc21e.entry.js} +1 -1
  64. package/dist/apollo-core/p-9905c77c.entry.js +1 -0
  65. package/dist/apollo-core/{p-54903322.entry.js → p-9d731673.entry.js} +1 -1
  66. package/dist/apollo-core/{p-2938ab4f.entry.js → p-9feaa8be.entry.js} +1 -1
  67. package/dist/apollo-core/p-O7gQjVdS.js +1 -0
  68. package/dist/apollo-core/p-a6ecca68.entry.js +1 -0
  69. package/dist/apollo-core/p-a789c272.entry.js +1 -0
  70. package/dist/apollo-core/{p-06a9a27b.entry.js → p-aeb2bcb8.entry.js} +1 -1
  71. package/dist/apollo-core/p-b3b4678b.entry.js +1 -0
  72. package/dist/apollo-core/{p-82812126.entry.js → p-b64ed46d.entry.js} +1 -1
  73. package/dist/apollo-core/{p-0368a1df.entry.js → p-bc821e69.entry.js} +1 -1
  74. package/dist/apollo-core/p-bd493c4a.entry.js +1 -0
  75. package/dist/apollo-core/p-bdcece21.entry.js +1 -0
  76. package/dist/apollo-core/{p-cdb5b5c4.entry.js → p-bfb7a83a.entry.js} +1 -1
  77. package/dist/apollo-core/{p-cdacfcd4.entry.js → p-c22f70f4.entry.js} +1 -1
  78. package/dist/apollo-core/{p-5730d96c.entry.js → p-c5bc3b2c.entry.js} +1 -1
  79. package/dist/apollo-core/{p-4ad79534.entry.js → p-ca83003e.entry.js} +1 -1
  80. package/dist/apollo-core/p-d3230277.entry.js +1 -0
  81. package/dist/apollo-core/p-d3ada7d0.entry.js +1 -0
  82. package/dist/apollo-core/{p-d0bc7c45.entry.js → p-d469bf5d.entry.js} +1 -1
  83. package/dist/apollo-core/p-d7f8ee34.entry.js +1 -0
  84. package/dist/apollo-core/p-d879c349.entry.js +1 -0
  85. package/dist/apollo-core/{p-2139f9f6.entry.js → p-df257cbf.entry.js} +1 -1
  86. package/dist/apollo-core/p-e09d8beb.entry.js +1 -0
  87. package/dist/apollo-core/p-e4d50301.entry.js +1 -0
  88. package/dist/apollo-core/{p-f3a2c79b.entry.js → p-ea9cdd65.entry.js} +1 -1
  89. package/dist/apollo-core/{p-ca4652b3.entry.js → p-eba654a3.entry.js} +1 -1
  90. package/dist/apollo-core/{p-4a2323b3.entry.js → p-ee68bed6.entry.js} +1 -1
  91. package/dist/apollo-core/{p-abdf199b.entry.js → p-f384a990.entry.js} +1 -1
  92. package/dist/apollo-core/{p-4d4acd1f.entry.js → p-f579e4b0.entry.js} +1 -1
  93. package/dist/apollo-core/{p-d724c419.entry.js → p-fcb17ff9.entry.js} +1 -1
  94. package/dist/apollo-core/{p-e2890eb1.entry.js → p-ff16f574.entry.js} +1 -1
  95. package/dist/cjs/apollo-core.cjs.js +1 -1
  96. package/dist/cjs/index-3cBvw409.js +8 -12
  97. package/dist/cjs/loader.cjs.js +1 -1
  98. package/dist/cjs/table-internal-DssCrBs_.js +67 -0
  99. package/dist/cjs/xpl-accordion.cjs.entry.js +2 -2
  100. package/dist/cjs/xpl-application-shell.cjs.entry.js +1 -1
  101. package/dist/cjs/xpl-avatar_3.cjs.entry.js +4 -4
  102. package/dist/cjs/xpl-backdrop.cjs.entry.js +1 -1
  103. package/dist/cjs/xpl-badge.cjs.entry.js +1 -1
  104. package/dist/cjs/xpl-banner.cjs.entry.js +2 -2
  105. package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +1 -1
  106. package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +1 -1
  107. package/dist/cjs/xpl-button-row.cjs.entry.js +1 -1
  108. package/dist/cjs/xpl-button.cjs.entry.js +1 -1
  109. package/dist/cjs/xpl-calendar.cjs.entry.js +1 -1
  110. package/dist/cjs/xpl-checkbox.cjs.entry.js +3 -3
  111. package/dist/cjs/xpl-choicelist.cjs.entry.js +1 -1
  112. package/dist/cjs/xpl-content-area.cjs.entry.js +1 -1
  113. package/dist/cjs/xpl-dashboard.cjs.entry.js +1 -1
  114. package/dist/cjs/xpl-data-card.cjs.entry.js +2 -2
  115. package/dist/cjs/xpl-dropdown_4.cjs.entry.js +8 -8
  116. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +2 -2
  117. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +2 -2
  118. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +2 -2
  119. package/dist/cjs/xpl-grid-item.cjs.entry.js +1 -1
  120. package/dist/cjs/xpl-grid.cjs.entry.js +1 -1
  121. package/dist/cjs/xpl-header-accordion.cjs.entry.js +1 -1
  122. package/dist/cjs/xpl-icon.cjs.entry.js +2 -2
  123. package/dist/cjs/xpl-input-color.cjs.entry.js +8 -8
  124. package/dist/cjs/xpl-input-phone.cjs.entry.js +5 -5
  125. package/dist/cjs/xpl-input-time.cjs.entry.js +2 -2
  126. package/dist/cjs/xpl-input_4.cjs.entry.js +10 -10
  127. package/dist/cjs/xpl-large-card.cjs.entry.js +1 -1
  128. package/dist/cjs/xpl-list.cjs.entry.js +2 -2
  129. package/dist/cjs/xpl-main-nav.cjs.entry.js +1 -1
  130. package/dist/cjs/xpl-modal.cjs.entry.js +1 -1
  131. package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +2 -2
  132. package/dist/cjs/xpl-nav-item.cjs.entry.js +2 -2
  133. package/dist/cjs/xpl-pagination.cjs.entry.js +4 -4
  134. package/dist/cjs/xpl-panel.cjs.entry.js +2 -2
  135. package/dist/cjs/xpl-popover.cjs.entry.js +4 -4
  136. package/dist/cjs/xpl-progress-bar.cjs.entry.js +2 -2
  137. package/dist/cjs/xpl-progress-indicator.cjs.entry.js +1 -1
  138. package/dist/cjs/xpl-secondary-nav.cjs.entry.js +1 -1
  139. package/dist/cjs/xpl-select_2.cjs.entry.js +8 -8
  140. package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +2 -2
  141. package/dist/cjs/xpl-side-nav-item.cjs.entry.js +2 -2
  142. package/dist/cjs/xpl-side-nav-section.cjs.entry.js +5 -5
  143. package/dist/cjs/xpl-side-nav.cjs.entry.js +2 -2
  144. package/dist/cjs/xpl-skeleton.cjs.entry.js +1 -1
  145. package/dist/cjs/xpl-slideout.cjs.entry.js +1 -1
  146. package/dist/cjs/xpl-tab-panel.cjs.entry.js +2 -2
  147. package/dist/cjs/xpl-table-body.cjs.entry.js +1 -1
  148. package/dist/cjs/xpl-table-cell_3.cjs.entry.js +228 -0
  149. package/dist/cjs/xpl-table-footer.cjs.entry.js +1 -1
  150. package/dist/cjs/xpl-table-header.cjs.entry.js +1 -1
  151. package/dist/cjs/xpl-table-row.cjs.entry.js +43 -2
  152. package/dist/cjs/xpl-table.cjs.entry.js +1204 -80
  153. package/dist/cjs/xpl-tabs.cjs.entry.js +5 -5
  154. package/dist/cjs/xpl-toast.cjs.entry.js +2 -2
  155. package/dist/cjs/xpl-toggle.cjs.entry.js +3 -3
  156. package/dist/cjs/xpl-toolbar.cjs.entry.js +2 -2
  157. package/dist/cjs/xpl-tooltip.cjs.entry.js +1 -1
  158. package/dist/cjs/xpl-top-nav-item.cjs.entry.js +2 -2
  159. package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +2 -2
  160. package/dist/cjs/xpl-top-nav.cjs.entry.js +5 -5
  161. package/dist/cjs/xpl-utility-bar.cjs.entry.js +1 -1
  162. package/dist/collection/collection-manifest.json +2 -1
  163. package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
  164. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  165. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  166. package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
  167. package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
  168. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  169. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  170. package/dist/collection/components/xpl-button/xpl-button.js +1 -1
  171. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  172. package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
  173. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +3 -3
  174. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
  175. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  176. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  177. package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
  178. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  179. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
  180. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  181. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
  182. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +4 -4
  183. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
  184. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
  185. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
  186. package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
  187. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  188. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
  189. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
  190. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
  191. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
  192. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
  193. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +5 -5
  194. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
  195. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
  196. package/dist/collection/components/xpl-input/xpl-input.js +2 -2
  197. package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
  198. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  199. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  200. package/dist/collection/components/xpl-modal/xpl-modal.js +1 -1
  201. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  202. package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
  203. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  204. package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
  205. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  206. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  207. package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
  208. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  209. package/dist/collection/components/xpl-select/xpl-select.js +6 -6
  210. package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +2 -2
  211. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +2 -2
  212. package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +5 -5
  213. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +2 -2
  214. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  215. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  216. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  217. package/dist/collection/components/xpl-table/utils/move-row-dom.js +50 -0
  218. package/dist/collection/components/xpl-table/utils/table-internal.js +57 -0
  219. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +1 -1
  220. package/dist/collection/components/xpl-table/xpl-table-cell/xpl-table-cell.js +167 -0
  221. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +1 -1
  222. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +2 -2
  223. package/dist/collection/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.js +402 -0
  224. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +44 -2
  225. package/dist/collection/components/xpl-table/xpl-table.js +1427 -116
  226. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  227. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  228. package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
  229. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  230. package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
  231. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  232. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  233. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  234. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  235. package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +2 -2
  236. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  237. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  238. package/dist/components/index.d.ts +3 -1
  239. package/dist/components/index.js +1 -1
  240. package/dist/components/{p-oIn1krdu.js → p-1D7CWIJ-.js} +1 -1
  241. package/dist/components/{p-xtOHikY0.js → p-2cJsJK3-.js} +1 -1
  242. package/dist/components/{p-DYmvElhR.js → p-8zrW9vEC.js} +1 -1
  243. package/dist/components/p-B56GeUtW.js +1 -0
  244. package/dist/components/p-B6YLKDUX.js +1 -0
  245. package/dist/components/{p-D--kzomA.js → p-B7aaJikj.js} +1 -1
  246. package/dist/components/{p-U0JYwf4c.js → p-BOm_p_mz.js} +1 -1
  247. package/dist/components/p-BZIZSovL.js +1 -0
  248. package/dist/components/{p-EfW0v54z.js → p-BtLC-jpk.js} +1 -1
  249. package/dist/components/{p-xFsB212F.js → p-Btb2UkLz.js} +1 -1
  250. package/dist/components/{p-DAb-txW3.js → p-C0AbGd4t.js} +1 -1
  251. package/dist/components/p-CFXvQqUO.js +1 -0
  252. package/dist/components/{p-l3EZ-agL.js → p-CQjJIHK6.js} +1 -1
  253. package/dist/components/{p-Chpgh5SL.js → p-CV5nn1zR.js} +1 -1
  254. package/dist/components/p-CdRmVtIN.js +1 -0
  255. package/dist/components/p-CgemLtmL.js +1 -0
  256. package/dist/components/p-CmbpWpb0.js +1 -0
  257. package/dist/components/p-CuVYRPvz.js +1 -0
  258. package/dist/components/{p-JyNpXfDe.js → p-D09sGbzs.js} +1 -1
  259. package/dist/components/{p-BdpZR4KO.js → p-DTh_zemx.js} +1 -1
  260. package/dist/components/{p-CiHTfk3E.js → p-DoVubWyd.js} +1 -1
  261. package/dist/components/p-Dp62sBqX.js +1 -0
  262. package/dist/components/p-DqgnC_vS.js +1 -0
  263. package/dist/components/p-DtV4i45B.js +1 -0
  264. package/dist/components/{p-wIU7KUhA.js → p-ohy3NrgH.js} +1 -1
  265. package/dist/components/xpl-accordion.js +1 -1
  266. package/dist/components/xpl-application-shell.js +1 -1
  267. package/dist/components/xpl-avatar.js +1 -1
  268. package/dist/components/xpl-backdrop.js +1 -1
  269. package/dist/components/xpl-badge.js +1 -1
  270. package/dist/components/xpl-banner.js +1 -1
  271. package/dist/components/xpl-breadcrumb-item.js +1 -1
  272. package/dist/components/xpl-breadcrumbs.js +1 -1
  273. package/dist/components/xpl-button-row.js +1 -1
  274. package/dist/components/xpl-button.js +1 -1
  275. package/dist/components/xpl-calendar.js +1 -1
  276. package/dist/components/xpl-checkbox.js +1 -1
  277. package/dist/components/xpl-choicelist.js +1 -1
  278. package/dist/components/xpl-content-area.js +1 -1
  279. package/dist/components/xpl-dashboard.js +1 -1
  280. package/dist/components/xpl-data-card.js +1 -1
  281. package/dist/components/xpl-divider.js +1 -1
  282. package/dist/components/xpl-dropdown-group.js +1 -1
  283. package/dist/components/xpl-dropdown-heading.js +1 -1
  284. package/dist/components/xpl-dropdown-option.js +1 -1
  285. package/dist/components/xpl-dropdown.js +1 -1
  286. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  287. package/dist/components/xpl-dynamic-table-row.js +1 -1
  288. package/dist/components/xpl-dynamic-table.js +1 -1
  289. package/dist/components/xpl-grid-item.js +1 -1
  290. package/dist/components/xpl-grid.js +1 -1
  291. package/dist/components/xpl-header-accordion.js +1 -1
  292. package/dist/components/xpl-icon.js +1 -1
  293. package/dist/components/xpl-input-color.js +1 -1
  294. package/dist/components/xpl-input-date.js +1 -1
  295. package/dist/components/xpl-input-file.js +1 -1
  296. package/dist/components/xpl-input-phone.js +1 -1
  297. package/dist/components/xpl-input-search.js +1 -1
  298. package/dist/components/xpl-input-time.js +1 -1
  299. package/dist/components/xpl-input.js +1 -1
  300. package/dist/components/xpl-large-card.js +1 -1
  301. package/dist/components/xpl-list-item.js +1 -1
  302. package/dist/components/xpl-list.js +1 -1
  303. package/dist/components/xpl-main-nav.js +1 -1
  304. package/dist/components/xpl-modal.js +1 -1
  305. package/dist/components/xpl-nav-header-menu.js +1 -1
  306. package/dist/components/xpl-nav-item.js +1 -1
  307. package/dist/components/xpl-pagination.js +1 -1
  308. package/dist/components/xpl-panel.js +1 -1
  309. package/dist/components/xpl-popover.js +1 -1
  310. package/dist/components/xpl-progress-bar.js +1 -1
  311. package/dist/components/xpl-progress-indicator.js +1 -1
  312. package/dist/components/xpl-radio.js +1 -1
  313. package/dist/components/xpl-secondary-nav.js +1 -1
  314. package/dist/components/xpl-select.js +1 -1
  315. package/dist/components/xpl-side-nav-header-item.js +1 -1
  316. package/dist/components/xpl-side-nav-item.js +1 -1
  317. package/dist/components/xpl-side-nav-section.js +1 -1
  318. package/dist/components/xpl-side-nav.js +1 -1
  319. package/dist/components/xpl-skeleton.js +1 -1
  320. package/dist/components/xpl-slideout.js +1 -1
  321. package/dist/components/xpl-spotlight.js +1 -1
  322. package/dist/components/xpl-tab-panel.js +1 -1
  323. package/dist/components/xpl-tab.js +1 -1
  324. package/dist/components/xpl-table-body.js +1 -1
  325. package/dist/components/xpl-table-cell.d.ts +11 -0
  326. package/dist/components/xpl-table-cell.js +1 -0
  327. package/dist/components/xpl-table-footer-cell.js +1 -1
  328. package/dist/components/xpl-table-footer.js +1 -1
  329. package/dist/components/xpl-table-header-cell.js +1 -1
  330. package/dist/components/xpl-table-header.js +1 -1
  331. package/dist/components/xpl-table-row.js +1 -1
  332. package/dist/components/xpl-table.js +1 -1
  333. package/dist/components/xpl-tabs.js +1 -1
  334. package/dist/components/xpl-tag.js +1 -1
  335. package/dist/components/xpl-toast.js +1 -1
  336. package/dist/components/xpl-toggle.js +1 -1
  337. package/dist/components/xpl-toolbar.js +1 -1
  338. package/dist/components/xpl-tooltip.js +1 -1
  339. package/dist/components/xpl-top-nav-item.js +1 -1
  340. package/dist/components/xpl-top-nav-menu.js +1 -1
  341. package/dist/components/xpl-top-nav.js +1 -1
  342. package/dist/components/xpl-utility-bar.js +1 -1
  343. package/dist/docs/xpl-avatar/readme.md +1 -1
  344. package/dist/docs/xpl-checkbox/readme.md +1 -3
  345. package/dist/docs/xpl-data-card/readme.md +1 -1
  346. package/dist/docs/xpl-dynamic-table/readme.md +4 -1
  347. package/dist/docs/xpl-dynamic-table-cell/readme.md +2 -0
  348. package/dist/docs/xpl-dynamic-table-row/readme.md +2 -0
  349. package/dist/docs/xpl-icon/readme.md +1 -1
  350. package/dist/docs/xpl-input/xpl-input-time/readme.md +1 -1
  351. package/dist/docs/xpl-large-card/readme.md +1 -1
  352. package/dist/docs/xpl-modal/readme.md +2 -2
  353. package/dist/docs/xpl-popover/readme.md +1 -2
  354. package/dist/docs/xpl-slideout/readme.md +1 -1
  355. package/dist/docs/xpl-spotlight/readme.md +1 -0
  356. package/dist/docs/xpl-table/readme.md +178 -20
  357. package/dist/docs/xpl-table/xpl-table-body/readme.md +4 -4
  358. package/dist/docs/xpl-table/xpl-table-cell/readme.md +53 -0
  359. package/dist/docs/xpl-table/xpl-table-footer/readme.md +4 -4
  360. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +24 -15
  361. package/dist/docs/xpl-table/xpl-table-header-cell/readme.md +84 -0
  362. package/dist/docs/xpl-table/xpl-table-row/readme.md +18 -14
  363. package/dist/docs/xpl-toast/readme.md +2 -2
  364. package/dist/docs/xpl-toggle/readme.md +1 -1
  365. package/dist/docs/xpl-toolbar/readme.md +5 -3
  366. package/dist/docs/xpl-tooltip/readme.md +1 -2
  367. package/dist/docs.json +776 -113
  368. package/dist/esm/apollo-core.js +1 -1
  369. package/dist/esm/index-ukZKsqqq.js +8 -12
  370. package/dist/esm/loader.js +1 -1
  371. package/dist/esm/table-internal-O7gQjVdS.js +59 -0
  372. package/dist/esm/xpl-accordion.entry.js +2 -2
  373. package/dist/esm/xpl-application-shell.entry.js +1 -1
  374. package/dist/esm/xpl-avatar_3.entry.js +4 -4
  375. package/dist/esm/xpl-backdrop.entry.js +1 -1
  376. package/dist/esm/xpl-badge.entry.js +1 -1
  377. package/dist/esm/xpl-banner.entry.js +2 -2
  378. package/dist/esm/xpl-breadcrumb-item.entry.js +1 -1
  379. package/dist/esm/xpl-breadcrumbs.entry.js +1 -1
  380. package/dist/esm/xpl-button-row.entry.js +1 -1
  381. package/dist/esm/xpl-button.entry.js +1 -1
  382. package/dist/esm/xpl-calendar.entry.js +1 -1
  383. package/dist/esm/xpl-checkbox.entry.js +3 -3
  384. package/dist/esm/xpl-choicelist.entry.js +1 -1
  385. package/dist/esm/xpl-content-area.entry.js +1 -1
  386. package/dist/esm/xpl-dashboard.entry.js +1 -1
  387. package/dist/esm/xpl-data-card.entry.js +2 -2
  388. package/dist/esm/xpl-dropdown_4.entry.js +8 -8
  389. package/dist/esm/xpl-dynamic-table-cell.entry.js +2 -2
  390. package/dist/esm/xpl-dynamic-table-row.entry.js +2 -2
  391. package/dist/esm/xpl-dynamic-table.entry.js +2 -2
  392. package/dist/esm/xpl-grid-item.entry.js +1 -1
  393. package/dist/esm/xpl-grid.entry.js +1 -1
  394. package/dist/esm/xpl-header-accordion.entry.js +1 -1
  395. package/dist/esm/xpl-icon.entry.js +2 -2
  396. package/dist/esm/xpl-input-color.entry.js +8 -8
  397. package/dist/esm/xpl-input-phone.entry.js +5 -5
  398. package/dist/esm/xpl-input-time.entry.js +2 -2
  399. package/dist/esm/xpl-input_4.entry.js +10 -10
  400. package/dist/esm/xpl-large-card.entry.js +1 -1
  401. package/dist/esm/xpl-list.entry.js +2 -2
  402. package/dist/esm/xpl-main-nav.entry.js +1 -1
  403. package/dist/esm/xpl-modal.entry.js +1 -1
  404. package/dist/esm/xpl-nav-header-menu.entry.js +2 -2
  405. package/dist/esm/xpl-nav-item.entry.js +2 -2
  406. package/dist/esm/xpl-pagination.entry.js +4 -4
  407. package/dist/esm/xpl-panel.entry.js +2 -2
  408. package/dist/esm/xpl-popover.entry.js +4 -4
  409. package/dist/esm/xpl-progress-bar.entry.js +2 -2
  410. package/dist/esm/xpl-progress-indicator.entry.js +1 -1
  411. package/dist/esm/xpl-secondary-nav.entry.js +1 -1
  412. package/dist/esm/xpl-select_2.entry.js +8 -8
  413. package/dist/esm/xpl-side-nav-header-item.entry.js +2 -2
  414. package/dist/esm/xpl-side-nav-item.entry.js +2 -2
  415. package/dist/esm/xpl-side-nav-section.entry.js +5 -5
  416. package/dist/esm/xpl-side-nav.entry.js +2 -2
  417. package/dist/esm/xpl-skeleton.entry.js +1 -1
  418. package/dist/esm/xpl-slideout.entry.js +1 -1
  419. package/dist/esm/xpl-tab-panel.entry.js +2 -2
  420. package/dist/esm/xpl-table-body.entry.js +1 -1
  421. package/dist/esm/xpl-table-cell_3.entry.js +224 -0
  422. package/dist/esm/xpl-table-footer.entry.js +1 -1
  423. package/dist/esm/xpl-table-header.entry.js +1 -1
  424. package/dist/esm/xpl-table-row.entry.js +44 -3
  425. package/dist/esm/xpl-table.entry.js +1204 -80
  426. package/dist/esm/xpl-tabs.entry.js +5 -5
  427. package/dist/esm/xpl-toast.entry.js +2 -2
  428. package/dist/esm/xpl-toggle.entry.js +3 -3
  429. package/dist/esm/xpl-toolbar.entry.js +2 -2
  430. package/dist/esm/xpl-tooltip.entry.js +1 -1
  431. package/dist/esm/xpl-top-nav-item.entry.js +2 -2
  432. package/dist/esm/xpl-top-nav-menu.entry.js +2 -2
  433. package/dist/esm/xpl-top-nav.entry.js +5 -5
  434. package/dist/esm/xpl-utility-bar.entry.js +1 -1
  435. package/dist/types/components/xpl-table/utils/move-row-dom.d.ts +3 -0
  436. package/dist/types/components/xpl-table/utils/table-internal.d.ts +8 -0
  437. package/dist/types/components/xpl-table/xpl-table-cell/xpl-table-cell.d.ts +11 -0
  438. package/dist/types/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.d.ts +33 -0
  439. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +7 -0
  440. package/dist/types/components/xpl-table/xpl-table.d.ts +126 -22
  441. package/dist/types/components.d.ts +238 -60
  442. package/hydrate/index.js +1669 -265
  443. package/hydrate/index.mjs +1669 -265
  444. package/package.json +7 -7
  445. package/dist/apollo-core/p-056a99e4.entry.js +0 -1
  446. package/dist/apollo-core/p-068e3532.entry.js +0 -1
  447. package/dist/apollo-core/p-0a0a6e43.entry.js +0 -1
  448. package/dist/apollo-core/p-1a94c2d9.entry.js +0 -1
  449. package/dist/apollo-core/p-2faa7b9c.entry.js +0 -1
  450. package/dist/apollo-core/p-30b1b700.entry.js +0 -1
  451. package/dist/apollo-core/p-32084caf.entry.js +0 -1
  452. package/dist/apollo-core/p-38586952.entry.js +0 -1
  453. package/dist/apollo-core/p-50fae269.entry.js +0 -1
  454. package/dist/apollo-core/p-60cb3cfb.entry.js +0 -1
  455. package/dist/apollo-core/p-722b145a.entry.js +0 -1
  456. package/dist/apollo-core/p-75e5bfe0.entry.js +0 -1
  457. package/dist/apollo-core/p-77fe3cc1.entry.js +0 -1
  458. package/dist/apollo-core/p-83bb7607.entry.js +0 -1
  459. package/dist/apollo-core/p-8664d88b.entry.js +0 -1
  460. package/dist/apollo-core/p-8a925e9d.entry.js +0 -1
  461. package/dist/apollo-core/p-9064badb.entry.js +0 -1
  462. package/dist/apollo-core/p-969d5cca.entry.js +0 -1
  463. package/dist/apollo-core/p-99a79cf4.entry.js +0 -1
  464. package/dist/apollo-core/p-ae8a5f66.entry.js +0 -1
  465. package/dist/apollo-core/p-af8ebf49.entry.js +0 -1
  466. package/dist/apollo-core/p-b29025b2.entry.js +0 -1
  467. package/dist/apollo-core/p-b5a61076.entry.js +0 -1
  468. package/dist/apollo-core/p-bf7d8e18.entry.js +0 -1
  469. package/dist/apollo-core/p-c48e4884.entry.js +0 -1
  470. package/dist/apollo-core/p-cc57f20d.entry.js +0 -1
  471. package/dist/apollo-core/p-dca48977.entry.js +0 -1
  472. package/dist/apollo-core/p-e1833287.entry.js +0 -1
  473. package/dist/apollo-core/p-e2b73b60.entry.js +0 -1
  474. package/dist/apollo-core/p-e7e445b0.entry.js +0 -1
  475. package/dist/apollo-core/p-f1c103ff.entry.js +0 -1
  476. package/dist/apollo-core/p-ffc2f0cf.entry.js +0 -1
  477. package/dist/cjs/xpl-table-footer-cell.cjs.entry.js +0 -18
  478. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +0 -59
  479. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +0 -190
  480. package/dist/components/p-9VnxPQLs.js +0 -1
  481. package/dist/components/p-B2oLZUDD.js +0 -1
  482. package/dist/components/p-BYYFsuD3.js +0 -1
  483. package/dist/components/p-BZtxVB1R.js +0 -1
  484. package/dist/components/p-CnVGKN63.js +0 -1
  485. package/dist/components/p-Cz7zDaI4.js +0 -1
  486. package/dist/components/p-D4rv6CNJ.js +0 -1
  487. package/dist/components/p-YG9Jza0y.js +0 -1
  488. package/dist/docs/xpl-table-header-cell/readme.md +0 -47
  489. package/dist/esm/xpl-table-footer-cell.entry.js +0 -16
  490. package/dist/esm/xpl-table-header-cell.entry.js +0 -57
  491. package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +0 -13
@@ -0,0 +1,402 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import { XPL_TABLE_COLUMN_WIDTHS_CHANGE_EVENT, cycleSortDirection, getSortAffordanceIconName, } from "../utils/table-internal";
3
+ export class TableHeaderCell {
4
+ constructor() {
5
+ this.align = 'left';
6
+ this.checked = false;
7
+ this.indeterminate = false;
8
+ this.label = '';
9
+ this.sortable = false;
10
+ this.type = 'label';
11
+ this.onHeaderInnerCheckboxChange = (ev) => {
12
+ const { detail } = ev;
13
+ const checked = typeof detail === 'boolean' ? detail : Boolean(detail);
14
+ this.headerCheckboxChange.emit(checked);
15
+ };
16
+ this.onSortActivate = (event) => {
17
+ event.preventDefault();
18
+ event.stopPropagation();
19
+ if (!this.sortable || this.type !== 'label')
20
+ return;
21
+ const columnIndex = this.getColumnIndex0();
22
+ const sortKey = this.getSortKeySlug();
23
+ if (!this.el.closest('xpl-table')) {
24
+ this.sortDirection = cycleSortDirection(this.sortDirection);
25
+ }
26
+ this.headerSortChange.emit({
27
+ columnIndex,
28
+ sortKey,
29
+ });
30
+ };
31
+ }
32
+ watchColumnWidth() {
33
+ this.notifyColumnWidthsChange();
34
+ }
35
+ watchWidth() {
36
+ this.notifyColumnWidthsChange();
37
+ }
38
+ componentDidLoad() {
39
+ this.notifyColumnWidthsChange();
40
+ }
41
+ notifyColumnWidthsChange() {
42
+ this.el.dispatchEvent(new CustomEvent(XPL_TABLE_COLUMN_WIDTHS_CHANGE_EVENT, {
43
+ bubbles: true,
44
+ composed: true,
45
+ }));
46
+ }
47
+ getColumnIndex0() {
48
+ return Array.from(this.el.parentElement?.children ?? []).indexOf(this.el);
49
+ }
50
+ getSortKeySlug() {
51
+ const raw = (this.sortKey ?? this.label ?? '').trim();
52
+ if (raw.length > 0) {
53
+ return raw.replace(/ /g, '-').toLowerCase();
54
+ }
55
+ return `column-${this.getColumnIndex0()}`;
56
+ }
57
+ renderLabelText() {
58
+ return (h("span", { class: "xpl-table-header-cell__text" }, this.label, h("slot", null)));
59
+ }
60
+ renderLabelContent() {
61
+ if (this.sortable) {
62
+ const iconName = getSortAffordanceIconName(this.sortDirection);
63
+ const sortActive = this.sortDirection === 'asc' || this.sortDirection === 'desc';
64
+ return (h("button", { type: "button", class: "xpl-table-header-cell__sort", onClick: this.onSortActivate }, this.renderLabelText(), h("xpl-icon", { class: {
65
+ 'xpl-table-header-cell__sort-icon': true,
66
+ 'xpl-table-header-cell__sort-icon--active': sortActive,
67
+ 'xpl-table-header-cell__sort-icon--default': !sortActive,
68
+ }, icon: iconName, size: 16 })));
69
+ }
70
+ return this.renderLabelText();
71
+ }
72
+ render() {
73
+ const colIndex = this.getColumnIndex0() + 1;
74
+ const renderContent = () => {
75
+ switch (this.type) {
76
+ case 'label':
77
+ return this.renderLabelContent();
78
+ case 'checkbox':
79
+ return (h("xpl-checkbox", { ariaLabel: this.checkboxAriaLabel ?? 'Select all rows', checked: this.checked, indeterminate: this.indeterminate, onCheckboxChange: this.onHeaderInnerCheckboxChange }));
80
+ case 'icon':
81
+ return this.icon ? h("xpl-icon", { icon: this.icon, size: 20 }) : null;
82
+ case 'empty':
83
+ return null;
84
+ default:
85
+ return '';
86
+ }
87
+ };
88
+ const effectiveAlign = (this.type === 'checkbox' || this.type === 'icon') && this.align === 'left'
89
+ ? 'center'
90
+ : this.align;
91
+ const alignClass = `xpl-table-header-cell--align-${effectiveAlign}`;
92
+ const ariaSort = this.type === 'label' && this.sortable
93
+ ? this.sortDirection === 'asc'
94
+ ? 'ascending'
95
+ : this.sortDirection === 'desc'
96
+ ? 'descending'
97
+ : 'none'
98
+ : undefined;
99
+ return (h(Host, { role: "columnheader", "aria-colindex": colIndex, class: {
100
+ 'xpl-table-header-cell': true,
101
+ [alignClass]: true,
102
+ 'xpl-table-header-cell--checkbox': this.type === 'checkbox',
103
+ 'xpl-table-header-cell--icon': this.type === 'icon',
104
+ 'xpl-table-header-cell--empty': this.type === 'empty',
105
+ 'xpl-table-header-cell--sortable': this.sortable && this.type === 'label',
106
+ }, "aria-checked": this.type === 'checkbox'
107
+ ? this.indeterminate
108
+ ? 'mixed'
109
+ : this.checked
110
+ ? 'true'
111
+ : 'false'
112
+ : undefined, "aria-sort": ariaSort }, this.type === 'empty' ? null : renderContent()));
113
+ }
114
+ static get is() { return "xpl-table-header-cell"; }
115
+ static get properties() {
116
+ return {
117
+ "align": {
118
+ "type": "string",
119
+ "mutable": false,
120
+ "complexType": {
121
+ "original": "'left' | 'right' | 'center'",
122
+ "resolved": "\"center\" | \"left\" | \"right\"",
123
+ "references": {}
124
+ },
125
+ "required": false,
126
+ "optional": false,
127
+ "docs": {
128
+ "tags": [],
129
+ "text": "Horizontal text alignment within the header cell."
130
+ },
131
+ "getter": false,
132
+ "setter": false,
133
+ "reflect": false,
134
+ "attribute": "align",
135
+ "defaultValue": "'left'"
136
+ },
137
+ "checkboxAriaLabel": {
138
+ "type": "string",
139
+ "mutable": false,
140
+ "complexType": {
141
+ "original": "string",
142
+ "resolved": "string",
143
+ "references": {}
144
+ },
145
+ "required": false,
146
+ "optional": true,
147
+ "docs": {
148
+ "tags": [],
149
+ "text": "Accessible name for the header checkbox (native `aria-label`).\nDefaults to \u201CSelect all rows\u201D when `type` is `checkbox`."
150
+ },
151
+ "getter": false,
152
+ "setter": false,
153
+ "reflect": false,
154
+ "attribute": "checkbox-aria-label"
155
+ },
156
+ "checked": {
157
+ "type": "boolean",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "boolean",
161
+ "resolved": "boolean",
162
+ "references": {}
163
+ },
164
+ "required": false,
165
+ "optional": false,
166
+ "docs": {
167
+ "tags": [],
168
+ "text": "Whether the header checkbox is checked"
169
+ },
170
+ "getter": false,
171
+ "setter": false,
172
+ "reflect": false,
173
+ "attribute": "checked",
174
+ "defaultValue": "false"
175
+ },
176
+ "columnWidth": {
177
+ "type": "string",
178
+ "mutable": false,
179
+ "complexType": {
180
+ "original": "string",
181
+ "resolved": "string",
182
+ "references": {}
183
+ },
184
+ "required": false,
185
+ "optional": true,
186
+ "docs": {
187
+ "tags": [],
188
+ "text": "CSS grid track size for this column (e.g. `1fr`, `minmax(120px, 1fr)`, `auto`). When set, overrides `width`.\nUse this when you need flexible columns; default layout uses `auto` per column unless you set a track here."
189
+ },
190
+ "getter": false,
191
+ "setter": false,
192
+ "reflect": true,
193
+ "attribute": "column-width"
194
+ },
195
+ "icon": {
196
+ "type": "string",
197
+ "mutable": false,
198
+ "complexType": {
199
+ "original": "string",
200
+ "resolved": "string",
201
+ "references": {}
202
+ },
203
+ "required": false,
204
+ "optional": true,
205
+ "docs": {
206
+ "tags": [],
207
+ "text": "Icon to display in the cell.\n\nSee [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names."
208
+ },
209
+ "getter": false,
210
+ "setter": false,
211
+ "reflect": false,
212
+ "attribute": "icon"
213
+ },
214
+ "indeterminate": {
215
+ "type": "boolean",
216
+ "mutable": false,
217
+ "complexType": {
218
+ "original": "boolean",
219
+ "resolved": "boolean",
220
+ "references": {}
221
+ },
222
+ "required": false,
223
+ "optional": false,
224
+ "docs": {
225
+ "tags": [],
226
+ "text": "Whether the checkbox is in indeterminate (partially selected) state"
227
+ },
228
+ "getter": false,
229
+ "setter": false,
230
+ "reflect": false,
231
+ "attribute": "indeterminate",
232
+ "defaultValue": "false"
233
+ },
234
+ "label": {
235
+ "type": "string",
236
+ "mutable": false,
237
+ "complexType": {
238
+ "original": "string",
239
+ "resolved": "string",
240
+ "references": {}
241
+ },
242
+ "required": false,
243
+ "optional": true,
244
+ "docs": {
245
+ "tags": [],
246
+ "text": "Text to display in the cell."
247
+ },
248
+ "getter": false,
249
+ "setter": false,
250
+ "reflect": false,
251
+ "attribute": "label",
252
+ "defaultValue": "''"
253
+ },
254
+ "sortDirection": {
255
+ "type": "string",
256
+ "mutable": true,
257
+ "complexType": {
258
+ "original": "'asc' | 'desc' | null",
259
+ "resolved": "\"asc\" | \"desc\"",
260
+ "references": {}
261
+ },
262
+ "required": false,
263
+ "optional": true,
264
+ "docs": {
265
+ "tags": [],
266
+ "text": "Active sort direction for this column when `sortable`. Set by `xpl-table` when used inside\na compositional table; may be set by the app for controlled updates."
267
+ },
268
+ "getter": false,
269
+ "setter": false,
270
+ "reflect": true,
271
+ "attribute": "sort-direction"
272
+ },
273
+ "sortKey": {
274
+ "type": "string",
275
+ "mutable": false,
276
+ "complexType": {
277
+ "original": "string",
278
+ "resolved": "string",
279
+ "references": {}
280
+ },
281
+ "required": false,
282
+ "optional": true,
283
+ "docs": {
284
+ "tags": [],
285
+ "text": "When `sortable` is true, optional stable id used as the key in `sortChanged`\u2019s detail object.\nFalls back to a slug of `label` when omitted."
286
+ },
287
+ "getter": false,
288
+ "setter": false,
289
+ "reflect": false,
290
+ "attribute": "sort-key"
291
+ },
292
+ "sortable": {
293
+ "type": "boolean",
294
+ "mutable": false,
295
+ "complexType": {
296
+ "original": "boolean",
297
+ "resolved": "boolean",
298
+ "references": {}
299
+ },
300
+ "required": false,
301
+ "optional": false,
302
+ "docs": {
303
+ "tags": [],
304
+ "text": "When true (and `type` is `label`), renders a sort control (button + affordance icon)."
305
+ },
306
+ "getter": false,
307
+ "setter": false,
308
+ "reflect": false,
309
+ "attribute": "sortable",
310
+ "defaultValue": "false"
311
+ },
312
+ "type": {
313
+ "type": "string",
314
+ "mutable": false,
315
+ "complexType": {
316
+ "original": "'label' | 'checkbox' | 'icon' | 'empty'",
317
+ "resolved": "\"checkbox\" | \"empty\" | \"icon\" | \"label\"",
318
+ "references": {}
319
+ },
320
+ "required": false,
321
+ "optional": false,
322
+ "docs": {
323
+ "tags": [],
324
+ "text": "The type of cell to render. **Reflected** to the host `type` attribute so `xpl-table` (and CSS\n`[type=\"checkbox\"]`) can find the selection column after frameworks set the prop without syncing\nthe attribute (e.g. Vue `:type=\"'checkbox'\"`)."
325
+ },
326
+ "getter": false,
327
+ "setter": false,
328
+ "reflect": true,
329
+ "attribute": "type",
330
+ "defaultValue": "'label'"
331
+ },
332
+ "width": {
333
+ "type": "number",
334
+ "mutable": false,
335
+ "complexType": {
336
+ "original": "number",
337
+ "resolved": "number",
338
+ "references": {}
339
+ },
340
+ "required": false,
341
+ "optional": true,
342
+ "docs": {
343
+ "tags": [],
344
+ "text": "Fixed width for this column in pixels (minimum 48px). Sets the grid track to `Npx`.\nIgnored when `columnWidth` is set. When omitted, the column track defaults to `auto` (content-sized)."
345
+ },
346
+ "getter": false,
347
+ "setter": false,
348
+ "reflect": true,
349
+ "attribute": "width"
350
+ }
351
+ };
352
+ }
353
+ static get events() {
354
+ return [{
355
+ "method": "headerCheckboxChange",
356
+ "name": "headerCheckboxChange",
357
+ "bubbles": true,
358
+ "cancelable": true,
359
+ "composed": true,
360
+ "docs": {
361
+ "tags": [],
362
+ "text": "Emitted when header checkbox changes"
363
+ },
364
+ "complexType": {
365
+ "original": "boolean",
366
+ "resolved": "boolean",
367
+ "references": {}
368
+ }
369
+ }, {
370
+ "method": "headerSortChange",
371
+ "name": "headerSortChange",
372
+ "bubbles": true,
373
+ "cancelable": true,
374
+ "composed": true,
375
+ "docs": {
376
+ "tags": [],
377
+ "text": "Emitted when a sortable label header is activated. Parent `xpl-table` coordinates columns and emits `sortChanged`."
378
+ },
379
+ "complexType": {
380
+ "original": "HeaderSortChangeDetail",
381
+ "resolved": "HeaderSortChangeDetail",
382
+ "references": {
383
+ "HeaderSortChangeDetail": {
384
+ "location": "local",
385
+ "path": "/home/runner/work/apollo/apollo/packages/apollo-core/src/components/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.tsx",
386
+ "id": "src/components/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.tsx::HeaderSortChangeDetail"
387
+ }
388
+ }
389
+ }
390
+ }];
391
+ }
392
+ static get elementRef() { return "el"; }
393
+ static get watchers() {
394
+ return [{
395
+ "propName": "columnWidth",
396
+ "methodName": "watchColumnWidth"
397
+ }, {
398
+ "propName": "width",
399
+ "methodName": "watchWidth"
400
+ }];
401
+ }
402
+ }
@@ -1,15 +1,50 @@
1
1
  import { Host, h } from "@stencil/core";
2
+ function isTableCell(node) {
3
+ return node.nodeName === 'XPL-TABLE-CELL';
4
+ }
2
5
  export class XplTableRow {
3
6
  constructor() {
4
7
  this.disabled = false;
5
8
  this.selected = false;
6
9
  }
10
+ onDisabledChange() {
11
+ this.propagateDisabledToCells();
12
+ }
13
+ connectedCallback() {
14
+ if (typeof MutationObserver === 'undefined')
15
+ return;
16
+ this.cellObserver = new MutationObserver((mutations) => {
17
+ mutations.forEach((mutation) => {
18
+ if (mutation.type !== 'childList')
19
+ return;
20
+ mutation.addedNodes.forEach((node) => {
21
+ if (isTableCell(node)) {
22
+ node.disabled = this.disabled;
23
+ }
24
+ });
25
+ });
26
+ });
27
+ this.cellObserver.observe(this.el, { childList: true });
28
+ }
29
+ disconnectedCallback() {
30
+ this.cellObserver?.disconnect();
31
+ this.cellObserver = undefined;
32
+ }
33
+ componentDidLoad() {
34
+ this.propagateDisabledToCells();
35
+ }
36
+ propagateDisabledToCells() {
37
+ const cells = Array.from(this.el.children).filter(isTableCell);
38
+ cells.forEach((cell) => {
39
+ cell.disabled = this.disabled;
40
+ });
41
+ }
7
42
  render() {
8
- return (h(Host, { key: '506e56b764d82707482e58a0715fd342219ef7d9', class: {
43
+ return (h(Host, { key: '8c49ba27b39d934cb774140b43e811e5ee2bb904', class: {
9
44
  'xpl-table-row': true,
10
45
  'xpl-table-row--disabled': this.disabled,
11
46
  'xpl-table-row--selected': this.selected,
12
- }, role: "row" }, h("slot", { key: 'db534bcb1e92bb92441476542c0eaa920f6914e8' })));
47
+ }, role: "row" }, h("slot", { key: '30788ce629c65d7eab04d268da978d46f0145e99' })));
13
48
  }
14
49
  static get is() { return "xpl-table-row"; }
15
50
  static get properties() {
@@ -75,4 +110,11 @@ export class XplTableRow {
75
110
  }
76
111
  };
77
112
  }
113
+ static get elementRef() { return "el"; }
114
+ static get watchers() {
115
+ return [{
116
+ "propName": "disabled",
117
+ "methodName": "onDisabledChange"
118
+ }];
119
+ }
78
120
  }