@xplortech/apollo-core 2.11.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 (720) hide show
  1. package/.typings/apollo-components.html-data.json +99 -10
  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 -13345
  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} +756 -9
  152. package/dist/cjs/index-DP4JWqOH.js +456 -0
  153. package/dist/cjs/{lifecycle-Bf3QwiVa.js → lifecycle-DeSsFfQZ.js} +4 -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} +1205 -10568
  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 +16 -22
  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 +3 -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.stories.js +35 -16
  343. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +11 -5
  344. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +50 -32
  345. package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +13 -18
  346. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +96 -34
  347. package/dist/collection/components/xpl-utility-bar/utility-bar.stories.js +16 -9
  348. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  349. package/dist/collection/utils/floating.js +69 -0
  350. package/dist/collection/utils/layout-ancestors.js +7 -0
  351. package/dist/collection/utils/lifecycle.js +13 -10
  352. package/dist/collection/utils/light-dom-slots.js +15 -0
  353. package/dist/collection/utils/slot-presence.js +6 -0
  354. package/dist/collection/utils/ssr-known-mismatches.js +50 -0
  355. package/dist/collection/utils/tab-a11y-ids.js +1 -2
  356. package/dist/components/index.d.ts +4 -0
  357. package/dist/components/index.js +1 -1
  358. package/dist/components/p-1M1pu0C2.js +1 -0
  359. package/dist/components/p-2jYZ7ACH.js +1 -0
  360. package/dist/components/p-BGqQbjLl.js +1 -0
  361. package/dist/components/p-BQtbf88X.js +1 -0
  362. package/dist/components/p-BSHdGbmH.js +1 -0
  363. package/dist/components/p-BnTsRbko.js +1 -0
  364. package/dist/components/p-Bseq_BgD.js +1 -0
  365. package/dist/components/p-CCgZCY_A.js +1 -0
  366. package/dist/components/p-CJzsLWeV.js +1 -0
  367. package/dist/components/p-CRKY79vL.js +1 -0
  368. package/dist/components/p-C_PEOQWj.js +1 -0
  369. package/dist/components/p-CjbPCnPP.js +1 -0
  370. package/dist/components/p-Cjxw-qOg.js +1 -0
  371. package/dist/components/p-D6JUVA1x.js +1 -0
  372. package/dist/components/p-DFGw0APN.js +1 -0
  373. package/dist/components/p-DLLQBDCb.js +1 -0
  374. package/dist/components/p-DS2Kv5fl.js +1 -0
  375. package/dist/components/p-DWUJ_jsx.js +1 -0
  376. package/dist/components/p-Di1NDy0w.js +1 -0
  377. package/dist/components/p-DkM7jyQB.js +1 -0
  378. package/dist/components/p-DkqlawVY.js +1 -0
  379. package/dist/components/p-Dqb1pIRo.js +1 -0
  380. package/dist/components/p-DsRsm61K.js +1 -0
  381. package/dist/components/p-DywQ3S73.js +1 -0
  382. package/dist/components/p-Dzp5p-eh.js +1 -0
  383. package/dist/components/p-Mehog36m.js +1 -0
  384. package/dist/components/p-RYnBuuDE.js +1 -0
  385. package/dist/components/p-_r9-FML8.js +1 -0
  386. package/dist/components/{p-ByJRw26d.js → p-imCMp2Nl.js} +1 -1
  387. package/dist/components/xpl-accordion.js +1 -1
  388. package/dist/components/xpl-application-shell.js +1 -1
  389. package/dist/components/xpl-avatar.js +1 -1
  390. package/dist/components/xpl-backdrop.js +1 -1
  391. package/dist/components/xpl-badge.js +1 -1
  392. package/dist/components/xpl-banner.js +1 -1
  393. package/dist/components/xpl-breadcrumb-item.js +1 -1
  394. package/dist/components/xpl-breadcrumbs.js +1 -1
  395. package/dist/components/xpl-button-row.js +1 -1
  396. package/dist/components/xpl-button.js +1 -1
  397. package/dist/components/xpl-calendar.js +1 -1
  398. package/dist/components/xpl-checkbox.js +1 -1
  399. package/dist/components/xpl-choicelist.js +1 -1
  400. package/dist/components/xpl-content-area.js +1 -1
  401. package/dist/components/xpl-dashboard.js +1 -1
  402. package/dist/components/xpl-data-card.js +1 -1
  403. package/dist/components/xpl-divider.js +1 -1
  404. package/dist/components/xpl-dropdown-group.js +1 -1
  405. package/dist/components/xpl-dropdown-heading.js +1 -1
  406. package/dist/components/xpl-dropdown-option.js +1 -1
  407. package/dist/components/xpl-dropdown.js +1 -1
  408. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  409. package/dist/components/xpl-dynamic-table-row.js +1 -1
  410. package/dist/components/xpl-dynamic-table.js +1 -1
  411. package/dist/components/xpl-grid-item.js +1 -1
  412. package/dist/components/xpl-grid.js +1 -1
  413. package/dist/components/xpl-header-accordion.js +1 -1
  414. package/dist/components/xpl-icon.js +1 -1
  415. package/dist/components/xpl-input-color.js +1 -1
  416. package/dist/components/xpl-input-date.js +1 -1
  417. package/dist/components/xpl-input-file.js +1 -1
  418. package/dist/components/xpl-input-phone.js +1 -1
  419. package/dist/components/xpl-input-search.js +1 -1
  420. package/dist/components/xpl-input-time.js +1 -1
  421. package/dist/components/xpl-input.js +1 -1
  422. package/dist/components/xpl-large-card.js +1 -1
  423. package/dist/components/xpl-list-item.js +1 -1
  424. package/dist/components/xpl-list.js +1 -1
  425. package/dist/components/xpl-main-nav.js +1 -1
  426. package/dist/components/xpl-modal.js +1 -1
  427. package/dist/components/xpl-nav-header-menu.js +1 -1
  428. package/dist/components/xpl-nav-item.js +1 -1
  429. package/dist/components/xpl-pagination.js +1 -1
  430. package/dist/components/xpl-panel.js +1 -1
  431. package/dist/components/xpl-popover.js +1 -1
  432. package/dist/components/xpl-progress-bar.js +1 -1
  433. package/dist/components/xpl-progress-indicator.js +1 -1
  434. package/dist/components/xpl-radio.js +1 -1
  435. package/dist/components/xpl-secondary-nav.js +1 -1
  436. package/dist/components/xpl-select.js +1 -1
  437. package/dist/components/xpl-side-nav-header-item.d.ts +11 -0
  438. package/dist/components/xpl-side-nav-header-item.js +1 -0
  439. package/dist/components/xpl-side-nav-item.js +1 -1
  440. package/dist/components/xpl-side-nav-section.d.ts +11 -0
  441. package/dist/components/xpl-side-nav-section.js +1 -0
  442. package/dist/components/xpl-side-nav.js +1 -1
  443. package/dist/components/xpl-skeleton.js +1 -1
  444. package/dist/components/xpl-slideout.js +1 -1
  445. package/dist/components/xpl-spotlight.js +1 -1
  446. package/dist/components/xpl-tab-panel.js +1 -1
  447. package/dist/components/xpl-tab.js +1 -1
  448. package/dist/components/xpl-table-header-cell.js +1 -1
  449. package/dist/components/xpl-table-header.js +1 -1
  450. package/dist/components/xpl-table.js +1 -1
  451. package/dist/components/xpl-tabs.js +1 -1
  452. package/dist/components/xpl-tag.js +1 -1
  453. package/dist/components/xpl-toast.js +1 -1
  454. package/dist/components/xpl-toggle.js +1 -1
  455. package/dist/components/xpl-toolbar.js +1 -1
  456. package/dist/components/xpl-tooltip.js +1 -1
  457. package/dist/components/xpl-top-nav-item.js +1 -1
  458. package/dist/components/xpl-top-nav-menu.js +1 -1
  459. package/dist/components/xpl-top-nav.js +1 -1
  460. package/dist/components/xpl-utility-bar.js +1 -1
  461. package/dist/css/typography.stories.js +9 -0
  462. package/dist/docs/xpl-application-shell/readme.md +33 -0
  463. package/dist/docs/xpl-backdrop/readme.md +7 -0
  464. package/dist/docs/xpl-badge/readme.md +2 -0
  465. package/dist/docs/xpl-breadcrumbs/xpl-breadcrumbs/readme.md +9 -0
  466. package/dist/docs/xpl-button/readme.md +4 -2
  467. package/dist/docs/xpl-checkbox/readme.md +12 -0
  468. package/dist/docs/xpl-choicelist/readme.md +21 -0
  469. package/dist/docs/xpl-content-area/readme.md +8 -0
  470. package/dist/docs/xpl-data-card/readme.md +26 -0
  471. package/dist/docs/xpl-dropdown/readme.md +32 -6
  472. package/dist/docs/xpl-dynamic-table/readme.md +35 -0
  473. package/dist/docs/xpl-header-accordion/readme.md +18 -0
  474. package/dist/docs/xpl-icon/readme.md +21 -0
  475. package/dist/docs/xpl-input/xpl-input-color/readme.md +18 -0
  476. package/dist/docs/xpl-input/xpl-input-file/readme.md +13 -0
  477. package/dist/docs/xpl-input/xpl-input-time/readme.md +9 -0
  478. package/dist/docs/xpl-large-card/readme.md +18 -0
  479. package/dist/docs/xpl-list/readme.md +2 -2
  480. package/dist/docs/xpl-list/xpl-list-item/readme.md +3 -3
  481. package/dist/docs/xpl-main-nav/readme.md +16 -0
  482. package/dist/docs/xpl-modal/readme.md +20 -0
  483. package/dist/docs/xpl-nav-item/readme.md +14 -0
  484. package/dist/docs/xpl-pagination/readme.md +29 -0
  485. package/dist/docs/xpl-radio/readme.md +12 -0
  486. package/dist/docs/xpl-secondary-nav/readme.md +25 -0
  487. package/dist/docs/xpl-select/readme.md +13 -0
  488. package/dist/docs/xpl-side-nav/readme.md +12 -7
  489. package/dist/docs/xpl-side-nav/xpl-side-nav-header-item/readme.md +155 -0
  490. package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +16 -6
  491. package/dist/docs/xpl-side-nav/xpl-side-nav-section/readme.md +126 -0
  492. package/dist/docs/xpl-slideout/readme.md +23 -0
  493. package/dist/docs/xpl-tab/readme.md +14 -8
  494. package/dist/docs/xpl-table/readme.md +4 -4
  495. package/dist/docs/xpl-toast/readme.md +90 -7
  496. package/dist/docs/xpl-toggle/readme.md +46 -0
  497. package/dist/docs/xpl-toolbar/readme.md +19 -0
  498. package/dist/docs/xpl-top-nav/readme.md +2 -1
  499. package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +5 -5
  500. package/dist/docs/xpl-utility-bar/readme.md +12 -0
  501. package/dist/docs.d.ts +480 -0
  502. package/dist/docs.json +16441 -0
  503. package/dist/esm/_commonjsHelpers-BFTU3MAI.js +7 -0
  504. package/dist/esm/apollo-core.js +3 -3
  505. package/dist/esm/floating-ui.dom-1M1pu0C2.js +1702 -0
  506. package/dist/esm/index-BhYfWG18.js +454 -0
  507. package/dist/esm/{index-CXkZUm1c.js → index-ukZKsqqq.js} +756 -9
  508. package/dist/esm/{lifecycle-BUgtURvw.js → lifecycle-Dqb1pIRo.js} +4 -1
  509. package/dist/esm/light-dom-slots-DkqlawVY.js +17 -0
  510. package/dist/esm/loader.js +3 -3
  511. package/dist/esm/side-nav-slot-utils-C_PEOQWj.js +37 -0
  512. package/dist/esm/slot-presence-_r9-FML8.js +8 -0
  513. package/dist/esm/tab-a11y-ids-BQtbf88X.js +23 -0
  514. package/dist/esm/top-nav-constants-CWdQxaaX.js +3 -0
  515. package/dist/esm/xpl-accordion.entry.js +5 -3
  516. package/dist/esm/xpl-application-shell.entry.js +2 -2
  517. package/dist/esm/xpl-avatar_3.entry.js +206 -0
  518. package/dist/esm/xpl-backdrop.entry.js +17 -0
  519. package/dist/esm/xpl-badge.entry.js +35 -0
  520. package/dist/esm/xpl-banner.entry.js +72 -0
  521. package/dist/esm/xpl-breadcrumb-item.entry.js +16 -0
  522. package/dist/esm/xpl-breadcrumbs.entry.js +12 -0
  523. package/dist/esm/xpl-button-row.entry.js +2 -2
  524. package/dist/esm/xpl-button.entry.js +79 -0
  525. package/dist/esm/xpl-calendar.entry.js +10 -6
  526. package/dist/esm/xpl-checkbox.entry.js +30 -0
  527. package/dist/esm/xpl-choicelist.entry.js +66 -0
  528. package/dist/esm/xpl-content-area.entry.js +13 -0
  529. package/dist/esm/xpl-dashboard.entry.js +12 -0
  530. package/dist/esm/xpl-data-card.entry.js +109 -0
  531. package/dist/esm/xpl-dropdown_4.entry.js +572 -0
  532. package/dist/esm/xpl-dynamic-table-cell.entry.js +8 -6
  533. package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
  534. package/dist/esm/xpl-dynamic-table.entry.js +11 -18
  535. package/dist/esm/xpl-grid-item.entry.js +2 -2
  536. package/dist/esm/xpl-grid.entry.js +6 -6
  537. package/dist/esm/xpl-header-accordion.entry.js +67 -0
  538. package/dist/{cjs/xpl-avatar_54.cjs.entry.js → esm/xpl-icon.entry.js} +1202 -10622
  539. package/dist/esm/xpl-input-color.entry.js +433 -0
  540. package/dist/esm/xpl-input-phone.entry.js +507 -0
  541. package/dist/esm/xpl-input-time.entry.js +194 -0
  542. package/dist/esm/xpl-input_4.entry.js +519 -0
  543. package/dist/esm/xpl-large-card.entry.js +63 -4
  544. package/dist/esm/xpl-list-item.entry.js +458 -0
  545. package/dist/esm/xpl-list.entry.js +394 -0
  546. package/dist/esm/xpl-main-nav.entry.js +2 -2
  547. package/dist/esm/xpl-modal.entry.js +76 -0
  548. package/dist/esm/xpl-nav-header-menu.entry.js +84 -0
  549. package/dist/esm/xpl-nav-item.entry.js +23 -0
  550. package/dist/esm/xpl-pagination.entry.js +110 -0
  551. package/dist/esm/xpl-panel.entry.js +19 -0
  552. package/dist/esm/xpl-popover.entry.js +263 -0
  553. package/dist/esm/xpl-progress-bar.entry.js +39 -0
  554. package/dist/esm/xpl-progress-indicator.entry.js +72 -0
  555. package/dist/esm/xpl-secondary-nav.entry.js +12 -0
  556. package/dist/esm/xpl-select_2.entry.js +490 -0
  557. package/dist/esm/xpl-side-nav-header-item.entry.js +99 -0
  558. package/dist/esm/xpl-side-nav-item.entry.js +128 -0
  559. package/dist/esm/xpl-side-nav-section.entry.js +103 -0
  560. package/dist/esm/xpl-side-nav.entry.js +270 -0
  561. package/dist/esm/xpl-skeleton.entry.js +24 -0
  562. package/dist/esm/xpl-slideout.entry.js +45 -0
  563. package/dist/esm/xpl-spotlight.entry.js +720 -0
  564. package/dist/esm/xpl-tab-panel.entry.js +22 -0
  565. package/dist/esm/xpl-tab.entry.js +85 -0
  566. package/dist/esm/xpl-table-header-cell.entry.js +5 -3
  567. package/dist/esm/xpl-table-header.entry.js +2 -2
  568. package/dist/esm/xpl-table.entry.js +183 -0
  569. package/dist/esm/xpl-tabs.entry.js +371 -0
  570. package/dist/esm/xpl-toast.entry.js +89 -0
  571. package/dist/esm/xpl-toggle.entry.js +6 -6
  572. package/dist/esm/xpl-toolbar.entry.js +3 -3
  573. package/dist/esm/xpl-tooltip.entry.js +16 -0
  574. package/dist/esm/xpl-top-nav-item.entry.js +433 -0
  575. package/dist/esm/xpl-top-nav-menu.entry.js +15 -21
  576. package/dist/esm/xpl-top-nav.entry.js +340 -0
  577. package/dist/esm/xpl-utility-bar.entry.js +21 -0
  578. package/dist/types/components/xpl-accordion/accordion.stories.d.ts +11 -2
  579. package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +5 -23
  580. package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
  581. package/dist/types/components/xpl-avatar/avatar.stories.d.ts +17 -116
  582. package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +2 -0
  583. package/dist/types/components/xpl-badge/badge.stories.d.ts +7 -0
  584. package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +10 -27
  585. package/dist/types/components/xpl-button/button.stories.d.ts +4 -0
  586. package/dist/types/components/xpl-button-row/button-row.stories.d.ts +10 -21
  587. package/dist/types/components/xpl-calendar/calendar.stories.d.ts +11 -28
  588. package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +13 -31
  589. package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +9 -23
  590. package/dist/types/components/xpl-content-area/content-area.stories.d.ts +7 -1
  591. package/dist/types/components/xpl-dashboard/dashboard.stories.d.ts +8 -17
  592. package/dist/types/components/xpl-data-card/data-card.stories.d.ts +32 -37
  593. package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +12 -0
  594. package/dist/types/components/xpl-divider/divider.stories.d.ts +10 -23
  595. package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +160 -8
  596. package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +1 -1
  597. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +7 -9
  598. package/dist/types/components/xpl-dynamic-table/dynamic-table.stories.d.ts +7 -22
  599. package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +2 -1
  600. package/dist/types/components/xpl-grid/grid.stories.d.ts +23 -47
  601. package/dist/types/components/xpl-header-accordion/header-accordion.stories.d.ts +8 -24
  602. package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +0 -2
  603. package/dist/types/components/xpl-icon/icons.stories.d.ts +16 -39
  604. package/dist/types/components/xpl-input/input.stories.d.ts +255 -54
  605. package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +1 -1
  606. package/dist/types/components/xpl-input/xpl-input-file/xpl-input-file.d.ts +1 -1
  607. package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +2 -2
  608. package/dist/types/components/xpl-input/xpl-input-time/time-utils.d.ts +1 -1
  609. package/dist/types/components/xpl-input/xpl-input-time/xpl-input-time.d.ts +1 -1
  610. package/dist/types/components/xpl-input/xpl-input.d.ts +11 -6
  611. package/dist/types/components/xpl-large-card/large-card.stories.d.ts +12 -30
  612. package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +12 -0
  613. package/dist/types/components/xpl-list/list.stories.d.ts +33 -1
  614. package/dist/types/components/xpl-list/listitem.d.ts +5 -0
  615. package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +0 -1
  616. package/dist/types/components/xpl-main-nav/main-nav.stories.d.ts +7 -1
  617. package/dist/types/components/xpl-modal/modal.stories.d.ts +16 -16
  618. package/dist/types/components/xpl-modal/xpl-modal.d.ts +3 -1
  619. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +9 -30
  620. package/dist/types/components/xpl-panel/panel.stories.d.ts +9 -1
  621. package/dist/types/components/xpl-popover/popover.stories.d.ts +12 -3
  622. package/dist/types/components/xpl-popover/xpl-popover.d.ts +4 -2
  623. package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +13 -24
  624. package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +2 -0
  625. package/dist/types/components/xpl-radio/radio.stories.d.ts +3 -0
  626. package/dist/types/components/xpl-secondary-nav/secondary-nav.stories.d.ts +4 -1
  627. package/dist/types/components/xpl-select/select.stories.d.ts +35 -45
  628. package/dist/types/components/xpl-select/xpl-select.d.ts +1 -0
  629. package/dist/types/components/xpl-side-nav/side-nav-slot-utils.d.ts +3 -0
  630. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +73 -1
  631. package/dist/types/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.d.ts +24 -0
  632. package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +1 -1
  633. package/dist/types/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.d.ts +24 -0
  634. package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +10 -0
  635. package/dist/types/components/xpl-skeleton/skeleton.stories.d.ts +11 -1
  636. package/dist/types/components/xpl-slideout/slideout.stories.d.ts +20 -16
  637. package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +7 -1
  638. package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
  639. package/dist/types/components/xpl-tab/xpl-tab.d.ts +5 -0
  640. package/dist/types/components/xpl-table/table.stories.d.ts +16 -37
  641. package/dist/types/components/xpl-table/xpl-table.d.ts +8 -8
  642. package/dist/types/components/xpl-table-header/table-header.stories.d.ts +21 -48
  643. package/dist/types/components/xpl-table-header-cell/table-header-cell.stories.d.ts +11 -34
  644. package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +22 -0
  645. package/dist/types/components/xpl-tabs/tabs.shared.d.ts +35 -1
  646. package/dist/types/components/xpl-tabs/tabs.stories.d.ts +29 -19
  647. package/dist/types/components/xpl-tag/tag.stories.d.ts +3 -0
  648. package/dist/types/components/xpl-toast/toast.stories.d.ts +17 -13
  649. package/dist/types/components/xpl-toast/xpl-toast.d.ts +13 -4
  650. package/dist/types/components/xpl-toggle/toggle.stories.d.ts +13 -31
  651. package/dist/types/components/xpl-toolbar/toolbar.stories.d.ts +35 -0
  652. package/dist/types/components/xpl-tooltip/tooltip.stories.d.ts +10 -24
  653. package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +9 -0
  654. package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +3 -0
  655. package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +7 -2
  656. package/dist/types/components/xpl-utility-bar/utility-bar.stories.d.ts +9 -2
  657. package/dist/types/components.d.ts +1006 -46
  658. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/story-function.d.ts +11 -0
  659. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/wait-for-hydration.d.ts +1 -0
  660. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/css/typography.stories.d.ts +76 -0
  661. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/form-bindings.d.ts +4 -0
  662. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/story-vrt.d.ts +1 -0
  663. package/dist/types/third-party.d.ts +20 -0
  664. package/dist/types/utils/floating.d.ts +26 -0
  665. package/dist/types/utils/lifecycle.d.ts +1 -1
  666. package/dist/types/utils/light-dom-slots.d.ts +6 -0
  667. package/dist/types/utils/slot-presence.d.ts +1 -0
  668. package/dist/types/utils/ssr-known-mismatches.d.ts +16 -0
  669. package/dist/utils/form-bindings.js +64 -0
  670. package/dist/utils/story-vrt.js +48 -0
  671. package/hydrate/index.d.ts +287 -0
  672. package/hydrate/index.js +51669 -0
  673. package/hydrate/index.mjs +51659 -0
  674. package/hydrate/package.json +12 -0
  675. package/package.json +99 -42
  676. package/dist/apollo-core/p-048fdde0.entry.js +0 -1
  677. package/dist/apollo-core/p-0abc496e.entry.js +0 -1
  678. package/dist/apollo-core/p-1442c052.entry.js +0 -1
  679. package/dist/apollo-core/p-1e498763.entry.js +0 -1
  680. package/dist/apollo-core/p-26c3a508.entry.js +0 -1
  681. package/dist/apollo-core/p-3b8639b7.entry.js +0 -1
  682. package/dist/apollo-core/p-4ce52107.entry.js +0 -1
  683. package/dist/apollo-core/p-6710fb29.entry.js +0 -1
  684. package/dist/apollo-core/p-7e622809.entry.js +0 -1
  685. package/dist/apollo-core/p-87068144.entry.js +0 -1
  686. package/dist/apollo-core/p-BUgtURvw.js +0 -1
  687. package/dist/apollo-core/p-CXkZUm1c.js +0 -2
  688. package/dist/apollo-core/p-a3b4820a.entry.js +0 -1
  689. package/dist/apollo-core/p-b2d6dd0e.entry.js +0 -1
  690. package/dist/apollo-core/p-bd2249ef.entry.js +0 -1
  691. package/dist/apollo-core/p-c96b7957.entry.js +0 -1
  692. package/dist/apollo-core/p-d6be63cd.entry.js +0 -1
  693. package/dist/apollo-core/p-ddf76cee.entry.js +0 -1
  694. package/dist/apollo-core/p-f0554edd.entry.js +0 -1
  695. package/dist/components/p-2xGSxBGa.js +0 -1
  696. package/dist/components/p-B8RYNiz-.js +0 -1
  697. package/dist/components/p-BDWXBWGE.js +0 -1
  698. package/dist/components/p-BJqNuBZr.js +0 -1
  699. package/dist/components/p-BT_Lq3Vd.js +0 -1
  700. package/dist/components/p-BUgtURvw.js +0 -1
  701. package/dist/components/p-B_sq_SAX.js +0 -1
  702. package/dist/components/p-Bsy-VVS5.js +0 -1
  703. package/dist/components/p-BxHFEnPN.js +0 -1
  704. package/dist/components/p-C5_Yo0ZP.js +0 -1
  705. package/dist/components/p-C8rmEAx6.js +0 -1
  706. package/dist/components/p-CF_YTx16.js +0 -1
  707. package/dist/components/p-CFpsSZyr.js +0 -1
  708. package/dist/components/p-CUYkG-PB.js +0 -1
  709. package/dist/components/p-CaW0fL0P.js +0 -1
  710. package/dist/components/p-CuisR8WP.js +0 -1
  711. package/dist/components/p-D2SFagIb.js +0 -1
  712. package/dist/components/p-DKUNbsb0.js +0 -1
  713. package/dist/components/p-DcXL24UI.js +0 -1
  714. package/dist/components/p-Dp3H99Yc.js +0 -1
  715. package/dist/components/p-M900WO1C.js +0 -1
  716. package/dist/components/p-Yj_QFaRn.js +0 -1
  717. package/dist/components/p-ZTFt9sBy.js +0 -1
  718. package/dist/components/p-gfb3l9Pr.js +0 -1
  719. package/dist/components/p-h1Gbk5lO.js +0 -1
  720. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/css/typography.stories.d.ts +0 -90
@@ -5,12 +5,12 @@ export class Skeleton {
5
5
  this.size = 'custom';
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: '6d2a1a9164bb1568663b944f3f4ea66517256528', class: {
8
+ return (h(Host, { key: 'd5f7861a88adeaa570b9101e0b0ffc89d22c6fe1', class: {
9
9
  'xpl-skeleton': true,
10
10
  [`xpl-skeleton--shape-${this.shape}`]: true,
11
11
  [`xpl-skeleton--size-${this.size}`]: true,
12
- [this.classNames]: !!this.classNames,
13
- 'xpl-skeleton--full-width': this.fullWidth,
12
+ [this.classNames ?? '']: !!this.classNames,
13
+ 'xpl-skeleton--full-width': !!this.fullWidth,
14
14
  }, style: {
15
15
  width: this.width || undefined,
16
16
  height: this.height || undefined,
@@ -1,6 +1,19 @@
1
+ import { setAutoSnapshotOptions } from "vitest-plugin-vis";
2
+ import { waitForComponentsRender } from "../../../../src/utils/story-vrt";
1
3
  export default {
2
4
  title: 'Components/Slideout',
3
5
  component: 'xpl-slideout',
6
+ tags: ['vrt'],
7
+ beforeEach() {
8
+ setAutoSnapshotOptions({
9
+ enable: true,
10
+ failureThreshold: 2,
11
+ failureThresholdType: 'percent',
12
+ });
13
+ },
14
+ play: async ({ canvasElement }) => {
15
+ await waitForComponentsRender(canvasElement);
16
+ },
4
17
  argTypes: {
5
18
  isOpen: {
6
19
  control: 'boolean',
@@ -15,6 +15,9 @@ export class Slideout {
15
15
  }
16
16
  handleScroll() {
17
17
  const content = this.el.querySelector('.content');
18
+ if (!content) {
19
+ return;
20
+ }
18
21
  if (content.scrollHeight > content.clientHeight) {
19
22
  content.classList.add('has-shadow');
20
23
  }
@@ -26,7 +29,7 @@ export class Slideout {
26
29
  this.handleScroll();
27
30
  }
28
31
  render() {
29
- return (h(Host, { key: '2784d3da5b726f04552fa93289f34ff0347d3e70', class: "xpl-slideout" }, this.backdrop && this.isOpen && (h("xpl-backdrop", { key: 'b8978c6811b9d1c175bfaee2296fbcb433c048d4', onClick: this.handleClose })), h("aside", { key: '0e4357253aa004531aa86fc2f93fb1332cec089b', class: `slideout slideout--${!this.isOpen && 'closed'}` }, h("header", { key: '132170bf2c8ff6c23e6bc85bce4dc8a2aec0c5d5', class: "header" }, h("div", { key: 'a38f7f2a2da8c622a9d2ef53c370560761b87b51', class: "title" }, h("slot", { key: 'ba7b485b02bd472a4f64e067cabf5cf6ae0ad1b0', name: "title" }), h("xpl-button", { key: '9538bc33599840f7756e747c63d9717cf14a0c58', class: "close-button", "icon-only": true, size: "sm", variant: "tertiary", onClick: this.handleClose }, h("xpl-icon", { key: '6d6846794afea4053736bc67b3c0c90fb822ca96', icon: "x" }))), h("div", { key: 'da9630c9cdc8d9c3e57242c58993f5815052e684', class: "subtitle" }, h("slot", { key: 'c923c0cdae7e6f09713592e31216ec10accce39f', name: "subtitle" })), h("div", { key: 'c9fc409c7e2c14987b4df6be17d7d2c9a5906100', class: "search" }, h("slot", { key: 'b963bc05b745e55bbdc27cc4bb224af97feccdda', name: "search" }))), h("xpl-divider", { key: 'e5f9201e96ac5d6b202e3e88edfa07dacfbb3786', tier: 0, class: "divider top" }), h("article", { key: '41b424ea94bdc2577b56166f45de2b1addc3a8b4', class: "content", tabIndex: 0 }, h("slot", { key: '5d316d1981d44536af9cc5d67ef7fd20f6375ec8', name: "content" })), this.showFooter && (h("footer", { key: '3d9c2b22153b6a9057d3c40b98af97d345b9e9c1' }, h("xpl-divider", { key: '77e87834d203624cc03ff2b0cf894300c2749094', tier: 0, class: "divider bottom" }), h("div", { key: '44737714daf25a087ad2c0d8938f94ec4668b071', class: "footer" }, h("slot", { key: '2c0c7b62872fa826ef117a730c92369ba7e340f1', name: "tertiary" }), h("slot", { key: '31ac0e95189487b668b3e5c0bd8d414ab7d73f30', name: "secondary" }), h("slot", { key: 'a0dd4999caac29b546cd0526e652596937dff83b', name: "primary" })))))));
32
+ return (h(Host, { key: '9f0e122ce05688523e4bc55fbeafb584b0bacaf9', class: "xpl-slideout" }, this.backdrop && this.isOpen && (h("xpl-backdrop", { key: '62f708a14d6e45b9bed40b0d2587186543463a25', onClick: this.handleClose })), h("aside", { key: 'cb9499d3295d6cc29f2e007d12fcd80eee2bc794', class: `slideout slideout--${!this.isOpen && 'closed'}` }, h("header", { key: 'ca191a1c3387e69d4cff95d112d1bf834693316f', class: "header" }, h("div", { key: '252035d87faac31b3706a2abd4cae0fbddaaa3e8', class: "title" }, h("slot", { key: 'a5961cfd192bb02aec2ab6a522bf656487f4083e', name: "title" }), h("xpl-button", { key: 'd58b03a81b394dc6b91f86f9db5c756929796df7', class: "close-button", "icon-only": true, size: "sm", variant: "tertiary", onClick: this.handleClose }, h("xpl-icon", { key: '4ebb45aa90f5017f0651c190909eb4759a02dfaa', icon: "xmark" }))), h("div", { key: 'f67edca86dfc31bb2d69ce00f409610f5010d9a8', class: "subtitle" }, h("slot", { key: '390190ad442a301937d9733632fd9fd15416fe6a', name: "subtitle" })), h("div", { key: '8a50eae2c57ac9c1f15643758e75f821feb9c9e5', class: "search" }, h("slot", { key: '96ae8ec7a5a630d0e51510cf64c7888241bcfd9a', name: "search" }))), h("xpl-divider", { key: '467308913b114d26438b0eea2ed64642d26286c5', tier: 0, class: "divider top" }), h("article", { key: 'b0377d229795fc7371665df458765037da1178ad', class: "content", tabIndex: 0 }, h("slot", { key: 'bf4c5ee2de34e50b605465ad9f253e54be803d6d', name: "content" })), this.showFooter && (h("footer", { key: 'edf941b295e97010fd22b7077ed15f5ca409fe5d' }, h("xpl-divider", { key: '57d7514ae797fc4e309fcc3966abfea992f6aecb', tier: 0, class: "divider bottom" }), h("div", { key: 'df72450ab64fcc163edbbf5514c88b4e17496e51', class: "footer" }, h("slot", { key: '2cbb005039f013fdcf76304c470a5dbdfca58d19', name: "tertiary" }), h("slot", { key: '97270ca76edd0d27970f6358b78e834b8140a715', name: "secondary" }), h("slot", { key: 'c742e527e1ff5878f6d0fcfeb23b2c32c409e260', name: "primary" })))))));
30
33
  }
31
34
  static get is() { return "xpl-slideout"; }
32
35
  static get properties() {
@@ -1,12 +1,13 @@
1
+ import { setAutoSnapshotOptions } from "vitest-plugin-vis";
2
+ import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
1
3
  const escapeHtmlAttribute = (value) => value
2
4
  .replace(/&/g, '&')
3
5
  .replace(/"/g, '"')
4
6
  .replace(/'/g, ''')
5
7
  .replace(/</g, '&lt;')
6
8
  .replace(/>/g, '&gt;');
7
- const optionalAttr = (name, value) => (value === null || value === void 0 ? void 0 : value.trim()) ? ` ${name}="${escapeHtmlAttribute(value)}"` : '';
9
+ const optionalAttr = (name, value) => value?.trim() ? ` ${name}="${escapeHtmlAttribute(value)}"` : '';
8
10
  const renderWebComponent = (args) => {
9
- var _a, _b, _c;
10
11
  const attrs = [
11
12
  args.actionLayout ? `action-layout="${args.actionLayout}"` : '',
12
13
  args.anchorPosition ? `anchor-position="${args.anchorPosition}"` : '',
@@ -23,9 +24,9 @@ const renderWebComponent = (args) => {
23
24
  args.showImage != null ? `show-image="${args.showImage}"` : '',
24
25
  args.showSteps != null ? `show-steps="${args.showSteps}"` : '',
25
26
  args.totalSteps != null ? `total-steps="${args.totalSteps}"` : '',
26
- ((_a = args.heading) === null || _a === void 0 ? void 0 : _a.trim()) ? `heading="${escapeHtmlAttribute(args.heading)}"` : '',
27
- ((_b = args.body) === null || _b === void 0 ? void 0 : _b.trim()) ? `body="${escapeHtmlAttribute(args.body)}"` : '',
28
- ((_c = args.target) === null || _c === void 0 ? void 0 : _c.trim()) ? `target="${escapeHtmlAttribute(args.target)}"` : '',
27
+ args.heading?.trim() ? `heading="${escapeHtmlAttribute(args.heading)}"` : '',
28
+ args.body?.trim() ? `body="${escapeHtmlAttribute(args.body)}"` : '',
29
+ args.target?.trim() ? `target="${escapeHtmlAttribute(args.target)}"` : '',
29
30
  ]
30
31
  .filter(Boolean)
31
32
  .join('\n ');
@@ -34,16 +35,15 @@ const renderWebComponent = (args) => {
34
35
  ></xpl-spotlight>`;
35
36
  };
36
37
  const renderHtml = (args) => {
37
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
38
- const anchorPos = (_a = args.anchorPosition) !== null && _a !== void 0 ? _a : 'top-left';
39
- const actionLayout = (_b = args.actionLayout) !== null && _b !== void 0 ? _b : 'default';
38
+ const anchorPos = args.anchorPosition ?? 'top-left';
39
+ const actionLayout = args.actionLayout ?? 'default';
40
40
  const showImage = args.showImage !== false;
41
41
  const showActions = args.showActions !== false;
42
42
  const showSteps = args.showSteps !== false;
43
43
  const isDismissible = args.isDismissible !== false;
44
44
  const isSingle = actionLayout === 'single';
45
- const currentStep = (_c = args.currentStep) !== null && _c !== void 0 ? _c : 1;
46
- const totalSteps = (_d = args.totalSteps) !== null && _d !== void 0 ? _d : 1;
45
+ const currentStep = args.currentStep ?? 1;
46
+ const totalSteps = args.totalSteps ?? 1;
47
47
  const dismissHtml = isDismissible
48
48
  ? `
49
49
  <div class="xpl-spotlight__dismiss">
@@ -61,18 +61,18 @@ const renderHtml = (args) => {
61
61
  </div>
62
62
  </div>`
63
63
  : '';
64
- const headingHtml = ((_e = args.heading) === null || _e === void 0 ? void 0 : _e.trim())
64
+ const headingHtml = args.heading?.trim()
65
65
  ? `
66
66
  <span class="xpl-spotlight__title">${escapeHtmlAttribute(args.heading)}</span>`
67
67
  : '';
68
- const bodyHtml = ((_f = args.body) === null || _f === void 0 ? void 0 : _f.trim())
68
+ const bodyHtml = args.body?.trim()
69
69
  ? `
70
70
  <p class="xpl-spotlight__body">${escapeHtmlAttribute(args.body)}</p>`
71
71
  : '';
72
72
  const secondaryBtn = !isSingle
73
73
  ? `
74
74
  <button type="button" class="xpl-button xpl-button--secondary xpl-button--default">
75
- ${escapeHtmlAttribute((_g = args.secondaryActionLabel) !== null && _g !== void 0 ? _g : 'Back')}
75
+ ${escapeHtmlAttribute(args.secondaryActionLabel ?? 'Back')}
76
76
  </button>`
77
77
  : '';
78
78
  const stepLabel = showSteps && !isSingle
@@ -81,7 +81,7 @@ const renderHtml = (args) => {
81
81
  : '';
82
82
  const primaryBtn = `
83
83
  <button type="button" class="xpl-button xpl-button--primary xpl-button--default">
84
- ${escapeHtmlAttribute((_h = args.primaryActionLabel) !== null && _h !== void 0 ? _h : 'Next')}
84
+ ${escapeHtmlAttribute(args.primaryActionLabel ?? 'Next')}
85
85
  </button>`;
86
86
  const actionsHtml = showActions
87
87
  ? `
@@ -92,7 +92,7 @@ const renderHtml = (args) => {
92
92
  </div>
93
93
  </div>`
94
94
  : '';
95
- const ariaLabel = ((_j = args.heading) === null || _j === void 0 ? void 0 : _j.trim()) ? '' : ' aria-label="Tour step"';
95
+ const ariaLabel = args.heading?.trim() ? '' : ' aria-label="Tour step"';
96
96
  return `<div class="xpl-spotlight xpl-spotlight--${anchorPos}${showActions ? ` xpl-spotlight--action-layout-${actionLayout}` : ''}${!showImage ? ' xpl-spotlight--no-image' : ''} xpl-spotlight--visible"
97
97
  role="dialog" aria-modal="false"${ariaLabel} tabindex="-1">${dismissHtml}
98
98
  <button type="button" class="xpl-spotlight__target" aria-label="Spotlight indicator">
@@ -208,6 +208,13 @@ Spotlight.args = {
208
208
  target: '',
209
209
  totalSteps: 5,
210
210
  };
211
+ Spotlight.tags = ['vrt'];
212
+ Spotlight.beforeEach = () => {
213
+ setAutoSnapshotOptions({ enable: true });
214
+ };
215
+ Spotlight.play = async ({ canvasElement }) => {
216
+ await waitForHydration(canvasElement);
217
+ };
211
218
  Spotlight.parameters = {
212
219
  layout: 'padded',
213
220
  docs: {
@@ -1,12 +1,12 @@
1
1
  import { Host, forceUpdate, h, } from "@stencil/core";
2
+ import { isBrowser } from "../../utils/lifecycle";
2
3
  import { autoUpdate, computePosition, flip, offset, shift } from "@floating-ui/dom";
3
4
  const SPOTLIGHT_FOCUS_BUTTON_SELECTOR = '.xpl-spotlight__dismiss button, .xpl-spotlight__actions button';
4
5
  const SPOTLIGHT_FOCUS_FALLBACK_MAX_TICKS = 120;
5
6
  const SPOTLIGHT_FOCUS_OBSERVER_MAX_MS = 2500;
6
7
  function waitForSpotlightFocusButtonWithoutMutationObserver(root, options) {
7
8
  return new Promise((resolve) => {
8
- var _a, _b;
9
- if ((_a = options === null || options === void 0 ? void 0 : options.signal) === null || _a === void 0 ? void 0 : _a.aborted) {
9
+ if (options?.signal?.aborted) {
10
10
  resolve(null);
11
11
  return;
12
12
  }
@@ -23,7 +23,7 @@ function waitForSpotlightFocusButtonWithoutMutationObserver(root, options) {
23
23
  resolve(value);
24
24
  };
25
25
  const onAbort = () => finish(null);
26
- (_b = options === null || options === void 0 ? void 0 : options.signal) === null || _b === void 0 ? void 0 : _b.addEventListener('abort', onAbort, { once: true });
26
+ options?.signal?.addEventListener('abort', onAbort, { once: true });
27
27
  const schedule = (fn) => {
28
28
  if (typeof requestAnimationFrame !== 'undefined') {
29
29
  rafId = requestAnimationFrame(() => {
@@ -39,20 +39,19 @@ function waitForSpotlightFocusButtonWithoutMutationObserver(root, options) {
39
39
  }
40
40
  };
41
41
  const tick = () => {
42
- var _a, _b, _c;
43
- if ((_a = options === null || options === void 0 ? void 0 : options.signal) === null || _a === void 0 ? void 0 : _a.aborted) {
42
+ if (options?.signal?.aborted) {
44
43
  finish(null);
45
44
  return;
46
45
  }
47
46
  const el = root.querySelector(SPOTLIGHT_FOCUS_BUTTON_SELECTOR);
48
47
  if (el) {
49
- (_b = options === null || options === void 0 ? void 0 : options.signal) === null || _b === void 0 ? void 0 : _b.removeEventListener('abort', onAbort);
48
+ options?.signal?.removeEventListener('abort', onAbort);
50
49
  finish(el);
51
50
  return;
52
51
  }
53
52
  ticks += 1;
54
53
  if (ticks >= SPOTLIGHT_FOCUS_FALLBACK_MAX_TICKS) {
55
- (_c = options === null || options === void 0 ? void 0 : options.signal) === null || _c === void 0 ? void 0 : _c.removeEventListener('abort', onAbort);
54
+ options?.signal?.removeEventListener('abort', onAbort);
56
55
  finish(null);
57
56
  return;
58
57
  }
@@ -62,19 +61,17 @@ function waitForSpotlightFocusButtonWithoutMutationObserver(root, options) {
62
61
  });
63
62
  }
64
63
  function waitForSpotlightFocusButton(root, options) {
65
- var _a;
66
64
  const existing = root.querySelector(SPOTLIGHT_FOCUS_BUTTON_SELECTOR);
67
65
  if (existing) {
68
66
  return Promise.resolve(existing);
69
67
  }
70
- if ((_a = options === null || options === void 0 ? void 0 : options.signal) === null || _a === void 0 ? void 0 : _a.aborted) {
68
+ if (options?.signal?.aborted) {
71
69
  return Promise.resolve(null);
72
70
  }
73
71
  if (typeof MutationObserver === 'undefined') {
74
72
  return waitForSpotlightFocusButtonWithoutMutationObserver(root, options);
75
73
  }
76
74
  return new Promise((resolve) => {
77
- var _a;
78
75
  let settled = false;
79
76
  let timeoutId;
80
77
  let observer;
@@ -100,7 +97,7 @@ function waitForSpotlightFocusButton(root, options) {
100
97
  subtree: true,
101
98
  });
102
99
  timeoutId = setTimeout(() => finish(null), SPOTLIGHT_FOCUS_OBSERVER_MAX_MS);
103
- (_a = options === null || options === void 0 ? void 0 : options.signal) === null || _a === void 0 ? void 0 : _a.addEventListener('abort', () => {
100
+ options?.signal?.addEventListener('abort', () => {
104
101
  finish(null);
105
102
  }, { once: true });
106
103
  });
@@ -202,7 +199,9 @@ export class Spotlight {
202
199
  this.syncTitleSlotIds();
203
200
  };
204
201
  this.updatePosition = async (referenceEl) => {
205
- var _a, _b, _c, _d, _e, _f;
202
+ if (!isBrowser()) {
203
+ return;
204
+ }
206
205
  const generation = this.positioningGeneration;
207
206
  try {
208
207
  const initialPlacement = ANCHOR_TO_PLACEMENT[this.anchorPosition];
@@ -220,18 +219,19 @@ export class Spotlight {
220
219
  }
221
220
  this.el.style.left = `${x}px`;
222
221
  this.el.style.top = `${y}px`;
223
- const shiftX = (_b = (_a = middlewareData.shift) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0;
224
- const shiftY = (_d = (_c = middlewareData.shift) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0;
222
+ const shiftX = middlewareData.shift?.x ?? 0;
223
+ const shiftY = middlewareData.shift?.y ?? 0;
225
224
  this.el.style.setProperty('--xpl-spotlight-shift-x', `${-shiftX}px`);
226
225
  this.el.style.setProperty('--xpl-spotlight-shift-y', `${-shiftY}px`);
227
226
  this.hasFloatingPosition = true;
228
- const corner = (_e = PLACEMENT_TO_CORNER[placement]) !== null && _e !== void 0 ? _e : PLACEMENT_TO_CORNER[(_f = placement.split('-')[0]) !== null && _f !== void 0 ? _f : ''];
229
- this.resolvedAnchorPosition = corner !== null && corner !== void 0 ? corner : this.anchorPosition;
227
+ const corner = PLACEMENT_TO_CORNER[placement] ??
228
+ PLACEMENT_TO_CORNER[placement.split('-')[0] ?? ''];
229
+ this.resolvedAnchorPosition = corner ?? this.anchorPosition;
230
230
  if (this.pendingEnterTransitionAfterAnchor) {
231
231
  this.scheduleEnterTransition();
232
232
  }
233
233
  }
234
- catch (_g) {
234
+ catch {
235
235
  if (generation !== this.positioningGeneration) {
236
236
  return;
237
237
  }
@@ -256,8 +256,7 @@ export class Spotlight {
256
256
  }
257
257
  onIsOpenChange(isOpen) {
258
258
  if (Spotlight.coerceBoolean(isOpen)) {
259
- this.previousFocus =
260
- document.activeElement instanceof HTMLElement ? document.activeElement : null;
259
+ this.capturePreviousFocus();
261
260
  this.shouldMoveFocusOnRender = true;
262
261
  this.isVisible = false;
263
262
  this.refreshBodySlotState();
@@ -305,8 +304,7 @@ export class Spotlight {
305
304
  this.isVisible = false;
306
305
  return;
307
306
  }
308
- this.previousFocus =
309
- document.activeElement instanceof HTMLElement ? document.activeElement : null;
307
+ this.capturePreviousFocus();
310
308
  this.shouldMoveFocusOnRender = true;
311
309
  this.scheduleEnterTransition();
312
310
  if (this.pendingEnterVisible) {
@@ -328,12 +326,8 @@ export class Spotlight {
328
326
  this.hasImageSlotContent = this.hasSlottedContent('image');
329
327
  this.hasTitleSlotContent = this.hasSlottedContent('title');
330
328
  this.dialogLabelId = this.getDialogLabelId();
331
- if (this.isOpenEnabled) {
332
- this.previousFocus =
333
- document.activeElement instanceof HTMLElement ? document.activeElement : null;
334
- if (!this.target) {
335
- this.pendingEnterVisible = true;
336
- }
329
+ if (this.isOpenEnabled && !this.target) {
330
+ this.pendingEnterVisible = true;
337
331
  }
338
332
  this.shouldMoveFocusOnRender = this.isOpenEnabled;
339
333
  }
@@ -375,6 +369,7 @@ export class Spotlight {
375
369
  return;
376
370
  }
377
371
  this.shouldMoveFocusOnRender = false;
372
+ this.capturePreviousFocus();
378
373
  this.focusInitial();
379
374
  }
380
375
  handleKeyDown(ev) {
@@ -452,16 +447,13 @@ export class Spotlight {
452
447
  return Spotlight.coerceBoolean(this.showSteps);
453
448
  }
454
449
  get headingPropHasText() {
455
- var _a;
456
- return Boolean((_a = this.heading) === null || _a === void 0 ? void 0 : _a.trim());
450
+ return Boolean(this.heading?.trim());
457
451
  }
458
452
  get bodyPropHasText() {
459
- var _a;
460
- return Boolean((_a = this.body) === null || _a === void 0 ? void 0 : _a.trim());
453
+ return Boolean(this.body?.trim());
461
454
  }
462
455
  async focusInitial() {
463
- var _a;
464
- (_a = this.focusAbort) === null || _a === void 0 ? void 0 : _a.abort();
456
+ this.focusAbort?.abort();
465
457
  this.focusAbort = new AbortController();
466
458
  if (!this.hasRenderableFocusChrome && this.isOpenEnabled) {
467
459
  this.focusFrameId = requestAnimationFrame(() => {
@@ -490,15 +482,20 @@ export class Spotlight {
490
482
  const { activeElement } = document;
491
483
  return (Boolean(activeElement) && (activeElement === this.el || this.el.contains(activeElement)));
492
484
  }
485
+ capturePreviousFocus() {
486
+ if (!isBrowser()) {
487
+ return;
488
+ }
489
+ this.previousFocus =
490
+ document.activeElement instanceof HTMLElement ? document.activeElement : null;
491
+ }
493
492
  restoreFocus() {
494
- var _a;
495
- if ((_a = this.previousFocus) === null || _a === void 0 ? void 0 : _a.isConnected) {
493
+ if (this.previousFocus?.isConnected) {
496
494
  this.previousFocus.focus();
497
495
  }
498
496
  }
499
497
  cancelPendingFocusWait() {
500
- var _a;
501
- (_a = this.focusAbort) === null || _a === void 0 ? void 0 : _a.abort();
498
+ this.focusAbort?.abort();
502
499
  if (this.focusFrameId != null) {
503
500
  cancelAnimationFrame(this.focusFrameId);
504
501
  this.focusFrameId = null;
@@ -513,7 +510,7 @@ export class Spotlight {
513
510
  }
514
511
  scheduleEnterTransition(options) {
515
512
  this.cancelEnterTransition();
516
- const shouldDeferUntilAnchored = !(options === null || options === void 0 ? void 0 : options.skipAnchorWait) &&
513
+ const shouldDeferUntilAnchored = !options?.skipAnchorWait &&
517
514
  Boolean(this.target && this.referenceEl) &&
518
515
  !this.hasFloatingPosition;
519
516
  if (shouldDeferUntilAnchored) {
@@ -524,7 +521,6 @@ export class Spotlight {
524
521
  this.pendingEnterVisible = true;
525
522
  }
526
523
  getFirstTitleSlottedElement() {
527
- var _a;
528
524
  const fromHost = Array.from(this.el.children).find((node) => node.nodeType === Node.ELEMENT_NODE && node.getAttribute('slot') === 'title');
529
525
  if (fromHost) {
530
526
  return fromHost;
@@ -536,12 +532,12 @@ export class Spotlight {
536
532
  return assigned;
537
533
  }
538
534
  }
539
- return (_a = this.el.querySelector('[slot="title"]')) !== null && _a !== void 0 ? _a : null;
535
+ return this.el.querySelector('[slot="title"]') ?? null;
540
536
  }
541
537
  getDialogLabelId() {
542
538
  if (this.hasTitleSlotContent) {
543
539
  const first = this.getFirstTitleSlottedElement();
544
- if (first === null || first === void 0 ? void 0 : first.id) {
540
+ if (first?.id) {
545
541
  return first.id;
546
542
  }
547
543
  return this.headingId;
@@ -592,8 +588,7 @@ export class Spotlight {
592
588
  });
593
589
  }
594
590
  stopSlotContentObserver() {
595
- var _a;
596
- (_a = this.slotContentObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
591
+ this.slotContentObserver?.disconnect();
597
592
  this.slotContentObserver = null;
598
593
  }
599
594
  hasSlottedContent(slotName) {
@@ -603,15 +598,15 @@ export class Spotlight {
603
598
  const hasAssigned = slot
604
599
  ? slot
605
600
  .assignedNodes({ flatten: true })
606
- .some((n) => {
607
- var _a;
608
- return n.nodeType === Node.ELEMENT_NODE ||
609
- (n.nodeType === Node.TEXT_NODE && ((_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim()));
610
- })
601
+ .some((n) => n.nodeType === Node.ELEMENT_NODE ||
602
+ (n.nodeType === Node.TEXT_NODE && n.textContent?.trim()))
611
603
  : false;
612
604
  return Boolean(fromQuery || fromHostChildren) || hasAssigned;
613
605
  }
614
606
  startPositioning() {
607
+ if (!isBrowser()) {
608
+ return;
609
+ }
615
610
  if (!this.target) {
616
611
  return;
617
612
  }
@@ -619,7 +614,7 @@ export class Spotlight {
619
614
  try {
620
615
  el = this.el.ownerDocument.querySelector(this.target);
621
616
  }
622
- catch (_a) {
617
+ catch {
623
618
  this.stopPositioning();
624
619
  this.resolvedAnchorPosition = this.anchorPosition;
625
620
  return;
@@ -2,6 +2,7 @@ import { Host, h } from "@stencil/core";
2
2
  import { getTabGroupInstanceId, tabPanelDomId, tabTriggerId, } from "../../utils/tab-a11y-ids";
3
3
  export class Tab {
4
4
  constructor() {
5
+ this.badgeVariant = 'purple';
5
6
  this.disabled = false;
6
7
  this.fullWidth = false;
7
8
  this.groupDisabled = false;
@@ -29,12 +30,11 @@ export class Tab {
29
30
  }
30
31
  async focusTrigger() {
31
32
  const btn = await this.getFocusableElement();
32
- btn === null || btn === void 0 ? void 0 : btn.focus();
33
+ btn?.focus();
33
34
  }
34
35
  get a11yIds() {
35
- var _a;
36
36
  const groupId = getTabGroupInstanceId(this.el);
37
- const t = (_a = this.target) !== null && _a !== void 0 ? _a : '';
37
+ const t = this.target ?? '';
38
38
  return {
39
39
  panelId: tabPanelDomId(groupId, t),
40
40
  triggerId: tabTriggerId(groupId, t),
@@ -46,8 +46,16 @@ export class Tab {
46
46
  get isSegment() {
47
47
  return this.variant === 'segment';
48
48
  }
49
+ get hasBadge() {
50
+ return this.badge != null && this.badge.length > 0;
51
+ }
52
+ renderBadge() {
53
+ if (!this.hasBadge) {
54
+ return null;
55
+ }
56
+ return (h("xpl-badge", { class: "xpl-tab__badge", dotOnly: true, variant: this.badgeVariant }, this.badge));
57
+ }
49
58
  render() {
50
- var _a;
51
59
  const segment = this.isSegment;
52
60
  const { panelId, triggerId } = this.a11yIds;
53
61
  const ariaSelected = this.selected ? 'true' : 'false';
@@ -63,13 +71,60 @@ export class Tab {
63
71
  role: 'tab',
64
72
  'aria-controls': panelId,
65
73
  'aria-selected': ariaSelected,
66
- }, disabled: this.effectivelyDisabled, fullWidth: this.fullWidth, icon: (_a = this.icon) !== null && _a !== void 0 ? _a : '', iconPosition: this.iconPosition, onClick: this.handleTabClick, size: "sm", type: "button", variant: this.selected ? 'primary' : 'tertiary' }, h("slot", null))));
74
+ }, disabled: this.effectivelyDisabled, fullWidth: this.fullWidth, icon: this.icon ?? '', iconPosition: this.iconPosition, onClick: this.handleTabClick, size: "sm", type: "button", variant: this.selected ? 'primary' : 'tertiary' }, h("slot", null), this.renderBadge())));
67
75
  }
68
- return (h(Host, { class: hostClass }, h("button", { "aria-controls": panelId, "aria-selected": ariaSelected, class: "xpl-tab__button", disabled: this.effectivelyDisabled, id: triggerId, onClick: this.handleTabClick, role: "tab", type: "button" }, h("slot", null))));
76
+ const iconEl = this.icon ? (h("xpl-icon", { class: "xpl-tab__icon", icon: this.icon, size: 16 })) : null;
77
+ return (h(Host, { class: hostClass }, h("button", { "aria-controls": panelId, "aria-selected": ariaSelected, class: "xpl-tab__button", disabled: this.effectivelyDisabled, id: triggerId, onClick: this.handleTabClick, role: "tab", type: "button" }, this.iconPosition === 'start' ? iconEl : null, h("slot", null), this.iconPosition === 'end' ? iconEl : null, this.renderBadge())));
69
78
  }
70
79
  static get is() { return "xpl-tab"; }
71
80
  static get properties() {
72
81
  return {
82
+ "badge": {
83
+ "type": "string",
84
+ "mutable": false,
85
+ "complexType": {
86
+ "original": "string",
87
+ "resolved": "string",
88
+ "references": {}
89
+ },
90
+ "required": false,
91
+ "optional": true,
92
+ "docs": {
93
+ "tags": [],
94
+ "text": "Optional trailing number badge (e.g. a count). Rendered after the label as a compact\n`xpl-badge` in both underline (`type=\"tabs\"`) and segment (`type=\"segment\"`) tabs.\nLeave empty to omit the badge."
95
+ },
96
+ "getter": false,
97
+ "setter": false,
98
+ "reflect": true,
99
+ "attribute": "badge"
100
+ },
101
+ "badgeVariant": {
102
+ "type": "string",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "BadgePalette",
106
+ "resolved": "\"blue\" | \"gray\" | \"green\" | \"orange\" | \"purple\" | \"red\" | \"yellow\"",
107
+ "references": {
108
+ "BadgePalette": {
109
+ "location": "import",
110
+ "path": "../xpl-badge/xpl-badge",
111
+ "id": "src/components/components/xpl-badge/xpl-badge.tsx::BadgePalette",
112
+ "referenceLocation": "BadgePalette"
113
+ }
114
+ }
115
+ },
116
+ "required": false,
117
+ "optional": false,
118
+ "docs": {
119
+ "tags": [],
120
+ "text": "Color palette for the trailing number badge. Only applies when `badge` is set.\nDefaults to `purple` \u2014 the standard number-badge color in the Figma XPL-Tab Group spec."
121
+ },
122
+ "getter": false,
123
+ "setter": false,
124
+ "reflect": false,
125
+ "attribute": "badge-variant",
126
+ "defaultValue": "'purple'"
127
+ },
73
128
  "disabled": {
74
129
  "type": "boolean",
75
130
  "mutable": false,
@@ -145,7 +200,7 @@ export class Tab {
145
200
  "optional": true,
146
201
  "docs": {
147
202
  "tags": [],
148
- "text": "Optional icon name for segment-style pills (`type=\"segment\"` on parent `xpl-tabs`). Ignored for default tabs."
203
+ "text": "Optional leading icon name (from the Apollo icon set). Rendered in both underline\n(`type=\"tabs\"`) and segment (`type=\"segment\"`) tabs."
149
204
  },
150
205
  "getter": false,
151
206
  "setter": false,
@@ -164,7 +219,7 @@ export class Tab {
164
219
  "optional": false,
165
220
  "docs": {
166
221
  "tags": [],
167
- "text": "Icon position for segment-style pills."
222
+ "text": "Icon position relative to the label. Applies to both underline and segment tabs."
168
223
  },
169
224
  "getter": false,
170
225
  "setter": false,
@@ -5,15 +5,14 @@ export class TabPanel {
5
5
  this.selected = false;
6
6
  }
7
7
  render() {
8
- var _a;
9
8
  const groupId = getTabGroupInstanceId(this.el);
10
- const t = (_a = this.target) !== null && _a !== void 0 ? _a : '';
9
+ const t = this.target ?? '';
11
10
  const panelId = tabPanelDomId(groupId, t);
12
11
  const labelledBy = tabTriggerId(groupId, t);
13
- return (h(Host, { key: 'd1d6b910b84ee0aa483d605d10aaabf662d2efcf', "aria-labelledby": labelledBy, class: {
12
+ return (h(Host, { key: '89c4bb26274f9cd2f317e308d58b03ee48d80ac8', "aria-labelledby": labelledBy, class: {
14
13
  'xpl-tab-panel': true,
15
14
  'xpl-tab-panel--selected': this.selected,
16
- }, id: panelId, role: "tabpanel" }, h("slot", { key: '1fe282e7372fb0353cf1c32db841269aaa3c44a9' })));
15
+ }, id: panelId, role: "tabpanel" }, h("slot", { key: '2d8ccc1f14e7415528bbb09fa9ed174e5cea8e00' })));
17
16
  }
18
17
  static get is() { return "xpl-tab-panel"; }
19
18
  static get properties() {
@@ -1,5 +1,14 @@
1
1
  import { v4 as uuid } from "uuid";
2
+ import { setAutoSnapshotOptions } from "vitest-plugin-vis";
3
+ import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
2
4
  export default {
5
+ tags: ['vrt'],
6
+ beforeEach() {
7
+ setAutoSnapshotOptions({ enable: true });
8
+ },
9
+ async play({ canvasElement }) {
10
+ await waitForHydration(canvasElement);
11
+ },
3
12
  title: 'Components/Table',
4
13
  argTypes: {
5
14
  freeze: { control: { type: 'boolean' } },
@@ -41,7 +50,7 @@ const selectedValuesDefault = [
41
50
  ];
42
51
  const sortableColumnsDefault = [false, false, false, false, false, false];
43
52
  const footerDefault = [['Total', '676.5', '159.75', 'All Seasons', '26', '106']];
44
- const script = ({ columns, data, footer, id, selectedValues, isSortable, sortableColumns }) => `
53
+ const script = ({ columns, data, footer, id, selectedValues, isSortable, sortableColumns, }) => `
45
54
  (function() {
46
55
  const table = document.getElementById("${id}");
47
56
  table.columns = ${JSON.stringify(columns)};
@@ -68,7 +77,7 @@ export const Table = ({ columns, data, footer, freeze, multiselect, selectedValu
68
77
  <xpl-table id="${id}"${attrs}></xpl-table>
69
78
  </div>
70
79
  <script>
71
- ${script({ id, columns, data, footer, selectedValues, sortableColumns, isSortable })}
80
+ ${script({ id, columns, data, footer, selectedValues, sortableColumns, isSortable, freeze, multiselect, striped })}
72
81
  </script>
73
82
  `;
74
83
  };