@xplortech/apollo-core 2.10.0 → 2.12.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 (724) hide show
  1. package/.typings/apollo-components.html-data.json +134 -12
  2. package/AGENTS.md +27 -3
  3. package/README.md +12 -0
  4. package/build/components/accordion.css +1 -0
  5. package/build/components/application-shell.css +1 -0
  6. package/build/components/avatar.css +1 -0
  7. package/build/components/backdrop.css +1 -0
  8. package/build/components/badge.css +1 -0
  9. package/build/components/banner.css +1 -0
  10. package/build/components/breadcrumbs.css +1 -0
  11. package/build/components/button-row.css +1 -0
  12. package/build/components/button.css +1 -0
  13. package/build/components/calendar.css +1 -0
  14. package/build/components/checkbox-radio.css +1 -0
  15. package/build/components/choicelist.css +1 -0
  16. package/build/components/content-area.css +1 -0
  17. package/build/components/dashboard.css +1 -0
  18. package/build/components/data-card.css +1 -0
  19. package/build/components/divider.css +1 -0
  20. package/build/components/dropdown.css +1 -0
  21. package/build/components/dynamic-table-cell.css +1 -0
  22. package/build/components/dynamic-table-row.css +1 -0
  23. package/build/components/dynamic-table.css +1 -0
  24. package/build/components/grid.css +1 -0
  25. package/build/components/header-accordion.css +1 -0
  26. package/build/components/icon.css +1 -0
  27. package/build/components/input-color.css +1 -0
  28. package/build/components/input-date.css +1 -0
  29. package/build/components/input-file.css +1 -0
  30. package/build/components/input-phone.css +1 -0
  31. package/build/components/input-search.css +1 -0
  32. package/build/components/input-time.css +1 -0
  33. package/build/components/input.css +1 -0
  34. package/build/components/label.css +1 -0
  35. package/build/components/large-card.css +1 -0
  36. package/build/components/list-action.css +1 -0
  37. package/build/components/list-item.css +1 -0
  38. package/build/components/list.css +1 -0
  39. package/build/components/main-nav.css +1 -0
  40. package/build/components/modal.css +1 -0
  41. package/build/components/nav-item.css +1 -0
  42. package/build/components/pagination.css +1 -0
  43. package/build/components/panel.css +1 -0
  44. package/build/components/popover.css +1 -0
  45. package/build/components/progress-bar.css +1 -0
  46. package/build/components/progress-indicator.css +1 -0
  47. package/build/components/secondary-nav.css +1 -0
  48. package/build/components/select.css +1 -0
  49. package/build/components/side-nav.css +1 -0
  50. package/build/components/skeleton.css +1 -0
  51. package/build/components/slideout.css +1 -0
  52. package/build/components/spotlight.css +1 -0
  53. package/build/components/table-header-cell.css +1 -0
  54. package/build/components/table-header.css +1 -0
  55. package/build/components/table.css +1 -0
  56. package/build/components/tabs.css +1 -0
  57. package/build/components/tag.css +1 -0
  58. package/build/components/toast.css +1 -0
  59. package/build/components/toggle.css +1 -0
  60. package/build/components/toolbar.css +1 -0
  61. package/build/components/tooltip.css +1 -0
  62. package/build/components/top-nav.css +1 -0
  63. package/build/components/utility-bar.css +1 -0
  64. package/build/components-manifest.json +220 -0
  65. package/build/core.css +2 -0
  66. package/build/reset.css +394 -0
  67. package/build/style.css +2 -13120
  68. package/build/tailwind-theme.css +2 -0
  69. package/build/typography.css +1 -0
  70. package/build/variables/apollo.css +779 -0
  71. package/build/variables/field-edge.css +554 -0
  72. package/build/vendor/flatpickr.css +1 -0
  73. package/dist/apollo-core/apollo-core.css +2 -55
  74. package/dist/apollo-core/apollo-core.esm.js +1 -1
  75. package/dist/apollo-core/p-0095174c.entry.js +1 -0
  76. package/dist/apollo-core/p-020ecd66.entry.js +1 -0
  77. package/dist/apollo-core/p-0463c29f.entry.js +1 -0
  78. package/dist/apollo-core/p-091411e3.entry.js +1 -0
  79. package/dist/apollo-core/p-0be4dbb8.entry.js +1 -0
  80. package/dist/apollo-core/p-1139fac0.entry.js +1 -0
  81. package/dist/apollo-core/p-121d1a4b.entry.js +1 -0
  82. package/dist/apollo-core/p-140a96c7.entry.js +1 -0
  83. package/dist/apollo-core/p-1M1pu0C2.js +1 -0
  84. package/dist/apollo-core/p-1a417191.entry.js +1 -0
  85. package/dist/apollo-core/p-256ece8b.entry.js +1 -0
  86. package/dist/apollo-core/p-26861d09.entry.js +1 -0
  87. package/dist/apollo-core/p-26b6a0ed.entry.js +1 -0
  88. package/dist/apollo-core/p-39e71d86.entry.js +1 -0
  89. package/dist/apollo-core/p-3d9c90ee.entry.js +1 -0
  90. package/dist/apollo-core/p-3dd1de49.entry.js +1 -0
  91. package/dist/apollo-core/p-4129d971.entry.js +1 -0
  92. package/dist/apollo-core/p-46d21684.entry.js +1 -0
  93. package/dist/apollo-core/p-4e61587f.entry.js +1 -0
  94. package/dist/apollo-core/p-5afc9831.entry.js +1 -0
  95. package/dist/apollo-core/p-5ca18bc1.entry.js +1 -0
  96. package/dist/apollo-core/p-5d25a84a.entry.js +1 -0
  97. package/dist/apollo-core/p-5e5c5016.entry.js +1 -0
  98. package/dist/apollo-core/p-601b3ab5.entry.js +1 -0
  99. package/dist/apollo-core/p-616c5a32.entry.js +1 -0
  100. package/dist/apollo-core/p-638fd9b1.entry.js +1 -0
  101. package/dist/apollo-core/p-643c8038.entry.js +1 -0
  102. package/dist/apollo-core/p-707b1918.entry.js +1 -0
  103. package/dist/apollo-core/p-724c5038.entry.js +1 -0
  104. package/dist/apollo-core/p-76f64d65.entry.js +1 -0
  105. package/dist/apollo-core/p-7976cd3b.entry.js +1 -0
  106. package/dist/apollo-core/p-7f105d63.entry.js +1 -0
  107. package/dist/apollo-core/p-80a11cad.entry.js +1 -0
  108. package/dist/apollo-core/p-853418be.entry.js +1 -0
  109. package/dist/apollo-core/p-875e0eaa.entry.js +1 -0
  110. package/dist/apollo-core/p-8845106f.entry.js +1 -0
  111. package/dist/apollo-core/p-8a81ef98.entry.js +1 -0
  112. package/dist/apollo-core/p-8a925e9d.entry.js +1 -0
  113. package/dist/apollo-core/p-8ddbf2e2.entry.js +1 -0
  114. package/dist/apollo-core/p-9747cf43.entry.js +1 -0
  115. package/dist/apollo-core/p-9b0174b1.entry.js +1 -0
  116. package/dist/apollo-core/p-9bf2ff9f.entry.js +1 -0
  117. package/dist/apollo-core/p-BFTU3MAI.js +1 -0
  118. package/dist/apollo-core/p-BQtbf88X.js +1 -0
  119. package/dist/apollo-core/p-CWdQxaaX.js +1 -0
  120. package/dist/apollo-core/p-C_PEOQWj.js +1 -0
  121. package/dist/apollo-core/p-CzwViN3U.js +1 -0
  122. package/dist/apollo-core/p-DkqlawVY.js +1 -0
  123. package/dist/apollo-core/p-Dqb1pIRo.js +1 -0
  124. package/dist/apollo-core/p-_r9-FML8.js +1 -0
  125. package/dist/apollo-core/p-a0d3b7f8.entry.js +1 -0
  126. package/dist/apollo-core/p-a33b0943.entry.js +1 -0
  127. package/dist/apollo-core/p-b537f72d.entry.js +1 -0
  128. package/dist/apollo-core/p-ba41bbd5.entry.js +1 -0
  129. package/dist/apollo-core/p-bb22ed2a.entry.js +1 -0
  130. package/dist/apollo-core/p-c25aebe5.entry.js +1 -0
  131. package/dist/apollo-core/p-c427a31d.entry.js +1 -0
  132. package/dist/apollo-core/p-cde21f72.entry.js +1 -0
  133. package/dist/apollo-core/p-d288c1d1.entry.js +1 -0
  134. package/dist/apollo-core/p-d37488d4.entry.js +1 -0
  135. package/dist/apollo-core/p-d3f2b8b8.entry.js +1 -0
  136. package/dist/apollo-core/p-dfaba114.entry.js +1 -0
  137. package/dist/apollo-core/p-e00ed4f4.entry.js +1 -0
  138. package/dist/apollo-core/p-e2a16242.entry.js +1 -0
  139. package/dist/apollo-core/p-e4ae3f60.entry.js +1 -0
  140. package/dist/apollo-core/p-ec488f9c.entry.js +1 -0
  141. package/dist/apollo-core/p-efa21ec0.entry.js +1 -0
  142. package/dist/apollo-core/p-f199ad66.entry.js +1 -0
  143. package/dist/apollo-core/p-f2bfe6a6.entry.js +1 -0
  144. package/dist/apollo-core/p-fd2756d8.entry.js +1 -0
  145. package/dist/apollo-core/p-fef6c256.entry.js +1 -0
  146. package/dist/apollo-core/p-ff8acf15.entry.js +1 -0
  147. package/dist/apollo-core/p-ukZKsqqq.js +2 -0
  148. package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +10 -0
  149. package/dist/cjs/apollo-core.cjs.js +2 -2
  150. package/dist/cjs/floating-ui.dom-DuvGwvW-.js +1710 -0
  151. package/dist/cjs/{index-BaXVr8ux.js → index-3cBvw409.js} +760 -9
  152. package/dist/cjs/index-DP4JWqOH.js +456 -0
  153. package/dist/cjs/lifecycle-DeSsFfQZ.js +74 -0
  154. package/dist/cjs/light-dom-slots-CS8Q9rRZ.js +19 -0
  155. package/dist/cjs/loader.cjs.js +2 -2
  156. package/dist/cjs/side-nav-slot-utils-DMog5BVN.js +41 -0
  157. package/dist/cjs/slot-presence-HmQUW2Ba.js +10 -0
  158. package/dist/cjs/tab-a11y-ids--A4ZoXEj.js +27 -0
  159. package/dist/cjs/top-nav-constants-DckvgAo7.js +5 -0
  160. package/dist/cjs/xpl-accordion.cjs.entry.js +5 -3
  161. package/dist/cjs/xpl-application-shell.cjs.entry.js +2 -2
  162. package/dist/cjs/xpl-avatar_3.cjs.entry.js +210 -0
  163. package/dist/cjs/xpl-backdrop.cjs.entry.js +19 -0
  164. package/dist/cjs/xpl-badge.cjs.entry.js +37 -0
  165. package/dist/cjs/xpl-banner.cjs.entry.js +74 -0
  166. package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +18 -0
  167. package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +14 -0
  168. package/dist/cjs/xpl-button-row.cjs.entry.js +2 -2
  169. package/dist/cjs/xpl-button.cjs.entry.js +81 -0
  170. package/dist/cjs/xpl-calendar.cjs.entry.js +10 -6
  171. package/dist/cjs/xpl-checkbox.cjs.entry.js +32 -0
  172. package/dist/cjs/xpl-choicelist.cjs.entry.js +68 -0
  173. package/dist/cjs/xpl-content-area.cjs.entry.js +15 -0
  174. package/dist/cjs/xpl-dashboard.cjs.entry.js +14 -0
  175. package/dist/cjs/xpl-data-card.cjs.entry.js +111 -0
  176. package/dist/cjs/xpl-dropdown_4.cjs.entry.js +577 -0
  177. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +8 -6
  178. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
  179. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +11 -18
  180. package/dist/cjs/xpl-grid-item.cjs.entry.js +2 -2
  181. package/dist/cjs/xpl-grid.cjs.entry.js +6 -6
  182. package/dist/cjs/xpl-header-accordion.cjs.entry.js +69 -0
  183. package/dist/{esm/xpl-avatar_54.entry.js → cjs/xpl-icon.cjs.entry.js} +1293 -10607
  184. package/dist/cjs/xpl-input-color.cjs.entry.js +435 -0
  185. package/dist/cjs/xpl-input-phone.cjs.entry.js +509 -0
  186. package/dist/cjs/xpl-input-time.cjs.entry.js +196 -0
  187. package/dist/cjs/xpl-input_4.cjs.entry.js +524 -0
  188. package/dist/cjs/xpl-large-card.cjs.entry.js +63 -4
  189. package/dist/cjs/xpl-list-item.cjs.entry.js +460 -0
  190. package/dist/cjs/xpl-list.cjs.entry.js +396 -0
  191. package/dist/cjs/xpl-main-nav.cjs.entry.js +2 -2
  192. package/dist/cjs/xpl-modal.cjs.entry.js +78 -0
  193. package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +86 -0
  194. package/dist/cjs/xpl-nav-item.cjs.entry.js +25 -0
  195. package/dist/cjs/xpl-pagination.cjs.entry.js +112 -0
  196. package/dist/cjs/xpl-panel.cjs.entry.js +21 -0
  197. package/dist/cjs/xpl-popover.cjs.entry.js +265 -0
  198. package/dist/cjs/xpl-progress-bar.cjs.entry.js +41 -0
  199. package/dist/cjs/xpl-progress-indicator.cjs.entry.js +74 -0
  200. package/dist/cjs/xpl-secondary-nav.cjs.entry.js +14 -0
  201. package/dist/cjs/xpl-select_2.cjs.entry.js +493 -0
  202. package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +101 -0
  203. package/dist/cjs/xpl-side-nav-item.cjs.entry.js +130 -0
  204. package/dist/cjs/xpl-side-nav-section.cjs.entry.js +105 -0
  205. package/dist/cjs/xpl-side-nav.cjs.entry.js +272 -0
  206. package/dist/cjs/xpl-skeleton.cjs.entry.js +26 -0
  207. package/dist/cjs/xpl-slideout.cjs.entry.js +47 -0
  208. package/dist/cjs/xpl-spotlight.cjs.entry.js +722 -0
  209. package/dist/cjs/xpl-tab-panel.cjs.entry.js +24 -0
  210. package/dist/cjs/xpl-tab.cjs.entry.js +87 -0
  211. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +5 -3
  212. package/dist/cjs/xpl-table-header.cjs.entry.js +2 -2
  213. package/dist/cjs/xpl-table.cjs.entry.js +185 -0
  214. package/dist/cjs/xpl-tabs.cjs.entry.js +373 -0
  215. package/dist/cjs/xpl-toast.cjs.entry.js +91 -0
  216. package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
  217. package/dist/cjs/xpl-toolbar.cjs.entry.js +3 -3
  218. package/dist/cjs/xpl-tooltip.cjs.entry.js +18 -0
  219. package/dist/cjs/xpl-top-nav-item.cjs.entry.js +435 -0
  220. package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +91 -0
  221. package/dist/cjs/xpl-top-nav.cjs.entry.js +342 -0
  222. package/dist/cjs/xpl-utility-bar.cjs.entry.js +23 -0
  223. package/dist/collection/collection-manifest.json +4 -1
  224. package/dist/collection/components/xpl-accordion/accordion.stories.js +6 -2
  225. package/dist/collection/components/xpl-accordion/xpl-accordion.js +4 -2
  226. package/dist/collection/components/xpl-application-shell/application-shell.stories.js +19 -1
  227. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  228. package/dist/collection/components/xpl-avatar/avatar.stories.js +19 -9
  229. package/dist/collection/components/xpl-avatar/xpl-avatar.js +12 -16
  230. package/dist/collection/components/xpl-backdrop/backdrop.stories.js +17 -3
  231. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  232. package/dist/collection/components/xpl-badge/badge.stories.js +21 -8
  233. package/dist/collection/components/xpl-badge/xpl-badge.js +4 -5
  234. package/dist/collection/components/xpl-banner/banner.stories.js +1 -1
  235. package/dist/collection/components/xpl-banner/xpl-banner.js +7 -9
  236. package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +5 -0
  237. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  238. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  239. package/dist/collection/components/xpl-button/button.stories.js +2 -0
  240. package/dist/collection/components/xpl-button/xpl-button.js +17 -14
  241. package/dist/collection/components/xpl-button-row/button-row.stories.js +9 -0
  242. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  243. package/dist/collection/components/xpl-calendar/calendar.stories.js +11 -3
  244. package/dist/collection/components/xpl-calendar/xpl-calendar.js +9 -5
  245. package/dist/collection/components/xpl-checkbox/checkbox.stories.js +11 -2
  246. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +7 -8
  247. package/dist/collection/components/xpl-choicelist/choicelist.stories.js +24 -0
  248. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +6 -6
  249. package/dist/collection/components/xpl-content-area/content-area.stories.js +13 -24
  250. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  251. package/dist/collection/components/xpl-dashboard/dashboard.stories.js +9 -0
  252. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  253. package/dist/collection/components/xpl-data-card/data-card.stories.js +55 -0
  254. package/dist/collection/components/xpl-data-card/xpl-data-card.js +69 -5
  255. package/dist/collection/components/xpl-divider/divider.stories.js +11 -0
  256. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  257. package/dist/collection/components/xpl-dropdown/dropdown.stories.js +13 -5
  258. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -17
  259. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  260. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +9 -5
  261. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +108 -116
  262. package/dist/collection/components/xpl-dynamic-table/dynamic-table.stories.js +5 -1
  263. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +13 -19
  264. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +7 -5
  265. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +4 -4
  266. package/dist/collection/components/xpl-grid/grid.stories.js +9 -0
  267. package/dist/collection/components/xpl-grid/xpl-grid.js +5 -5
  268. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  269. package/dist/collection/components/xpl-header-accordion/header-accordion.stories.js +6 -2
  270. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +7 -23
  271. package/dist/collection/components/xpl-icon/icons.stories.js +21 -2
  272. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -3
  273. package/dist/collection/components/xpl-input/input.stories.js +120 -104
  274. package/dist/collection/components/xpl-input/xpl-input-color/color-utils.js +12 -6
  275. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +47 -38
  276. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +31 -14
  277. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +11 -13
  278. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +38 -41
  279. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +5 -8
  280. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +11 -10
  281. package/dist/collection/components/xpl-input/xpl-input.js +69 -37
  282. package/dist/collection/components/xpl-large-card/large-card.stories.js +27 -3
  283. package/dist/collection/components/xpl-large-card/xpl-large-card.js +69 -3
  284. package/dist/collection/components/xpl-list/list.stories.js +11 -2
  285. package/dist/collection/components/xpl-list/xpl-list-item/xpl-list-item.js +29 -31
  286. package/dist/collection/components/xpl-list/xpl-list.js +21 -26
  287. package/dist/collection/components/xpl-main-nav/main-nav.stories.js +5 -0
  288. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  289. package/dist/collection/components/xpl-modal/modal.stories.js +15 -6
  290. package/dist/collection/components/xpl-modal/xpl-modal.js +21 -8
  291. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  292. package/dist/collection/components/xpl-pagination/pagination.stories.js +10 -2
  293. package/dist/collection/components/xpl-pagination/xpl-pagination.js +10 -12
  294. package/dist/collection/components/xpl-panel/panel.stories.js +9 -0
  295. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  296. package/dist/collection/components/xpl-popover/popover.stories.js +15 -5
  297. package/dist/collection/components/xpl-popover/xpl-popover.js +36 -8
  298. package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +10 -1
  299. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  300. package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +9 -1
  301. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  302. package/dist/collection/components/xpl-radio/radio.stories.js +9 -0
  303. package/dist/collection/components/xpl-radio/xpl-radio.js +7 -7
  304. package/dist/collection/components/xpl-secondary-nav/secondary-nav.stories.js +10 -5
  305. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  306. package/dist/collection/components/xpl-select/select.stories.js +11 -8
  307. package/dist/collection/components/xpl-select/xpl-select.js +91 -49
  308. package/dist/collection/components/xpl-side-nav/side-nav-slot-utils.js +35 -0
  309. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +454 -18
  310. package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +201 -0
  311. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +10 -11
  312. package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +186 -0
  313. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +75 -12
  314. package/dist/collection/components/xpl-skeleton/skeleton.stories.js +10 -1
  315. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +3 -3
  316. package/dist/collection/components/xpl-slideout/slideout.stories.js +13 -0
  317. package/dist/collection/components/xpl-slideout/xpl-slideout.js +4 -1
  318. package/dist/collection/components/xpl-spotlight/spotlight.stories.js +22 -15
  319. package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +44 -49
  320. package/dist/collection/components/xpl-tab/xpl-tab.js +63 -8
  321. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +3 -4
  322. package/dist/collection/components/xpl-table/table.stories.js +11 -2
  323. package/dist/collection/components/xpl-table/xpl-table.js +52 -36
  324. package/dist/collection/components/xpl-table-header/table-header.stories.js +9 -1
  325. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  326. package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +10 -2
  327. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +4 -2
  328. package/dist/collection/components/xpl-tabs/segment-control.stories.js +10 -1
  329. package/dist/collection/components/xpl-tabs/tabs.shared.js +77 -19
  330. package/dist/collection/components/xpl-tabs/tabs.stories.js +14 -2
  331. package/dist/collection/components/xpl-tabs/xpl-tabs.js +29 -25
  332. package/dist/collection/components/xpl-tag/tag.stories.js +15 -9
  333. package/dist/collection/components/xpl-tag/xpl-tag.js +5 -7
  334. package/dist/collection/components/xpl-toast/toast.stories.js +43 -17
  335. package/dist/collection/components/xpl-toast/xpl-toast.js +107 -56
  336. package/dist/collection/components/xpl-toggle/toggle.stories.js +8 -1
  337. package/dist/collection/components/xpl-toggle/xpl-toggle.js +5 -5
  338. package/dist/collection/components/xpl-toolbar/toolbar.stories.js +39 -0
  339. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  340. package/dist/collection/components/xpl-tooltip/tooltip.stories.js +9 -0
  341. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  342. package/dist/collection/components/xpl-top-nav/top-nav-constants.js +1 -0
  343. package/dist/collection/components/xpl-top-nav/top-nav.stories.js +160 -21
  344. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +11 -5
  345. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/top-nav-item-constants.js +2 -0
  346. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +335 -97
  347. package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +114 -0
  348. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +101 -33
  349. package/dist/collection/components/xpl-utility-bar/utility-bar.stories.js +16 -9
  350. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  351. package/dist/collection/utils/floating.js +69 -0
  352. package/dist/collection/utils/layout-ancestors.js +7 -0
  353. package/dist/collection/utils/lifecycle.js +31 -10
  354. package/dist/collection/utils/light-dom-slots.js +15 -0
  355. package/dist/collection/utils/slot-presence.js +6 -0
  356. package/dist/collection/utils/ssr-known-mismatches.js +50 -0
  357. package/dist/collection/utils/tab-a11y-ids.js +1 -2
  358. package/dist/components/index.d.ts +6 -0
  359. package/dist/components/index.js +1 -1
  360. package/dist/components/p-1M1pu0C2.js +1 -0
  361. package/dist/components/p-2jYZ7ACH.js +1 -0
  362. package/dist/components/p-BGqQbjLl.js +1 -0
  363. package/dist/components/p-BQtbf88X.js +1 -0
  364. package/dist/components/p-BSHdGbmH.js +1 -0
  365. package/dist/components/p-BnTsRbko.js +1 -0
  366. package/dist/components/p-Bseq_BgD.js +1 -0
  367. package/dist/components/p-CCgZCY_A.js +1 -0
  368. package/dist/components/p-CJzsLWeV.js +1 -0
  369. package/dist/components/p-CRKY79vL.js +1 -0
  370. package/dist/components/p-C_PEOQWj.js +1 -0
  371. package/dist/components/p-CjbPCnPP.js +1 -0
  372. package/dist/components/p-Cjxw-qOg.js +1 -0
  373. package/dist/components/p-D6JUVA1x.js +1 -0
  374. package/dist/components/p-DFGw0APN.js +1 -0
  375. package/dist/components/p-DLLQBDCb.js +1 -0
  376. package/dist/components/p-DS2Kv5fl.js +1 -0
  377. package/dist/components/p-DWUJ_jsx.js +1 -0
  378. package/dist/components/p-Di1NDy0w.js +1 -0
  379. package/dist/components/p-DkM7jyQB.js +1 -0
  380. package/dist/components/p-DkqlawVY.js +1 -0
  381. package/dist/components/p-Dqb1pIRo.js +1 -0
  382. package/dist/components/p-DsRsm61K.js +1 -0
  383. package/dist/components/p-DywQ3S73.js +1 -0
  384. package/dist/components/p-Dzp5p-eh.js +1 -0
  385. package/dist/components/p-Mehog36m.js +1 -0
  386. package/dist/components/p-RYnBuuDE.js +1 -0
  387. package/dist/components/p-_r9-FML8.js +1 -0
  388. package/dist/components/{p-B1PBAEzg.js → p-imCMp2Nl.js} +1 -1
  389. package/dist/components/xpl-accordion.js +1 -1
  390. package/dist/components/xpl-application-shell.js +1 -1
  391. package/dist/components/xpl-avatar.js +1 -1
  392. package/dist/components/xpl-backdrop.js +1 -1
  393. package/dist/components/xpl-badge.js +1 -1
  394. package/dist/components/xpl-banner.js +1 -1
  395. package/dist/components/xpl-breadcrumb-item.js +1 -1
  396. package/dist/components/xpl-breadcrumbs.js +1 -1
  397. package/dist/components/xpl-button-row.js +1 -1
  398. package/dist/components/xpl-button.js +1 -1
  399. package/dist/components/xpl-calendar.js +1 -1
  400. package/dist/components/xpl-checkbox.js +1 -1
  401. package/dist/components/xpl-choicelist.js +1 -1
  402. package/dist/components/xpl-content-area.js +1 -1
  403. package/dist/components/xpl-dashboard.js +1 -1
  404. package/dist/components/xpl-data-card.js +1 -1
  405. package/dist/components/xpl-divider.js +1 -1
  406. package/dist/components/xpl-dropdown-group.js +1 -1
  407. package/dist/components/xpl-dropdown-heading.js +1 -1
  408. package/dist/components/xpl-dropdown-option.js +1 -1
  409. package/dist/components/xpl-dropdown.js +1 -1
  410. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  411. package/dist/components/xpl-dynamic-table-row.js +1 -1
  412. package/dist/components/xpl-dynamic-table.js +1 -1
  413. package/dist/components/xpl-grid-item.js +1 -1
  414. package/dist/components/xpl-grid.js +1 -1
  415. package/dist/components/xpl-header-accordion.js +1 -1
  416. package/dist/components/xpl-icon.js +1 -1
  417. package/dist/components/xpl-input-color.js +1 -1
  418. package/dist/components/xpl-input-date.js +1 -1
  419. package/dist/components/xpl-input-file.js +1 -1
  420. package/dist/components/xpl-input-phone.js +1 -1
  421. package/dist/components/xpl-input-search.js +1 -1
  422. package/dist/components/xpl-input-time.js +1 -1
  423. package/dist/components/xpl-input.js +1 -1
  424. package/dist/components/xpl-large-card.js +1 -1
  425. package/dist/components/xpl-list-item.js +1 -1
  426. package/dist/components/xpl-list.js +1 -1
  427. package/dist/components/xpl-main-nav.js +1 -1
  428. package/dist/components/xpl-modal.js +1 -1
  429. package/dist/components/xpl-nav-header-menu.js +1 -1
  430. package/dist/components/xpl-nav-item.js +1 -1
  431. package/dist/components/xpl-pagination.js +1 -1
  432. package/dist/components/xpl-panel.js +1 -1
  433. package/dist/components/xpl-popover.js +1 -1
  434. package/dist/components/xpl-progress-bar.js +1 -1
  435. package/dist/components/xpl-progress-indicator.js +1 -1
  436. package/dist/components/xpl-radio.js +1 -1
  437. package/dist/components/xpl-secondary-nav.js +1 -1
  438. package/dist/components/xpl-select.js +1 -1
  439. package/dist/components/xpl-side-nav-header-item.d.ts +11 -0
  440. package/dist/components/xpl-side-nav-header-item.js +1 -0
  441. package/dist/components/xpl-side-nav-item.js +1 -1
  442. package/dist/components/xpl-side-nav-section.d.ts +11 -0
  443. package/dist/components/xpl-side-nav-section.js +1 -0
  444. package/dist/components/xpl-side-nav.js +1 -1
  445. package/dist/components/xpl-skeleton.js +1 -1
  446. package/dist/components/xpl-slideout.js +1 -1
  447. package/dist/components/xpl-spotlight.js +1 -1
  448. package/dist/components/xpl-tab-panel.js +1 -1
  449. package/dist/components/xpl-tab.js +1 -1
  450. package/dist/components/xpl-table-header-cell.js +1 -1
  451. package/dist/components/xpl-table-header.js +1 -1
  452. package/dist/components/xpl-table.js +1 -1
  453. package/dist/components/xpl-tabs.js +1 -1
  454. package/dist/components/xpl-tag.js +1 -1
  455. package/dist/components/xpl-toast.js +1 -1
  456. package/dist/components/xpl-toggle.js +1 -1
  457. package/dist/components/xpl-toolbar.js +1 -1
  458. package/dist/components/xpl-tooltip.js +1 -1
  459. package/dist/components/xpl-top-nav-item.js +1 -1
  460. package/dist/components/xpl-top-nav-menu.d.ts +11 -0
  461. package/dist/components/xpl-top-nav-menu.js +1 -0
  462. package/dist/components/xpl-top-nav.js +1 -1
  463. package/dist/components/xpl-utility-bar.js +1 -1
  464. package/dist/css/typography.stories.js +9 -0
  465. package/dist/docs/xpl-application-shell/readme.md +33 -0
  466. package/dist/docs/xpl-backdrop/readme.md +7 -0
  467. package/dist/docs/xpl-badge/readme.md +2 -0
  468. package/dist/docs/xpl-breadcrumbs/xpl-breadcrumbs/readme.md +9 -0
  469. package/dist/docs/xpl-button/readme.md +4 -2
  470. package/dist/docs/xpl-checkbox/readme.md +12 -0
  471. package/dist/docs/xpl-choicelist/readme.md +21 -0
  472. package/dist/docs/xpl-content-area/readme.md +8 -0
  473. package/dist/docs/xpl-data-card/readme.md +26 -0
  474. package/dist/docs/xpl-dropdown/readme.md +32 -6
  475. package/dist/docs/xpl-dynamic-table/readme.md +35 -0
  476. package/dist/docs/xpl-header-accordion/readme.md +18 -0
  477. package/dist/docs/xpl-icon/readme.md +23 -0
  478. package/dist/docs/xpl-input/xpl-input-color/readme.md +18 -0
  479. package/dist/docs/xpl-input/xpl-input-file/readme.md +13 -0
  480. package/dist/docs/xpl-input/xpl-input-time/readme.md +9 -0
  481. package/dist/docs/xpl-large-card/readme.md +18 -0
  482. package/dist/docs/xpl-list/readme.md +2 -2
  483. package/dist/docs/xpl-list/xpl-list-item/readme.md +3 -3
  484. package/dist/docs/xpl-main-nav/readme.md +16 -0
  485. package/dist/docs/xpl-modal/readme.md +20 -0
  486. package/dist/docs/xpl-nav-item/readme.md +14 -0
  487. package/dist/docs/xpl-pagination/readme.md +29 -0
  488. package/dist/docs/xpl-radio/readme.md +12 -0
  489. package/dist/docs/xpl-secondary-nav/readme.md +25 -0
  490. package/dist/docs/xpl-select/readme.md +13 -0
  491. package/dist/docs/xpl-side-nav/readme.md +12 -7
  492. package/dist/docs/xpl-side-nav/xpl-side-nav-header-item/readme.md +155 -0
  493. package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +16 -6
  494. package/dist/docs/xpl-side-nav/xpl-side-nav-section/readme.md +126 -0
  495. package/dist/docs/xpl-slideout/readme.md +23 -0
  496. package/dist/docs/xpl-tab/readme.md +14 -8
  497. package/dist/docs/xpl-table/readme.md +4 -4
  498. package/dist/docs/xpl-toast/readme.md +90 -7
  499. package/dist/docs/xpl-toggle/readme.md +46 -0
  500. package/dist/docs/xpl-toolbar/readme.md +19 -0
  501. package/dist/docs/xpl-top-nav/readme.md +5 -1
  502. package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +79 -20
  503. package/dist/docs/xpl-top-nav/xpl-top-nav-menu/readme.md +96 -0
  504. package/dist/docs/xpl-utility-bar/readme.md +12 -0
  505. package/dist/docs.d.ts +480 -0
  506. package/dist/docs.json +16441 -0
  507. package/dist/esm/_commonjsHelpers-BFTU3MAI.js +7 -0
  508. package/dist/esm/apollo-core.js +3 -3
  509. package/dist/esm/floating-ui.dom-1M1pu0C2.js +1702 -0
  510. package/dist/esm/index-BhYfWG18.js +454 -0
  511. package/dist/esm/{index-CXkZUm1c.js → index-ukZKsqqq.js} +760 -9
  512. package/dist/esm/lifecycle-Dqb1pIRo.js +71 -0
  513. package/dist/esm/light-dom-slots-DkqlawVY.js +17 -0
  514. package/dist/esm/loader.js +3 -3
  515. package/dist/esm/side-nav-slot-utils-C_PEOQWj.js +37 -0
  516. package/dist/esm/slot-presence-_r9-FML8.js +8 -0
  517. package/dist/esm/tab-a11y-ids-BQtbf88X.js +23 -0
  518. package/dist/esm/top-nav-constants-CWdQxaaX.js +3 -0
  519. package/dist/esm/xpl-accordion.entry.js +5 -3
  520. package/dist/esm/xpl-application-shell.entry.js +2 -2
  521. package/dist/esm/xpl-avatar_3.entry.js +206 -0
  522. package/dist/esm/xpl-backdrop.entry.js +17 -0
  523. package/dist/esm/xpl-badge.entry.js +35 -0
  524. package/dist/esm/xpl-banner.entry.js +72 -0
  525. package/dist/esm/xpl-breadcrumb-item.entry.js +16 -0
  526. package/dist/esm/xpl-breadcrumbs.entry.js +12 -0
  527. package/dist/esm/xpl-button-row.entry.js +2 -2
  528. package/dist/esm/xpl-button.entry.js +79 -0
  529. package/dist/esm/xpl-calendar.entry.js +10 -6
  530. package/dist/esm/xpl-checkbox.entry.js +30 -0
  531. package/dist/esm/xpl-choicelist.entry.js +66 -0
  532. package/dist/esm/xpl-content-area.entry.js +13 -0
  533. package/dist/esm/xpl-dashboard.entry.js +12 -0
  534. package/dist/esm/xpl-data-card.entry.js +109 -0
  535. package/dist/esm/xpl-dropdown_4.entry.js +572 -0
  536. package/dist/esm/xpl-dynamic-table-cell.entry.js +8 -6
  537. package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
  538. package/dist/esm/xpl-dynamic-table.entry.js +11 -18
  539. package/dist/esm/xpl-grid-item.entry.js +2 -2
  540. package/dist/esm/xpl-grid.entry.js +6 -6
  541. package/dist/esm/xpl-header-accordion.entry.js +67 -0
  542. package/dist/{cjs/xpl-avatar_54.cjs.entry.js → esm/xpl-icon.entry.js} +1290 -10661
  543. package/dist/esm/xpl-input-color.entry.js +433 -0
  544. package/dist/esm/xpl-input-phone.entry.js +507 -0
  545. package/dist/esm/xpl-input-time.entry.js +194 -0
  546. package/dist/esm/xpl-input_4.entry.js +519 -0
  547. package/dist/esm/xpl-large-card.entry.js +63 -4
  548. package/dist/esm/xpl-list-item.entry.js +458 -0
  549. package/dist/esm/xpl-list.entry.js +394 -0
  550. package/dist/esm/xpl-main-nav.entry.js +2 -2
  551. package/dist/esm/xpl-modal.entry.js +76 -0
  552. package/dist/esm/xpl-nav-header-menu.entry.js +84 -0
  553. package/dist/esm/xpl-nav-item.entry.js +23 -0
  554. package/dist/esm/xpl-pagination.entry.js +110 -0
  555. package/dist/esm/xpl-panel.entry.js +19 -0
  556. package/dist/esm/xpl-popover.entry.js +263 -0
  557. package/dist/esm/xpl-progress-bar.entry.js +39 -0
  558. package/dist/esm/xpl-progress-indicator.entry.js +72 -0
  559. package/dist/esm/xpl-secondary-nav.entry.js +12 -0
  560. package/dist/esm/xpl-select_2.entry.js +490 -0
  561. package/dist/esm/xpl-side-nav-header-item.entry.js +99 -0
  562. package/dist/esm/xpl-side-nav-item.entry.js +128 -0
  563. package/dist/esm/xpl-side-nav-section.entry.js +103 -0
  564. package/dist/esm/xpl-side-nav.entry.js +270 -0
  565. package/dist/esm/xpl-skeleton.entry.js +24 -0
  566. package/dist/esm/xpl-slideout.entry.js +45 -0
  567. package/dist/esm/xpl-spotlight.entry.js +720 -0
  568. package/dist/esm/xpl-tab-panel.entry.js +22 -0
  569. package/dist/esm/xpl-tab.entry.js +85 -0
  570. package/dist/esm/xpl-table-header-cell.entry.js +5 -3
  571. package/dist/esm/xpl-table-header.entry.js +2 -2
  572. package/dist/esm/xpl-table.entry.js +183 -0
  573. package/dist/esm/xpl-tabs.entry.js +371 -0
  574. package/dist/esm/xpl-toast.entry.js +89 -0
  575. package/dist/esm/xpl-toggle.entry.js +6 -6
  576. package/dist/esm/xpl-toolbar.entry.js +3 -3
  577. package/dist/esm/xpl-tooltip.entry.js +16 -0
  578. package/dist/esm/xpl-top-nav-item.entry.js +433 -0
  579. package/dist/esm/xpl-top-nav-menu.entry.js +89 -0
  580. package/dist/esm/xpl-top-nav.entry.js +340 -0
  581. package/dist/esm/xpl-utility-bar.entry.js +21 -0
  582. package/dist/types/components/xpl-accordion/accordion.stories.d.ts +11 -2
  583. package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +5 -23
  584. package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
  585. package/dist/types/components/xpl-avatar/avatar.stories.d.ts +17 -116
  586. package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +2 -0
  587. package/dist/types/components/xpl-badge/badge.stories.d.ts +7 -0
  588. package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +10 -27
  589. package/dist/types/components/xpl-button/button.stories.d.ts +4 -0
  590. package/dist/types/components/xpl-button-row/button-row.stories.d.ts +10 -21
  591. package/dist/types/components/xpl-calendar/calendar.stories.d.ts +11 -28
  592. package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +13 -31
  593. package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +9 -23
  594. package/dist/types/components/xpl-content-area/content-area.stories.d.ts +7 -1
  595. package/dist/types/components/xpl-dashboard/dashboard.stories.d.ts +8 -17
  596. package/dist/types/components/xpl-data-card/data-card.stories.d.ts +32 -37
  597. package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +12 -0
  598. package/dist/types/components/xpl-divider/divider.stories.d.ts +10 -23
  599. package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +160 -8
  600. package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +1 -1
  601. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +7 -9
  602. package/dist/types/components/xpl-dynamic-table/dynamic-table.stories.d.ts +7 -22
  603. package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +2 -1
  604. package/dist/types/components/xpl-grid/grid.stories.d.ts +23 -47
  605. package/dist/types/components/xpl-header-accordion/header-accordion.stories.d.ts +8 -24
  606. package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +0 -2
  607. package/dist/types/components/xpl-icon/icons.stories.d.ts +16 -39
  608. package/dist/types/components/xpl-input/input.stories.d.ts +255 -54
  609. package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +1 -1
  610. package/dist/types/components/xpl-input/xpl-input-file/xpl-input-file.d.ts +1 -1
  611. package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +2 -2
  612. package/dist/types/components/xpl-input/xpl-input-time/time-utils.d.ts +1 -1
  613. package/dist/types/components/xpl-input/xpl-input-time/xpl-input-time.d.ts +1 -1
  614. package/dist/types/components/xpl-input/xpl-input.d.ts +11 -6
  615. package/dist/types/components/xpl-large-card/large-card.stories.d.ts +12 -30
  616. package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +12 -0
  617. package/dist/types/components/xpl-list/list.stories.d.ts +33 -1
  618. package/dist/types/components/xpl-list/listitem.d.ts +5 -0
  619. package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +0 -1
  620. package/dist/types/components/xpl-main-nav/main-nav.stories.d.ts +7 -1
  621. package/dist/types/components/xpl-modal/modal.stories.d.ts +16 -16
  622. package/dist/types/components/xpl-modal/xpl-modal.d.ts +3 -1
  623. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +9 -30
  624. package/dist/types/components/xpl-panel/panel.stories.d.ts +9 -1
  625. package/dist/types/components/xpl-popover/popover.stories.d.ts +12 -3
  626. package/dist/types/components/xpl-popover/xpl-popover.d.ts +4 -2
  627. package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +13 -24
  628. package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +2 -0
  629. package/dist/types/components/xpl-radio/radio.stories.d.ts +3 -0
  630. package/dist/types/components/xpl-secondary-nav/secondary-nav.stories.d.ts +4 -1
  631. package/dist/types/components/xpl-select/select.stories.d.ts +35 -45
  632. package/dist/types/components/xpl-select/xpl-select.d.ts +1 -0
  633. package/dist/types/components/xpl-side-nav/side-nav-slot-utils.d.ts +3 -0
  634. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +73 -1
  635. package/dist/types/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.d.ts +24 -0
  636. package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +1 -1
  637. package/dist/types/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.d.ts +24 -0
  638. package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +10 -0
  639. package/dist/types/components/xpl-skeleton/skeleton.stories.d.ts +11 -1
  640. package/dist/types/components/xpl-slideout/slideout.stories.d.ts +20 -16
  641. package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +7 -1
  642. package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
  643. package/dist/types/components/xpl-tab/xpl-tab.d.ts +5 -0
  644. package/dist/types/components/xpl-table/table.stories.d.ts +16 -37
  645. package/dist/types/components/xpl-table/xpl-table.d.ts +8 -8
  646. package/dist/types/components/xpl-table-header/table-header.stories.d.ts +21 -48
  647. package/dist/types/components/xpl-table-header-cell/table-header-cell.stories.d.ts +11 -34
  648. package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +22 -0
  649. package/dist/types/components/xpl-tabs/tabs.shared.d.ts +35 -1
  650. package/dist/types/components/xpl-tabs/tabs.stories.d.ts +29 -19
  651. package/dist/types/components/xpl-tag/tag.stories.d.ts +3 -0
  652. package/dist/types/components/xpl-toast/toast.stories.d.ts +17 -13
  653. package/dist/types/components/xpl-toast/xpl-toast.d.ts +13 -4
  654. package/dist/types/components/xpl-toggle/toggle.stories.d.ts +13 -31
  655. package/dist/types/components/xpl-toolbar/toolbar.stories.d.ts +35 -0
  656. package/dist/types/components/xpl-tooltip/tooltip.stories.d.ts +10 -24
  657. package/dist/types/components/xpl-top-nav/top-nav-constants.d.ts +1 -0
  658. package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +79 -1
  659. package/dist/types/components/xpl-top-nav/xpl-top-nav-item/top-nav-item-constants.d.ts +2 -0
  660. package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +26 -4
  661. package/dist/types/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.d.ts +18 -0
  662. package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +8 -2
  663. package/dist/types/components/xpl-utility-bar/utility-bar.stories.d.ts +9 -2
  664. package/dist/types/components.d.ts +1186 -66
  665. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/story-function.d.ts +11 -0
  666. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/wait-for-hydration.d.ts +1 -0
  667. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/css/typography.stories.d.ts +76 -0
  668. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/form-bindings.d.ts +4 -0
  669. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/story-vrt.d.ts +1 -0
  670. package/dist/types/third-party.d.ts +20 -0
  671. package/dist/types/utils/floating.d.ts +26 -0
  672. package/dist/types/utils/lifecycle.d.ts +4 -1
  673. package/dist/types/utils/light-dom-slots.d.ts +6 -0
  674. package/dist/types/utils/slot-presence.d.ts +1 -0
  675. package/dist/types/utils/ssr-known-mismatches.d.ts +16 -0
  676. package/dist/utils/form-bindings.js +64 -0
  677. package/dist/utils/story-vrt.js +48 -0
  678. package/hydrate/index.d.ts +287 -0
  679. package/hydrate/index.js +51669 -0
  680. package/hydrate/index.mjs +51659 -0
  681. package/hydrate/package.json +12 -0
  682. package/package.json +111 -44
  683. package/dist/apollo-core/p-0e45f332.entry.js +0 -1
  684. package/dist/apollo-core/p-0f251f98.entry.js +0 -1
  685. package/dist/apollo-core/p-1691c4f3.entry.js +0 -1
  686. package/dist/apollo-core/p-172ac720.entry.js +0 -1
  687. package/dist/apollo-core/p-23870463.entry.js +0 -1
  688. package/dist/apollo-core/p-3b8639b7.entry.js +0 -1
  689. package/dist/apollo-core/p-44a16751.entry.js +0 -1
  690. package/dist/apollo-core/p-4efecab2.entry.js +0 -1
  691. package/dist/apollo-core/p-5094dd97.entry.js +0 -1
  692. package/dist/apollo-core/p-70e7facc.entry.js +0 -1
  693. package/dist/apollo-core/p-728341d2.entry.js +0 -1
  694. package/dist/apollo-core/p-910be81f.entry.js +0 -1
  695. package/dist/apollo-core/p-9adf3694.entry.js +0 -1
  696. package/dist/apollo-core/p-CXkZUm1c.js +0 -2
  697. package/dist/apollo-core/p-c17b6351.entry.js +0 -1
  698. package/dist/apollo-core/p-e08b434c.entry.js +0 -1
  699. package/dist/apollo-core/p-e9e7577f.entry.js +0 -1
  700. package/dist/components/p-3qMYyqTe.js +0 -1
  701. package/dist/components/p-BG0-6Xek.js +0 -1
  702. package/dist/components/p-BT_Lq3Vd.js +0 -1
  703. package/dist/components/p-BWyAzrwu.js +0 -1
  704. package/dist/components/p-B_Wi--Ov.js +0 -1
  705. package/dist/components/p-Bd6JweBt.js +0 -1
  706. package/dist/components/p-Bn-27-xj.js +0 -1
  707. package/dist/components/p-Bs6vq0C6.js +0 -1
  708. package/dist/components/p-C9BO2vL-.js +0 -1
  709. package/dist/components/p-CFW_w5Wj.js +0 -1
  710. package/dist/components/p-CFpsSZyr.js +0 -1
  711. package/dist/components/p-CGNq3DyC.js +0 -1
  712. package/dist/components/p-CVqbA9op.js +0 -1
  713. package/dist/components/p-CtIUusUL.js +0 -1
  714. package/dist/components/p-D97c0GjM.js +0 -1
  715. package/dist/components/p-DBWV65V-.js +0 -1
  716. package/dist/components/p-DEl4Rvzs.js +0 -1
  717. package/dist/components/p-DPTHmitJ.js +0 -1
  718. package/dist/components/p-DllC7F-H.js +0 -1
  719. package/dist/components/p-Ds28UyUR.js +0 -1
  720. package/dist/components/p-U5dPMCXE.js +0 -1
  721. package/dist/components/p-Yj_QFaRn.js +0 -1
  722. package/dist/components/p-hPUzON4O.js +0 -1
  723. package/dist/components/p-kPHfCq1d.js +0 -1
  724. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/css/typography.stories.d.ts +0 -90
@@ -4,6 +4,35 @@ Pagination bar allows users to navigate pages of content.
4
4
 
5
5
  > **Note:** This component is in beta. Use with caution and expect updates before the full release.
6
6
 
7
+ ## Design Tokens
8
+
9
+ Pagination themes with the app (light/dark) using Apollo Foundation tokens
10
+ (`packages/apollo-core/src/css/pagination.css`):
11
+
12
+ | Element / state | Property | Token | Resolves (light / dark) |
13
+ | --- | --- | --- | --- |
14
+ | Pager button surface | `background-color` | `--xpl-background-action-secondary-default` | neutral-0 / neutral-1000 |
15
+ | Pager button border | `border-color` | `--xpl-border-strong` | neutral-600 / neutral-400 |
16
+ | Pager arrow icon | `color` (icon) | `--xpl-icon-default` | neutral-1000 / neutral-0 |
17
+ | Pager button hover/active border | `border-color` | `--xpl-background-action-primary-default` | purple-700 / purple-300 |
18
+ | Pager button focus | `outline-color` | `--xpl-border-focus` (2px, 2px offset) | purple-800 / purple-400 |
19
+ | Pager button disabled icon | `color` (icon) | `--xpl-icon-disabled` | neutral-600 / neutral-500 |
20
+ | Pager button disabled bg | `background-color` | `--xpl-background-action-disabled` | neutral-100 / neutral-800 |
21
+ | Pager container text | `color` | `--xpl-text-default` | neutral-900 / neutral-50 |
22
+ | Rows-per-page label | `color` | `--xpl-text-default` | neutral-900 / neutral-50 |
23
+ | Rows-per-page label | `font-size` / `font-weight` / `line-height` | `@extend .xpl-text-body` (14px, normal, 1.4286) | — |
24
+ | Go-to-page value | `color` | `--xpl-text-link-default` | purple-700 / purple-300 |
25
+ | Active page background | `background-color` | `--xpl-background-brand-secondary-surface` | purple-50 / purple-900 |
26
+ | Pager button / page size | `width` / `height` | `--xpl-size-250` | 40px |
27
+ | Prev / next radius | `border-radius` | `--xpl-border-radius-full` | pill |
28
+
29
+ > **Accessibility:** keyboard focus uses the Foundation `:focus-visible` outline pattern
30
+ > (`--xpl-border-focus`, 2px outline + 2px offset) instead of a Tailwind `ring`, so the
31
+ > focus ring stays visible on the pager buttons in both themes.
32
+ >
33
+ > **Note:** the rows-per-page (72px), page-select (88px), and page-info (70px) min-widths
34
+ > have no matching Foundation size token and remain literals — see `TECH_DEBT.md`.
35
+
7
36
  <!-- Auto Generated Below -->
8
37
 
9
38
 
@@ -19,6 +19,18 @@ The radio component uses the following Apollo Foundation tokens:
19
19
  | `--xpl-border-small` | Default border width (1px) |
20
20
  | `--xpl-size-100` | Radio dimensions (16px) |
21
21
 
22
+ ### Label tokens (shared `label.css`)
23
+
24
+ The radio label and description are styled by the shared `.xpl-label` / `.xpl-description` classes.
25
+
26
+ | Token | Usage |
27
+ |-------|-------|
28
+ | `--xpl-text-strong` | Label text color (matches `.xpl-input-label`; resolves to white in dark mode) |
29
+ | `--xpl-text-disabled` | Disabled label text color |
30
+ | `--xpl-text-subdued` | Description text color (enabled and disabled) |
31
+ | `.xpl-text-body` | Label typography: `--xpl-font-size-body` (14px) / normal / 1.4286 line-height |
32
+ | `.xpl-text-callout` | Description typography: `--xpl-font-size-callout` (12px) / normal / 1.3333 line-height |
33
+
22
34
  <!-- Auto Generated Below -->
23
35
 
24
36
 
@@ -2,6 +2,31 @@
2
2
 
3
3
  The Secondary Nav component is a component that allows navigation within the content area. It yields one slot where a <ul> element with <xpl-nav-item> elements should be rendered.
4
4
 
5
+ ## Design Tokens
6
+
7
+ The secondary nav uses Apollo Foundation purpose-specific tokens, which theme automatically in light and dark mode (no `.dark` overrides).
8
+
9
+ | Element / state | Property | Token |
10
+ | --- | --- | --- |
11
+ | `nav`, `ul`, host, item | `background` | `--xpl-background-surface-default` |
12
+ | item (default) | `color` | `--xpl-text-subdued` |
13
+ | item | `font-size` | `--xpl-font-size-body` (0.875rem / 14px) |
14
+ | item | `font-weight` | `--xpl-font-weight-normal` (400) |
15
+ | item hover | `color` | `--xpl-text-strong` |
16
+ | item hover | `background` | `--xpl-background-surface-transparent-0` |
17
+ | item active | `color` | `--xpl-text-strong` |
18
+ | item active | `background` | `--xpl-background-brand-primary-surface` |
19
+ | item active | accent `border-color` | `--xpl-border-accent-brand` |
20
+ | item `:focus-visible` | `outline-color` | `--xpl-border-focus` |
21
+ | item `:focus-visible` | `z-index` (above scroll fade) | `--xpl-z-index-200` |
22
+ | item accent border | `border-width` (4px) | `calc(2 * var(--xpl-border-large))` |
23
+ | item (desktop) | `height` (48px) | `--xpl-size-300` |
24
+ | scroll fade `nav::after` | `z-index` (below focused item) | `--xpl-z-index-100` |
25
+
26
+ The horizontal-scroll fade (`nav::after`, mobile only) fills a strip with `--xpl-background-surface-default` and fades it out with an alpha-only `mask-image`, so it blends into the themed nav background in both modes. It is `pointer-events: none` and sits at `--xpl-z-index-100`, below a keyboard-focused item (`--xpl-z-index-200`), so it never intercepts taps or hides an item's `:focus-visible` ring.
27
+
28
+ **Known token gaps** (see [`TECH_DEBT.md`](../../../../../../TECH_DEBT.md)): the item `height` (52px) and desktop `width` (200px) have no matching Foundation size token; the 4px accent border and the scroll-fade gradient stops have no dedicated Foundation tokens.
29
+
5
30
  <!-- Auto Generated Below -->
6
31
 
7
32
 
@@ -8,6 +8,19 @@ The `selectIcon` property accepts icon names as strings. See [xpl-icon available
8
8
 
9
9
  ---
10
10
 
11
+ ### Design Tokens
12
+
13
+ Tokens used by this component from `@xplortech/apollo-foundation`.
14
+
15
+ **Color**
16
+ - `--xpl-icon-default` — chevron icon color
17
+ - `--xpl-text-subdued` — trigger and placeholder value color (empty state)
18
+ - `--xpl-text-default` — selected value color (`.has-value`)
19
+
20
+ The options panel surface, borders, and option states are styled by [xpl-dropdown](../xpl-dropdown) — see its Design Tokens section.
21
+
22
+ **Note:** the trigger `height` (44px) and `.xpl-input-wrapper` `min-height` (46px) are kept as literals — no `--xpl-size` token matches (250 = 40px, 300 = 48px). See `TECH_DEBT.md`.
23
+
11
24
  <!-- Auto Generated Below -->
12
25
 
13
26
 
@@ -1,11 +1,12 @@
1
1
  # xpl-side-nav
2
2
 
3
- Slot-based sidebar for app navigation: scrollable main area and a fixed footer. Compose with [`xpl-side-nav-item`](./xpl-side-nav-item) for rows in the section and footer.
3
+ Slot-based sidebar for app navigation: a scrollable `nav-header` + `section` area and a fixed footer. Compose with [`xpl-side-nav-item`](./xpl-side-nav-item) for rows in the section and footer.
4
4
 
5
5
  ## Slots
6
6
 
7
7
  | Slot | Description |
8
8
  | ---- | ----------- |
9
+ | `nav-header` | Optional header row — place an [`xpl-side-nav-header-item`](./xpl-side-nav-header-item) inside. Hidden entirely (no wrapper, no border) when the slot is empty. |
9
10
  | `section` | Primary navigation. Place `xpl-side-nav-item` elements (or wrappers) inside this slot; layout uses internal section markup. |
10
11
  | `nav-footer` | Footer actions (e.g. Help, Logout). Same item component; typically smaller label styling via CSS. |
11
12
 
@@ -15,6 +16,9 @@ Use the **`label`** prop for a unique accessible name on the `<nav>` when multip
15
16
 
16
17
  ```html
17
18
  <xpl-side-nav label="Main navigation">
19
+ <div slot="nav-header">
20
+ <xpl-side-nav-header-item type="sub-account" label="Acme Inc" icon="office-3"></xpl-side-nav-header-item>
21
+ </div>
18
22
  <div slot="section">
19
23
  <xpl-side-nav-item label="Dashboard" icon="house-4" selected></xpl-side-nav-item>
20
24
  <xpl-side-nav-item has-children label="Settings" expanded>
@@ -129,8 +133,8 @@ When multiple navigation landmarks exist on a page (e.g., side nav, top nav, bre
129
133
 
130
134
  ## Overview
131
135
 
132
- Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
133
- `nav-footer`. Compose with `xpl-side-nav-item` for rows.
136
+ Slot-based sidebar for app navigation: a scrollable `nav-header` + `section`
137
+ area and a fixed `nav-footer`. Compose with `xpl-side-nav-item` for rows.
134
138
 
135
139
  **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
136
140
  ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
@@ -192,10 +196,11 @@ Type: `Promise<void>`
192
196
 
193
197
  ## Slots
194
198
 
195
- | Slot | Description |
196
- | -------------- | ------------------------------------------------------------ |
197
- | `"nav-footer"` | Footer items (e.g. Help, Logout), separated by a top border. |
198
- | `"section"` | Primary navigation items (`xpl-side-nav-item`). |
199
+ | Slot | Description |
200
+ | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
201
+ | `"nav-footer"` | Footer items (e.g. Help, Logout), separated by a top border. |
202
+ | `"nav-header"` | Optional header row (e.g. `xpl-side-nav-header-item`), separated by a bottom border. Hidden entirely (no border, no reserved space) when empty. |
203
+ | `"section"` | Primary navigation items (`xpl-side-nav-item`). |
199
204
 
200
205
 
201
206
  ## Dependencies
@@ -0,0 +1,155 @@
1
+ # xpl-side-nav-header-item
2
+
3
+ Header row sub-component for [`xpl-side-nav`](../xpl-side-nav)'s `slot="nav-header"` (Figma navHeaderItem, node `51299-9007`).
4
+
5
+ ## Usage
6
+
7
+ ### Product label (static)
8
+
9
+ ```html
10
+ <xpl-side-nav-header-item type="product-label" label="My Product"></xpl-side-nav-header-item>
11
+ ```
12
+
13
+ ### Sub account (interactive)
14
+
15
+ ```html
16
+ <xpl-side-nav-header-item
17
+ type="sub-account"
18
+ label="Acme Inc"
19
+ icon="pin"
20
+ ></xpl-side-nav-header-item>
21
+ <script>
22
+ document
23
+ .querySelector('xpl-side-nav-header-item[type="sub-account"]')
24
+ .addEventListener('navigate', () => {
25
+ // open a location / account switcher, e.g. a modal
26
+ });
27
+ </script>
28
+ ```
29
+
30
+ ### Selected sub account
31
+
32
+ ```html
33
+ <xpl-side-nav-header-item
34
+ type="sub-account"
35
+ label="Acme Inc"
36
+ selected
37
+ ></xpl-side-nav-header-item>
38
+ ```
39
+
40
+ ### Custom trailing icon (replaces the auto chevron)
41
+
42
+ ```html
43
+ <xpl-side-nav-header-item type="sub-account" label="Xplor Growth">
44
+ <xpl-icon slot="trailing" icon="external-link" size="16" aria-hidden="true"></xpl-icon>
45
+ </xpl-side-nav-header-item>
46
+ ```
47
+
48
+ ## Rules
49
+
50
+ | Topic | Behavior |
51
+ |---|---|
52
+ | **Leading / trailing columns** | Unlike `xpl-side-nav-item`, these are **not** unconditionally reserved — they only render when there is an `icon` prop or slotted content, matching the Figma variants where the leading icon is an optional toggle. |
53
+ | **Auto chevron** | `sub-account` auto-renders `chevron-expand-y` (a static dual-arrow glyph) in the trailing column when no `slot="trailing"` content is provided. It does not rotate. |
54
+ | **`selected`** | Only meaningful on `sub-account` — wraps the label + trailing chevron in an information-surface pill. Ignored on `product-label`. |
55
+ | **Selected + leading icon** | Figma's selected variant absolute-positions the leading icon over the pill's edge (an auto-layout artifact, not a deliberate detail). This component keeps the leading icon in normal flow outside the pill for a simpler, more maintainable DOM structure. |
56
+
57
+ ## Accessibility
58
+
59
+ - `product-label` renders a plain, non-interactive `<div>` — no button semantics, since there is nothing to activate.
60
+ - `sub-account` renders a real `<button type="button">`, so Enter/Space activation and focus are native. Activation emits the `navigate` event (pointer or keyboard).
61
+ - **Selected state** — a selected `sub-account` exposes `aria-current="true"` on the button so assistive tech announces which sub-account is active (the pill is a visual-only cue). `'true'` is used rather than `'page'` because a sub-account switcher is not a page.
62
+ - **Accessible name** — the `label` supplies the button's accessible name, so a `label` is strongly recommended for `sub-account`. When `label` is omitted (icon-only), the leading icon is decorative and the auto chevron is `aria-hidden`, so the component falls back to `aria-label="Sub-account"` to guarantee the button is never unnamed. Provide a meaningful `label` for a better experience.
63
+ - The decorative auto chevron carries `aria-hidden="true"`; a custom `slot="trailing"` icon is left to the consumer to label appropriately.
64
+
65
+ ## Token reference
66
+
67
+ | Token | Usage |
68
+ |---|---|
69
+ | `--xpl-text-subdued` | `product-label` label color |
70
+ | `--xpl-text-strong` | `sub-account` label color |
71
+ | `--xpl-icon-default` | Leading / non-auto trailing icon color |
72
+ | `--xpl-icon-subtle` | Auto chevron color |
73
+ | `--xpl-background-surface-information` | Selected pill background |
74
+ | `--xpl-background-surface-transparent-10` | `sub-account` hover background |
75
+ | `--xpl-border-focus` | Focus outline color |
76
+ | `--xpl-space-4` / `--xpl-space-8` / `--xpl-space-16` | Row / pill padding and gap |
77
+ | `--xpl-size-100` / `--xpl-size-150` | Leading/trailing icon box: 16px desktop, 24px mobile |
78
+ | `--xpl-size-200` | Row `min-height` (32px) |
79
+
80
+ ## Related
81
+
82
+ - [xpl-side-nav](../xpl-side-nav) — Sidebar container.
83
+ - [xpl-side-nav-item](../xpl-side-nav-item) — Navigation row (shares the leading/trailing slot + icon-prop convention).
84
+
85
+ <!-- Auto Generated Below -->
86
+
87
+
88
+ ## Overview
89
+
90
+ Header row for `xpl-side-nav`'s `nav-header` slot (Figma `<navHeaderItem>`,
91
+ node `51299-9007`). Two types:
92
+
93
+ - **`product-label` (default)** — a non-interactive `<div>` row that shows the
94
+ current product/area name in a subdued color. No click behavior.
95
+ - **`sub-account`** — an interactive `<button>` row (e.g. a location / account
96
+ switcher). Emits `navigate` on activation (pointer click or keyboard); the
97
+ consumer wires this to open a modal or other entity-switching experience.
98
+ When no `slot="trailing"` content is provided, an auto chevron
99
+ (`chevron-expand-y`, a static dual-arrow glyph — no rotation) renders by default.
100
+
101
+ Both types support `slot="leading"` / `slot="trailing"` (the `icon` prop is a
102
+ convenience shorthand for `slot="leading"`, same as `xpl-side-nav-item`) so they
103
+ can scale to future uses. Unlike `xpl-side-nav-item`, the leading/trailing
104
+ columns are NOT unconditionally reserved — they only render when there is
105
+ content, matching the Figma variants where the leading icon is an optional toggle.
106
+
107
+ **Note on the `sub-account` hover / selected visual:** the interactive row
108
+ mirrors `xpl-side-nav-item` — the hover and selected backgrounds fill a single
109
+ `__content` pill that wraps the leading icon + label + trailing chevron, with
110
+ an 8px (`--xpl-border-radius-default`) radius. The pill insets 8px from the nav
111
+ edge (an 8px gutter on the button) so it lines up with the item rows below it,
112
+ and hover/selected therefore highlight the whole row content rather than a
113
+ partial fragment.
114
+
115
+ ## Properties
116
+
117
+ | Property | Attribute | Description | Type | Default |
118
+ | ---------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ----------------- |
119
+ | `icon` | `icon` | Optional icon name; renders as the default content for `slot="leading"`. When `slot="leading"` content is present, this prop is ignored. | `string` | `undefined` |
120
+ | `label` | `label` | The display label for the header item (e.g. the product name or sub-account name). | `string` | `undefined` |
121
+ | `selected` | `selected` | Whether the item is currently in a selected state. Only meaningful when `type` is `sub-account` — applies the information-surface pill around the label + trailing chevron. | `boolean` | `false` |
122
+ | `type` | `type` | The header item variant. `product-label` is a static, non-interactive label. `sub-account` is an interactive button that emits `navigate`. | `"product-label" \| "sub-account"` | `'product-label'` |
123
+
124
+
125
+ ## Events
126
+
127
+ | Event | Description | Type |
128
+ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
129
+ | `navigate` | Emitted when a `sub-account` item is activated (pointer click or keyboard activation of the native `<button>`). Not emitted for `product-label` (static, no interaction). | `CustomEvent<void>` |
130
+
131
+
132
+ ## Slots
133
+
134
+ | Slot | Description |
135
+ | ------------ | ----------------------------------------------------------------------------------------------------------------------------- |
136
+ | `"leading"` | Leading icon column. The `icon` prop renders an `xpl-icon` here as a shorthand when no slotted `leading` content is present. |
137
+ | `"trailing"` | Trailing content. On `sub-account`, an auto `chevron-expand-y` icon renders here when no `trailing` slot content is provided. |
138
+
139
+
140
+ ## Dependencies
141
+
142
+ ### Depends on
143
+
144
+ - [xpl-icon](../../xpl-icon)
145
+
146
+ ### Graph
147
+ ```mermaid
148
+ graph TD;
149
+ xpl-side-nav-header-item --> xpl-icon
150
+ style xpl-side-nav-header-item fill:#f9f,stroke:#333,stroke-width:4px
151
+ ```
152
+
153
+ ----------------------------------------------
154
+
155
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -15,6 +15,7 @@ Row for [`xpl-side-nav`](../xpl-side-nav): place items in `slot="section"` or `s
15
15
  | Trailing slot | Not available | `slot="trailing"` | Add to leaf items for custom trailing content |
16
16
  | Chevron position | Leading (left side) | Trailing (right side), auto-rendered for parents | No action needed for auto chevron; remove manual chevron markup if any |
17
17
  | Chevron override | Not possible | `slot="trailing"` content replaces auto chevron on parents | Pass `slot="trailing"` to customize the trailing column on a parent |
18
+ | Leaf click event | `navClick` event | `navigate` event | Rename listeners: `navClick` → `navigate` (React `onNavClick` → `onNavigate`) |
18
19
 
19
20
  ### Before / after examples
20
21
 
@@ -50,11 +51,20 @@ Row for [`xpl-side-nav`](../xpl-side-nav): place items in `slot="section"` or `s
50
51
  </xpl-side-nav-item>
51
52
  ```
52
53
 
54
+ **Leaf click event rename:**
55
+ ```js
56
+ // v1
57
+ item.addEventListener('navClick', handler);
58
+ // v2
59
+ item.addEventListener('navigate', handler);
60
+ ```
61
+ In React the prop changes from `onNavClick` to `onNavigate`.
62
+
53
63
  ---
54
64
 
55
65
  ## Modes
56
66
 
57
- - **Leaf (default)** — Button with optional `label`, `icon` prop / `slot="leading"`, and `slot="trailing"`. Click emits **`navClick`**.
67
+ - **Leaf (default)** — Button with optional `label`, `icon` prop / `slot="leading"`, and `slot="trailing"`. Activation (click or keyboard) emits **`navigate`**.
58
68
  - **Expandable (`has-children`)** — Put nested `xpl-side-nav-item` elements in the **default slot**. Row renders **leading icon** (from `icon` prop or `slot="leading"`) **+ label + auto chevron** in the trailing position (**`chevron-down`** when collapsed, **`chevron-up`** when expanded). The chevron is replaced if `slot="trailing"` content is provided. Click toggles **`expanded`** and emits **`expandedChange`**.
59
69
  - **Link (`link`)** — **Default slot only**: renders a bare `<slot>` with no inner button. Use when the row must be a real `<a>` element — for framework router components, browser right-click / open-in-new-tab behaviour, or when semantic link vs. button distinction matters for screen readers. For typical in-app navigation the default button mode is simpler. The `label` and `icon` props are ignored in link mode; supply all content in your slotted anchor. **Cannot** be combined with `has-children`.
60
70
 
@@ -65,7 +75,7 @@ Row for [`xpl-side-nav`](../xpl-side-nav): place items in `slot="section"` or `s
65
75
  | **`link` vs `has-children`** | Mutually exclusive. When **`link`** is true, **`hasChildren`** is always false; if both attributes appear in markup, `has-children` is cleared. |
66
76
  | **Leading icon** | `icon` prop / `slot="leading"` apply to all item types including parents. Nested sub-items (inside a parent) have the leading column hidden in CSS — use label only. |
67
77
  | **Trailing chevron** | Auto-rendered for `has-children` items when `slot="trailing"` is empty. Providing `slot="trailing"` content replaces the auto chevron. |
68
- | **Events** | **`navClick`** — leaf button rows. **`expandedChange`** — expandable rows only (detail = new `expanded` boolean). |
78
+ | **Events** | **`navigate`** — leaf button rows (pointer or keyboard activation). **`expandedChange`** — expandable rows only (detail = new `expanded` boolean). |
69
79
 
70
80
  ## Usage
71
81
 
@@ -224,10 +234,10 @@ anchor container (`link` mode). Three slot positions are available:
224
234
 
225
235
  ## Events
226
236
 
227
- | Event | Description | Type |
228
- | ---------------- | ------------------------------------------------------------------------------------------------------ | ---------------------- |
229
- | `expandedChange` | Emitted when the expanded state changes (`has-children` items only). Detail is the new expanded value. | `CustomEvent<boolean>` |
230
- | `navClick` | Emitted when a leaf item is clicked. Expandable parents use `expandedChange` instead. | `CustomEvent<void>` |
237
+ | Event | Description | Type |
238
+ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
239
+ | `expandedChange` | Emitted when the expanded state changes (`has-children` items only). Detail is the new expanded value. | `CustomEvent<boolean>` |
240
+ | `navigate` | Emitted when a leaf item is activated (pointer click or keyboard activation of the native `<button>`). Expandable parents use `expandedChange` instead. | `CustomEvent<void>` |
231
241
 
232
242
 
233
243
  ## Dependencies
@@ -0,0 +1,126 @@
1
+ # xpl-side-nav-section
2
+
3
+ Grouping / accordion header for [`xpl-side-nav`](../xpl-side-nav). Wraps nested `xpl-side-nav-item` (and optional divider separators) elements in the default slot and collapses them as a unit.
4
+
5
+ ## Usage
6
+
7
+ ### Collapsible (default)
8
+
9
+ ```html
10
+ <xpl-side-nav-section heading="Settings">
11
+ <xpl-side-nav-item label="Location" icon="pin"></xpl-side-nav-item>
12
+ <xpl-side-nav-item label="Schedule" icon="calendar"></xpl-side-nav-item>
13
+ </xpl-side-nav-section>
14
+ ```
15
+
16
+ ### Static (label only, `collapsible=false`)
17
+
18
+ ```html
19
+ <xpl-side-nav-section heading="Product" collapsible="false">
20
+ <xpl-side-nav-item label="Location" icon="pin"></xpl-side-nav-item>
21
+ </xpl-side-nav-section>
22
+ ```
23
+
24
+ ### With a badge (`slot="badge"`)
25
+
26
+ Compose the existing `xpl-badge` — there is no `badge` boolean prop. The wrapper is suppressed automatically when the slot is empty.
27
+
28
+ ```html
29
+ <xpl-side-nav-section heading="Updates">
30
+ <xpl-badge slot="badge" variant="purple" size="small">4</xpl-badge>
31
+ <xpl-side-nav-item label="Webhooks"></xpl-side-nav-item>
32
+ </xpl-side-nav-section>
33
+ ```
34
+
35
+ ## Rules
36
+
37
+ | Topic | Behavior |
38
+ |---|---|
39
+ | **Child indent** | Unlike `xpl-side-nav-item[has-children]`, section children are **not indented** — they align with top-level items at the same leading-icon column, and keep their own leading icon. |
40
+ | **Dividers** | Sections do **not** render their own dividers. Place an `<hr class="xpl-side-nav-divider">` as a sibling (e.g. above and below a closed section) when a visual break is needed — no dedicated component. |
41
+ | **Coordination** | Sections behave independently — there is no built-in single-open accordion coordination between sibling sections. |
42
+ | **Chevron** | Auto-rendered for collapsible sections: `chevron-right` collapsed / `chevron-down` expanded (the glyph swaps, no rotation). Not rendered when `collapsible="false"`. |
43
+
44
+ ## Accessibility
45
+
46
+ - The collapsible header is a real `<button type="button">` with `aria-expanded` (mirrors `expanded`) and `aria-controls` pointing to the children region's `id`.
47
+ - The button's accessible name comes from the visible `heading` text or `slot="badge"` content. It falls back to `aria-label="Toggle section"` only when both are absent or whitespace-only; the chevron is `aria-hidden`.
48
+ - The decorative chevron carries `aria-hidden="true"` — the button's `aria-expanded` already conveys state.
49
+ - Collapsed children are marked `inert`, removing them from the tab order (not just visually hidden) — same pattern as `xpl-side-nav-item[has-children]`.
50
+ - The static variant (`collapsible="false"`) renders a plain `<div>` header — no button semantics, since there is nothing to toggle.
51
+
52
+ ## Token reference
53
+
54
+ | Token | Usage |
55
+ |---|---|
56
+ | `--xpl-text-subdued` | Title color |
57
+ | `--xpl-icon-subtle` | Chevron color |
58
+ | `--xpl-font-weight-bold` | Title font weight (extends `.xpl-text-callout` for size/line-height) |
59
+ | `--xpl-space-8` | Title-row gap; horizontal header padding (desktop, reconciled against the parent section's own 8px padding) |
60
+ | `--xpl-space-24` / `--xpl-space-4` | Header vertical padding (closed: 24/24; expanded or static: 24/4) |
61
+ | `--xpl-size-100` / `--xpl-size-150` | Chevron box: 16px desktop, 24px mobile |
62
+ | `--xpl-size-250` | Header `min-height` (40px) |
63
+ | `--xpl-border-focus` | Focus outline color |
64
+
65
+ ## Related
66
+
67
+ - [xpl-side-nav](../xpl-side-nav) — Sidebar container (`slot="section"`, `slot="nav-footer"`).
68
+ - [xpl-side-nav-item](../xpl-side-nav-item) — Navigation row.
69
+ - `<hr class="xpl-side-nav-divider">` — Standalone separator (no dedicated component), often placed around a section.
70
+ - [xpl-badge](../../xpl-badge) — Composed via `slot="badge"`.
71
+
72
+ <!-- Auto Generated Below -->
73
+
74
+
75
+ ## Overview
76
+
77
+ Grouping / accordion header for `xpl-side-nav`. Wraps nested `xpl-side-nav-item`
78
+ (and optional divider separators) elements in the default slot and collapses
79
+ them as a unit.
80
+
81
+ Two variants:
82
+ - **Collapsible (default, `collapsible=true`)** — a `<button>` header with a
83
+ chevron (`chevron-right` collapsed / `chevron-down` expanded, no rotation —
84
+ the glyph itself swaps). Click toggles `expanded` and emits `expandedChange`.
85
+ - **Static (`collapsible=false`)** — a non-interactive title row with no chevron;
86
+ children are always shown. Used for a static section label (e.g. a future
87
+ product-name / location-changer header).
88
+
89
+ Unlike `xpl-side-nav-item[has-children]`, section children are **not indented**
90
+ — they align with top-level items at the same leading-icon column.
91
+
92
+ `slot="badge"` renders an optional badge (e.g. `xpl-badge`) in the header title
93
+ row. The wrapper is suppressed when the slot is empty.
94
+
95
+ ## Properties
96
+
97
+ | Property | Attribute | Description | Type | Default |
98
+ | ------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- |
99
+ | `collapsible` | `collapsible` | Whether the section can be collapsed/expanded. When `false`, renders a static title (no chevron, not a button) and children are always shown. | `boolean` | `true` |
100
+ | `expanded` | `expanded` | Whether the section is currently expanded. Only meaningful when `collapsible` is true. | `boolean` | `false` |
101
+ | `heading` | `heading` | The section title text. Optional, but when `collapsible` is true and both `heading` and `slot="badge"` lack an accessible name, the toggle `<button>` falls back to `aria-label="Toggle section"` so it always has an accessible name. | `string` | `undefined` |
102
+
103
+
104
+ ## Events
105
+
106
+ | Event | Description | Type |
107
+ | ---------------- | ------------------------------------------------------------------------------------------------------ | ---------------------- |
108
+ | `expandedChange` | Emitted when the expanded state changes (collapsible sections only). Detail is the new expanded value. | `CustomEvent<boolean>` |
109
+
110
+
111
+ ## Dependencies
112
+
113
+ ### Depends on
114
+
115
+ - [xpl-icon](../../xpl-icon)
116
+
117
+ ### Graph
118
+ ```mermaid
119
+ graph TD;
120
+ xpl-side-nav-section --> xpl-icon
121
+ style xpl-side-nav-section fill:#f9f,stroke:#333,stroke-width:4px
122
+ ```
123
+
124
+ ----------------------------------------------
125
+
126
+ *Built with [StencilJS](https://stenciljs.com/)*
@@ -2,6 +2,29 @@
2
2
 
3
3
  Content and Footer subcomponents are optional and can be hidden. Slideout always has a header with an X close button upper right. Slide Out Panel OPTIONALLY uses the [<xpl-backdrop>](https://apollo.xplordocs.com/?path=/story/components-backdrop--backdrop) component to overlay content and create focus on the Slide Out Panel content.
4
4
 
5
+ ## Token Use
6
+
7
+ `xpl-slideout` uses Apollo Foundation purpose-specific tokens; light and dark mode are handled by the token definitions, so the component has no `.dark` overrides.
8
+
9
+ | Element | Property | Token |
10
+ | ------- | -------- | ----- |
11
+ | `.slideout` | background | `--xpl-background-surface-default` |
12
+ | `.slideout` | shadow color | `--xpl-color-transparent-neutral-10` / `--xpl-color-transparent-neutral-5` |
13
+ | `.title` | color | `--xpl-text-default` |
14
+ | `.title` | typography (size / weight / line-height) | `@extend .xpl-text-title-3` → `title-3` / `bold` / `1.4` |
15
+ | `.subtitle` | color | `--xpl-text-subdued` |
16
+ | `.subtitle` | typography (size / weight / line-height) | `@extend .xpl-text-body` → `body` / `normal` / `1.4286` |
17
+ | `.content` | text color | `--xpl-text-default` |
18
+ | `.content.has-shadow` | scroll-overflow shadow (top/bottom only) | `--xpl-color-transparent-neutral-10` / `--xpl-color-transparent-neutral-5` |
19
+ | search `.xpl-input-wrapper` | background | `--xpl-background-surface-default` |
20
+ | search `input` | color | `--xpl-text-default` |
21
+
22
+ Panel widths are documented CSS literals: `min-width: 21.5rem`, `max-width: 37.5rem` (see `slideout.css` and `TECH_DEBT.md`).
23
+
24
+ The `.content.has-shadow` shadow is a scroll affordance applied only to the top and bottom edges (per Figma node 52462-9896) to signal that content is hidden behind the header/footer when it overflows.
25
+
26
+ > **Elevation shadow (interim):** Figma specs the panel 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`.
27
+
5
28
  <!-- Auto Generated Below -->
6
29
 
7
30
 
@@ -18,14 +18,16 @@ Underline tabs render a native **`<button role="tab">`**; segment tabs render **
18
18
 
19
19
  ## Properties
20
20
 
21
- | Property | Attribute | Description | Type | Default |
22
- | --------------- | --------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------ | ----------- |
23
- | `disabled` | `disabled` | Disables this tab (pill or underline). | `boolean` | `false` |
24
- | `groupDisabled` | `data-group-disabled` | Set when the parent `xpl-tabs` has `disabled` (group-disabled). | `boolean` | `false` |
25
- | `icon` | `icon` | Optional icon name for segment-style pills (`type="segment"` on parent `xpl-tabs`). Ignored for default tabs. | `string` | `undefined` |
26
- | `iconPosition` | `icon-position` | Icon position for segment-style pills. | `"end" \| "start"` | `'start'` |
27
- | `selected` | `selected` | Whether the tab is selected | `boolean` | `false` |
28
- | `target` | `target` | The target of the tab, required for the tab to be selected | `string` | `undefined` |
21
+ | Property | Attribute | Description | Type | Default |
22
+ | --------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- | ----------- |
23
+ | `badge` | `badge` | Optional trailing number badge (e.g. a count). Rendered after the label as a compact `xpl-badge` in both underline (`type="tabs"`) and segment (`type="segment"`) tabs. Leave empty to omit the badge. | `string` | `undefined` |
24
+ | `badgeVariant` | `badge-variant` | Color palette for the trailing number badge. Only applies when `badge` is set. Defaults to `purple` — the standard number-badge color in the Figma XPL-Tab Group spec. | `"blue" \| "gray" \| "green" \| "orange" \| "purple" \| "red" \| "yellow"` | `'purple'` |
25
+ | `disabled` | `disabled` | Disables this tab (pill or underline). | `boolean` | `false` |
26
+ | `groupDisabled` | `data-group-disabled` | Set when the parent `xpl-tabs` has `disabled` (group-disabled). | `boolean` | `false` |
27
+ | `icon` | `icon` | Optional leading icon name (from the Apollo icon set). Rendered in both underline (`type="tabs"`) and segment (`type="segment"`) tabs. | `string` | `undefined` |
28
+ | `iconPosition` | `icon-position` | Icon position relative to the label. Applies to both underline and segment tabs. | `"end" \| "start"` | `'start'` |
29
+ | `selected` | `selected` | Whether the tab is selected | `boolean` | `false` |
30
+ | `target` | `target` | The target of the tab, required for the tab to be selected | `string` | `undefined` |
29
31
 
30
32
 
31
33
  ## Events
@@ -46,12 +48,16 @@ Underline tabs render a native **`<button role="tab">`**; segment tabs render **
46
48
 
47
49
  ### Depends on
48
50
 
51
+ - [xpl-badge](../xpl-badge)
49
52
  - [xpl-button](../xpl-button)
53
+ - [xpl-icon](../xpl-icon)
50
54
 
51
55
  ### Graph
52
56
  ```mermaid
53
57
  graph TD;
58
+ xpl-tab --> xpl-badge
54
59
  xpl-tab --> xpl-button
60
+ xpl-tab --> xpl-icon
55
61
  xpl-button --> xpl-icon
56
62
  style xpl-tab fill:#f9f,stroke:#333,stroke-width:4px
57
63
  ```
@@ -22,10 +22,10 @@ Tables are used to organize and display information from a data set.
22
22
 
23
23
  ## Events
24
24
 
25
- | Event | Description | Type |
26
- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
27
- | `sortChanged` | Emits an event whenever the sort changes. The 'sortChanged' event passes an object with colNum (number), colName (string), sortTypeArr(string[]). The default action can be overridden by calling event.preventDefault(). | `CustomEvent<{ colNum: number; colName: string; sortTypeArr: string[]; }>` |
28
- | `tableSelect` | Callback function that is called when the checkbox for a row of a `multiselect` table is checked | `CustomEvent<any>` |
25
+ | Event | Description | Type |
26
+ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
27
+ | `sortChanged` | Emits an event whenever the sort changes. The 'sortChanged' event passes an object with colNum (number), colName (string), sortTypeArr(('asc' \| 'desc' \| null)[]). The default action can be overridden by calling event.preventDefault(). | `CustomEvent<{ colNum: number; colName: string; sortTypeArr: ("desc" \| "asc")[]; }>` |
28
+ | `tableSelect` | Callback function that is called when the checkbox for a row of a `multiselect` table is checked | `CustomEvent<any>` |
29
29
 
30
30
 
31
31
  ## Dependencies