@xplortech/apollo-core 2.12.0 → 3.1.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 (551) hide show
  1. package/.typings/apollo-components.html-data.json +61 -0
  2. package/AGENTS.md +4 -4
  3. package/README.md +30 -3
  4. package/build/components/modal.css +1 -1
  5. package/build/components/table-body.css +1 -0
  6. package/build/components/table-footer-cell.css +1 -0
  7. package/build/components/table-footer.css +1 -0
  8. package/build/components/table-row.css +1 -0
  9. package/build/components/top-nav.css +1 -1
  10. package/build/components-manifest.json +13 -1
  11. package/build/core.css +1 -1
  12. package/build/style.css +1 -1
  13. package/dist/apollo-core/apollo-core.css +1 -1
  14. package/dist/apollo-core/apollo-core.esm.js +1 -1
  15. package/dist/apollo-core/{p-d37488d4.entry.js → p-0368a1df.entry.js} +1 -1
  16. package/dist/apollo-core/p-056a99e4.entry.js +1 -0
  17. package/dist/apollo-core/p-068e3532.entry.js +1 -0
  18. package/dist/apollo-core/{p-121d1a4b.entry.js → p-06a9a27b.entry.js} +1 -1
  19. package/dist/apollo-core/{p-9747cf43.entry.js → p-0958c719.entry.js} +1 -1
  20. package/dist/apollo-core/p-0a0a6e43.entry.js +1 -0
  21. package/dist/apollo-core/{p-643c8038.entry.js → p-149ddd12.entry.js} +1 -1
  22. package/dist/apollo-core/p-1a94c2d9.entry.js +1 -0
  23. package/dist/apollo-core/{p-efa21ec0.entry.js → p-2139f9f6.entry.js} +1 -1
  24. package/dist/apollo-core/{p-76f64d65.entry.js → p-28bce81a.entry.js} +1 -1
  25. package/dist/apollo-core/{p-1a417191.entry.js → p-2938ab4f.entry.js} +1 -1
  26. package/dist/apollo-core/{p-4e61587f.entry.js → p-2c995d80.entry.js} +1 -1
  27. package/dist/apollo-core/p-2faa7b9c.entry.js +1 -0
  28. package/dist/apollo-core/p-30b1b700.entry.js +1 -0
  29. package/dist/apollo-core/p-32084caf.entry.js +1 -0
  30. package/dist/apollo-core/p-38586952.entry.js +1 -0
  31. package/dist/apollo-core/{p-707b1918.entry.js → p-47bda204.entry.js} +1 -1
  32. package/dist/apollo-core/{p-f199ad66.entry.js → p-4a2323b3.entry.js} +1 -1
  33. package/dist/apollo-core/{p-c25aebe5.entry.js → p-4ad79534.entry.js} +1 -1
  34. package/dist/apollo-core/{p-e4ae3f60.entry.js → p-4d4acd1f.entry.js} +1 -1
  35. package/dist/apollo-core/p-50fae269.entry.js +1 -0
  36. package/dist/apollo-core/{p-7f105d63.entry.js → p-54903322.entry.js} +1 -1
  37. package/dist/apollo-core/{p-8a81ef98.entry.js → p-5730d96c.entry.js} +1 -1
  38. package/dist/apollo-core/{p-46d21684.entry.js → p-581b702c.entry.js} +1 -1
  39. package/dist/apollo-core/{p-853418be.entry.js → p-5d9a593e.entry.js} +1 -1
  40. package/dist/apollo-core/{p-e00ed4f4.entry.js → p-60cb3cfb.entry.js} +1 -1
  41. package/dist/apollo-core/p-722b145a.entry.js +1 -0
  42. package/dist/apollo-core/p-75e5bfe0.entry.js +1 -0
  43. package/dist/apollo-core/p-77fe3cc1.entry.js +1 -0
  44. package/dist/apollo-core/{p-26861d09.entry.js → p-790709c0.entry.js} +1 -1
  45. package/dist/apollo-core/{p-7976cd3b.entry.js → p-82812126.entry.js} +1 -1
  46. package/dist/apollo-core/{p-c427a31d.entry.js → p-83bb7607.entry.js} +1 -1
  47. package/dist/apollo-core/p-8664d88b.entry.js +1 -0
  48. package/dist/apollo-core/{p-3d9c90ee.entry.js → p-9064badb.entry.js} +1 -1
  49. package/dist/apollo-core/{p-5ca18bc1.entry.js → p-91895c40.entry.js} +1 -1
  50. package/dist/apollo-core/p-969d5cca.entry.js +1 -0
  51. package/dist/apollo-core/p-99a79cf4.entry.js +1 -0
  52. package/dist/apollo-core/p-abdf199b.entry.js +1 -0
  53. package/dist/apollo-core/p-ae8a5f66.entry.js +1 -0
  54. package/dist/apollo-core/{p-9b0174b1.entry.js → p-af8ebf49.entry.js} +1 -1
  55. package/dist/apollo-core/p-b29025b2.entry.js +1 -0
  56. package/dist/apollo-core/{p-fd2756d8.entry.js → p-b45179fb.entry.js} +1 -1
  57. package/dist/apollo-core/p-b5a61076.entry.js +1 -0
  58. package/dist/apollo-core/p-bf7d8e18.entry.js +1 -0
  59. package/dist/apollo-core/p-c48e4884.entry.js +1 -0
  60. package/dist/apollo-core/{p-b537f72d.entry.js → p-ca4652b3.entry.js} +1 -1
  61. package/dist/apollo-core/{p-bb22ed2a.entry.js → p-cb5b15c2.entry.js} +1 -1
  62. package/dist/apollo-core/p-cc57f20d.entry.js +1 -0
  63. package/dist/apollo-core/{p-fef6c256.entry.js → p-cdacfcd4.entry.js} +1 -1
  64. package/dist/apollo-core/{p-616c5a32.entry.js → p-cdb5b5c4.entry.js} +1 -1
  65. package/dist/apollo-core/p-d0bc7c45.entry.js +1 -0
  66. package/dist/apollo-core/{p-ff8acf15.entry.js → p-d41b8f46.entry.js} +1 -1
  67. package/dist/apollo-core/{p-9bf2ff9f.entry.js → p-d443291f.entry.js} +1 -1
  68. package/dist/apollo-core/p-d724c419.entry.js +1 -0
  69. package/dist/apollo-core/p-d9070ae5.entry.js +1 -0
  70. package/dist/apollo-core/p-dca48977.entry.js +1 -0
  71. package/dist/apollo-core/p-e1833287.entry.js +1 -0
  72. package/dist/apollo-core/{p-601b3ab5.entry.js → p-e2890eb1.entry.js} +1 -1
  73. package/dist/apollo-core/p-e2b73b60.entry.js +1 -0
  74. package/dist/apollo-core/p-e7e445b0.entry.js +1 -0
  75. package/dist/apollo-core/p-f1c103ff.entry.js +1 -0
  76. package/dist/apollo-core/{p-0463c29f.entry.js → p-f3a2c79b.entry.js} +1 -1
  77. package/dist/apollo-core/p-ffc2f0cf.entry.js +1 -0
  78. package/dist/cjs/apollo-core.cjs.js +1 -1
  79. package/dist/cjs/index-3cBvw409.js +16 -0
  80. package/dist/cjs/loader.cjs.js +1 -1
  81. package/dist/cjs/xpl-accordion.cjs.entry.js +2 -2
  82. package/dist/cjs/xpl-application-shell.cjs.entry.js +1 -1
  83. package/dist/cjs/xpl-avatar_3.cjs.entry.js +5 -4
  84. package/dist/cjs/xpl-backdrop.cjs.entry.js +1 -1
  85. package/dist/cjs/xpl-badge.cjs.entry.js +1 -1
  86. package/dist/cjs/xpl-banner.cjs.entry.js +2 -2
  87. package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +1 -1
  88. package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +1 -1
  89. package/dist/cjs/xpl-button-row.cjs.entry.js +1 -1
  90. package/dist/cjs/xpl-button.cjs.entry.js +1 -1
  91. package/dist/cjs/xpl-calendar.cjs.entry.js +1 -1
  92. package/dist/cjs/xpl-checkbox.cjs.entry.js +3 -3
  93. package/dist/cjs/xpl-choicelist.cjs.entry.js +1 -1
  94. package/dist/cjs/xpl-content-area.cjs.entry.js +1 -1
  95. package/dist/cjs/xpl-dashboard.cjs.entry.js +1 -1
  96. package/dist/cjs/xpl-data-card.cjs.entry.js +2 -2
  97. package/dist/cjs/xpl-dropdown_4.cjs.entry.js +14 -11
  98. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +2 -2
  99. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +2 -2
  100. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +2 -2
  101. package/dist/cjs/xpl-grid-item.cjs.entry.js +1 -1
  102. package/dist/cjs/xpl-grid.cjs.entry.js +1 -1
  103. package/dist/cjs/xpl-header-accordion.cjs.entry.js +1 -1
  104. package/dist/cjs/xpl-icon.cjs.entry.js +2 -2
  105. package/dist/cjs/xpl-input-color.cjs.entry.js +13 -13
  106. package/dist/cjs/xpl-input-phone.cjs.entry.js +5 -5
  107. package/dist/cjs/xpl-input-time.cjs.entry.js +2 -2
  108. package/dist/cjs/xpl-input_4.cjs.entry.js +15 -14
  109. package/dist/cjs/xpl-large-card.cjs.entry.js +1 -1
  110. package/dist/cjs/xpl-list.cjs.entry.js +2 -2
  111. package/dist/cjs/xpl-main-nav.cjs.entry.js +1 -1
  112. package/dist/cjs/xpl-modal.cjs.entry.js +50 -21
  113. package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +2 -2
  114. package/dist/cjs/xpl-nav-item.cjs.entry.js +2 -2
  115. package/dist/cjs/xpl-pagination.cjs.entry.js +4 -4
  116. package/dist/cjs/xpl-panel.cjs.entry.js +2 -2
  117. package/dist/cjs/xpl-popover.cjs.entry.js +4 -4
  118. package/dist/cjs/xpl-progress-bar.cjs.entry.js +2 -2
  119. package/dist/cjs/xpl-progress-indicator.cjs.entry.js +1 -1
  120. package/dist/cjs/xpl-secondary-nav.cjs.entry.js +1 -1
  121. package/dist/cjs/xpl-select_2.cjs.entry.js +8 -8
  122. package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +2 -2
  123. package/dist/cjs/xpl-side-nav-item.cjs.entry.js +2 -2
  124. package/dist/cjs/xpl-side-nav-section.cjs.entry.js +5 -5
  125. package/dist/cjs/xpl-side-nav.cjs.entry.js +7 -3
  126. package/dist/cjs/xpl-skeleton.cjs.entry.js +1 -1
  127. package/dist/cjs/xpl-slideout.cjs.entry.js +1 -1
  128. package/dist/cjs/xpl-tab-panel.cjs.entry.js +2 -2
  129. package/dist/cjs/xpl-table-body.cjs.entry.js +14 -0
  130. package/dist/cjs/xpl-table-footer-cell.cjs.entry.js +18 -0
  131. package/dist/cjs/xpl-table-footer.cjs.entry.js +14 -0
  132. package/dist/cjs/xpl-table-header.cjs.entry.js +1 -1
  133. package/dist/cjs/xpl-table-row.cjs.entry.js +20 -0
  134. package/dist/cjs/xpl-table.cjs.entry.js +5 -5
  135. package/dist/cjs/xpl-tabs.cjs.entry.js +5 -5
  136. package/dist/cjs/xpl-toast.cjs.entry.js +2 -2
  137. package/dist/cjs/xpl-toggle.cjs.entry.js +3 -3
  138. package/dist/cjs/xpl-toolbar.cjs.entry.js +2 -2
  139. package/dist/cjs/xpl-tooltip.cjs.entry.js +1 -1
  140. package/dist/cjs/xpl-top-nav-item.cjs.entry.js +2 -2
  141. package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +2 -2
  142. package/dist/cjs/xpl-top-nav.cjs.entry.js +5 -5
  143. package/dist/cjs/xpl-utility-bar.cjs.entry.js +1 -1
  144. package/dist/collection/collection-manifest.json +4 -0
  145. package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
  146. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  147. package/dist/collection/components/xpl-avatar/xpl-avatar.js +1 -0
  148. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  149. package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
  150. package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
  151. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  152. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  153. package/dist/collection/components/xpl-button/xpl-button.js +1 -1
  154. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  155. package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
  156. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +3 -3
  157. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
  158. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  159. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  160. package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
  161. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  162. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
  163. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  164. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
  165. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +10 -7
  166. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
  167. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
  168. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
  169. package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
  170. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  171. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
  172. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
  173. package/dist/collection/components/xpl-input/xpl-input-color/color-utils.js +5 -5
  174. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
  175. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
  176. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
  177. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +5 -5
  178. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
  179. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
  180. package/dist/collection/components/xpl-input/xpl-input.js +7 -6
  181. package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
  182. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  183. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  184. package/dist/collection/components/xpl-modal/xpl-modal.js +50 -21
  185. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  186. package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
  187. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  188. package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
  189. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  190. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  191. package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
  192. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  193. package/dist/collection/components/xpl-select/select.shared.js +82 -0
  194. package/dist/collection/components/xpl-select/xpl-select.js +6 -6
  195. package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +2 -2
  196. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +2 -2
  197. package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +5 -5
  198. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +8 -4
  199. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  200. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  201. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  202. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +7 -0
  203. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +7 -0
  204. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +37 -0
  205. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +78 -0
  206. package/dist/collection/components/xpl-table/xpl-table.js +5 -5
  207. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  208. package/dist/collection/components/xpl-tabs/tabs.shared.js +0 -33
  209. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  210. package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
  211. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  212. package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
  213. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  214. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  215. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  216. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  217. package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +2 -2
  218. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  219. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  220. package/dist/components/index.d.ts +8 -0
  221. package/dist/components/index.js +1 -1
  222. package/dist/components/p-9VnxPQLs.js +1 -0
  223. package/dist/components/p-B2oLZUDD.js +1 -0
  224. package/dist/components/p-BYYFsuD3.js +1 -0
  225. package/dist/components/p-BZtxVB1R.js +1 -0
  226. package/dist/components/{p-BGqQbjLl.js → p-BdpZR4KO.js} +1 -1
  227. package/dist/components/{p-DywQ3S73.js → p-Chpgh5SL.js} +1 -1
  228. package/dist/components/{p-2jYZ7ACH.js → p-CiHTfk3E.js} +1 -1
  229. package/dist/components/p-CnVGKN63.js +1 -0
  230. package/dist/components/p-Cz7zDaI4.js +1 -0
  231. package/dist/components/{p-CjbPCnPP.js → p-D--kzomA.js} +1 -1
  232. package/dist/components/p-D4rv6CNJ.js +1 -0
  233. package/dist/components/{p-Dzp5p-eh.js → p-DAb-txW3.js} +1 -1
  234. package/dist/components/p-DYmvElhR.js +1 -0
  235. package/dist/components/{p-DsRsm61K.js → p-EfW0v54z.js} +1 -1
  236. package/dist/components/{p-DWUJ_jsx.js → p-JyNpXfDe.js} +1 -1
  237. package/dist/components/{p-DS2Kv5fl.js → p-U0JYwf4c.js} +1 -1
  238. package/dist/components/p-YG9Jza0y.js +1 -0
  239. package/dist/components/{p-imCMp2Nl.js → p-l3EZ-agL.js} +1 -1
  240. package/dist/components/p-oIn1krdu.js +1 -0
  241. package/dist/components/p-wIU7KUhA.js +1 -0
  242. package/dist/components/{p-BnTsRbko.js → p-xFsB212F.js} +1 -1
  243. package/dist/components/p-xtOHikY0.js +1 -0
  244. package/dist/components/xpl-accordion.js +1 -1
  245. package/dist/components/xpl-application-shell.js +1 -1
  246. package/dist/components/xpl-avatar.js +1 -1
  247. package/dist/components/xpl-backdrop.js +1 -1
  248. package/dist/components/xpl-badge.js +1 -1
  249. package/dist/components/xpl-banner.js +1 -1
  250. package/dist/components/xpl-breadcrumb-item.js +1 -1
  251. package/dist/components/xpl-breadcrumbs.js +1 -1
  252. package/dist/components/xpl-button-row.js +1 -1
  253. package/dist/components/xpl-button.js +1 -1
  254. package/dist/components/xpl-calendar.js +1 -1
  255. package/dist/components/xpl-checkbox.js +1 -1
  256. package/dist/components/xpl-choicelist.js +1 -1
  257. package/dist/components/xpl-content-area.js +1 -1
  258. package/dist/components/xpl-dashboard.js +1 -1
  259. package/dist/components/xpl-data-card.js +1 -1
  260. package/dist/components/xpl-divider.js +1 -1
  261. package/dist/components/xpl-dropdown-group.js +1 -1
  262. package/dist/components/xpl-dropdown-heading.js +1 -1
  263. package/dist/components/xpl-dropdown-option.js +1 -1
  264. package/dist/components/xpl-dropdown.js +1 -1
  265. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  266. package/dist/components/xpl-dynamic-table-row.js +1 -1
  267. package/dist/components/xpl-dynamic-table.js +1 -1
  268. package/dist/components/xpl-grid-item.js +1 -1
  269. package/dist/components/xpl-grid.js +1 -1
  270. package/dist/components/xpl-header-accordion.js +1 -1
  271. package/dist/components/xpl-icon.js +1 -1
  272. package/dist/components/xpl-input-color.js +1 -1
  273. package/dist/components/xpl-input-date.js +1 -1
  274. package/dist/components/xpl-input-file.js +1 -1
  275. package/dist/components/xpl-input-phone.js +1 -1
  276. package/dist/components/xpl-input-search.js +1 -1
  277. package/dist/components/xpl-input-time.js +1 -1
  278. package/dist/components/xpl-input.js +1 -1
  279. package/dist/components/xpl-large-card.js +1 -1
  280. package/dist/components/xpl-list-item.js +1 -1
  281. package/dist/components/xpl-list.js +1 -1
  282. package/dist/components/xpl-main-nav.js +1 -1
  283. package/dist/components/xpl-modal.js +1 -1
  284. package/dist/components/xpl-nav-header-menu.js +1 -1
  285. package/dist/components/xpl-nav-item.js +1 -1
  286. package/dist/components/xpl-pagination.js +1 -1
  287. package/dist/components/xpl-panel.js +1 -1
  288. package/dist/components/xpl-popover.js +1 -1
  289. package/dist/components/xpl-progress-bar.js +1 -1
  290. package/dist/components/xpl-progress-indicator.js +1 -1
  291. package/dist/components/xpl-radio.js +1 -1
  292. package/dist/components/xpl-secondary-nav.js +1 -1
  293. package/dist/components/xpl-select.js +1 -1
  294. package/dist/components/xpl-side-nav-header-item.js +1 -1
  295. package/dist/components/xpl-side-nav-item.js +1 -1
  296. package/dist/components/xpl-side-nav-section.js +1 -1
  297. package/dist/components/xpl-side-nav.js +1 -1
  298. package/dist/components/xpl-skeleton.js +1 -1
  299. package/dist/components/xpl-slideout.js +1 -1
  300. package/dist/components/xpl-spotlight.js +1 -1
  301. package/dist/components/xpl-tab-panel.js +1 -1
  302. package/dist/components/xpl-tab.js +1 -1
  303. package/dist/components/xpl-table-body.d.ts +11 -0
  304. package/dist/components/xpl-table-body.js +1 -0
  305. package/dist/components/xpl-table-footer-cell.d.ts +11 -0
  306. package/dist/components/xpl-table-footer-cell.js +1 -0
  307. package/dist/components/xpl-table-footer.d.ts +11 -0
  308. package/dist/components/xpl-table-footer.js +1 -0
  309. package/dist/components/xpl-table-header-cell.js +1 -1
  310. package/dist/components/xpl-table-header.js +1 -1
  311. package/dist/components/xpl-table-row.d.ts +11 -0
  312. package/dist/components/xpl-table-row.js +1 -0
  313. package/dist/components/xpl-table.js +1 -1
  314. package/dist/components/xpl-tabs.js +1 -1
  315. package/dist/components/xpl-tag.js +1 -1
  316. package/dist/components/xpl-toast.js +1 -1
  317. package/dist/components/xpl-toggle.js +1 -1
  318. package/dist/components/xpl-toolbar.js +1 -1
  319. package/dist/components/xpl-tooltip.js +1 -1
  320. package/dist/components/xpl-top-nav-item.js +1 -1
  321. package/dist/components/xpl-top-nav-menu.js +1 -1
  322. package/dist/components/xpl-top-nav.js +1 -1
  323. package/dist/components/xpl-utility-bar.js +1 -1
  324. package/dist/docs/xpl-modal/readme.md +18 -2
  325. package/dist/docs/xpl-table/xpl-table-body/readme.md +16 -0
  326. package/dist/docs/xpl-table/xpl-table-footer/readme.md +16 -0
  327. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +31 -0
  328. package/dist/docs/xpl-table/xpl-table-row/readme.md +34 -0
  329. package/dist/docs.json +207 -6
  330. package/dist/esm/apollo-core.js +1 -1
  331. package/dist/esm/index-ukZKsqqq.js +16 -0
  332. package/dist/esm/loader.js +1 -1
  333. package/dist/esm/xpl-accordion.entry.js +2 -2
  334. package/dist/esm/xpl-application-shell.entry.js +1 -1
  335. package/dist/esm/xpl-avatar_3.entry.js +5 -4
  336. package/dist/esm/xpl-backdrop.entry.js +1 -1
  337. package/dist/esm/xpl-badge.entry.js +1 -1
  338. package/dist/esm/xpl-banner.entry.js +2 -2
  339. package/dist/esm/xpl-breadcrumb-item.entry.js +1 -1
  340. package/dist/esm/xpl-breadcrumbs.entry.js +1 -1
  341. package/dist/esm/xpl-button-row.entry.js +1 -1
  342. package/dist/esm/xpl-button.entry.js +1 -1
  343. package/dist/esm/xpl-calendar.entry.js +1 -1
  344. package/dist/esm/xpl-checkbox.entry.js +3 -3
  345. package/dist/esm/xpl-choicelist.entry.js +1 -1
  346. package/dist/esm/xpl-content-area.entry.js +1 -1
  347. package/dist/esm/xpl-dashboard.entry.js +1 -1
  348. package/dist/esm/xpl-data-card.entry.js +2 -2
  349. package/dist/esm/xpl-dropdown_4.entry.js +14 -11
  350. package/dist/esm/xpl-dynamic-table-cell.entry.js +2 -2
  351. package/dist/esm/xpl-dynamic-table-row.entry.js +2 -2
  352. package/dist/esm/xpl-dynamic-table.entry.js +2 -2
  353. package/dist/esm/xpl-grid-item.entry.js +1 -1
  354. package/dist/esm/xpl-grid.entry.js +1 -1
  355. package/dist/esm/xpl-header-accordion.entry.js +1 -1
  356. package/dist/esm/xpl-icon.entry.js +2 -2
  357. package/dist/esm/xpl-input-color.entry.js +13 -13
  358. package/dist/esm/xpl-input-phone.entry.js +5 -5
  359. package/dist/esm/xpl-input-time.entry.js +2 -2
  360. package/dist/esm/xpl-input_4.entry.js +15 -14
  361. package/dist/esm/xpl-large-card.entry.js +1 -1
  362. package/dist/esm/xpl-list.entry.js +2 -2
  363. package/dist/esm/xpl-main-nav.entry.js +1 -1
  364. package/dist/esm/xpl-modal.entry.js +50 -21
  365. package/dist/esm/xpl-nav-header-menu.entry.js +2 -2
  366. package/dist/esm/xpl-nav-item.entry.js +2 -2
  367. package/dist/esm/xpl-pagination.entry.js +4 -4
  368. package/dist/esm/xpl-panel.entry.js +2 -2
  369. package/dist/esm/xpl-popover.entry.js +4 -4
  370. package/dist/esm/xpl-progress-bar.entry.js +2 -2
  371. package/dist/esm/xpl-progress-indicator.entry.js +1 -1
  372. package/dist/esm/xpl-secondary-nav.entry.js +1 -1
  373. package/dist/esm/xpl-select_2.entry.js +8 -8
  374. package/dist/esm/xpl-side-nav-header-item.entry.js +2 -2
  375. package/dist/esm/xpl-side-nav-item.entry.js +2 -2
  376. package/dist/esm/xpl-side-nav-section.entry.js +5 -5
  377. package/dist/esm/xpl-side-nav.entry.js +8 -4
  378. package/dist/esm/xpl-skeleton.entry.js +1 -1
  379. package/dist/esm/xpl-slideout.entry.js +1 -1
  380. package/dist/esm/xpl-tab-panel.entry.js +2 -2
  381. package/dist/esm/xpl-table-body.entry.js +12 -0
  382. package/dist/esm/xpl-table-footer-cell.entry.js +16 -0
  383. package/dist/esm/xpl-table-footer.entry.js +12 -0
  384. package/dist/esm/xpl-table-header.entry.js +1 -1
  385. package/dist/esm/xpl-table-row.entry.js +18 -0
  386. package/dist/esm/xpl-table.entry.js +5 -5
  387. package/dist/esm/xpl-tabs.entry.js +5 -5
  388. package/dist/esm/xpl-toast.entry.js +2 -2
  389. package/dist/esm/xpl-toggle.entry.js +3 -3
  390. package/dist/esm/xpl-toolbar.entry.js +2 -2
  391. package/dist/esm/xpl-tooltip.entry.js +1 -1
  392. package/dist/esm/xpl-top-nav-item.entry.js +2 -2
  393. package/dist/esm/xpl-top-nav-menu.entry.js +2 -2
  394. package/dist/esm/xpl-top-nav.entry.js +5 -5
  395. package/dist/esm/xpl-utility-bar.entry.js +1 -1
  396. package/dist/types/components/xpl-modal/xpl-modal.d.ts +7 -1
  397. package/dist/types/components/xpl-select/select.shared.d.ts +23 -0
  398. package/dist/types/components/xpl-table/xpl-table-body/xpl-table-body.d.ts +3 -0
  399. package/dist/types/components/xpl-table/xpl-table-footer/xpl-table-footer.d.ts +3 -0
  400. package/dist/types/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.d.ts +4 -0
  401. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +6 -0
  402. package/dist/types/components/xpl-tabs/tabs.shared.d.ts +0 -2
  403. package/dist/types/components.d.ts +98 -0
  404. package/hydrate/index.js +302 -176
  405. package/hydrate/index.mjs +302 -176
  406. package/package.json +42 -46
  407. package/dist/apollo-core/p-0095174c.entry.js +0 -1
  408. package/dist/apollo-core/p-020ecd66.entry.js +0 -1
  409. package/dist/apollo-core/p-091411e3.entry.js +0 -1
  410. package/dist/apollo-core/p-0be4dbb8.entry.js +0 -1
  411. package/dist/apollo-core/p-1139fac0.entry.js +0 -1
  412. package/dist/apollo-core/p-140a96c7.entry.js +0 -1
  413. package/dist/apollo-core/p-26b6a0ed.entry.js +0 -1
  414. package/dist/apollo-core/p-39e71d86.entry.js +0 -1
  415. package/dist/apollo-core/p-3dd1de49.entry.js +0 -1
  416. package/dist/apollo-core/p-4129d971.entry.js +0 -1
  417. package/dist/apollo-core/p-5afc9831.entry.js +0 -1
  418. package/dist/apollo-core/p-5d25a84a.entry.js +0 -1
  419. package/dist/apollo-core/p-5e5c5016.entry.js +0 -1
  420. package/dist/apollo-core/p-638fd9b1.entry.js +0 -1
  421. package/dist/apollo-core/p-724c5038.entry.js +0 -1
  422. package/dist/apollo-core/p-80a11cad.entry.js +0 -1
  423. package/dist/apollo-core/p-875e0eaa.entry.js +0 -1
  424. package/dist/apollo-core/p-8ddbf2e2.entry.js +0 -1
  425. package/dist/apollo-core/p-a33b0943.entry.js +0 -1
  426. package/dist/apollo-core/p-ba41bbd5.entry.js +0 -1
  427. package/dist/apollo-core/p-cde21f72.entry.js +0 -1
  428. package/dist/apollo-core/p-d288c1d1.entry.js +0 -1
  429. package/dist/apollo-core/p-d3f2b8b8.entry.js +0 -1
  430. package/dist/apollo-core/p-dfaba114.entry.js +0 -1
  431. package/dist/apollo-core/p-e2a16242.entry.js +0 -1
  432. package/dist/apollo-core/p-ec488f9c.entry.js +0 -1
  433. package/dist/apollo-core/p-f2bfe6a6.entry.js +0 -1
  434. package/dist/collection/components/xpl-accordion/accordion.stories.js +0 -84
  435. package/dist/collection/components/xpl-application-shell/application-shell.stories.js +0 -755
  436. package/dist/collection/components/xpl-avatar/avatar.stories.js +0 -157
  437. package/dist/collection/components/xpl-backdrop/backdrop.stories.js +0 -38
  438. package/dist/collection/components/xpl-badge/badge.stories.js +0 -104
  439. package/dist/collection/components/xpl-banner/banner.stories.js +0 -69
  440. package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +0 -139
  441. package/dist/collection/components/xpl-button/button.stories.js +0 -144
  442. package/dist/collection/components/xpl-button-row/button-row.stories.js +0 -68
  443. package/dist/collection/components/xpl-calendar/calendar.stories.js +0 -71
  444. package/dist/collection/components/xpl-checkbox/checkbox.stories.js +0 -92
  445. package/dist/collection/components/xpl-choicelist/choicelist.stories.js +0 -162
  446. package/dist/collection/components/xpl-content-area/content-area.stories.js +0 -44
  447. package/dist/collection/components/xpl-dashboard/dashboard.stories.js +0 -57
  448. package/dist/collection/components/xpl-data-card/data-card.stories.js +0 -170
  449. package/dist/collection/components/xpl-divider/divider.stories.js +0 -47
  450. package/dist/collection/components/xpl-dropdown/dropdown.stories.js +0 -395
  451. package/dist/collection/components/xpl-dynamic-table/dynamic-table.stories.js +0 -169
  452. package/dist/collection/components/xpl-grid/grid.stories.js +0 -85
  453. package/dist/collection/components/xpl-header-accordion/header-accordion.stories.js +0 -56
  454. package/dist/collection/components/xpl-icon/icons.stories.js +0 -161
  455. package/dist/collection/components/xpl-input/input.stories.js +0 -712
  456. package/dist/collection/components/xpl-large-card/large-card.stories.js +0 -155
  457. package/dist/collection/components/xpl-list/list.stories.js +0 -398
  458. package/dist/collection/components/xpl-main-nav/main-nav.stories.js +0 -312
  459. package/dist/collection/components/xpl-modal/modal.stories.js +0 -100
  460. package/dist/collection/components/xpl-pagination/pagination.stories.js +0 -65
  461. package/dist/collection/components/xpl-panel/panel.stories.js +0 -62
  462. package/dist/collection/components/xpl-popover/popover.stories.js +0 -174
  463. package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +0 -105
  464. package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +0 -126
  465. package/dist/collection/components/xpl-radio/radio.stories.js +0 -115
  466. package/dist/collection/components/xpl-secondary-nav/secondary-nav.stories.js +0 -83
  467. package/dist/collection/components/xpl-select/select.stories.js +0 -300
  468. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +0 -1070
  469. package/dist/collection/components/xpl-skeleton/skeleton.stories.js +0 -80
  470. package/dist/collection/components/xpl-slideout/slideout.stories.js +0 -122
  471. package/dist/collection/components/xpl-spotlight/spotlight.stories.js +0 -392
  472. package/dist/collection/components/xpl-table/table.stories.js +0 -156
  473. package/dist/collection/components/xpl-table-header/table-header.stories.js +0 -134
  474. package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +0 -83
  475. package/dist/collection/components/xpl-tabs/segment-control.stories.js +0 -40
  476. package/dist/collection/components/xpl-tabs/tabs.stories.js +0 -43
  477. package/dist/collection/components/xpl-tag/tag.stories.js +0 -159
  478. package/dist/collection/components/xpl-toast/toast.stories.js +0 -112
  479. package/dist/collection/components/xpl-toggle/toggle.stories.js +0 -95
  480. package/dist/collection/components/xpl-toolbar/toolbar.stories.js +0 -39
  481. package/dist/collection/components/xpl-tooltip/tooltip.stories.js +0 -67
  482. package/dist/collection/components/xpl-top-nav/top-nav.stories.js +0 -764
  483. package/dist/collection/components/xpl-utility-bar/utility-bar.stories.js +0 -94
  484. package/dist/components/p-Bseq_BgD.js +0 -1
  485. package/dist/components/p-CCgZCY_A.js +0 -1
  486. package/dist/components/p-CJzsLWeV.js +0 -1
  487. package/dist/components/p-CRKY79vL.js +0 -1
  488. package/dist/components/p-Cjxw-qOg.js +0 -1
  489. package/dist/components/p-D6JUVA1x.js +0 -1
  490. package/dist/components/p-DFGw0APN.js +0 -1
  491. package/dist/components/p-DLLQBDCb.js +0 -1
  492. package/dist/components/p-Di1NDy0w.js +0 -1
  493. package/dist/components/p-DkM7jyQB.js +0 -1
  494. package/dist/components/p-Mehog36m.js +0 -1
  495. package/dist/components/p-RYnBuuDE.js +0 -1
  496. package/dist/css/typography.stories.js +0 -153
  497. package/dist/types/components/xpl-accordion/accordion.stories.d.ts +0 -46
  498. package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +0 -46
  499. package/dist/types/components/xpl-avatar/avatar.stories.d.ts +0 -39
  500. package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +0 -23
  501. package/dist/types/components/xpl-badge/badge.stories.d.ts +0 -87
  502. package/dist/types/components/xpl-banner/banner.stories.d.ts +0 -79
  503. package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +0 -40
  504. package/dist/types/components/xpl-button/button.stories.d.ts +0 -136
  505. package/dist/types/components/xpl-button-row/button-row.stories.d.ts +0 -34
  506. package/dist/types/components/xpl-calendar/calendar.stories.d.ts +0 -45
  507. package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +0 -51
  508. package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +0 -30
  509. package/dist/types/components/xpl-content-area/content-area.stories.d.ts +0 -19
  510. package/dist/types/components/xpl-dashboard/dashboard.stories.d.ts +0 -22
  511. package/dist/types/components/xpl-data-card/data-card.stories.d.ts +0 -113
  512. package/dist/types/components/xpl-divider/divider.stories.d.ts +0 -28
  513. package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +0 -177
  514. package/dist/types/components/xpl-dynamic-table/dynamic-table.stories.d.ts +0 -30
  515. package/dist/types/components/xpl-grid/grid.stories.d.ts +0 -109
  516. package/dist/types/components/xpl-header-accordion/header-accordion.stories.d.ts +0 -32
  517. package/dist/types/components/xpl-icon/icons.stories.d.ts +0 -31
  518. package/dist/types/components/xpl-input/input.stories.d.ts +0 -441
  519. package/dist/types/components/xpl-large-card/large-card.stories.d.ts +0 -57
  520. package/dist/types/components/xpl-list/list.stories.d.ts +0 -385
  521. package/dist/types/components/xpl-main-nav/main-nav.stories.d.ts +0 -19
  522. package/dist/types/components/xpl-modal/modal.stories.d.ts +0 -103
  523. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +0 -31
  524. package/dist/types/components/xpl-panel/panel.stories.d.ts +0 -30
  525. package/dist/types/components/xpl-popover/popover.stories.d.ts +0 -21
  526. package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +0 -62
  527. package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +0 -64
  528. package/dist/types/components/xpl-radio/radio.stories.d.ts +0 -96
  529. package/dist/types/components/xpl-secondary-nav/secondary-nav.stories.d.ts +0 -8
  530. package/dist/types/components/xpl-select/select.stories.d.ts +0 -158
  531. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +0 -173
  532. package/dist/types/components/xpl-skeleton/skeleton.stories.d.ts +0 -36
  533. package/dist/types/components/xpl-slideout/slideout.stories.d.ts +0 -124
  534. package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +0 -203
  535. package/dist/types/components/xpl-table/table.stories.d.ts +0 -67
  536. package/dist/types/components/xpl-table-header/table-header.stories.d.ts +0 -80
  537. package/dist/types/components/xpl-table-header-cell/table-header-cell.stories.d.ts +0 -36
  538. package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +0 -134
  539. package/dist/types/components/xpl-tabs/tabs.stories.d.ts +0 -107
  540. package/dist/types/components/xpl-tag/tag.stories.d.ts +0 -68
  541. package/dist/types/components/xpl-toast/toast.stories.d.ts +0 -70
  542. package/dist/types/components/xpl-toggle/toggle.stories.d.ts +0 -53
  543. package/dist/types/components/xpl-toolbar/toolbar.stories.d.ts +0 -35
  544. package/dist/types/components/xpl-tooltip/tooltip.stories.d.ts +0 -29
  545. package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +0 -549
  546. package/dist/types/components/xpl-utility-bar/utility-bar.stories.d.ts +0 -27
  547. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/story-function.d.ts +0 -11
  548. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/wait-for-hydration.d.ts +0 -1
  549. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/css/typography.stories.d.ts +0 -76
  550. /package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/{src/utils → utils}/form-bindings.d.ts +0 -0
  551. /package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/{src/utils → utils}/story-vrt.d.ts +0 -0
@@ -1 +1 @@
1
- import{p as t,H as s,d as e,h as i,c as a,t as n}from"./p-BSHdGbmH.js";import{d as o}from"./p-Di1NDy0w.js";import{d as h}from"./p-Mehog36m.js";import{d as l}from"./p-RYnBuuDE.js";import{d as r}from"./p-Dzp5p-eh.js";import{d}from"./p-imCMp2Nl.js";import{d as c}from"./p-DsRsm61K.js";import{d as p}from"./p-CjbPCnPP.js";let b=0;function u(t){const e=t.querySelector("xpl-button button");if(e){const t=e.cloneNode(!0);if(t instanceof s){t.querySelectorAll(".xpl-button__icon, xpl-icon, xpl-badge").forEach((t=>t.remove()));const s=t.textContent?.replace(/\s+/g," ").trim();if(s)return s}}const i=t.querySelector(".xpl-tab__button");if(i){const t=Array.from(i.childNodes).filter((t=>t.nodeType===Node.TEXT_NODE)).map((t=>(t.textContent??"").trim())).join(" ").replace(/\s+/g," ").trim();if(t)return t}return t.getAttribute("target")??""}const m=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.tabChange=e(this,"tabChange",7),this.tabHeadings=[],this.tabPanels=[],this.tablistKeydownBound=!1,this.activeBarPosition={left:0,width:0},this.choicesTick=1,this.isMobileSelectChange=!1,this.selectedValue="",this.disabled=!1,this.fullWidth=!1,this.type="tabs",this.handleTabChange=t=>{this.applySelection(t)},this.onTablistKeydown=async t=>{if(this.disabled)return;const s=t.target?.closest?.("xpl-tab");if(!s||!this.tabHeadings.includes(s))return;const{key:e}=t;let i=!1,a=!1;this.isTablistRtl()?"ArrowLeft"===e||"ArrowDown"===e?i=!0:"ArrowRight"!==e&&"ArrowUp"!==e||(a=!0):"ArrowRight"===e||"ArrowDown"===e?i=!0:"ArrowLeft"!==e&&"ArrowUp"!==e||(a=!0);const n=i||a,o="Home"===e;if(!n&&!o&&"End"!==e)return;const h=this.getEnabledTabHeadingsSync();if(0===h.length)return;const l=h.indexOf(s);if(-1===l)return;let r;r=n?i?(l+1)%h.length:(l-1+h.length)%h.length:o?0:h.length-1;const d=h[r],c=d?.getAttribute("target");if(!c)return;const p=s.getAttribute("target");t.preventDefault(),c!==p&&(this.applySelection(c),await d.focusTrigger(),this.tabChange.emit(c))}}onDisabledChanged(){this.syncGroupDisabledOnTabs(),this.disabled||this.syncRovingTabindex()}onFullWidthChanged(){this.syncFullWidthOnTabs()}onTypeChanged(){this.syncVariantOnTabs()}onValueChanged(t){this.applySelection(t)}connectedCallback(){this.el.hasAttribute("data-tabs-instance-id")||(b+=1,this.el.setAttribute("data-tabs-instance-id","xpl-tg-"+b)),"undefined"!=typeof MutationObserver&&(this.observer=new MutationObserver((()=>{this.collectTabs(!0)})),this.observer.observe(this.el,{childList:!0,subtree:!0}))}disconnectedCallback(){this.observer?.disconnect(),this.headingsContainerRef&&this.tablistKeydownBound&&(this.headingsContainerRef.removeEventListener("keydown",this.onTablistKeydown),this.tablistKeydownBound=!1),void 0!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=void 0)}componentWillLoad(){this.selectedValue=this.getDefaultValue()}componentDidLoad(){this.collectTabs(!1),this.attachTablistKeydown()}componentDidUpdate(){this.updateActiveBarPosition(),this.syncRovingTabindex()}componentDidRender(){!this.tablistKeydownBound&&this.headingsContainerRef&&this.attachTablistKeydown()}onWindowResize(){this.updateActiveBarPosition()}syncGroupDisabledOnTabs(){this.tabHeadings.forEach((t=>{this.disabled?t.setAttribute("data-group-disabled",""):t.removeAttribute("data-group-disabled")}))}applySelection(t){this.tabHeadings.forEach((s=>{t===s.getAttribute("target")?s.setAttribute("selected",""):s.removeAttribute("selected")})),this.tabPanels.forEach((s=>{t===s.getAttribute("target")?s.setAttribute("selected",""):s.removeAttribute("selected")})),this.syncGroupDisabledOnTabs(),void 0!==this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame((()=>{this.rafId=void 0,this.selectedValue=t,this.updateActiveBarPosition(),this.syncRovingTabindex()}))}isOwnedTabOrPanel(t){return t.closest("xpl-tabs")===this.el}collectTabs(t){this.tabHeadings=Array.from(this.el.querySelectorAll("xpl-tab")).filter((t=>this.isOwnedTabOrPanel(t))),this.tabPanels=Array.from(this.el.querySelectorAll("xpl-tab-panel")).filter((t=>this.isOwnedTabOrPanel(t))),this.syncVariantOnTabs(),this.syncFullWidthOnTabs(),this.applySelection(this.getDefaultValue()),t&&(this.choicesTick+=1)}syncVariantOnTabs(){this.tabHeadings.forEach((t=>{t.variant=this.type}))}syncFullWidthOnTabs(){this.tabHeadings.forEach((t=>{t.fullWidth=this.fullWidth}))}getDefaultValue(){return this.value||this.tabHeadings?.[0]?.getAttribute("target")||""}async syncRovingTabindex(){this.disabled||await Promise.all(this.tabHeadings.map((async t=>{const s=(t.getAttribute("target")??"")===this.selectedValue;await t.setTabIndex(s?0:-1)})))}getEnabledTabHeadingsSync(){return this.tabHeadings.filter((t=>{if(this.disabled||t.hasAttribute("disabled"))return!1;const s=t.querySelector("segment"===t.variant?"xpl-button button":".xpl-tab__button");return!(!s||s.disabled)}))}attachTablistKeydown(){const t=this.headingsContainerRef;t&&!this.tablistKeydownBound&&(t.addEventListener("keydown",this.onTablistKeydown),this.tablistKeydownBound=!0)}isTablistRtl(){const t=this.headingsContainerRef;return!!t&&"rtl"===getComputedStyle(t).direction}renderChoices(){return this.tabHeadings.map((t=>{const s=t.getAttribute("target")??"",e=this.disabled||t.hasAttribute("disabled"),i=t.getAttribute("icon")||void 0;return{label:u(t),value:s,isDisabled:e,...i?{icon:i}:{}}}))}updateActiveBarPosition(){if("segment"===this.type)return;const t=this.tabHeadings.find((t=>t.getAttribute("target")===this.selectedValue));if(!this.headingsContainerRef||!t)return;const s=t.getBoundingClientRect(),e=this.headingsContainerRef.getBoundingClientRect(),i=s.left-e.left,a=s.width;this.activeBarPosition.left===i&&this.activeBarPosition.width===a||(this.activeBarPosition={left:i,width:a})}mobileSelectClassNames(){const t="xpl-tabs__mobile-select";return"segment"===this.type?t+" xpl-tabs__mobile-select--segment":t}render(){const t="segment"===this.type;return i(a,{key:"a863b42f5319f956e3cd698b52c93cec54279fa5",class:{"xpl-tabs":!0,"xpl-tabs--full-width":this.fullWidth,"xpl-tabs--segment":t},"data-choices-tick":this.choicesTick},i("xpl-select",{key:"4f8bf1edbb495e898576ca8024871d40a9df9073",classNames:this.mobileSelectClassNames(),choices:this.renderChoices(),disabled:this.disabled,selectedValues:this.selectedValue,onDropdownStateChange:t=>{t.detail&&(this.isMobileSelectChange=!0)},onChangeEvent:t=>{if(this.isMobileSelectChange){const s=""+t.detail;this.handleTabChange(s),this.tabChange.emit(s),this.isMobileSelectChange=!1}}}),i("nav",{key:"c1e9234eb57af90d6aeff31be11ee3c6d758477f","aria-orientation":"horizontal",class:"xpl-tabs__headings",role:"tablist",ref:t=>{this.headingsContainerRef=t},onTabChange:t=>{t.stopPropagation(),this.isMobileSelectChange=!1,this.handleTabChange(t.detail),this.tabChange.emit(t.detail)}},!t&&i("div",{key:"86543a7b4edc639e4cf617953fa8f3cd4446895b",class:"xpl-tabs__active-bar",style:{transform:`translateX(${this.activeBarPosition.left}px)`,width:this.activeBarPosition.width+"px"}}),i("slot",{key:"0e651ef5fb2413200e40fa95016b546926f012a3",name:"heading"})),i("div",{key:"d9bd0669b7618edf56f518fe797d86da51526018",class:"xpl-tabs__panels"},i("slot",{key:"7c9f18ab1d25351c57b7750c7dd1a528a14c26bb",name:"panel"})))}get el(){return this}static get watchers(){return{disabled:[{onDisabledChanged:0}],fullWidth:[{onFullWidthChanged:0}],type:[{onTypeChanged:0}],value:[{onValueChanged:0}]}}},[260,"xpl-tabs",{disabled:[4],fullWidth:[4,"full-width"],type:[513],value:[1],activeBarPosition:[32],choicesTick:[32],isMobileSelectChange:[32],selectedValue:[32]},[[9,"resize","onWindowResize"]],{disabled:[{onDisabledChanged:0}],fullWidth:[{onFullWidthChanged:0}],type:[{onTypeChanged:0}],value:[{onValueChanged:0}]}]),f=m,g=function(){"undefined"!=typeof customElements&&["xpl-tabs","xpl-dropdown","xpl-dropdown-group","xpl-dropdown-heading","xpl-dropdown-option","xpl-icon","xpl-select","xpl-tag"].forEach((t=>{switch(t){case"xpl-tabs":customElements.get(n(t))||customElements.define(n(t),m);break;case"xpl-dropdown":customElements.get(n(t))||o();break;case"xpl-dropdown-group":customElements.get(n(t))||h();break;case"xpl-dropdown-heading":customElements.get(n(t))||l();break;case"xpl-dropdown-option":customElements.get(n(t))||r();break;case"xpl-icon":customElements.get(n(t))||d();break;case"xpl-select":customElements.get(n(t))||c();break;case"xpl-tag":customElements.get(n(t))||p()}}))};export{f as XplTabs,g as defineCustomElement}
1
+ import{p as t,H as s,d as e,h as i,c as a,t as n}from"./p-BSHdGbmH.js";import{d as o}from"./p-xtOHikY0.js";import{d as h}from"./p-CnVGKN63.js";import{d as l}from"./p-YG9Jza0y.js";import{d}from"./p-DAb-txW3.js";import{d as r}from"./p-l3EZ-agL.js";import{d as c}from"./p-EfW0v54z.js";import{d as p}from"./p-D--kzomA.js";let b=0;function u(t){const e=t.querySelector("xpl-button button");if(e){const t=e.cloneNode(!0);if(t instanceof s){t.querySelectorAll(".xpl-button__icon, xpl-icon, xpl-badge").forEach((t=>t.remove()));const s=t.textContent?.replace(/\s+/g," ").trim();if(s)return s}}const i=t.querySelector(".xpl-tab__button");if(i){const t=Array.from(i.childNodes).filter((t=>t.nodeType===Node.TEXT_NODE)).map((t=>(t.textContent??"").trim())).join(" ").replace(/\s+/g," ").trim();if(t)return t}return t.getAttribute("target")??""}const m=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.tabChange=e(this,"tabChange",7),this.tabHeadings=[],this.tabPanels=[],this.tablistKeydownBound=!1,this.activeBarPosition={left:0,width:0},this.choicesTick=1,this.isMobileSelectChange=!1,this.selectedValue="",this.disabled=!1,this.fullWidth=!1,this.type="tabs",this.handleTabChange=t=>{this.applySelection(t)},this.onTablistKeydown=async t=>{if(this.disabled)return;const s=t.target?.closest?.("xpl-tab");if(!s||!this.tabHeadings.includes(s))return;const{key:e}=t;let i=!1,a=!1;this.isTablistRtl()?"ArrowLeft"===e||"ArrowDown"===e?i=!0:"ArrowRight"!==e&&"ArrowUp"!==e||(a=!0):"ArrowRight"===e||"ArrowDown"===e?i=!0:"ArrowLeft"!==e&&"ArrowUp"!==e||(a=!0);const n=i||a,o="Home"===e;if(!n&&!o&&"End"!==e)return;const h=this.getEnabledTabHeadingsSync();if(0===h.length)return;const l=h.indexOf(s);if(-1===l)return;let d;d=n?i?(l+1)%h.length:(l-1+h.length)%h.length:o?0:h.length-1;const r=h[d],c=r?.getAttribute("target");if(!c)return;const p=s.getAttribute("target");t.preventDefault(),c!==p&&(this.applySelection(c),await r.focusTrigger(),this.tabChange.emit(c))}}onDisabledChanged(){this.syncGroupDisabledOnTabs(),this.disabled||this.syncRovingTabindex()}onFullWidthChanged(){this.syncFullWidthOnTabs()}onTypeChanged(){this.syncVariantOnTabs()}onValueChanged(t){this.applySelection(t)}connectedCallback(){this.el.hasAttribute("data-tabs-instance-id")||(b+=1,this.el.setAttribute("data-tabs-instance-id","xpl-tg-"+b)),"undefined"!=typeof MutationObserver&&(this.observer=new MutationObserver((()=>{this.collectTabs(!0)})),this.observer.observe(this.el,{childList:!0,subtree:!0}))}disconnectedCallback(){this.observer?.disconnect(),this.headingsContainerRef&&this.tablistKeydownBound&&(this.headingsContainerRef.removeEventListener("keydown",this.onTablistKeydown),this.tablistKeydownBound=!1),void 0!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=void 0)}componentWillLoad(){this.selectedValue=this.getDefaultValue()}componentDidLoad(){this.collectTabs(!1),this.attachTablistKeydown()}componentDidUpdate(){this.updateActiveBarPosition(),this.syncRovingTabindex()}componentDidRender(){!this.tablistKeydownBound&&this.headingsContainerRef&&this.attachTablistKeydown()}onWindowResize(){this.updateActiveBarPosition()}syncGroupDisabledOnTabs(){this.tabHeadings.forEach((t=>{this.disabled?t.setAttribute("data-group-disabled",""):t.removeAttribute("data-group-disabled")}))}applySelection(t){this.tabHeadings.forEach((s=>{t===s.getAttribute("target")?s.setAttribute("selected",""):s.removeAttribute("selected")})),this.tabPanels.forEach((s=>{t===s.getAttribute("target")?s.setAttribute("selected",""):s.removeAttribute("selected")})),this.syncGroupDisabledOnTabs(),void 0!==this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame((()=>{this.rafId=void 0,this.selectedValue=t,this.updateActiveBarPosition(),this.syncRovingTabindex()}))}isOwnedTabOrPanel(t){return t.closest("xpl-tabs")===this.el}collectTabs(t){this.tabHeadings=Array.from(this.el.querySelectorAll("xpl-tab")).filter((t=>this.isOwnedTabOrPanel(t))),this.tabPanels=Array.from(this.el.querySelectorAll("xpl-tab-panel")).filter((t=>this.isOwnedTabOrPanel(t))),this.syncVariantOnTabs(),this.syncFullWidthOnTabs(),this.applySelection(this.getDefaultValue()),t&&(this.choicesTick+=1)}syncVariantOnTabs(){this.tabHeadings.forEach((t=>{t.variant=this.type}))}syncFullWidthOnTabs(){this.tabHeadings.forEach((t=>{t.fullWidth=this.fullWidth}))}getDefaultValue(){return this.value||this.tabHeadings?.[0]?.getAttribute("target")||""}async syncRovingTabindex(){this.disabled||await Promise.all(this.tabHeadings.map((async t=>{const s=(t.getAttribute("target")??"")===this.selectedValue;await t.setTabIndex(s?0:-1)})))}getEnabledTabHeadingsSync(){return this.tabHeadings.filter((t=>{if(this.disabled||t.hasAttribute("disabled"))return!1;const s=t.querySelector("segment"===t.variant?"xpl-button button":".xpl-tab__button");return!(!s||s.disabled)}))}attachTablistKeydown(){const t=this.headingsContainerRef;t&&!this.tablistKeydownBound&&(t.addEventListener("keydown",this.onTablistKeydown),this.tablistKeydownBound=!0)}isTablistRtl(){const t=this.headingsContainerRef;return!!t&&"rtl"===getComputedStyle(t).direction}renderChoices(){return this.tabHeadings.map((t=>{const s=t.getAttribute("target")??"",e=this.disabled||t.hasAttribute("disabled"),i=t.getAttribute("icon")||void 0;return{label:u(t),value:s,isDisabled:e,...i?{icon:i}:{}}}))}updateActiveBarPosition(){if("segment"===this.type)return;const t=this.tabHeadings.find((t=>t.getAttribute("target")===this.selectedValue));if(!this.headingsContainerRef||!t)return;const s=t.getBoundingClientRect(),e=this.headingsContainerRef.getBoundingClientRect(),i=s.left-e.left,a=s.width;this.activeBarPosition.left===i&&this.activeBarPosition.width===a||(this.activeBarPosition={left:i,width:a})}mobileSelectClassNames(){const t="xpl-tabs__mobile-select";return"segment"===this.type?t+" xpl-tabs__mobile-select--segment":t}render(){const t="segment"===this.type;return i(a,{key:"74e82ed3665bf7d8337d16f6253c2ae79d421473",class:{"xpl-tabs":!0,"xpl-tabs--full-width":this.fullWidth,"xpl-tabs--segment":t},"data-choices-tick":this.choicesTick},i("xpl-select",{key:"8b706667897c20145cdd528b692affb0db7f7ebc",classNames:this.mobileSelectClassNames(),choices:this.renderChoices(),disabled:this.disabled,selectedValues:this.selectedValue,onDropdownStateChange:t=>{t.detail&&(this.isMobileSelectChange=!0)},onChangeEvent:t=>{if(this.isMobileSelectChange){const s=""+t.detail;this.handleTabChange(s),this.tabChange.emit(s),this.isMobileSelectChange=!1}}}),i("nav",{key:"d23f6edc5da0525e4c8fc10aa30af64986fdda36","aria-orientation":"horizontal",class:"xpl-tabs__headings",role:"tablist",ref:t=>{this.headingsContainerRef=t},onTabChange:t=>{t.stopPropagation(),this.isMobileSelectChange=!1,this.handleTabChange(t.detail),this.tabChange.emit(t.detail)}},!t&&i("div",{key:"d2d080ffc049a408f2d93f3ce3bc694c0954ece3",class:"xpl-tabs__active-bar",style:{transform:`translateX(${this.activeBarPosition.left}px)`,width:this.activeBarPosition.width+"px"}}),i("slot",{key:"8c4b1403048b0eba5125abfc22494641aaf955cf",name:"heading"})),i("div",{key:"54a04bd883f364457cdf5922cad8ac2b42eceb61",class:"xpl-tabs__panels"},i("slot",{key:"2b51ebd00605dfbd76c6018d74f63f954016a025",name:"panel"})))}get el(){return this}static get watchers(){return{disabled:[{onDisabledChanged:0}],fullWidth:[{onFullWidthChanged:0}],type:[{onTypeChanged:0}],value:[{onValueChanged:0}]}}},[260,"xpl-tabs",{disabled:[4],fullWidth:[4,"full-width"],type:[513],value:[1],activeBarPosition:[32],choicesTick:[32],isMobileSelectChange:[32],selectedValue:[32]},[[9,"resize","onWindowResize"]],{disabled:[{onDisabledChanged:0}],fullWidth:[{onFullWidthChanged:0}],type:[{onTypeChanged:0}],value:[{onValueChanged:0}]}]),f=m,g=function(){"undefined"!=typeof customElements&&["xpl-tabs","xpl-dropdown","xpl-dropdown-group","xpl-dropdown-heading","xpl-dropdown-option","xpl-icon","xpl-select","xpl-tag"].forEach((t=>{switch(t){case"xpl-tabs":customElements.get(n(t))||customElements.define(n(t),m);break;case"xpl-dropdown":customElements.get(n(t))||o();break;case"xpl-dropdown-group":customElements.get(n(t))||h();break;case"xpl-dropdown-heading":customElements.get(n(t))||l();break;case"xpl-dropdown-option":customElements.get(n(t))||d();break;case"xpl-icon":customElements.get(n(t))||r();break;case"xpl-select":customElements.get(n(t))||c();break;case"xpl-tag":customElements.get(n(t))||p()}}))};export{f as XplTabs,g as defineCustomElement}
@@ -1 +1 @@
1
- import{T as o,d as s}from"./p-CjbPCnPP.js";const p=o,r=s;export{p as XplTag,r as defineCustomElement}
1
+ import{T as o,d as s}from"./p-D--kzomA.js";const m=o,p=s;export{m as XplTag,p as defineCustomElement}
@@ -1 +1 @@
1
- import{p as s,H as t,h as e,c as i,t as a}from"./p-BSHdGbmH.js";import{d as c}from"./p-DywQ3S73.js";import{d as o}from"./p-imCMp2Nl.js";let n=!1;const l=s(class extends t{constructor(s){super(),!1!==s&&this.__registerHost(),this.caption="",this.dismissible=!0,this.showIcon=!0,this.timeout=8e3,this.variant="neutral",this.handleAnimationEnd=()=>{this.el?.classList.contains("xpl-toast--dismissed")&&this.el?.remove()},this.getIcon=()=>{switch(this.variant){case"warning":return e("xpl-icon",{size:24,icon:"octagon-warning"});case"success":return e("xpl-icon",{size:24,icon:"circle-check"});default:return e("xpl-icon",{size:24,icon:"message-writing"})}},this.dismiss=()=>{this.el?.classList.add("xpl-toast--dismissed")}}handleDismissableChange(){void 0!==this.dismissable&&(n||(n=!0,console.warn('[xpl-toast] The "dismissable" prop is deprecated (misspelled). Use "dismissible" instead.')))}handleTimeoutChange(){this.scheduleAutoDismiss()}disconnectedCallback(){this.clearAutoDismissTimer()}componentWillLoad(){this.handleDismissableChange()}componentDidLoad(){this.scheduleAutoDismiss()}get isDismissible(){return this.dismissable??this.dismissible}clearAutoDismissTimer(){void 0!==this.dismissTimerId&&(clearTimeout(this.dismissTimerId),this.dismissTimerId=void 0)}scheduleAutoDismiss(){this.clearAutoDismissTimer(),(this.actionSlot?.children?.length??0)<1&&this.timeout>0&&(this.dismissTimerId=setTimeout((()=>{this.dismiss()}),this.timeout))}render(){return e(i,{key:"cb45af3749d6db4042cf89a296fc5215d42249fd",class:"xpl-toast xpl-toast--"+this.variant,onAnimationEnd:this.handleAnimationEnd},e("div",{key:"0af19edba28e74246fe9eabbdf314c71cb2eefb9",class:"xpl-toast__left"},this.showIcon&&e("div",{key:"7684b67f9a507516799269b7c30e864ea2b854fc",class:"xpl-toast__icon xpl-toast__icon--"+this.variant},this.getIcon()),e("div",{key:"566ce59e4617b203bb4e9a02ffc07fc422257fda",class:"xpl-toast__notification"},e("p",{key:"f5a449e9dc150b12f5a364d8247a3a1247325cab",class:"xpl-toast__title"},e("slot",{key:"0062ab257b833cacde007e7ca4dfa0a38d38e88f",name:"title"})),""!==this.caption&&e("p",{key:"824755a3cdec234965fcedc5a9c156b173dc77ad",class:"xpl-toast__caption"},this.caption?.substring(0,85)))),e("div",{key:"241131c2221a67a5f9969d2701ab7ed8aeb2d8cf",class:"xpl-toast__action",ref:s=>{s&&(this.actionSlot=s)}},e("slot",{key:"2eda8f8f3f7e3e1a4c608d5b5433557b55d3cbf7",name:"action"})),this.isDismissible&&e("div",{key:"92440f49d0c6356f6221471381718b314a928ee2",class:"xpl-toast__close"},e("xpl-button",{key:"eb8e975cc5361d8a9b44f6ca8bc3f5a3163c041c",variant:"tertiary",size:"sm",iconOnly:!0,icon:"xmark",type:"button","aria-label":"Dismiss notification",onClick:this.dismiss})))}get el(){return this}static get watchers(){return{dismissable:[{handleDismissableChange:0}],timeout:[{handleTimeoutChange:0}]}}},[260,"xpl-toast",{caption:[1],dismissable:[4],dismissible:[4],showIcon:[4,"show-icon"],timeout:[2],variant:[1]},void 0,{dismissable:[{handleDismissableChange:0}],timeout:[{handleTimeoutChange:0}]}]),d=l,h=function(){"undefined"!=typeof customElements&&["xpl-toast","xpl-button","xpl-icon"].forEach((s=>{switch(s){case"xpl-toast":customElements.get(a(s))||customElements.define(a(s),l);break;case"xpl-button":customElements.get(a(s))||c();break;case"xpl-icon":customElements.get(a(s))||o()}}))};export{d as XplToast,h as defineCustomElement}
1
+ import{p as s,H as t,h as i,c as e,t as a}from"./p-BSHdGbmH.js";import{d as c}from"./p-Chpgh5SL.js";import{d as o}from"./p-l3EZ-agL.js";let n=!1;const l=s(class extends t{constructor(s){super(),!1!==s&&this.__registerHost(),this.caption="",this.dismissible=!0,this.showIcon=!0,this.timeout=8e3,this.variant="neutral",this.handleAnimationEnd=()=>{this.el?.classList.contains("xpl-toast--dismissed")&&this.el?.remove()},this.getIcon=()=>{switch(this.variant){case"warning":return i("xpl-icon",{size:24,icon:"octagon-warning"});case"success":return i("xpl-icon",{size:24,icon:"circle-check"});default:return i("xpl-icon",{size:24,icon:"message-writing"})}},this.dismiss=()=>{this.el?.classList.add("xpl-toast--dismissed")}}handleDismissableChange(){void 0!==this.dismissable&&(n||(n=!0,console.warn('[xpl-toast] The "dismissable" prop is deprecated (misspelled). Use "dismissible" instead.')))}handleTimeoutChange(){this.scheduleAutoDismiss()}disconnectedCallback(){this.clearAutoDismissTimer()}componentWillLoad(){this.handleDismissableChange()}componentDidLoad(){this.scheduleAutoDismiss()}get isDismissible(){return this.dismissable??this.dismissible}clearAutoDismissTimer(){void 0!==this.dismissTimerId&&(clearTimeout(this.dismissTimerId),this.dismissTimerId=void 0)}scheduleAutoDismiss(){this.clearAutoDismissTimer(),(this.actionSlot?.children?.length??0)<1&&this.timeout>0&&(this.dismissTimerId=setTimeout((()=>{this.dismiss()}),this.timeout))}render(){return i(e,{key:"8628e33a84d0ca36d5b99c791cf7860cadae6fb8",class:"xpl-toast xpl-toast--"+this.variant,onAnimationEnd:this.handleAnimationEnd},i("div",{key:"d1ea50362731f7cef97152eac2962f4d4084c514",class:"xpl-toast__left"},this.showIcon&&i("div",{key:"7eab4f78d0f8a2f5af12eeb1d74b14c300914841",class:"xpl-toast__icon xpl-toast__icon--"+this.variant},this.getIcon()),i("div",{key:"335be6f702b7300498d2960cb7184fe1fec059b4",class:"xpl-toast__notification"},i("p",{key:"1178d039190352d0482ae7486711ab2adfd2cc8f",class:"xpl-toast__title"},i("slot",{key:"75a98536db36c7a140b3d908cbd8f3d2e201ca81",name:"title"})),""!==this.caption&&i("p",{key:"009bba836fe9abbf34edf4618dd172961e9440fa",class:"xpl-toast__caption"},this.caption?.substring(0,85)))),i("div",{key:"4f47e498ea0c7627d9041a7a2e898fcecff9f59c",class:"xpl-toast__action",ref:s=>{s&&(this.actionSlot=s)}},i("slot",{key:"6ad3199d265b1298ea8200ba53690dcc92bdbf92",name:"action"})),this.isDismissible&&i("div",{key:"b1a1a790a592f5e4c7573c819b0c997a210bd68a",class:"xpl-toast__close"},i("xpl-button",{key:"2d9ad71fc8f8233f2fc12453ca8268fd5f1d8f74",variant:"tertiary",size:"sm",iconOnly:!0,icon:"xmark",type:"button","aria-label":"Dismiss notification",onClick:this.dismiss})))}get el(){return this}static get watchers(){return{dismissable:[{handleDismissableChange:0}],timeout:[{handleTimeoutChange:0}]}}},[260,"xpl-toast",{caption:[1],dismissable:[4],dismissible:[4],showIcon:[4,"show-icon"],timeout:[2],variant:[1]},void 0,{dismissable:[{handleDismissableChange:0}],timeout:[{handleTimeoutChange:0}]}]),d=l,h=function(){"undefined"!=typeof customElements&&["xpl-toast","xpl-button","xpl-icon"].forEach((s=>{switch(s){case"xpl-toast":customElements.get(a(s))||customElements.define(a(s),l);break;case"xpl-button":customElements.get(a(s))||c();break;case"xpl-icon":customElements.get(a(s))||o()}}))};export{d as XplToast,h as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as s,d as t,h as l,c as a,t as i}from"./p-BSHdGbmH.js";import{v as c}from"./p-CK3_k8jD.js";const d=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.toggleChange=t(this,"toggleChange",7),this.variant="default",this.id=c(),this.onChange=e=>{this.toggleChange.emit(e.target.checked)}}render(){let e="xpl-toggle-container";this.disabled&&(e+=" xpl-toggle-container--disabled");let s="xpl-toggle";return"small"===this.variant&&(s+=" xpl-toggle--small"),l(a,{key:"8088d36a67f046fc7c094b3e1426c8d533c2930e",class:e},(this.heading||this.description)&&l("label",{key:"93f1f01ca1c709f77230bc4245a5a77f0f3b48df",class:{"xpl-label":!0,"xpl-label--disabled":!!this.disabled},htmlFor:this.id},this.heading,this.description&&l("small",{key:"6b39f78fc5991e00d87e792a15f16c60a176a73d",class:{"xpl-description":!0,"xpl-description--disabled":!!this.disabled}},this.description)),l("input",{key:"6d178f3d74d18172f2c25370269a7eb4399dc3aa",class:s,type:"checkbox",checked:this.checked,disabled:this.disabled,id:this.id,name:this.name,onChange:this.onChange}),this.label&&l("label",{key:"2c5310d15e41aedb505a8df32c65aaafc8ffbd70",htmlFor:this.id},this.label))}},[0,"xpl-toggle",{checked:[4],description:[1],disabled:[4],heading:[1],label:[1],name:[1],variant:[1],id:[32]}]),h=d,o=function(){"undefined"!=typeof customElements&&["xpl-toggle"].forEach((e=>{"xpl-toggle"===e&&(customElements.get(i(e))||customElements.define(i(e),d))}))};export{h as XplToggle,o as defineCustomElement}
1
+ import{p as e,H as s,d as t,h as l,c as i,t as a}from"./p-BSHdGbmH.js";import{v as c}from"./p-CK3_k8jD.js";const d=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.toggleChange=t(this,"toggleChange",7),this.variant="default",this.id=c(),this.onChange=e=>{this.toggleChange.emit(e.target.checked)}}render(){let e="xpl-toggle-container";this.disabled&&(e+=" xpl-toggle-container--disabled");let s="xpl-toggle";return"small"===this.variant&&(s+=" xpl-toggle--small"),l(i,{key:"20b5e00613ac0f2567224d3ff2bcd7b7f761a8fc",class:e},(this.heading||this.description)&&l("label",{key:"a41dfe6403c629ef05792ba8dc7f0632fca9ca37",class:{"xpl-label":!0,"xpl-label--disabled":!!this.disabled},htmlFor:this.id},this.heading,this.description&&l("small",{key:"b0e1d30a0f5b358a7f588d3f8f0bc32f440b69df",class:{"xpl-description":!0,"xpl-description--disabled":!!this.disabled}},this.description)),l("input",{key:"a59406c7cccf8a43349841bb060496ce0832823f",class:s,type:"checkbox",checked:this.checked,disabled:this.disabled,id:this.id,name:this.name,onChange:this.onChange}),this.label&&l("label",{key:"276ce3ec937627fd9d21f2b3771d9c779c5f91f1",htmlFor:this.id},this.label))}},[0,"xpl-toggle",{checked:[4],description:[1],disabled:[4],heading:[1],label:[1],name:[1],variant:[1],id:[32]}]),h=d,o=function(){"undefined"!=typeof customElements&&["xpl-toggle"].forEach((e=>{"xpl-toggle"===e&&(customElements.get(a(e))||customElements.define(a(e),d))}))};export{h as XplToggle,o as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as t,h as s,c,t as o}from"./p-BSHdGbmH.js";const d=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.selectedItemCount=0}componentDidLoad(){const e=this.el.querySelector('[slot="actions-right"]');null!==e&&(e.style.marginLeft="auto")}listenToSelectedItemCountChange(e){this.selectedItemCount=e.detail.length}render(){return s(c,{key:"6407dc110234806b694bd78e98920c96db62b678",class:{"xpl-toolbar":!0,dark:!0,hidden:0===this.selectedItemCount}},s("div",{key:"42c9e451f0f796bf8b3ed967699deb4824ae9d76",class:"toolbar"},s("p",{key:"bc5a48dfc2f431a4e88337fa792920413048e059",class:"selected-item-count"},this.selectedItemCount," Selected"),s("div",{key:"ff4caddf1a499b238df37b5ed62543168fe32f4e",class:"actions"},s("slot",{key:"dd8225846c76dd50c943a4adc0e373717dc9c5c2",name:"actions-left"}),s("slot",{key:"066999024eb8cc98be2cfec8077b2afab99e3feb",name:"actions-right"}))))}get el(){return this}},[260,"xpl-toolbar",{selectedItemCount:[2,"selected-item-count"]},[[8,"selectedItemCountChange","listenToSelectedItemCountChange"]]]),a=d,n=function(){"undefined"!=typeof customElements&&["xpl-toolbar"].forEach((e=>{"xpl-toolbar"===e&&(customElements.get(o(e))||customElements.define(o(e),d))}))};export{a as XplToolbar,n as defineCustomElement}
1
+ import{p as e,H as t,h as s,c as o,t as a}from"./p-BSHdGbmH.js";const c=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.selectedItemCount=0}componentDidLoad(){const e=this.el.querySelector('[slot="actions-right"]');null!==e&&(e.style.marginLeft="auto")}listenToSelectedItemCountChange(e){this.selectedItemCount=e.detail.length}render(){return s(o,{key:"d834b3f68a399f33c02e2a7d85623d9fbe2a21e2",class:{"xpl-toolbar":!0,dark:!0,hidden:0===this.selectedItemCount}},s("div",{key:"54c4638e003685ade49f243f688e3ff5997f8759",class:"toolbar"},s("p",{key:"92815a7d1b10582742906aefa0ee9ef81311c459",class:"selected-item-count"},this.selectedItemCount," Selected"),s("div",{key:"dc1b9ee686a57bd7bca45785f90586751770f556",class:"actions"},s("slot",{key:"2cc26af5467e9ad44962bd1ac65f0b1087f86f7f",name:"actions-left"}),s("slot",{key:"f5f46662191f52c79f81ffd1ce47a492041c10ad",name:"actions-right"}))))}get el(){return this}},[260,"xpl-toolbar",{selectedItemCount:[2,"selected-item-count"]},[[8,"selectedItemCountChange","listenToSelectedItemCountChange"]]]),n=c,l=function(){"undefined"!=typeof customElements&&["xpl-toolbar"].forEach((e=>{"xpl-toolbar"===e&&(customElements.get(a(e))||customElements.define(a(e),c))}))};export{n as XplToolbar,l as defineCustomElement}
@@ -1 +1 @@
1
- import{T as s,d as o}from"./p-Bseq_BgD.js";const p=s,r=o;export{p as XplTooltip,r as defineCustomElement}
1
+ import{T as s,d as o}from"./p-BYYFsuD3.js";const p=s,r=o;export{p as XplTooltip,r as defineCustomElement}
@@ -1 +1 @@
1
- import{T as o,d as s}from"./p-BnTsRbko.js";const p=o,r=s;export{p as XplTopNavItem,r as defineCustomElement}
1
+ import{T as s,d as o}from"./p-xFsB212F.js";const p=s,r=o;export{p as XplTopNavItem,r as defineCustomElement}
@@ -1 +1 @@
1
- import{p as t,H as e,h as s,c as n,t as i}from"./p-BSHdGbmH.js";import{T as o,i as a}from"./p-Dqb1pIRo.js";import{a as c,d as p}from"./p-BnTsRbko.js";import{d as l}from"./p-imCMp2Nl.js";const r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.timers=new o,this.isMobileCascade=!1,this.onViewportChange=()=>{this.isMobileCascade=this.mobileMq?.matches??!1},this.handleBackClick=async()=>{const t=this.el.closest("xpl-top-nav-item");t&&(await t.closeMenu(),t.querySelector(".xpl-top-nav-item__inner")?.focus())}}connectedCallback(){a()&&"function"==typeof window.matchMedia&&(this.mobileMq=window.matchMedia(c),this.mobileMq.addEventListener("change",this.onViewportChange),this.isMobileCascade=this.mobileMq.matches),this.connectParentOpenObserver()}disconnectedCallback(){this.timers.dispose(),this.mobileMq?.removeEventListener("change",this.onViewportChange),this.mobileMq=void 0,this.disconnectParentOpenObserver()}connectParentOpenObserver(){this.disconnectParentOpenObserver();const t=this.el.parentElement;t&&"undefined"!=typeof MutationObserver&&(this.parentOpenObserver=new MutationObserver((()=>{this.scheduleParentOpenCheck()})),this.parentOpenObserver.observe(t,{attributes:!0,attributeFilter:["class"]}))}disconnectParentOpenObserver(){this.parentOpenObserver?.disconnect(),this.parentOpenObserver=void 0}scheduleParentOpenCheck(){this.timers.scheduleCoalesced("parentOpenCheck",(()=>{this.el.isConnected&&this.focusBackRowIfJustOpenedOnMobile()}))}focusBackRowIfJustOpenedOnMobile(){if(!this.isMobileCascade)return;const t=this.el.parentElement;t?.classList.contains("xpl-top-nav-item--dropdown-open")&&this.el.querySelector(".xpl-top-nav-menu__back .xpl-top-nav-item__inner")?.focus()}renderBackRow(){return this.isMobileCascade&&this.label?.trim()?s("xpl-top-nav-item",{class:"xpl-top-nav-menu__back",label:this.label,onNavItemClick:this.handleBackClick},s("xpl-icon",{slot:"leading-icon",icon:"chevron-left",size:24})):null}render(){return s(n,{key:"e71631c4d9d4b653247d13c7b182f722bf1e52cc",class:{"xpl-top-nav-menu":!0,dark:!0},role:"list","aria-label":this.label||void 0},this.renderBackRow(),s("slot",{key:"c6e38f4f78ab65dad030076aebf97c40dbce651b"}))}get el(){return this}},[260,"xpl-top-nav-menu",{label:[1],isMobileCascade:[32]}]),h=r,m=function(){"undefined"!=typeof customElements&&["xpl-top-nav-menu","xpl-icon","xpl-top-nav-item"].forEach((t=>{switch(t){case"xpl-top-nav-menu":customElements.get(i(t))||customElements.define(i(t),r);break;case"xpl-icon":customElements.get(i(t))||l();break;case"xpl-top-nav-item":customElements.get(i(t))||p()}}))};export{h as XplTopNavMenu,m as defineCustomElement}
1
+ import{p as t,H as e,h as s,c as n,t as i}from"./p-BSHdGbmH.js";import{T as a,i as o}from"./p-Dqb1pIRo.js";import{a as c,d as p}from"./p-xFsB212F.js";import{d as l}from"./p-l3EZ-agL.js";const r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.timers=new a,this.isMobileCascade=!1,this.onViewportChange=()=>{this.isMobileCascade=this.mobileMq?.matches??!1},this.handleBackClick=async()=>{const t=this.el.closest("xpl-top-nav-item");t&&(await t.closeMenu(),t.querySelector(".xpl-top-nav-item__inner")?.focus())}}connectedCallback(){o()&&"function"==typeof window.matchMedia&&(this.mobileMq=window.matchMedia(c),this.mobileMq.addEventListener("change",this.onViewportChange),this.isMobileCascade=this.mobileMq.matches),this.connectParentOpenObserver()}disconnectedCallback(){this.timers.dispose(),this.mobileMq?.removeEventListener("change",this.onViewportChange),this.mobileMq=void 0,this.disconnectParentOpenObserver()}connectParentOpenObserver(){this.disconnectParentOpenObserver();const t=this.el.parentElement;t&&"undefined"!=typeof MutationObserver&&(this.parentOpenObserver=new MutationObserver((()=>{this.scheduleParentOpenCheck()})),this.parentOpenObserver.observe(t,{attributes:!0,attributeFilter:["class"]}))}disconnectParentOpenObserver(){this.parentOpenObserver?.disconnect(),this.parentOpenObserver=void 0}scheduleParentOpenCheck(){this.timers.scheduleCoalesced("parentOpenCheck",(()=>{this.el.isConnected&&this.focusBackRowIfJustOpenedOnMobile()}))}focusBackRowIfJustOpenedOnMobile(){if(!this.isMobileCascade)return;const t=this.el.parentElement;t?.classList.contains("xpl-top-nav-item--dropdown-open")&&this.el.querySelector(".xpl-top-nav-menu__back .xpl-top-nav-item__inner")?.focus()}renderBackRow(){return this.isMobileCascade&&this.label?.trim()?s("xpl-top-nav-item",{class:"xpl-top-nav-menu__back",label:this.label,onNavItemClick:this.handleBackClick},s("xpl-icon",{slot:"leading-icon",icon:"chevron-left",size:24})):null}render(){return s(n,{key:"4b28448ecb93e59d9bdc731a8b56dd42ebda2c66",class:{"xpl-top-nav-menu":!0,dark:!0},role:"list","aria-label":this.label||void 0},this.renderBackRow(),s("slot",{key:"aa51dc10509298e469ca41a99ae7108283ee8f89"}))}get el(){return this}},[260,"xpl-top-nav-menu",{label:[1],isMobileCascade:[32]}]),h=r,m=function(){"undefined"!=typeof customElements&&["xpl-top-nav-menu","xpl-icon","xpl-top-nav-item"].forEach((t=>{switch(t){case"xpl-top-nav-menu":customElements.get(i(t))||customElements.define(i(t),r);break;case"xpl-icon":customElements.get(i(t))||l();break;case"xpl-top-nav-item":customElements.get(i(t))||p()}}))};export{h as XplTopNavMenu,m as defineCustomElement}
@@ -1 +1 @@
1
- import{p as t,H as s,d as e,h as i,c as n,t as o}from"./p-BSHdGbmH.js";import{h as a}from"./p-DkqlawVY.js";import{i as l}from"./p-Dqb1pIRo.js";import{d as r}from"./p-DywQ3S73.js";import{d as h}from"./p-imCMp2Nl.js";import{d as p}from"./p-BGqQbjLl.js";import{d as c}from"./p-BnTsRbko.js";const d=[".xpl-top-nav__brand-logo-slot",".xpl-top-nav__brand-bar"],v=".xpl-top-nav__user-menu-panel",u=[v,".xpl-top-nav__user-menu-stash"],b=[".xpl-top-nav__user-popover",".xpl-top-nav__user-menu-stash",".xpl-top-nav__right-user"],m=[v],f=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.brandClick=e(this,"brandClick",7),this.navOpen=e(this,"navOpen",7),this.slotProjectionDirty=!1,this.userPopoverDrawerSyncHost=null,this.brandLogoSlotPresent=!1,this.open=!1,this.slotProjectionNonce=0,this.userMenuSlotPresent=!1,this.userMenuTriggerSlotPresent=!1,this.focusNavControlAfterClose=()=>{void 0!==this.navControlFocusTimeoutId&&clearTimeout(this.navControlFocusTimeoutId),this.navControlFocusTimeoutId=setTimeout((()=>{this.navControlFocusTimeoutId=void 0,this.el.querySelector(".xpl-top-nav__nav-control")?.focus()}),0)},this.handleUserPopoverIsOpenChange=t=>{const{detail:s}=t;!0===s&&this.closeMobileDrawerWhenAccountMenuOpens()},this.onBrandNavItemClick=t=>{null==this.brandHref&&this.brandClick.emit(t.detail)},this.onDocKeyDownEscape=t=>{this.navControl&&this.open&&"Escape"===t.key&&(this.anyDescendantPopoverIsOpen()||this.el.querySelector("xpl-top-nav-item.xpl-top-nav-item--dropdown-open")||(t.preventDefault(),t.stopPropagation(),this.open=!1,this.navOpen.emit(!1),this.focusNavControlAfterClose()))},this.onDocClickOutsideDismiss=t=>{if(!this.navControl||!this.open)return;const s=t.target;null==s||this.anyDescendantPopoverIsOpen()||this.el.querySelector(".xpl-top-nav__left-primary")?.contains(s)||this.el.querySelector(".xpl-top-nav__nav-control")?.contains(s)||(this.open=!1,this.resetMobileCascade(),this.navOpen.emit(!1))},this.onNavToggle=()=>{const t=this.open;this.open=!this.open,this.navOpen.emit(this.open),t&&!this.open&&(this.resetMobileCascade(),this.focusNavControlAfterClose())},this.onUserPopoverInnerOpenClassChange=()=>{const t=this.userPopoverDrawerSyncHost;if(!t)return;const s=t.querySelector(".xpl-popover");s?.classList.contains("xpl-popover--is-open")&&this.closeMobileDrawerWhenAccountMenuOpens()},this.syncBrandLogoSlot=()=>{const t=a(this.el,"brand-logo",{hostTag:"xpl-top-nav",projectionRegionSelectors:d});t!==this.brandLogoSlotPresent&&(this.brandLogoSlotPresent=t)},this.syncUserMenuSlots=()=>{const t=a(this.el,"user-menu",{hostTag:"xpl-top-nav",projectionRegionSelectors:u}),s=a(this.el,"user-menu-trigger",{hostTag:"xpl-top-nav",projectionRegionSelectors:b,excludedRegionSelectors:m});t!==this.userMenuSlotPresent&&(this.userMenuSlotPresent=t),s!==this.userMenuTriggerSlotPresent&&(this.userMenuTriggerSlotPresent=s)}}onNavControlChanged(){this.syncOpenFromNavControl(),this.syncDocDismissListeners()}connectedCallback(){this.syncOpenFromNavControl(),this.syncDocDismissListeners(),this.syncBrandLogoSlot(),this.syncUserMenuSlots(),this.connectSlotContentObserver(),this.flushPendingSlotProjection()}disconnectedCallback(){void 0!==this.navControlFocusTimeoutId&&(clearTimeout(this.navControlFocusTimeoutId),this.navControlFocusTimeoutId=void 0),void 0!==this.deferredSlotContentObserverSyncTimeoutId&&(clearTimeout(this.deferredSlotContentObserverSyncTimeoutId),this.deferredSlotContentObserverSyncTimeoutId=void 0),this.removeDocDismissListeners(),this.disconnectSlotContentObserver(),this.disconnectUserPopoverDrawerSync()}componentWillLoad(){this.syncOpenFromNavControl(),this.syncBrandLogoSlot(),this.syncUserMenuSlots()}componentWillRender(){this.disconnectSlotContentObserver()}componentDidRender(){this.connectSlotContentObserver(),this.connectUserPopoverDrawerSync()}get childAccountLabelText(){return this.childAccountLabel?.trim()??""}get hasBrand(){const t=this.brandName?.trim()??"",s=this.brandLogo?.trim()??"";return t.length>0||s.length>0||this.brandLogoSlotPresent}get hasUserMenu(){return this.userMenuSlotPresent}get needsUserMenuSlotStash(){return!this.userMenuSlotPresent&&this.userMenuTriggerSlotPresent}get usesBuiltInChildAccountTrigger(){return this.hasUserMenu&&!this.userMenuTriggerSlotPresent}anyDescendantPopoverIsOpen(){const t=this.el.querySelectorAll("xpl-popover");for(let s=0;s<t.length;s+=1){const e=t[s].querySelector(".xpl-popover");if(e?.classList.contains("xpl-popover--is-open"))return!0}return!1}closeMobileDrawerWhenAccountMenuOpens(){this.navControl&&this.open&&(this.open=!1,this.navOpen.emit(!1))}connectSlotContentObserver(){this.disconnectSlotContentObserver(),"undefined"!=typeof MutationObserver&&(this.slotContentObserver=new MutationObserver((t=>{this.scheduleSlotContentSyncFromObserver(t)})),this.slotContentObserver.observe(this.el,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["slot"]}))}connectUserPopoverDrawerSync(){const t=this.hasUserMenu?this.el.querySelector("xpl-popover.xpl-top-nav__user-popover"):null;if(t===this.userPopoverDrawerSyncHost)return;if(this.disconnectUserPopoverDrawerSync(),!t)return;this.userPopoverDrawerSyncHost=t,t.addEventListener("isOpenChange",this.handleUserPopoverIsOpenChange);const s=t.querySelector(".xpl-popover");s&&"undefined"!=typeof MutationObserver&&(this.userPopoverDrawerOpenObserver=new MutationObserver((()=>{this.onUserPopoverInnerOpenClassChange()})),this.userPopoverDrawerOpenObserver.observe(s,{attributes:!0,attributeFilter:["class"]}),this.onUserPopoverInnerOpenClassChange())}disconnectSlotContentObserver(){this.slotContentObserver?.disconnect(),this.slotContentObserver=void 0}disconnectUserPopoverDrawerSync(){this.userPopoverDrawerSyncHost&&(this.userPopoverDrawerSyncHost.removeEventListener("isOpenChange",this.handleUserPopoverIsOpenChange),this.userPopoverDrawerSyncHost=null),this.userPopoverDrawerOpenObserver?.disconnect(),this.userPopoverDrawerOpenObserver=void 0}removeDocDismissListeners(){const t=this.el.ownerDocument;t.removeEventListener("keydown",this.onDocKeyDownEscape,!1),t.removeEventListener("click",this.onDocClickOutsideDismiss,!0)}resetMobileCascade(){const t=this.el.querySelector(".xpl-top-nav__left-primary > xpl-top-nav-item.xpl-top-nav-item--dropdown-open");t?.closeMenu().catch((()=>{}))}scheduleSlotContentSyncFromObserver(t){this.mutationsAffectHostSlotting(t)&&(this.slotProjectionDirty=!0),void 0!==this.deferredSlotContentObserverSyncTimeoutId&&clearTimeout(this.deferredSlotContentObserverSyncTimeoutId),this.deferredSlotContentObserverSyncTimeoutId=setTimeout((()=>{this.deferredSlotContentObserverSyncTimeoutId=void 0,this.el.isConnected&&(this.syncBrandLogoSlot(),this.syncUserMenuSlots(),this.flushPendingSlotProjection())}),0)}flushPendingSlotProjection(){this.slotProjectionDirty&&(this.slotProjectionDirty=!1,this.slotProjectionNonce+=1)}mutationsAffectHostSlotting(t){return t.some((t=>"attributes"===t.type||"childList"===t.type&&t.target===this.el))}syncDocDismissListeners(){if(this.removeDocDismissListeners(),l()&&this.navControl){const t=this.el.ownerDocument;t.addEventListener("keydown",this.onDocKeyDownEscape,!1),t.addEventListener("click",this.onDocClickOutsideDismiss,!0)}}syncOpenFromNavControl(){const t=this.open;this.open=!1,t&&!this.navControl&&(this.resetMobileCascade(),this.navOpen.emit(!1))}render(){return i(n,{key:"8f9f8e171b2b04706360048965e8e8a40f3f7013",class:{"xpl-top-nav":!0,"xpl-top-nav--nav-control":!!this.navControl,"xpl-top-nav--open":this.open,"xpl-top-nav--has-child-account-label":this.childAccountLabelText.length>0,"xpl-top-nav--has-brand":this.hasBrand,"xpl-top-nav--has-user-menu":this.hasUserMenu,dark:!0}},i("nav",{key:"2c05b69b2918753c4f928e53d92c6ca737a92b59","aria-label":this.label??"top-navigation-bar",class:"xpl-top-nav__bar"},i("div",{key:"1dd5722748946d0adfad6cc40da03c21012d65b2",class:"xpl-top-nav__inner-left"},this.navControl&&i("button",{key:"810e68f589ec13b942a78c877fea816407c05287",type:"button",class:"xpl-top-nav__nav-control","aria-expanded":this.open?"true":"false","aria-label":this.open?"Close navigation menu":"Open navigation menu",onClick:this.onNavToggle},i("xpl-icon",{key:"550653cbd1d61c7b80a31ab48dce59936a107128",class:"xpl-top-nav__control-icon",icon:"menu",size:32})),this.hasBrand&&i("div",{key:"6509a9a42b693b925204a9a42a34c0071d73f485",class:"xpl-top-nav__brand-bar"},i("xpl-top-nav-item",{key:"623cfb95bd0a6581a057ddf37aa3920ee58b5734",class:"xpl-top-nav__brand",href:this.brandHref,onNavItemClick:this.onBrandNavItemClick},this.brandLogo?.trim()?i("img",{class:"xpl-top-nav__brand-logo",src:this.brandLogo,alt:this.brandName?.trim()?this.brandName.trim():"Brand"}):this.brandLogoSlotPresent?i("span",{class:"xpl-top-nav__brand-logo-slot"},i("slot",{name:"brand-logo"})):null,this.brandName?.trim()?i("span",{class:"xpl-top-nav__brand-name"},this.brandName.trim()):null)),i("div",{key:"61d8a6d485380c39ffa74cd8cfbea37df32060dd",class:{"xpl-top-nav__aside":!0,"xpl-nav-left":!0}},i("div",{key:"3aab27091f543a9c6a813043883c218791cfaa4a",class:"xpl-top-nav__left-primary",role:"list"},i("slot",{key:"93ff48c9bb3e0fa00b23a707da84d222ad74224d",name:"left-aside"})))),i("div",{key:"d92afdae9ac68d49a370fb41b39aeef2b956af1f",class:{"xpl-top-nav__aside":!0,"xpl-nav-right":!0}},i("div",{key:"36fadad47ed2862f88c1f42e1b95530d2e06b046",class:"xpl-nav-right__list"},i("div",{key:"5b35413cbfcc5fd9af1e491f1a1f14d41ae35c0d",class:"xpl-top-nav__right-rail"},i("div",{key:"37d00bfe95cdf35345ed9ec273a159255efc31a2",class:"xpl-top-nav__right-lead"},i("slot",{key:"b64f92c5886ef929b51fde06d48ea1fbf3660d44",name:"right-aside"})),this.hasUserMenu?i("div",{class:"xpl-top-nav__right-user"},i("xpl-popover",{class:"xpl-top-nav__user-popover dark",position:"bottom-end",display:"menu"},this.userMenuTriggerSlotPresent?i("slot",{name:"user-menu-trigger",slot:"trigger"}):this.usesBuiltInChildAccountTrigger?i("xpl-button",{slot:"trigger",class:"xpl-top-nav__child-account-trigger",type:"button",variant:"tertiary",icon:"chevron-down",iconPosition:"end",iconOnly:0===this.childAccountLabelText.length,"aria-haspopup":"dialog","aria-label":this.childAccountLabelText.length>0?void 0:"Open account menu"},this.childAccountLabelText.length>0?this.childAccountLabelText:null):null,i("div",{class:"xpl-top-nav__user-menu-panel"},i("slot",{name:"user-menu"})))):null,this.needsUserMenuSlotStash?i("div",{class:"xpl-top-nav__user-menu-stash",hidden:!0,"aria-hidden":"true"},i("slot",{name:"user-menu-trigger"}),i("slot",{name:"user-menu"})):null)))))}get el(){return this}static get watchers(){return{navControl:[{onNavControlChanged:0}]}}},[260,"xpl-top-nav",{brandHref:[1,"brand-href"],brandLogo:[1,"brand-logo"],brandName:[1,"brand-name"],childAccountLabel:[1,"child-account-label"],label:[1],navControl:[516,"nav-control"],brandLogoSlotPresent:[32],open:[32],slotProjectionNonce:[32],userMenuSlotPresent:[32],userMenuTriggerSlotPresent:[32]},void 0,{navControl:[{onNavControlChanged:0}]}]),x=f,_=function(){"undefined"!=typeof customElements&&["xpl-top-nav","xpl-button","xpl-icon","xpl-popover","xpl-top-nav-item"].forEach((t=>{switch(t){case"xpl-top-nav":customElements.get(o(t))||customElements.define(o(t),f);break;case"xpl-button":customElements.get(o(t))||r();break;case"xpl-icon":customElements.get(o(t))||h();break;case"xpl-popover":customElements.get(o(t))||p();break;case"xpl-top-nav-item":customElements.get(o(t))||c()}}))};export{x as XplTopNav,_ as defineCustomElement}
1
+ import{p as t,H as s,d as e,h as i,c as n,t as o}from"./p-BSHdGbmH.js";import{h as a}from"./p-DkqlawVY.js";import{i as l}from"./p-Dqb1pIRo.js";import{d as r}from"./p-Chpgh5SL.js";import{d as h}from"./p-l3EZ-agL.js";import{d as p}from"./p-BdpZR4KO.js";import{d as c}from"./p-xFsB212F.js";const d=[".xpl-top-nav__brand-logo-slot",".xpl-top-nav__brand-bar"],v=".xpl-top-nav__user-menu-panel",u=[v,".xpl-top-nav__user-menu-stash"],b=[".xpl-top-nav__user-popover",".xpl-top-nav__user-menu-stash",".xpl-top-nav__right-user"],m=[v],x=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.brandClick=e(this,"brandClick",7),this.navOpen=e(this,"navOpen",7),this.slotProjectionDirty=!1,this.userPopoverDrawerSyncHost=null,this.brandLogoSlotPresent=!1,this.open=!1,this.slotProjectionNonce=0,this.userMenuSlotPresent=!1,this.userMenuTriggerSlotPresent=!1,this.focusNavControlAfterClose=()=>{void 0!==this.navControlFocusTimeoutId&&clearTimeout(this.navControlFocusTimeoutId),this.navControlFocusTimeoutId=setTimeout((()=>{this.navControlFocusTimeoutId=void 0,this.el.querySelector(".xpl-top-nav__nav-control")?.focus()}),0)},this.handleUserPopoverIsOpenChange=t=>{const{detail:s}=t;!0===s&&this.closeMobileDrawerWhenAccountMenuOpens()},this.onBrandNavItemClick=t=>{null==this.brandHref&&this.brandClick.emit(t.detail)},this.onDocKeyDownEscape=t=>{this.navControl&&this.open&&"Escape"===t.key&&(this.anyDescendantPopoverIsOpen()||this.el.querySelector("xpl-top-nav-item.xpl-top-nav-item--dropdown-open")||(t.preventDefault(),t.stopPropagation(),this.open=!1,this.navOpen.emit(!1),this.focusNavControlAfterClose()))},this.onDocClickOutsideDismiss=t=>{if(!this.navControl||!this.open)return;const s=t.target;null==s||this.anyDescendantPopoverIsOpen()||this.el.querySelector(".xpl-top-nav__left-primary")?.contains(s)||this.el.querySelector(".xpl-top-nav__nav-control")?.contains(s)||(this.open=!1,this.resetMobileCascade(),this.navOpen.emit(!1))},this.onNavToggle=()=>{const t=this.open;this.open=!this.open,this.navOpen.emit(this.open),t&&!this.open&&(this.resetMobileCascade(),this.focusNavControlAfterClose())},this.onUserPopoverInnerOpenClassChange=()=>{const t=this.userPopoverDrawerSyncHost;if(!t)return;const s=t.querySelector(".xpl-popover");s?.classList.contains("xpl-popover--is-open")&&this.closeMobileDrawerWhenAccountMenuOpens()},this.syncBrandLogoSlot=()=>{const t=a(this.el,"brand-logo",{hostTag:"xpl-top-nav",projectionRegionSelectors:d});t!==this.brandLogoSlotPresent&&(this.brandLogoSlotPresent=t)},this.syncUserMenuSlots=()=>{const t=a(this.el,"user-menu",{hostTag:"xpl-top-nav",projectionRegionSelectors:u}),s=a(this.el,"user-menu-trigger",{hostTag:"xpl-top-nav",projectionRegionSelectors:b,excludedRegionSelectors:m});t!==this.userMenuSlotPresent&&(this.userMenuSlotPresent=t),s!==this.userMenuTriggerSlotPresent&&(this.userMenuTriggerSlotPresent=s)}}onNavControlChanged(){this.syncOpenFromNavControl(),this.syncDocDismissListeners()}connectedCallback(){this.syncOpenFromNavControl(),this.syncDocDismissListeners(),this.syncBrandLogoSlot(),this.syncUserMenuSlots(),this.connectSlotContentObserver(),this.flushPendingSlotProjection()}disconnectedCallback(){void 0!==this.navControlFocusTimeoutId&&(clearTimeout(this.navControlFocusTimeoutId),this.navControlFocusTimeoutId=void 0),void 0!==this.deferredSlotContentObserverSyncTimeoutId&&(clearTimeout(this.deferredSlotContentObserverSyncTimeoutId),this.deferredSlotContentObserverSyncTimeoutId=void 0),this.removeDocDismissListeners(),this.disconnectSlotContentObserver(),this.disconnectUserPopoverDrawerSync()}componentWillLoad(){this.syncOpenFromNavControl(),this.syncBrandLogoSlot(),this.syncUserMenuSlots()}componentWillRender(){this.disconnectSlotContentObserver()}componentDidRender(){this.connectSlotContentObserver(),this.connectUserPopoverDrawerSync()}get childAccountLabelText(){return this.childAccountLabel?.trim()??""}get hasBrand(){const t=this.brandName?.trim()??"",s=this.brandLogo?.trim()??"";return t.length>0||s.length>0||this.brandLogoSlotPresent}get hasUserMenu(){return this.userMenuSlotPresent}get needsUserMenuSlotStash(){return!this.userMenuSlotPresent&&this.userMenuTriggerSlotPresent}get usesBuiltInChildAccountTrigger(){return this.hasUserMenu&&!this.userMenuTriggerSlotPresent}anyDescendantPopoverIsOpen(){const t=this.el.querySelectorAll("xpl-popover");for(let s=0;s<t.length;s+=1){const e=t[s].querySelector(".xpl-popover");if(e?.classList.contains("xpl-popover--is-open"))return!0}return!1}closeMobileDrawerWhenAccountMenuOpens(){this.navControl&&this.open&&(this.open=!1,this.navOpen.emit(!1))}connectSlotContentObserver(){this.disconnectSlotContentObserver(),"undefined"!=typeof MutationObserver&&(this.slotContentObserver=new MutationObserver((t=>{this.scheduleSlotContentSyncFromObserver(t)})),this.slotContentObserver.observe(this.el,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["slot"]}))}connectUserPopoverDrawerSync(){const t=this.hasUserMenu?this.el.querySelector("xpl-popover.xpl-top-nav__user-popover"):null;if(t===this.userPopoverDrawerSyncHost)return;if(this.disconnectUserPopoverDrawerSync(),!t)return;this.userPopoverDrawerSyncHost=t,t.addEventListener("isOpenChange",this.handleUserPopoverIsOpenChange);const s=t.querySelector(".xpl-popover");s&&"undefined"!=typeof MutationObserver&&(this.userPopoverDrawerOpenObserver=new MutationObserver((()=>{this.onUserPopoverInnerOpenClassChange()})),this.userPopoverDrawerOpenObserver.observe(s,{attributes:!0,attributeFilter:["class"]}),this.onUserPopoverInnerOpenClassChange())}disconnectSlotContentObserver(){this.slotContentObserver?.disconnect(),this.slotContentObserver=void 0}disconnectUserPopoverDrawerSync(){this.userPopoverDrawerSyncHost&&(this.userPopoverDrawerSyncHost.removeEventListener("isOpenChange",this.handleUserPopoverIsOpenChange),this.userPopoverDrawerSyncHost=null),this.userPopoverDrawerOpenObserver?.disconnect(),this.userPopoverDrawerOpenObserver=void 0}removeDocDismissListeners(){const t=this.el.ownerDocument;t.removeEventListener("keydown",this.onDocKeyDownEscape,!1),t.removeEventListener("click",this.onDocClickOutsideDismiss,!0)}resetMobileCascade(){const t=this.el.querySelector(".xpl-top-nav__left-primary > xpl-top-nav-item.xpl-top-nav-item--dropdown-open");t?.closeMenu().catch((()=>{}))}scheduleSlotContentSyncFromObserver(t){this.mutationsAffectHostSlotting(t)&&(this.slotProjectionDirty=!0),void 0!==this.deferredSlotContentObserverSyncTimeoutId&&clearTimeout(this.deferredSlotContentObserverSyncTimeoutId),this.deferredSlotContentObserverSyncTimeoutId=setTimeout((()=>{this.deferredSlotContentObserverSyncTimeoutId=void 0,this.el.isConnected&&(this.syncBrandLogoSlot(),this.syncUserMenuSlots(),this.flushPendingSlotProjection())}),0)}flushPendingSlotProjection(){this.slotProjectionDirty&&(this.slotProjectionDirty=!1,this.slotProjectionNonce+=1)}mutationsAffectHostSlotting(t){return t.some((t=>"attributes"===t.type||"childList"===t.type&&t.target===this.el))}syncDocDismissListeners(){if(this.removeDocDismissListeners(),l()&&this.navControl){const t=this.el.ownerDocument;t.addEventListener("keydown",this.onDocKeyDownEscape,!1),t.addEventListener("click",this.onDocClickOutsideDismiss,!0)}}syncOpenFromNavControl(){const t=this.open;this.open=!1,t&&!this.navControl&&(this.resetMobileCascade(),this.navOpen.emit(!1))}render(){return i(n,{key:"00d598070bc4cee97d311206f48bf5cd873dcc8e",class:{"xpl-top-nav":!0,"xpl-top-nav--nav-control":!!this.navControl,"xpl-top-nav--open":this.open,"xpl-top-nav--has-child-account-label":this.childAccountLabelText.length>0,"xpl-top-nav--has-brand":this.hasBrand,"xpl-top-nav--has-user-menu":this.hasUserMenu,dark:!0}},i("nav",{key:"0b42d835c3aa211fa1686d3611ace212d69f1921","aria-label":this.label??"top-navigation-bar",class:"xpl-top-nav__bar"},i("div",{key:"b55f526eca470d1d50b19bf1694f66991d369ad7",class:"xpl-top-nav__inner-left"},this.navControl&&i("button",{key:"37589314adb7f9cc4a33dd4bc421b2473ece5b54",type:"button",class:"xpl-top-nav__nav-control","aria-expanded":this.open?"true":"false","aria-label":this.open?"Close navigation menu":"Open navigation menu",onClick:this.onNavToggle},i("xpl-icon",{key:"acbdd20739df23cf49ff6542605513159cffe1da",class:"xpl-top-nav__control-icon",icon:"menu",size:32})),this.hasBrand&&i("div",{key:"148ba3e7114ce3f1edbf0618a231d94c4cc3c04f",class:"xpl-top-nav__brand-bar"},i("xpl-top-nav-item",{key:"cda2c5f5dca554b7b61d95b941bd0b969f871dd0",class:"xpl-top-nav__brand",href:this.brandHref,onNavItemClick:this.onBrandNavItemClick},this.brandLogo?.trim()?i("img",{class:"xpl-top-nav__brand-logo",src:this.brandLogo,alt:this.brandName?.trim()?this.brandName.trim():"Brand"}):this.brandLogoSlotPresent?i("span",{class:"xpl-top-nav__brand-logo-slot"},i("slot",{name:"brand-logo"})):null,this.brandName?.trim()?i("span",{class:"xpl-top-nav__brand-name"},this.brandName.trim()):null)),i("div",{key:"abca8522fe239fe207a291d7bd8bdfd1cab0ffc3",class:{"xpl-top-nav__aside":!0,"xpl-nav-left":!0}},i("div",{key:"f2fde6503e8bc319fbd60a4d5000d93644999d9a",class:"xpl-top-nav__left-primary",role:"list"},i("slot",{key:"ebbb61cf32cf5b0246cecc3d967f93f1834b9e11",name:"left-aside"})))),i("div",{key:"18c8d5990551ee655190aabb8ee85ad8d772b54e",class:{"xpl-top-nav__aside":!0,"xpl-nav-right":!0}},i("div",{key:"3120cb36425177943c3a52345396b5b2de9cc028",class:"xpl-nav-right__list"},i("div",{key:"6fde79b8b6d87bfdb617c591530307382bdff243",class:"xpl-top-nav__right-rail"},i("div",{key:"7e69e3e660887b7b39db058fb7e8cf42679a730e",class:"xpl-top-nav__right-lead"},i("slot",{key:"c198ab94307d3d126b5902890de73b434cb583b1",name:"right-aside"})),this.hasUserMenu?i("div",{class:"xpl-top-nav__right-user"},i("xpl-popover",{class:"xpl-top-nav__user-popover dark",position:"bottom-end",display:"menu"},this.userMenuTriggerSlotPresent?i("slot",{name:"user-menu-trigger",slot:"trigger"}):this.usesBuiltInChildAccountTrigger?i("xpl-button",{slot:"trigger",class:"xpl-top-nav__child-account-trigger",type:"button",variant:"tertiary",icon:"chevron-down",iconPosition:"end",iconOnly:0===this.childAccountLabelText.length,"aria-haspopup":"dialog","aria-label":this.childAccountLabelText.length>0?void 0:"Open account menu"},this.childAccountLabelText.length>0?this.childAccountLabelText:null):null,i("div",{class:"xpl-top-nav__user-menu-panel"},i("slot",{name:"user-menu"})))):null,this.needsUserMenuSlotStash?i("div",{class:"xpl-top-nav__user-menu-stash",hidden:!0,"aria-hidden":"true"},i("slot",{name:"user-menu-trigger"}),i("slot",{name:"user-menu"})):null)))))}get el(){return this}static get watchers(){return{navControl:[{onNavControlChanged:0}]}}},[260,"xpl-top-nav",{brandHref:[1,"brand-href"],brandLogo:[1,"brand-logo"],brandName:[1,"brand-name"],childAccountLabel:[1,"child-account-label"],label:[1],navControl:[516,"nav-control"],brandLogoSlotPresent:[32],open:[32],slotProjectionNonce:[32],userMenuSlotPresent:[32],userMenuTriggerSlotPresent:[32]},void 0,{navControl:[{onNavControlChanged:0}]}]),f=x,_=function(){"undefined"!=typeof customElements&&["xpl-top-nav","xpl-button","xpl-icon","xpl-popover","xpl-top-nav-item"].forEach((t=>{switch(t){case"xpl-top-nav":customElements.get(o(t))||customElements.define(o(t),x);break;case"xpl-button":customElements.get(o(t))||r();break;case"xpl-icon":customElements.get(o(t))||h();break;case"xpl-popover":customElements.get(o(t))||p();break;case"xpl-top-nav-item":customElements.get(o(t))||c()}}))};export{f as XplTopNav,_ as defineCustomElement}
@@ -1 +1 @@
1
- import{p as t,H as a,d as s,h as i,c as e,t as n}from"./p-BSHdGbmH.js";import{d as l}from"./p-imCMp2Nl.js";const o=t(class extends a{constructor(t){super(),!1!==t&&this.__registerHost(),this.navOpen=s(this,"navOpen",7),this.open=!0}onNavToggle(){this.open=!this.open,this.navOpen.emit(this.open)}componentWillLoad(){this.open=void 0!==this.isNavOpenAtStartup?this.isNavOpenAtStartup:this.open}render(){return i(e,{key:"7ad1182d72a730df69cf714b665a6d02eac2e51a"},i("nav",{key:"f0d5ffc31cabc8a075cae2c1ebdaa0e82ca53943","aria-label":"utility navigation bar",class:"xpl-utility-bar"},this.navControl?i("div",null,i("button",{class:"xpl-utility-bar__nav-control",onClick:()=>this.onNavToggle()},i("xpl-icon",{class:"xpl-utility-nav__bars",icon:"three-bars"})),i("slot",{name:"aside"})):i("slot",{name:"aside"}),i("slot",{key:"dfbacf5921308bd6056b8e6d903b31df28613ce0",name:"main"})))}},[260,"xpl-utility-bar",{navControl:[4,"nav-control"],isNavOpenAtStartup:[4,"is-nav-open-at-startup"],open:[32]}]),c=o,r=function(){"undefined"!=typeof customElements&&["xpl-utility-bar","xpl-icon"].forEach((t=>{switch(t){case"xpl-utility-bar":customElements.get(n(t))||customElements.define(n(t),o);break;case"xpl-icon":customElements.get(n(t))||l()}}))};export{c as XplUtilityBar,r as defineCustomElement}
1
+ import{p as t,H as s,d as a,h as i,c as e,t as n}from"./p-BSHdGbmH.js";import{d as l}from"./p-l3EZ-agL.js";const o=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.navOpen=a(this,"navOpen",7),this.open=!0}onNavToggle(){this.open=!this.open,this.navOpen.emit(this.open)}componentWillLoad(){this.open=void 0!==this.isNavOpenAtStartup?this.isNavOpenAtStartup:this.open}render(){return i(e,{key:"3ed4e8e9214075b9062b221a05f1b27aa0b0bfbf"},i("nav",{key:"c809f6f649965d0b60d35c2bda31f721d67ccca1","aria-label":"utility navigation bar",class:"xpl-utility-bar"},this.navControl?i("div",null,i("button",{class:"xpl-utility-bar__nav-control",onClick:()=>this.onNavToggle()},i("xpl-icon",{class:"xpl-utility-nav__bars",icon:"three-bars"})),i("slot",{name:"aside"})):i("slot",{name:"aside"}),i("slot",{key:"99e22823c94e66c5dce24815485c7513b11e9267",name:"main"})))}},[260,"xpl-utility-bar",{navControl:[4,"nav-control"],isNavOpenAtStartup:[4,"is-nav-open-at-startup"],open:[32]}]),c=o,r=function(){"undefined"!=typeof customElements&&["xpl-utility-bar","xpl-icon"].forEach((t=>{switch(t){case"xpl-utility-bar":customElements.get(n(t))||customElements.define(n(t),o);break;case"xpl-icon":customElements.get(n(t))||l()}}))};export{c as XplUtilityBar,r as defineCustomElement}
@@ -24,6 +24,22 @@ Modal widths are documented CSS literals: small `400px`, medium `600px`, large `
24
24
 
25
25
  > **Elevation shadow (interim):** Figma specs the dialog shadow as the single "Shadow 4" elevation style (`y=20`, `blur=25`, color `background-surface-transparent-10`). Foundation has no elevation/shadow tokens yet, so the shadow geometry is hand-authored and its color uses the primitive `--xpl-color-transparent-neutral-10 / -5`. This migrates to the purpose-specific `--xpl-background-surface-transparent-10` (theme-aware) once elevation tokens land — tracked in `TECH_DEBT.md`.
26
26
 
27
+ ## Accessibility
28
+
29
+ `xpl-modal` renders a native `<dialog>` shown via `showModal()`: focus is trapped inside the modal while it is open, and `Escape` closes it (emitting `modalClosed`).
30
+
31
+ Keyboard tab order follows the DOM order of the footer slots: **close (×) → `primary` → `secondary` → `tertiary` → back to ×**. The footer's visual layout (tertiary pinned far-left, secondary and primary right-aligned) is produced with CSS `order` in `modal.css`, so the visual arrangement and the tab order are independent by design — do not reorder the `<slot>` elements in the component template to change the layout.
32
+
33
+ ### Accessible names
34
+
35
+ The dialog is named by the `title` slot: the component wraps that slot in `.xpl-modal__title-text`, gives it a per-instance id, and points the dialog's `aria-labelledby` at it. Always provide a `title` slot — without one the dialog is announced only as "dialog". The label deliberately references the title text rather than the whole `.xpl-modal__title` row, which would fold the close button's own name into the dialog's name.
36
+
37
+ The close (×) button carries `aria-label="Close modal"`, so screen readers announce its purpose instead of the underlying icon name.
38
+
39
+ ## Mounting and unmounting
40
+
41
+ `showModal()` promotes the dialog into the browser's top layer, where it survives the removal of its host element. `xpl-modal` closes the dialog when the host disconnects so a removed modal cannot leave a blocking overlay behind, and re-opens it — reattaching the `Escape` and backdrop listeners — if the host is connected again while `isOpen` is still `true`. Frameworks that move or reparent DOM nodes therefore get consistent state without extra work from the consumer.
42
+
27
43
  <!-- Auto Generated Below -->
28
44
 
29
45
 
@@ -60,15 +76,15 @@ Modal widths are documented CSS literals: small `400px`, medium `600px`, large `
60
76
  ### Depends on
61
77
 
62
78
  - [xpl-backdrop](../xpl-backdrop)
63
- - [xpl-icon](../xpl-icon)
64
79
  - [xpl-button](../xpl-button)
80
+ - [xpl-icon](../xpl-icon)
65
81
 
66
82
  ### Graph
67
83
  ```mermaid
68
84
  graph TD;
69
85
  xpl-modal --> xpl-backdrop
70
- xpl-modal --> xpl-icon
71
86
  xpl-modal --> xpl-button
87
+ xpl-modal --> xpl-icon
72
88
  xpl-button --> xpl-icon
73
89
  style xpl-modal fill:#f9f,stroke:#333,stroke-width:4px
74
90
  ```
@@ -0,0 +1,16 @@
1
+ # xpl-table-body
2
+
3
+ Row group for compositional table body content. Uses `display: contents` so slotted rows participate in the parent grid layout.
4
+
5
+ ### Design Tokens
6
+
7
+ | Element | Property | Token | Value |
8
+ | -- | -- | -- | -- |
9
+ | Host | display | — | `contents` |
10
+
11
+ <!-- Auto Generated Below -->
12
+
13
+
14
+ ----------------------------------------------
15
+
16
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -0,0 +1,16 @@
1
+ # xpl-table-footer
2
+
3
+ Row group for compositional table footer content. Uses `display: contents` so slotted footer rows participate in the parent grid layout.
4
+
5
+ ### Design Tokens
6
+
7
+ | Element | Property | Token | Value |
8
+ | -- | -- | -- | -- |
9
+ | Host | display | — | `contents` |
10
+
11
+ <!-- Auto Generated Below -->
12
+
13
+
14
+ ----------------------------------------------
15
+
16
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -0,0 +1,31 @@
1
+ # xpl-table-footer-cell
2
+
3
+ Footer cell for compositional tables. Extends the shared `.xpl-table-cell-base` styles with a strong top border.
4
+
5
+ ### Design Tokens
6
+
7
+ | Element | Property | Token | Value |
8
+ | -- | -- | -- | -- |
9
+ | Cell | extends | `.xpl-table-cell-base` | (shared compositional cell base) |
10
+ | Cell | background | `--xpl-background-surface-default` | neutral-0 (lm) / neutral-900 (dm) |
11
+ | Cell | text | `--xpl-text-default` | neutral-900 (lm) / neutral-50 (dm) |
12
+ | Cell | border (right/bottom) | `--xpl-border-small`, `--xpl-border-default` | 1px, neutral-200 |
13
+ | Footer row border | border-top | `--xpl-border-large`, `--xpl-border-strong` | 2px, neutral-300 |
14
+ | Cell | height | `--xpl-size-350` | 56px |
15
+ | Cell | min-width | `--xpl-size-300` | 48px |
16
+ | Cell | padding | `--xpl-space-16` | 16px |
17
+ | Cell | typography | `@extend .xpl-text-title-5` | title-5 / medium |
18
+
19
+ <!-- Auto Generated Below -->
20
+
21
+
22
+ ## Properties
23
+
24
+ | Property | Attribute | Description | Type | Default |
25
+ | -------- | --------- | -------------------------------------------- | ------------------------------- | -------- |
26
+ | `align` | `align` | Horizontal alignment of footer cell content. | `"center" \| "left" \| "right"` | `'left'` |
27
+
28
+
29
+ ----------------------------------------------
30
+
31
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -0,0 +1,34 @@
1
+ # xpl-table-row
2
+
3
+ Data row for compositional tables. Uses `display: contents` by default so cells align to the parent grid; when the body supports subgrid, the row becomes a full-width subgrid for drag interactions.
4
+
5
+ ### Design Tokens
6
+
7
+ | Element | Property | Token | Value |
8
+ | -- | -- | -- | -- |
9
+ | Host (default) | display | — | `contents` |
10
+ | Host (subgrid body) | display | — | `grid` with `subgrid` |
11
+ | Disabled row | background | `--xpl-background-surface-subtlest` | neutral-50 (lm) / neutral-950 (dm) |
12
+ | Disabled row | text | `--xpl-text-disabled` | neutral-400 (lm) / neutral-600 (dm) |
13
+ | Dragging row | background | `--xpl-background-surface-subtle` | neutral-100 (lm) / neutral-900 (dm) |
14
+ | Dragging row | opacity | `--xpl-opacity-75` | 0.75 (custom, mirrors xpl-list) |
15
+ | Selected row | background | `--xpl-background-surface-information` | blue-50 (lm) / blue-950 (dm) |
16
+ | Drag-over outline | color | `--xpl-border-focus` | purple-500 |
17
+ | Striped even | background | `--xpl-background-surface-subtlest` | neutral-50 (lm) / neutral-950 (dm) |
18
+ | Striped selected | background | `--xpl-background-surface-information-bold` | blue-100 (lm) / blue-900 (dm) |
19
+
20
+ <!-- Auto Generated Below -->
21
+
22
+
23
+ ## Properties
24
+
25
+ | Property | Attribute | Description | Type | Default |
26
+ | ---------- | ---------- | ------------------------------------------- | --------- | ----------- |
27
+ | `disabled` | `disabled` | Whether the row and its cells are disabled. | `boolean` | `false` |
28
+ | `rowId` | `row-id` | Stable identifier for selection. | `string` | `undefined` |
29
+ | `selected` | `selected` | Whether the row is visually selected. | `boolean` | `false` |
30
+
31
+
32
+ ----------------------------------------------
33
+
34
+ *Built with [StencilJS](https://stenciljs.com/)*
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-08-13T16:35:49",
2
+ "timestamp": "2026-08-24T17:43:34",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.5",
@@ -9545,7 +9545,7 @@
9545
9545
  "filePath": "src/components/components/xpl-modal/xpl-modal.tsx",
9546
9546
  "encapsulation": "none",
9547
9547
  "tag": "xpl-modal",
9548
- "readme": "# xpl-modal\n\nModals are dialogs that focus the user’s attention exclusively on one task or piece of information via a window layer above the current content.\n\nModals are disruptive and should only be used when disrupting the user’s flow is desired.\n\n## Token Use\n\n`xpl-modal` uses Apollo Foundation purpose-specific tokens; light and dark mode are handled by the token definitions, so the component has no `.dark` overrides.\n\n| Element | Property | Token |\n| ------- | -------- | ----- |\n| `&__dialog` | background | `--xpl-background-surface-default` |\n| `&__dialog` | text color | `--xpl-text-default` |\n| `&__dialog` | radius | `--xpl-border-radius-large` |\n| `&__dialog` | shadow color | `--xpl-color-transparent-neutral-10` / `--xpl-color-transparent-neutral-5` |\n| `&__title` | typography (size / weight / line-height) | `@extend .xpl-text-title-3` → `title-3` / `bold` / `1.4` |\n| `&__subtitle` | color | `--xpl-text-subdued` |\n| `&__subtitle` | typography (size / weight / line-height) | `@extend .xpl-text-callout` → `callout` / `normal` / `1.3333` |\n| `&__body` | typography (size / weight / line-height) | `@extend .xpl-text-body` → `body` / `normal` / `1.4286` |\n| `&__alert-icon` | color | `--xpl-icon-negative` |\n\nModal widths are documented CSS literals: small `400px`, medium `600px`, large `800px`, mobile `350px` (see `modal.css` and `TECH_DEBT.md`).\n\n> **Elevation shadow (interim):** Figma specs the dialog shadow as the single \"Shadow 4\" elevation style (`y=20`, `blur=25`, color `background-surface-transparent-10`). Foundation has no elevation/shadow tokens yet, so the shadow geometry is hand-authored and its color uses the primitive `--xpl-color-transparent-neutral-10 / -5`. This migrates to the purpose-specific `--xpl-background-surface-transparent-10` (theme-aware) once elevation tokens land — tracked in `TECH_DEBT.md`.\n",
9548
+ "readme": "# xpl-modal\n\nModals are dialogs that focus the user’s attention exclusively on one task or piece of information via a window layer above the current content.\n\nModals are disruptive and should only be used when disrupting the user’s flow is desired.\n\n## Token Use\n\n`xpl-modal` uses Apollo Foundation purpose-specific tokens; light and dark mode are handled by the token definitions, so the component has no `.dark` overrides.\n\n| Element | Property | Token |\n| ------- | -------- | ----- |\n| `&__dialog` | background | `--xpl-background-surface-default` |\n| `&__dialog` | text color | `--xpl-text-default` |\n| `&__dialog` | radius | `--xpl-border-radius-large` |\n| `&__dialog` | shadow color | `--xpl-color-transparent-neutral-10` / `--xpl-color-transparent-neutral-5` |\n| `&__title` | typography (size / weight / line-height) | `@extend .xpl-text-title-3` → `title-3` / `bold` / `1.4` |\n| `&__subtitle` | color | `--xpl-text-subdued` |\n| `&__subtitle` | typography (size / weight / line-height) | `@extend .xpl-text-callout` → `callout` / `normal` / `1.3333` |\n| `&__body` | typography (size / weight / line-height) | `@extend .xpl-text-body` → `body` / `normal` / `1.4286` |\n| `&__alert-icon` | color | `--xpl-icon-negative` |\n\nModal widths are documented CSS literals: small `400px`, medium `600px`, large `800px`, mobile `350px` (see `modal.css` and `TECH_DEBT.md`).\n\n> **Elevation shadow (interim):** Figma specs the dialog shadow as the single \"Shadow 4\" elevation style (`y=20`, `blur=25`, color `background-surface-transparent-10`). Foundation has no elevation/shadow tokens yet, so the shadow geometry is hand-authored and its color uses the primitive `--xpl-color-transparent-neutral-10 / -5`. This migrates to the purpose-specific `--xpl-background-surface-transparent-10` (theme-aware) once elevation tokens land — tracked in `TECH_DEBT.md`.\n\n## Accessibility\n\n`xpl-modal` renders a native `<dialog>` shown via `showModal()`: focus is trapped inside the modal while it is open, and `Escape` closes it (emitting `modalClosed`).\n\nKeyboard tab order follows the DOM order of the footer slots: **close (×) → `primary` → `secondary` → `tertiary` → back to ×**. The footer's visual layout (tertiary pinned far-left, secondary and primary right-aligned) is produced with CSS `order` in `modal.css`, so the visual arrangement and the tab order are independent by design — do not reorder the `<slot>` elements in the component template to change the layout.\n\n### Accessible names\n\nThe dialog is named by the `title` slot: the component wraps that slot in `.xpl-modal__title-text`, gives it a per-instance id, and points the dialog's `aria-labelledby` at it. Always provide a `title` slot — without one the dialog is announced only as \"dialog\". The label deliberately references the title text rather than the whole `.xpl-modal__title` row, which would fold the close button's own name into the dialog's name.\n\nThe close (×) button carries `aria-label=\"Close modal\"`, so screen readers announce its purpose instead of the underlying icon name.\n\n## Mounting and unmounting\n\n`showModal()` promotes the dialog into the browser's top layer, where it survives the removal of its host element. `xpl-modal` closes the dialog when the host disconnects so a removed modal cannot leave a blocking overlay behind, and re-opens it — reattaching the `Escape` and backdrop listeners — if the host is connected again while `isOpen` is still `true`. Frameworks that move or reparent DOM nodes therefore get consistent state without extra work from the consumer.\n",
9549
9549
  "docs": "Modals are dialogs that focus the user’s attention exclusively on one task or piece of information via a window layer above the current content.\n\nModals are disruptive and should only be used when disrupting the user’s flow is desired.",
9550
9550
  "docsTags": [
9551
9551
  {
@@ -9731,14 +9731,14 @@
9731
9731
  "dependents": [],
9732
9732
  "dependencies": [
9733
9733
  "xpl-backdrop",
9734
- "xpl-icon",
9735
- "xpl-button"
9734
+ "xpl-button",
9735
+ "xpl-icon"
9736
9736
  ],
9737
9737
  "dependencyGraph": {
9738
9738
  "xpl-modal": [
9739
9739
  "xpl-backdrop",
9740
- "xpl-icon",
9741
- "xpl-button"
9740
+ "xpl-button",
9741
+ "xpl-icon"
9742
9742
  ],
9743
9743
  "xpl-button": [
9744
9744
  "xpl-icon"
@@ -14167,6 +14167,105 @@
14167
14167
  ]
14168
14168
  }
14169
14169
  },
14170
+ {
14171
+ "filePath": "src/components/components/xpl-table/xpl-table-body/xpl-table-body.tsx",
14172
+ "encapsulation": "none",
14173
+ "tag": "xpl-table-body",
14174
+ "readme": "# xpl-table-body\n\nRow group for compositional table body content. Uses `display: contents` so slotted rows participate in the parent grid layout.\n\n### Design Tokens\n\n| Element | Property | Token | Value |\n| -- | -- | -- | -- |\n| Host | display | — | `contents` |\n",
14175
+ "docs": "Row group for compositional table body content. Uses `display: contents` so slotted rows participate in the parent grid layout.",
14176
+ "docsTags": [],
14177
+ "usage": {},
14178
+ "props": [],
14179
+ "methods": [],
14180
+ "events": [],
14181
+ "listeners": [],
14182
+ "styles": [],
14183
+ "slots": [],
14184
+ "parts": [],
14185
+ "states": [],
14186
+ "dependents": [],
14187
+ "dependencies": [],
14188
+ "dependencyGraph": {}
14189
+ },
14190
+ {
14191
+ "filePath": "src/components/components/xpl-table/xpl-table-footer/xpl-table-footer.tsx",
14192
+ "encapsulation": "none",
14193
+ "tag": "xpl-table-footer",
14194
+ "readme": "# xpl-table-footer\n\nRow group for compositional table footer content. Uses `display: contents` so slotted footer rows participate in the parent grid layout.\n\n### Design Tokens\n\n| Element | Property | Token | Value |\n| -- | -- | -- | -- |\n| Host | display | — | `contents` |\n",
14195
+ "docs": "Row group for compositional table footer content. Uses `display: contents` so slotted footer rows participate in the parent grid layout.",
14196
+ "docsTags": [],
14197
+ "usage": {},
14198
+ "props": [],
14199
+ "methods": [],
14200
+ "events": [],
14201
+ "listeners": [],
14202
+ "styles": [],
14203
+ "slots": [],
14204
+ "parts": [],
14205
+ "states": [],
14206
+ "dependents": [],
14207
+ "dependencies": [],
14208
+ "dependencyGraph": {}
14209
+ },
14210
+ {
14211
+ "filePath": "src/components/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.tsx",
14212
+ "encapsulation": "none",
14213
+ "tag": "xpl-table-footer-cell",
14214
+ "readme": "# xpl-table-footer-cell\n\nFooter cell for compositional tables. Extends the shared `.xpl-table-cell-base` styles with a strong top border.\n\n### Design Tokens\n\n| Element | Property | Token | Value |\n| -- | -- | -- | -- |\n| Cell | extends | `.xpl-table-cell-base` | (shared compositional cell base) |\n| Cell | background | `--xpl-background-surface-default` | neutral-0 (lm) / neutral-900 (dm) |\n| Cell | text | `--xpl-text-default` | neutral-900 (lm) / neutral-50 (dm) |\n| Cell | border (right/bottom) | `--xpl-border-small`, `--xpl-border-default` | 1px, neutral-200 |\n| Footer row border | border-top | `--xpl-border-large`, `--xpl-border-strong` | 2px, neutral-300 |\n| Cell | height | `--xpl-size-350` | 56px |\n| Cell | min-width | `--xpl-size-300` | 48px |\n| Cell | padding | `--xpl-space-16` | 16px |\n| Cell | typography | `@extend .xpl-text-title-5` | title-5 / medium |\n",
14215
+ "docs": "Footer cell for compositional tables. Extends the shared `.xpl-table-cell-base` styles with a strong top border.",
14216
+ "docsTags": [],
14217
+ "usage": {},
14218
+ "props": [
14219
+ {
14220
+ "name": "align",
14221
+ "type": "\"center\" | \"left\" | \"right\"",
14222
+ "complexType": {
14223
+ "original": "'center' | 'left' | 'right'",
14224
+ "resolved": "\"center\" | \"left\" | \"right\"",
14225
+ "references": {}
14226
+ },
14227
+ "mutable": false,
14228
+ "attr": "align",
14229
+ "reflectToAttr": false,
14230
+ "docs": "Horizontal alignment of footer cell content.",
14231
+ "docsTags": [
14232
+ {
14233
+ "name": "default",
14234
+ "text": "'left'"
14235
+ }
14236
+ ],
14237
+ "default": "'left'",
14238
+ "values": [
14239
+ {
14240
+ "value": "center",
14241
+ "type": "string"
14242
+ },
14243
+ {
14244
+ "value": "left",
14245
+ "type": "string"
14246
+ },
14247
+ {
14248
+ "value": "right",
14249
+ "type": "string"
14250
+ }
14251
+ ],
14252
+ "optional": false,
14253
+ "required": false,
14254
+ "getter": false,
14255
+ "setter": false
14256
+ }
14257
+ ],
14258
+ "methods": [],
14259
+ "events": [],
14260
+ "listeners": [],
14261
+ "styles": [],
14262
+ "slots": [],
14263
+ "parts": [],
14264
+ "states": [],
14265
+ "dependents": [],
14266
+ "dependencies": [],
14267
+ "dependencyGraph": {}
14268
+ },
14170
14269
  {
14171
14270
  "filePath": "src/components/components/xpl-table-header/xpl-table-header.tsx",
14172
14271
  "encapsulation": "none",
@@ -14400,6 +14499,108 @@
14400
14499
  ]
14401
14500
  }
14402
14501
  },
14502
+ {
14503
+ "filePath": "src/components/components/xpl-table/xpl-table-row/xpl-table-row.tsx",
14504
+ "encapsulation": "none",
14505
+ "tag": "xpl-table-row",
14506
+ "readme": "# xpl-table-row\n\nData row for compositional tables. Uses `display: contents` by default so cells align to the parent grid; when the body supports subgrid, the row becomes a full-width subgrid for drag interactions.\n\n### Design Tokens\n\n| Element | Property | Token | Value |\n| -- | -- | -- | -- |\n| Host (default) | display | — | `contents` |\n| Host (subgrid body) | display | — | `grid` with `subgrid` |\n| Disabled row | background | `--xpl-background-surface-subtlest` | neutral-50 (lm) / neutral-950 (dm) |\n| Disabled row | text | `--xpl-text-disabled` | neutral-400 (lm) / neutral-600 (dm) |\n| Dragging row | background | `--xpl-background-surface-subtle` | neutral-100 (lm) / neutral-900 (dm) |\n| Dragging row | opacity | `--xpl-opacity-75` | 0.75 (custom, mirrors xpl-list) |\n| Selected row | background | `--xpl-background-surface-information` | blue-50 (lm) / blue-950 (dm) |\n| Drag-over outline | color | `--xpl-border-focus` | purple-500 |\n| Striped even | background | `--xpl-background-surface-subtlest` | neutral-50 (lm) / neutral-950 (dm) |\n| Striped selected | background | `--xpl-background-surface-information-bold` | blue-100 (lm) / blue-900 (dm) |\n",
14507
+ "docs": "Data row for compositional tables. Uses `display: contents` by default so cells align to the parent grid; when the body supports subgrid, the row becomes a full-width subgrid for drag interactions.",
14508
+ "docsTags": [],
14509
+ "usage": {},
14510
+ "props": [
14511
+ {
14512
+ "name": "disabled",
14513
+ "type": "boolean",
14514
+ "complexType": {
14515
+ "original": "boolean",
14516
+ "resolved": "boolean",
14517
+ "references": {}
14518
+ },
14519
+ "mutable": false,
14520
+ "attr": "disabled",
14521
+ "reflectToAttr": true,
14522
+ "docs": "Whether the row and its cells are disabled.",
14523
+ "docsTags": [
14524
+ {
14525
+ "name": "default",
14526
+ "text": "false"
14527
+ }
14528
+ ],
14529
+ "default": "false",
14530
+ "values": [
14531
+ {
14532
+ "type": "boolean"
14533
+ }
14534
+ ],
14535
+ "optional": false,
14536
+ "required": false,
14537
+ "getter": false,
14538
+ "setter": false
14539
+ },
14540
+ {
14541
+ "name": "rowId",
14542
+ "type": "string",
14543
+ "complexType": {
14544
+ "original": "string",
14545
+ "resolved": "string",
14546
+ "references": {}
14547
+ },
14548
+ "mutable": false,
14549
+ "attr": "row-id",
14550
+ "reflectToAttr": true,
14551
+ "docs": "Stable identifier for selection.",
14552
+ "docsTags": [],
14553
+ "values": [
14554
+ {
14555
+ "type": "string"
14556
+ }
14557
+ ],
14558
+ "optional": true,
14559
+ "required": false,
14560
+ "getter": false,
14561
+ "setter": false
14562
+ },
14563
+ {
14564
+ "name": "selected",
14565
+ "type": "boolean",
14566
+ "complexType": {
14567
+ "original": "boolean",
14568
+ "resolved": "boolean",
14569
+ "references": {}
14570
+ },
14571
+ "mutable": false,
14572
+ "attr": "selected",
14573
+ "reflectToAttr": true,
14574
+ "docs": "Whether the row is visually selected.",
14575
+ "docsTags": [
14576
+ {
14577
+ "name": "default",
14578
+ "text": "false"
14579
+ }
14580
+ ],
14581
+ "default": "false",
14582
+ "values": [
14583
+ {
14584
+ "type": "boolean"
14585
+ }
14586
+ ],
14587
+ "optional": false,
14588
+ "required": false,
14589
+ "getter": false,
14590
+ "setter": false
14591
+ }
14592
+ ],
14593
+ "methods": [],
14594
+ "events": [],
14595
+ "listeners": [],
14596
+ "styles": [],
14597
+ "slots": [],
14598
+ "parts": [],
14599
+ "states": [],
14600
+ "dependents": [],
14601
+ "dependencies": [],
14602
+ "dependencyGraph": {}
14603
+ },
14403
14604
  {
14404
14605
  "filePath": "src/components/components/xpl-tabs/xpl-tabs.tsx",
14405
14606
  "encapsulation": "none",