@xplortech/apollo-core 2.11.0 → 3.0.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 (753) hide show
  1. package/.typings/apollo-components.html-data.json +160 -10
  2. package/AGENTS.md +29 -5
  3. package/README.md +42 -3
  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-body.css +1 -0
  54. package/build/components/table-footer-cell.css +1 -0
  55. package/build/components/table-footer.css +1 -0
  56. package/build/components/table-header-cell.css +1 -0
  57. package/build/components/table-header.css +1 -0
  58. package/build/components/table-row.css +1 -0
  59. package/build/components/table.css +1 -0
  60. package/build/components/tabs.css +1 -0
  61. package/build/components/tag.css +1 -0
  62. package/build/components/toast.css +1 -0
  63. package/build/components/toggle.css +1 -0
  64. package/build/components/toolbar.css +1 -0
  65. package/build/components/tooltip.css +1 -0
  66. package/build/components/top-nav.css +1 -0
  67. package/build/components/utility-bar.css +1 -0
  68. package/build/components-manifest.json +232 -0
  69. package/build/core.css +2 -0
  70. package/build/reset.css +394 -0
  71. package/build/style.css +2 -13345
  72. package/build/tailwind-theme.css +2 -0
  73. package/build/typography.css +1 -0
  74. package/build/variables/apollo.css +779 -0
  75. package/build/variables/field-edge.css +554 -0
  76. package/build/vendor/flatpickr.css +1 -0
  77. package/dist/apollo-core/apollo-core.css +2 -55
  78. package/dist/apollo-core/apollo-core.esm.js +1 -1
  79. package/dist/apollo-core/p-0368a1df.entry.js +1 -0
  80. package/dist/apollo-core/p-056a99e4.entry.js +1 -0
  81. package/dist/apollo-core/p-068e3532.entry.js +1 -0
  82. package/dist/apollo-core/p-06a9a27b.entry.js +1 -0
  83. package/dist/apollo-core/p-0958c719.entry.js +1 -0
  84. package/dist/apollo-core/p-0a0a6e43.entry.js +1 -0
  85. package/dist/apollo-core/p-149ddd12.entry.js +1 -0
  86. package/dist/apollo-core/p-1M1pu0C2.js +1 -0
  87. package/dist/apollo-core/p-1a94c2d9.entry.js +1 -0
  88. package/dist/apollo-core/p-2139f9f6.entry.js +1 -0
  89. package/dist/apollo-core/p-256ece8b.entry.js +1 -0
  90. package/dist/apollo-core/p-28bce81a.entry.js +1 -0
  91. package/dist/apollo-core/p-2938ab4f.entry.js +1 -0
  92. package/dist/apollo-core/p-2c995d80.entry.js +1 -0
  93. package/dist/apollo-core/p-2faa7b9c.entry.js +1 -0
  94. package/dist/apollo-core/p-30b1b700.entry.js +1 -0
  95. package/dist/apollo-core/p-32084caf.entry.js +1 -0
  96. package/dist/apollo-core/p-38586952.entry.js +1 -0
  97. package/dist/apollo-core/p-47bda204.entry.js +1 -0
  98. package/dist/apollo-core/p-4a2323b3.entry.js +1 -0
  99. package/dist/apollo-core/p-4ad79534.entry.js +1 -0
  100. package/dist/apollo-core/p-4d4acd1f.entry.js +1 -0
  101. package/dist/apollo-core/p-50fae269.entry.js +1 -0
  102. package/dist/apollo-core/p-54903322.entry.js +1 -0
  103. package/dist/apollo-core/p-5730d96c.entry.js +1 -0
  104. package/dist/apollo-core/p-581b702c.entry.js +1 -0
  105. package/dist/apollo-core/p-5d9a593e.entry.js +1 -0
  106. package/dist/apollo-core/p-60cb3cfb.entry.js +1 -0
  107. package/dist/apollo-core/p-722b145a.entry.js +1 -0
  108. package/dist/apollo-core/p-75e5bfe0.entry.js +1 -0
  109. package/dist/apollo-core/p-77fe3cc1.entry.js +1 -0
  110. package/dist/apollo-core/p-790709c0.entry.js +1 -0
  111. package/dist/apollo-core/p-82812126.entry.js +1 -0
  112. package/dist/apollo-core/p-83bb7607.entry.js +1 -0
  113. package/dist/apollo-core/p-8664d88b.entry.js +1 -0
  114. package/dist/apollo-core/p-8845106f.entry.js +1 -0
  115. package/dist/apollo-core/p-8a925e9d.entry.js +1 -0
  116. package/dist/apollo-core/p-9064badb.entry.js +1 -0
  117. package/dist/apollo-core/p-91895c40.entry.js +1 -0
  118. package/dist/apollo-core/p-969d5cca.entry.js +1 -0
  119. package/dist/apollo-core/p-99a79cf4.entry.js +1 -0
  120. package/dist/apollo-core/p-BFTU3MAI.js +1 -0
  121. package/dist/apollo-core/p-BQtbf88X.js +1 -0
  122. package/dist/apollo-core/p-CWdQxaaX.js +1 -0
  123. package/dist/apollo-core/p-C_PEOQWj.js +1 -0
  124. package/dist/apollo-core/p-CzwViN3U.js +1 -0
  125. package/dist/apollo-core/p-DkqlawVY.js +1 -0
  126. package/dist/apollo-core/p-Dqb1pIRo.js +1 -0
  127. package/dist/apollo-core/p-_r9-FML8.js +1 -0
  128. package/dist/apollo-core/p-a0d3b7f8.entry.js +1 -0
  129. package/dist/apollo-core/p-abdf199b.entry.js +1 -0
  130. package/dist/apollo-core/p-ae8a5f66.entry.js +1 -0
  131. package/dist/apollo-core/p-af8ebf49.entry.js +1 -0
  132. package/dist/apollo-core/p-b29025b2.entry.js +1 -0
  133. package/dist/apollo-core/p-b45179fb.entry.js +1 -0
  134. package/dist/apollo-core/p-b5a61076.entry.js +1 -0
  135. package/dist/apollo-core/p-bf7d8e18.entry.js +1 -0
  136. package/dist/apollo-core/p-c48e4884.entry.js +1 -0
  137. package/dist/apollo-core/p-ca4652b3.entry.js +1 -0
  138. package/dist/apollo-core/p-cb5b15c2.entry.js +1 -0
  139. package/dist/apollo-core/p-cc57f20d.entry.js +1 -0
  140. package/dist/apollo-core/p-cdacfcd4.entry.js +1 -0
  141. package/dist/apollo-core/p-cdb5b5c4.entry.js +1 -0
  142. package/dist/apollo-core/p-d0bc7c45.entry.js +1 -0
  143. package/dist/apollo-core/p-d41b8f46.entry.js +1 -0
  144. package/dist/apollo-core/p-d443291f.entry.js +1 -0
  145. package/dist/apollo-core/p-d724c419.entry.js +1 -0
  146. package/dist/apollo-core/p-d9070ae5.entry.js +1 -0
  147. package/dist/apollo-core/p-dca48977.entry.js +1 -0
  148. package/dist/apollo-core/p-e1833287.entry.js +1 -0
  149. package/dist/apollo-core/p-e2890eb1.entry.js +1 -0
  150. package/dist/apollo-core/p-e2b73b60.entry.js +1 -0
  151. package/dist/apollo-core/p-e7e445b0.entry.js +1 -0
  152. package/dist/apollo-core/p-f1c103ff.entry.js +1 -0
  153. package/dist/apollo-core/p-f3a2c79b.entry.js +1 -0
  154. package/dist/apollo-core/p-ffc2f0cf.entry.js +1 -0
  155. package/dist/apollo-core/p-ukZKsqqq.js +2 -0
  156. package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +10 -0
  157. package/dist/cjs/apollo-core.cjs.js +2 -2
  158. package/dist/cjs/floating-ui.dom-DuvGwvW-.js +1710 -0
  159. package/dist/cjs/{index-BaXVr8ux.js → index-3cBvw409.js} +772 -9
  160. package/dist/cjs/index-DP4JWqOH.js +456 -0
  161. package/dist/cjs/{lifecycle-Bf3QwiVa.js → lifecycle-DeSsFfQZ.js} +4 -0
  162. package/dist/cjs/light-dom-slots-CS8Q9rRZ.js +19 -0
  163. package/dist/cjs/loader.cjs.js +2 -2
  164. package/dist/cjs/side-nav-slot-utils-DMog5BVN.js +41 -0
  165. package/dist/cjs/slot-presence-HmQUW2Ba.js +10 -0
  166. package/dist/cjs/tab-a11y-ids--A4ZoXEj.js +27 -0
  167. package/dist/cjs/top-nav-constants-DckvgAo7.js +5 -0
  168. package/dist/cjs/xpl-accordion.cjs.entry.js +5 -3
  169. package/dist/cjs/xpl-application-shell.cjs.entry.js +2 -2
  170. package/dist/cjs/xpl-avatar_3.cjs.entry.js +211 -0
  171. package/dist/cjs/xpl-backdrop.cjs.entry.js +19 -0
  172. package/dist/cjs/xpl-badge.cjs.entry.js +37 -0
  173. package/dist/cjs/xpl-banner.cjs.entry.js +74 -0
  174. package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +18 -0
  175. package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +14 -0
  176. package/dist/cjs/xpl-button-row.cjs.entry.js +2 -2
  177. package/dist/cjs/xpl-button.cjs.entry.js +81 -0
  178. package/dist/cjs/xpl-calendar.cjs.entry.js +10 -6
  179. package/dist/cjs/xpl-checkbox.cjs.entry.js +32 -0
  180. package/dist/cjs/xpl-choicelist.cjs.entry.js +68 -0
  181. package/dist/cjs/xpl-content-area.cjs.entry.js +15 -0
  182. package/dist/cjs/xpl-dashboard.cjs.entry.js +14 -0
  183. package/dist/cjs/xpl-data-card.cjs.entry.js +111 -0
  184. package/dist/cjs/xpl-dropdown_4.cjs.entry.js +580 -0
  185. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +8 -6
  186. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
  187. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +11 -18
  188. package/dist/cjs/xpl-grid-item.cjs.entry.js +2 -2
  189. package/dist/cjs/xpl-grid.cjs.entry.js +6 -6
  190. package/dist/cjs/xpl-header-accordion.cjs.entry.js +69 -0
  191. package/dist/cjs/{xpl-avatar_54.cjs.entry.js → xpl-icon.cjs.entry.js} +1174 -10592
  192. package/dist/cjs/xpl-input-color.cjs.entry.js +435 -0
  193. package/dist/cjs/xpl-input-phone.cjs.entry.js +509 -0
  194. package/dist/cjs/xpl-input-time.cjs.entry.js +196 -0
  195. package/dist/cjs/xpl-input_4.cjs.entry.js +525 -0
  196. package/dist/cjs/xpl-large-card.cjs.entry.js +63 -4
  197. package/dist/cjs/xpl-list-item.cjs.entry.js +460 -0
  198. package/dist/cjs/xpl-list.cjs.entry.js +396 -0
  199. package/dist/cjs/xpl-main-nav.cjs.entry.js +2 -2
  200. package/dist/cjs/xpl-modal.cjs.entry.js +107 -0
  201. package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +86 -0
  202. package/dist/cjs/xpl-nav-item.cjs.entry.js +25 -0
  203. package/dist/cjs/xpl-pagination.cjs.entry.js +112 -0
  204. package/dist/cjs/xpl-panel.cjs.entry.js +21 -0
  205. package/dist/cjs/xpl-popover.cjs.entry.js +265 -0
  206. package/dist/cjs/xpl-progress-bar.cjs.entry.js +41 -0
  207. package/dist/cjs/xpl-progress-indicator.cjs.entry.js +74 -0
  208. package/dist/cjs/xpl-secondary-nav.cjs.entry.js +14 -0
  209. package/dist/cjs/xpl-select_2.cjs.entry.js +493 -0
  210. package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +101 -0
  211. package/dist/cjs/xpl-side-nav-item.cjs.entry.js +130 -0
  212. package/dist/cjs/xpl-side-nav-section.cjs.entry.js +105 -0
  213. package/dist/cjs/xpl-side-nav.cjs.entry.js +276 -0
  214. package/dist/cjs/xpl-skeleton.cjs.entry.js +26 -0
  215. package/dist/cjs/xpl-slideout.cjs.entry.js +47 -0
  216. package/dist/cjs/xpl-spotlight.cjs.entry.js +722 -0
  217. package/dist/cjs/xpl-tab-panel.cjs.entry.js +24 -0
  218. package/dist/cjs/xpl-tab.cjs.entry.js +87 -0
  219. package/dist/cjs/xpl-table-body.cjs.entry.js +14 -0
  220. package/dist/cjs/xpl-table-footer-cell.cjs.entry.js +18 -0
  221. package/dist/cjs/xpl-table-footer.cjs.entry.js +14 -0
  222. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +5 -3
  223. package/dist/cjs/xpl-table-header.cjs.entry.js +2 -2
  224. package/dist/cjs/xpl-table-row.cjs.entry.js +20 -0
  225. package/dist/cjs/xpl-table.cjs.entry.js +185 -0
  226. package/dist/cjs/xpl-tabs.cjs.entry.js +373 -0
  227. package/dist/cjs/xpl-toast.cjs.entry.js +91 -0
  228. package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
  229. package/dist/cjs/xpl-toolbar.cjs.entry.js +3 -3
  230. package/dist/cjs/xpl-tooltip.cjs.entry.js +18 -0
  231. package/dist/cjs/xpl-top-nav-item.cjs.entry.js +435 -0
  232. package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +16 -22
  233. package/dist/cjs/xpl-top-nav.cjs.entry.js +342 -0
  234. package/dist/cjs/xpl-utility-bar.cjs.entry.js +23 -0
  235. package/dist/collection/collection-manifest.json +7 -1
  236. package/dist/collection/components/xpl-accordion/xpl-accordion.js +4 -2
  237. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  238. package/dist/collection/components/xpl-avatar/xpl-avatar.js +13 -16
  239. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  240. package/dist/collection/components/xpl-badge/xpl-badge.js +4 -5
  241. package/dist/collection/components/xpl-banner/xpl-banner.js +7 -9
  242. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  243. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  244. package/dist/collection/components/xpl-button/xpl-button.js +17 -14
  245. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  246. package/dist/collection/components/xpl-calendar/xpl-calendar.js +9 -5
  247. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +7 -8
  248. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +6 -6
  249. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  250. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  251. package/dist/collection/components/xpl-data-card/xpl-data-card.js +69 -5
  252. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  253. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -17
  254. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  255. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +9 -5
  256. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +113 -118
  257. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +13 -19
  258. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +7 -5
  259. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +4 -4
  260. package/dist/collection/components/xpl-grid/xpl-grid.js +5 -5
  261. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  262. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +7 -23
  263. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -3
  264. package/dist/collection/components/xpl-input/xpl-input-color/color-utils.js +16 -10
  265. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +47 -38
  266. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +31 -14
  267. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +11 -13
  268. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +38 -41
  269. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +5 -8
  270. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +11 -10
  271. package/dist/collection/components/xpl-input/xpl-input.js +73 -40
  272. package/dist/collection/components/xpl-large-card/xpl-large-card.js +69 -3
  273. package/dist/collection/components/xpl-list/xpl-list-item/xpl-list-item.js +29 -31
  274. package/dist/collection/components/xpl-list/xpl-list.js +21 -26
  275. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  276. package/dist/collection/components/xpl-modal/xpl-modal.js +61 -19
  277. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  278. package/dist/collection/components/xpl-pagination/xpl-pagination.js +10 -12
  279. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  280. package/dist/collection/components/xpl-popover/xpl-popover.js +36 -8
  281. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  282. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  283. package/dist/collection/components/xpl-radio/xpl-radio.js +7 -7
  284. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  285. package/dist/collection/components/xpl-select/select.shared.js +82 -0
  286. package/dist/collection/components/xpl-select/xpl-select.js +91 -49
  287. package/dist/collection/components/xpl-side-nav/side-nav-slot-utils.js +35 -0
  288. package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +201 -0
  289. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +10 -11
  290. package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +186 -0
  291. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +80 -13
  292. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +3 -3
  293. package/dist/collection/components/xpl-slideout/xpl-slideout.js +4 -1
  294. package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +44 -49
  295. package/dist/collection/components/xpl-tab/xpl-tab.js +63 -8
  296. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +3 -4
  297. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +7 -0
  298. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +7 -0
  299. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +37 -0
  300. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +78 -0
  301. package/dist/collection/components/xpl-table/xpl-table.js +52 -36
  302. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  303. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +4 -2
  304. package/dist/collection/components/xpl-tabs/tabs.shared.js +75 -50
  305. package/dist/collection/components/xpl-tabs/xpl-tabs.js +29 -25
  306. package/dist/collection/components/xpl-tag/xpl-tag.js +5 -7
  307. package/dist/collection/components/xpl-toast/xpl-toast.js +107 -56
  308. package/dist/collection/components/xpl-toggle/xpl-toggle.js +5 -5
  309. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  310. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  311. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +11 -5
  312. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +50 -32
  313. package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +13 -18
  314. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +96 -34
  315. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  316. package/dist/collection/utils/floating.js +69 -0
  317. package/dist/collection/utils/layout-ancestors.js +7 -0
  318. package/dist/collection/utils/lifecycle.js +13 -10
  319. package/dist/collection/utils/light-dom-slots.js +15 -0
  320. package/dist/collection/utils/slot-presence.js +6 -0
  321. package/dist/collection/utils/ssr-known-mismatches.js +50 -0
  322. package/dist/collection/utils/tab-a11y-ids.js +1 -2
  323. package/dist/components/index.d.ts +12 -0
  324. package/dist/components/index.js +1 -1
  325. package/dist/components/p-1M1pu0C2.js +1 -0
  326. package/dist/components/{p-BxHFEnPN.js → p-9VnxPQLs.js} +1 -1
  327. package/dist/components/p-B2oLZUDD.js +1 -0
  328. package/dist/components/p-BQtbf88X.js +1 -0
  329. package/dist/components/p-BSHdGbmH.js +1 -0
  330. package/dist/components/p-BYYFsuD3.js +1 -0
  331. package/dist/components/p-BZtxVB1R.js +1 -0
  332. package/dist/components/p-BdpZR4KO.js +1 -0
  333. package/dist/components/p-C_PEOQWj.js +1 -0
  334. package/dist/components/p-Chpgh5SL.js +1 -0
  335. package/dist/components/p-CiHTfk3E.js +1 -0
  336. package/dist/components/p-CnVGKN63.js +1 -0
  337. package/dist/components/p-Cz7zDaI4.js +1 -0
  338. package/dist/components/p-D--kzomA.js +1 -0
  339. package/dist/components/p-D4rv6CNJ.js +1 -0
  340. package/dist/components/p-DAb-txW3.js +1 -0
  341. package/dist/components/p-DYmvElhR.js +1 -0
  342. package/dist/components/p-DkqlawVY.js +1 -0
  343. package/dist/components/p-Dqb1pIRo.js +1 -0
  344. package/dist/components/p-EfW0v54z.js +1 -0
  345. package/dist/components/p-JyNpXfDe.js +1 -0
  346. package/dist/components/p-U0JYwf4c.js +1 -0
  347. package/dist/components/p-YG9Jza0y.js +1 -0
  348. package/dist/components/p-_r9-FML8.js +1 -0
  349. package/dist/components/{p-ByJRw26d.js → p-l3EZ-agL.js} +1 -1
  350. package/dist/components/p-oIn1krdu.js +1 -0
  351. package/dist/components/p-wIU7KUhA.js +1 -0
  352. package/dist/components/p-xFsB212F.js +1 -0
  353. package/dist/components/p-xtOHikY0.js +1 -0
  354. package/dist/components/xpl-accordion.js +1 -1
  355. package/dist/components/xpl-application-shell.js +1 -1
  356. package/dist/components/xpl-avatar.js +1 -1
  357. package/dist/components/xpl-backdrop.js +1 -1
  358. package/dist/components/xpl-badge.js +1 -1
  359. package/dist/components/xpl-banner.js +1 -1
  360. package/dist/components/xpl-breadcrumb-item.js +1 -1
  361. package/dist/components/xpl-breadcrumbs.js +1 -1
  362. package/dist/components/xpl-button-row.js +1 -1
  363. package/dist/components/xpl-button.js +1 -1
  364. package/dist/components/xpl-calendar.js +1 -1
  365. package/dist/components/xpl-checkbox.js +1 -1
  366. package/dist/components/xpl-choicelist.js +1 -1
  367. package/dist/components/xpl-content-area.js +1 -1
  368. package/dist/components/xpl-dashboard.js +1 -1
  369. package/dist/components/xpl-data-card.js +1 -1
  370. package/dist/components/xpl-divider.js +1 -1
  371. package/dist/components/xpl-dropdown-group.js +1 -1
  372. package/dist/components/xpl-dropdown-heading.js +1 -1
  373. package/dist/components/xpl-dropdown-option.js +1 -1
  374. package/dist/components/xpl-dropdown.js +1 -1
  375. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  376. package/dist/components/xpl-dynamic-table-row.js +1 -1
  377. package/dist/components/xpl-dynamic-table.js +1 -1
  378. package/dist/components/xpl-grid-item.js +1 -1
  379. package/dist/components/xpl-grid.js +1 -1
  380. package/dist/components/xpl-header-accordion.js +1 -1
  381. package/dist/components/xpl-icon.js +1 -1
  382. package/dist/components/xpl-input-color.js +1 -1
  383. package/dist/components/xpl-input-date.js +1 -1
  384. package/dist/components/xpl-input-file.js +1 -1
  385. package/dist/components/xpl-input-phone.js +1 -1
  386. package/dist/components/xpl-input-search.js +1 -1
  387. package/dist/components/xpl-input-time.js +1 -1
  388. package/dist/components/xpl-input.js +1 -1
  389. package/dist/components/xpl-large-card.js +1 -1
  390. package/dist/components/xpl-list-item.js +1 -1
  391. package/dist/components/xpl-list.js +1 -1
  392. package/dist/components/xpl-main-nav.js +1 -1
  393. package/dist/components/xpl-modal.js +1 -1
  394. package/dist/components/xpl-nav-header-menu.js +1 -1
  395. package/dist/components/xpl-nav-item.js +1 -1
  396. package/dist/components/xpl-pagination.js +1 -1
  397. package/dist/components/xpl-panel.js +1 -1
  398. package/dist/components/xpl-popover.js +1 -1
  399. package/dist/components/xpl-progress-bar.js +1 -1
  400. package/dist/components/xpl-progress-indicator.js +1 -1
  401. package/dist/components/xpl-radio.js +1 -1
  402. package/dist/components/xpl-secondary-nav.js +1 -1
  403. package/dist/components/xpl-select.js +1 -1
  404. package/dist/components/xpl-side-nav-header-item.d.ts +11 -0
  405. package/dist/components/xpl-side-nav-header-item.js +1 -0
  406. package/dist/components/xpl-side-nav-item.js +1 -1
  407. package/dist/components/xpl-side-nav-section.d.ts +11 -0
  408. package/dist/components/xpl-side-nav-section.js +1 -0
  409. package/dist/components/xpl-side-nav.js +1 -1
  410. package/dist/components/xpl-skeleton.js +1 -1
  411. package/dist/components/xpl-slideout.js +1 -1
  412. package/dist/components/xpl-spotlight.js +1 -1
  413. package/dist/components/xpl-tab-panel.js +1 -1
  414. package/dist/components/xpl-tab.js +1 -1
  415. package/dist/components/xpl-table-body.d.ts +11 -0
  416. package/dist/components/xpl-table-body.js +1 -0
  417. package/dist/components/xpl-table-footer-cell.d.ts +11 -0
  418. package/dist/components/xpl-table-footer-cell.js +1 -0
  419. package/dist/components/xpl-table-footer.d.ts +11 -0
  420. package/dist/components/xpl-table-footer.js +1 -0
  421. package/dist/components/xpl-table-header-cell.js +1 -1
  422. package/dist/components/xpl-table-header.js +1 -1
  423. package/dist/components/xpl-table-row.d.ts +11 -0
  424. package/dist/components/xpl-table-row.js +1 -0
  425. package/dist/components/xpl-table.js +1 -1
  426. package/dist/components/xpl-tabs.js +1 -1
  427. package/dist/components/xpl-tag.js +1 -1
  428. package/dist/components/xpl-toast.js +1 -1
  429. package/dist/components/xpl-toggle.js +1 -1
  430. package/dist/components/xpl-toolbar.js +1 -1
  431. package/dist/components/xpl-tooltip.js +1 -1
  432. package/dist/components/xpl-top-nav-item.js +1 -1
  433. package/dist/components/xpl-top-nav-menu.js +1 -1
  434. package/dist/components/xpl-top-nav.js +1 -1
  435. package/dist/components/xpl-utility-bar.js +1 -1
  436. package/dist/docs/xpl-application-shell/readme.md +33 -0
  437. package/dist/docs/xpl-backdrop/readme.md +7 -0
  438. package/dist/docs/xpl-badge/readme.md +2 -0
  439. package/dist/docs/xpl-breadcrumbs/xpl-breadcrumbs/readme.md +9 -0
  440. package/dist/docs/xpl-button/readme.md +4 -2
  441. package/dist/docs/xpl-checkbox/readme.md +12 -0
  442. package/dist/docs/xpl-choicelist/readme.md +21 -0
  443. package/dist/docs/xpl-content-area/readme.md +8 -0
  444. package/dist/docs/xpl-data-card/readme.md +26 -0
  445. package/dist/docs/xpl-dropdown/readme.md +32 -6
  446. package/dist/docs/xpl-dynamic-table/readme.md +35 -0
  447. package/dist/docs/xpl-header-accordion/readme.md +18 -0
  448. package/dist/docs/xpl-icon/readme.md +21 -0
  449. package/dist/docs/xpl-input/xpl-input-color/readme.md +18 -0
  450. package/dist/docs/xpl-input/xpl-input-file/readme.md +13 -0
  451. package/dist/docs/xpl-input/xpl-input-time/readme.md +9 -0
  452. package/dist/docs/xpl-large-card/readme.md +18 -0
  453. package/dist/docs/xpl-list/readme.md +2 -2
  454. package/dist/docs/xpl-list/xpl-list-item/readme.md +3 -3
  455. package/dist/docs/xpl-main-nav/readme.md +16 -0
  456. package/dist/docs/xpl-modal/readme.md +38 -2
  457. package/dist/docs/xpl-nav-item/readme.md +14 -0
  458. package/dist/docs/xpl-pagination/readme.md +29 -0
  459. package/dist/docs/xpl-radio/readme.md +12 -0
  460. package/dist/docs/xpl-secondary-nav/readme.md +25 -0
  461. package/dist/docs/xpl-select/readme.md +13 -0
  462. package/dist/docs/xpl-side-nav/readme.md +12 -7
  463. package/dist/docs/xpl-side-nav/xpl-side-nav-header-item/readme.md +155 -0
  464. package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +16 -6
  465. package/dist/docs/xpl-side-nav/xpl-side-nav-section/readme.md +126 -0
  466. package/dist/docs/xpl-slideout/readme.md +23 -0
  467. package/dist/docs/xpl-tab/readme.md +14 -8
  468. package/dist/docs/xpl-table/readme.md +4 -4
  469. package/dist/docs/xpl-table/xpl-table-body/readme.md +16 -0
  470. package/dist/docs/xpl-table/xpl-table-footer/readme.md +16 -0
  471. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +31 -0
  472. package/dist/docs/xpl-table/xpl-table-row/readme.md +34 -0
  473. package/dist/docs/xpl-toast/readme.md +90 -7
  474. package/dist/docs/xpl-toggle/readme.md +46 -0
  475. package/dist/docs/xpl-toolbar/readme.md +19 -0
  476. package/dist/docs/xpl-top-nav/readme.md +2 -1
  477. package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +5 -5
  478. package/dist/docs/xpl-utility-bar/readme.md +12 -0
  479. package/dist/docs.d.ts +480 -0
  480. package/dist/docs.json +16642 -0
  481. package/dist/esm/_commonjsHelpers-BFTU3MAI.js +7 -0
  482. package/dist/esm/apollo-core.js +3 -3
  483. package/dist/esm/floating-ui.dom-1M1pu0C2.js +1702 -0
  484. package/dist/esm/index-BhYfWG18.js +454 -0
  485. package/dist/esm/{index-CXkZUm1c.js → index-ukZKsqqq.js} +772 -9
  486. package/dist/esm/{lifecycle-BUgtURvw.js → lifecycle-Dqb1pIRo.js} +4 -1
  487. package/dist/esm/light-dom-slots-DkqlawVY.js +17 -0
  488. package/dist/esm/loader.js +3 -3
  489. package/dist/esm/side-nav-slot-utils-C_PEOQWj.js +37 -0
  490. package/dist/esm/slot-presence-_r9-FML8.js +8 -0
  491. package/dist/esm/tab-a11y-ids-BQtbf88X.js +23 -0
  492. package/dist/esm/top-nav-constants-CWdQxaaX.js +3 -0
  493. package/dist/esm/xpl-accordion.entry.js +5 -3
  494. package/dist/esm/xpl-application-shell.entry.js +2 -2
  495. package/dist/esm/xpl-avatar_3.entry.js +207 -0
  496. package/dist/esm/xpl-backdrop.entry.js +17 -0
  497. package/dist/esm/xpl-badge.entry.js +35 -0
  498. package/dist/esm/xpl-banner.entry.js +72 -0
  499. package/dist/esm/xpl-breadcrumb-item.entry.js +16 -0
  500. package/dist/esm/xpl-breadcrumbs.entry.js +12 -0
  501. package/dist/esm/xpl-button-row.entry.js +2 -2
  502. package/dist/esm/xpl-button.entry.js +79 -0
  503. package/dist/esm/xpl-calendar.entry.js +10 -6
  504. package/dist/esm/xpl-checkbox.entry.js +30 -0
  505. package/dist/esm/xpl-choicelist.entry.js +66 -0
  506. package/dist/esm/xpl-content-area.entry.js +13 -0
  507. package/dist/esm/xpl-dashboard.entry.js +12 -0
  508. package/dist/esm/xpl-data-card.entry.js +109 -0
  509. package/dist/esm/xpl-dropdown_4.entry.js +575 -0
  510. package/dist/esm/xpl-dynamic-table-cell.entry.js +8 -6
  511. package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
  512. package/dist/esm/xpl-dynamic-table.entry.js +11 -18
  513. package/dist/esm/xpl-grid-item.entry.js +2 -2
  514. package/dist/esm/xpl-grid.entry.js +6 -6
  515. package/dist/esm/xpl-header-accordion.entry.js +67 -0
  516. package/dist/esm/{xpl-avatar_54.entry.js → xpl-icon.entry.js} +1174 -10539
  517. package/dist/esm/xpl-input-color.entry.js +433 -0
  518. package/dist/esm/xpl-input-phone.entry.js +507 -0
  519. package/dist/esm/xpl-input-time.entry.js +194 -0
  520. package/dist/esm/xpl-input_4.entry.js +520 -0
  521. package/dist/esm/xpl-large-card.entry.js +63 -4
  522. package/dist/esm/xpl-list-item.entry.js +458 -0
  523. package/dist/esm/xpl-list.entry.js +394 -0
  524. package/dist/esm/xpl-main-nav.entry.js +2 -2
  525. package/dist/esm/xpl-modal.entry.js +105 -0
  526. package/dist/esm/xpl-nav-header-menu.entry.js +84 -0
  527. package/dist/esm/xpl-nav-item.entry.js +23 -0
  528. package/dist/esm/xpl-pagination.entry.js +110 -0
  529. package/dist/esm/xpl-panel.entry.js +19 -0
  530. package/dist/esm/xpl-popover.entry.js +263 -0
  531. package/dist/esm/xpl-progress-bar.entry.js +39 -0
  532. package/dist/esm/xpl-progress-indicator.entry.js +72 -0
  533. package/dist/esm/xpl-secondary-nav.entry.js +12 -0
  534. package/dist/esm/xpl-select_2.entry.js +490 -0
  535. package/dist/esm/xpl-side-nav-header-item.entry.js +99 -0
  536. package/dist/esm/xpl-side-nav-item.entry.js +128 -0
  537. package/dist/esm/xpl-side-nav-section.entry.js +103 -0
  538. package/dist/esm/xpl-side-nav.entry.js +274 -0
  539. package/dist/esm/xpl-skeleton.entry.js +24 -0
  540. package/dist/esm/xpl-slideout.entry.js +45 -0
  541. package/dist/esm/xpl-spotlight.entry.js +720 -0
  542. package/dist/esm/xpl-tab-panel.entry.js +22 -0
  543. package/dist/esm/xpl-tab.entry.js +85 -0
  544. package/dist/esm/xpl-table-body.entry.js +12 -0
  545. package/dist/esm/xpl-table-footer-cell.entry.js +16 -0
  546. package/dist/esm/xpl-table-footer.entry.js +12 -0
  547. package/dist/esm/xpl-table-header-cell.entry.js +5 -3
  548. package/dist/esm/xpl-table-header.entry.js +2 -2
  549. package/dist/esm/xpl-table-row.entry.js +18 -0
  550. package/dist/esm/xpl-table.entry.js +183 -0
  551. package/dist/esm/xpl-tabs.entry.js +371 -0
  552. package/dist/esm/xpl-toast.entry.js +89 -0
  553. package/dist/esm/xpl-toggle.entry.js +6 -6
  554. package/dist/esm/xpl-toolbar.entry.js +3 -3
  555. package/dist/esm/xpl-tooltip.entry.js +16 -0
  556. package/dist/esm/xpl-top-nav-item.entry.js +433 -0
  557. package/dist/esm/xpl-top-nav-menu.entry.js +15 -21
  558. package/dist/esm/xpl-top-nav.entry.js +340 -0
  559. package/dist/esm/xpl-utility-bar.entry.js +21 -0
  560. package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
  561. package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +12 -0
  562. package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +1 -1
  563. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +7 -9
  564. package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +2 -1
  565. package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +0 -2
  566. package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +1 -1
  567. package/dist/types/components/xpl-input/xpl-input-file/xpl-input-file.d.ts +1 -1
  568. package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +2 -2
  569. package/dist/types/components/xpl-input/xpl-input-time/time-utils.d.ts +1 -1
  570. package/dist/types/components/xpl-input/xpl-input-time/xpl-input-time.d.ts +1 -1
  571. package/dist/types/components/xpl-input/xpl-input.d.ts +11 -6
  572. package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +12 -0
  573. package/dist/types/components/xpl-list/listitem.d.ts +5 -0
  574. package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +0 -1
  575. package/dist/types/components/xpl-modal/xpl-modal.d.ts +10 -2
  576. package/dist/types/components/xpl-popover/xpl-popover.d.ts +4 -2
  577. package/dist/types/components/xpl-select/select.shared.d.ts +23 -0
  578. package/dist/types/components/xpl-select/xpl-select.d.ts +1 -0
  579. package/dist/types/components/xpl-side-nav/side-nav-slot-utils.d.ts +3 -0
  580. package/dist/types/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.d.ts +24 -0
  581. package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +1 -1
  582. package/dist/types/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.d.ts +24 -0
  583. package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +10 -0
  584. package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
  585. package/dist/types/components/xpl-tab/xpl-tab.d.ts +5 -0
  586. package/dist/types/components/xpl-table/xpl-table-body/xpl-table-body.d.ts +3 -0
  587. package/dist/types/components/xpl-table/xpl-table-footer/xpl-table-footer.d.ts +3 -0
  588. package/dist/types/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.d.ts +4 -0
  589. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +6 -0
  590. package/dist/types/components/xpl-table/xpl-table.d.ts +8 -8
  591. package/dist/types/components/xpl-tabs/tabs.shared.d.ts +34 -2
  592. package/dist/types/components/xpl-toast/xpl-toast.d.ts +13 -4
  593. package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +3 -0
  594. package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +7 -2
  595. package/dist/types/components.d.ts +1109 -51
  596. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/utils/form-bindings.d.ts +4 -0
  597. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/utils/story-vrt.d.ts +1 -0
  598. package/dist/types/third-party.d.ts +20 -0
  599. package/dist/types/utils/floating.d.ts +26 -0
  600. package/dist/types/utils/lifecycle.d.ts +1 -1
  601. package/dist/types/utils/light-dom-slots.d.ts +6 -0
  602. package/dist/types/utils/slot-presence.d.ts +1 -0
  603. package/dist/types/utils/ssr-known-mismatches.d.ts +16 -0
  604. package/dist/utils/form-bindings.js +64 -0
  605. package/dist/utils/story-vrt.js +48 -0
  606. package/hydrate/index.d.ts +287 -0
  607. package/hydrate/index.js +51795 -0
  608. package/hydrate/index.mjs +51785 -0
  609. package/hydrate/package.json +12 -0
  610. package/package.json +112 -59
  611. package/dist/apollo-core/p-048fdde0.entry.js +0 -1
  612. package/dist/apollo-core/p-0abc496e.entry.js +0 -1
  613. package/dist/apollo-core/p-1442c052.entry.js +0 -1
  614. package/dist/apollo-core/p-1e498763.entry.js +0 -1
  615. package/dist/apollo-core/p-26c3a508.entry.js +0 -1
  616. package/dist/apollo-core/p-3b8639b7.entry.js +0 -1
  617. package/dist/apollo-core/p-4ce52107.entry.js +0 -1
  618. package/dist/apollo-core/p-6710fb29.entry.js +0 -1
  619. package/dist/apollo-core/p-7e622809.entry.js +0 -1
  620. package/dist/apollo-core/p-87068144.entry.js +0 -1
  621. package/dist/apollo-core/p-BUgtURvw.js +0 -1
  622. package/dist/apollo-core/p-CXkZUm1c.js +0 -2
  623. package/dist/apollo-core/p-a3b4820a.entry.js +0 -1
  624. package/dist/apollo-core/p-b2d6dd0e.entry.js +0 -1
  625. package/dist/apollo-core/p-bd2249ef.entry.js +0 -1
  626. package/dist/apollo-core/p-c96b7957.entry.js +0 -1
  627. package/dist/apollo-core/p-d6be63cd.entry.js +0 -1
  628. package/dist/apollo-core/p-ddf76cee.entry.js +0 -1
  629. package/dist/apollo-core/p-f0554edd.entry.js +0 -1
  630. package/dist/collection/components/xpl-accordion/accordion.stories.js +0 -80
  631. package/dist/collection/components/xpl-application-shell/application-shell.stories.js +0 -737
  632. package/dist/collection/components/xpl-avatar/avatar.stories.js +0 -147
  633. package/dist/collection/components/xpl-backdrop/backdrop.stories.js +0 -24
  634. package/dist/collection/components/xpl-badge/badge.stories.js +0 -91
  635. package/dist/collection/components/xpl-banner/banner.stories.js +0 -69
  636. package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +0 -134
  637. package/dist/collection/components/xpl-button/button.stories.js +0 -142
  638. package/dist/collection/components/xpl-button-row/button-row.stories.js +0 -59
  639. package/dist/collection/components/xpl-calendar/calendar.stories.js +0 -63
  640. package/dist/collection/components/xpl-checkbox/checkbox.stories.js +0 -83
  641. package/dist/collection/components/xpl-choicelist/choicelist.stories.js +0 -138
  642. package/dist/collection/components/xpl-content-area/content-area.stories.js +0 -55
  643. package/dist/collection/components/xpl-dashboard/dashboard.stories.js +0 -48
  644. package/dist/collection/components/xpl-data-card/data-card.stories.js +0 -115
  645. package/dist/collection/components/xpl-divider/divider.stories.js +0 -36
  646. package/dist/collection/components/xpl-dropdown/dropdown.stories.js +0 -387
  647. package/dist/collection/components/xpl-dynamic-table/dynamic-table.stories.js +0 -165
  648. package/dist/collection/components/xpl-grid/grid.stories.js +0 -76
  649. package/dist/collection/components/xpl-header-accordion/header-accordion.stories.js +0 -52
  650. package/dist/collection/components/xpl-icon/icons.stories.js +0 -142
  651. package/dist/collection/components/xpl-input/input.stories.js +0 -696
  652. package/dist/collection/components/xpl-large-card/large-card.stories.js +0 -131
  653. package/dist/collection/components/xpl-list/list.stories.js +0 -389
  654. package/dist/collection/components/xpl-main-nav/main-nav.stories.js +0 -307
  655. package/dist/collection/components/xpl-modal/modal.stories.js +0 -91
  656. package/dist/collection/components/xpl-pagination/pagination.stories.js +0 -57
  657. package/dist/collection/components/xpl-panel/panel.stories.js +0 -53
  658. package/dist/collection/components/xpl-popover/popover.stories.js +0 -164
  659. package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +0 -96
  660. package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +0 -118
  661. package/dist/collection/components/xpl-radio/radio.stories.js +0 -106
  662. package/dist/collection/components/xpl-secondary-nav/secondary-nav.stories.js +0 -78
  663. package/dist/collection/components/xpl-select/select.stories.js +0 -297
  664. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +0 -634
  665. package/dist/collection/components/xpl-skeleton/skeleton.stories.js +0 -71
  666. package/dist/collection/components/xpl-slideout/slideout.stories.js +0 -109
  667. package/dist/collection/components/xpl-spotlight/spotlight.stories.js +0 -385
  668. package/dist/collection/components/xpl-table/table.stories.js +0 -147
  669. package/dist/collection/components/xpl-table-header/table-header.stories.js +0 -126
  670. package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +0 -75
  671. package/dist/collection/components/xpl-tabs/segment-control.stories.js +0 -31
  672. package/dist/collection/components/xpl-tabs/tabs.stories.js +0 -31
  673. package/dist/collection/components/xpl-tag/tag.stories.js +0 -153
  674. package/dist/collection/components/xpl-toast/toast.stories.js +0 -86
  675. package/dist/collection/components/xpl-toggle/toggle.stories.js +0 -88
  676. package/dist/collection/components/xpl-tooltip/tooltip.stories.js +0 -58
  677. package/dist/collection/components/xpl-top-nav/top-nav.stories.js +0 -745
  678. package/dist/collection/components/xpl-utility-bar/utility-bar.stories.js +0 -87
  679. package/dist/components/p-2xGSxBGa.js +0 -1
  680. package/dist/components/p-B8RYNiz-.js +0 -1
  681. package/dist/components/p-BDWXBWGE.js +0 -1
  682. package/dist/components/p-BJqNuBZr.js +0 -1
  683. package/dist/components/p-BT_Lq3Vd.js +0 -1
  684. package/dist/components/p-BUgtURvw.js +0 -1
  685. package/dist/components/p-B_sq_SAX.js +0 -1
  686. package/dist/components/p-Bsy-VVS5.js +0 -1
  687. package/dist/components/p-C5_Yo0ZP.js +0 -1
  688. package/dist/components/p-C8rmEAx6.js +0 -1
  689. package/dist/components/p-CF_YTx16.js +0 -1
  690. package/dist/components/p-CFpsSZyr.js +0 -1
  691. package/dist/components/p-CUYkG-PB.js +0 -1
  692. package/dist/components/p-CaW0fL0P.js +0 -1
  693. package/dist/components/p-CuisR8WP.js +0 -1
  694. package/dist/components/p-D2SFagIb.js +0 -1
  695. package/dist/components/p-DKUNbsb0.js +0 -1
  696. package/dist/components/p-DcXL24UI.js +0 -1
  697. package/dist/components/p-Dp3H99Yc.js +0 -1
  698. package/dist/components/p-M900WO1C.js +0 -1
  699. package/dist/components/p-Yj_QFaRn.js +0 -1
  700. package/dist/components/p-ZTFt9sBy.js +0 -1
  701. package/dist/components/p-gfb3l9Pr.js +0 -1
  702. package/dist/components/p-h1Gbk5lO.js +0 -1
  703. package/dist/css/typography.stories.js +0 -144
  704. package/dist/types/components/xpl-accordion/accordion.stories.d.ts +0 -37
  705. package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +0 -64
  706. package/dist/types/components/xpl-avatar/avatar.stories.d.ts +0 -138
  707. package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +0 -21
  708. package/dist/types/components/xpl-badge/badge.stories.d.ts +0 -80
  709. package/dist/types/components/xpl-banner/banner.stories.d.ts +0 -79
  710. package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +0 -57
  711. package/dist/types/components/xpl-button/button.stories.d.ts +0 -132
  712. package/dist/types/components/xpl-button-row/button-row.stories.d.ts +0 -45
  713. package/dist/types/components/xpl-calendar/calendar.stories.d.ts +0 -62
  714. package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +0 -69
  715. package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +0 -44
  716. package/dist/types/components/xpl-content-area/content-area.stories.d.ts +0 -13
  717. package/dist/types/components/xpl-dashboard/dashboard.stories.d.ts +0 -31
  718. package/dist/types/components/xpl-data-card/data-card.stories.d.ts +0 -118
  719. package/dist/types/components/xpl-divider/divider.stories.d.ts +0 -41
  720. package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +0 -25
  721. package/dist/types/components/xpl-dynamic-table/dynamic-table.stories.d.ts +0 -45
  722. package/dist/types/components/xpl-grid/grid.stories.d.ts +0 -133
  723. package/dist/types/components/xpl-header-accordion/header-accordion.stories.d.ts +0 -48
  724. package/dist/types/components/xpl-icon/icons.stories.d.ts +0 -54
  725. package/dist/types/components/xpl-input/input.stories.d.ts +0 -240
  726. package/dist/types/components/xpl-large-card/large-card.stories.d.ts +0 -75
  727. package/dist/types/components/xpl-list/list.stories.d.ts +0 -353
  728. package/dist/types/components/xpl-main-nav/main-nav.stories.d.ts +0 -13
  729. package/dist/types/components/xpl-modal/modal.stories.d.ts +0 -103
  730. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +0 -52
  731. package/dist/types/components/xpl-panel/panel.stories.d.ts +0 -22
  732. package/dist/types/components/xpl-popover/popover.stories.d.ts +0 -12
  733. package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +0 -73
  734. package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +0 -62
  735. package/dist/types/components/xpl-radio/radio.stories.d.ts +0 -93
  736. package/dist/types/components/xpl-secondary-nav/secondary-nav.stories.d.ts +0 -5
  737. package/dist/types/components/xpl-select/select.stories.d.ts +0 -168
  738. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +0 -101
  739. package/dist/types/components/xpl-skeleton/skeleton.stories.d.ts +0 -26
  740. package/dist/types/components/xpl-slideout/slideout.stories.d.ts +0 -120
  741. package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +0 -197
  742. package/dist/types/components/xpl-table/table.stories.d.ts +0 -88
  743. package/dist/types/components/xpl-table-header/table-header.stories.d.ts +0 -107
  744. package/dist/types/components/xpl-table-header-cell/table-header-cell.stories.d.ts +0 -59
  745. package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +0 -112
  746. package/dist/types/components/xpl-tabs/tabs.stories.d.ts +0 -97
  747. package/dist/types/components/xpl-tag/tag.stories.d.ts +0 -65
  748. package/dist/types/components/xpl-toast/toast.stories.d.ts +0 -66
  749. package/dist/types/components/xpl-toggle/toggle.stories.d.ts +0 -71
  750. package/dist/types/components/xpl-tooltip/tooltip.stories.d.ts +0 -43
  751. package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +0 -540
  752. package/dist/types/components/xpl-utility-bar/utility-bar.stories.d.ts +0 -20
  753. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/css/typography.stories.d.ts +0 -90
@@ -1,634 +0,0 @@
1
- const escapeHtmlAttribute = (value) => value
2
- .replace(/&/g, '&')
3
- .replace(/"/g, '"')
4
- .replace(/'/g, ''')
5
- .replace(/</g, '&lt;')
6
- .replace(/>/g, '&gt;');
7
- const defaultItems = [
8
- { label: 'Dashboard', icon: 'house-4', selected: true },
9
- { label: 'Product', icon: 'bag-shopping-2' },
10
- { label: 'Reports', icon: 'chart-line' },
11
- { label: 'Disabled Item', icon: 'lock', disabled: true },
12
- { label: 'Hidden Item', icon: 'eye', hidden: true },
13
- {
14
- label: 'Settings',
15
- icon: 'gear',
16
- hasChildren: true,
17
- expanded: true,
18
- children: [{ label: 'Location' }, { label: 'Schedule', selected: true }],
19
- },
20
- {
21
- label: 'Integrations',
22
- icon: 'plug',
23
- hasChildren: true,
24
- children: [{ label: 'Webhooks' }, { label: 'API Keys' }],
25
- },
26
- {
27
- label: 'Xplor Growth',
28
- icon: 'chart-line-up',
29
- trailingIcon: 'external-link',
30
- },
31
- ];
32
- const defaultFooterItems = [
33
- { label: 'Support', icon: 'headset' },
34
- { label: 'Logout', icon: 'open-rect-arrow-out' },
35
- ];
36
- const defaultNavConfig = {
37
- navLabel: 'Main navigation',
38
- items: defaultItems,
39
- footerItems: defaultFooterItems,
40
- };
41
- const renderNavItem = (item) => {
42
- var _a, _b;
43
- const attrs = [
44
- item.label ? `label="${escapeHtmlAttribute(item.label)}"` : '',
45
- item.icon ? `icon="${escapeHtmlAttribute(item.icon)}"` : '',
46
- item.selected ? 'selected' : '',
47
- item.disabled ? 'disabled' : '',
48
- item.hidden ? 'hidden' : '',
49
- item.expanded ? 'expanded' : '',
50
- item.hasChildren ? 'has-children' : '',
51
- item.link ? 'link' : '',
52
- ]
53
- .filter(Boolean)
54
- .join(' ');
55
- if (item.link && item.href) {
56
- const leadingIcon = item.icon
57
- ? `<xpl-icon icon="${escapeHtmlAttribute(item.icon)}" size="16"></xpl-icon>`
58
- : '';
59
- return `
60
- <xpl-side-nav-item ${attrs}>
61
- <a href="${escapeHtmlAttribute(item.href)}" class="xpl-side-nav-item__link"${item.selected ? ' aria-current="page"' : ''}><span class="xpl-side-nav-item__leading">${leadingIcon}</span><span class="xpl-side-nav-item__label">${escapeHtmlAttribute(item.label)}</span></a>
62
- </xpl-side-nav-item>`;
63
- }
64
- const childrenHtml = (_b = (_a = item.children) === null || _a === void 0 ? void 0 : _a.map(renderNavItem).join('')) !== null && _b !== void 0 ? _b : '';
65
- const trailingSlot = item.trailingIcon && !item.hasChildren
66
- ? `\n <xpl-icon slot="trailing" icon="${escapeHtmlAttribute(item.trailingIcon)}" size="16" aria-hidden="true"></xpl-icon>`
67
- : '';
68
- return `
69
- <xpl-side-nav-item ${attrs}>${trailingSlot}${childrenHtml}
70
- </xpl-side-nav-item>`;
71
- };
72
- const renderHtmlNavItem = (item, depth = 0) => {
73
- var _a, _b;
74
- const indent = ' '.repeat(depth);
75
- const linkClass = [
76
- 'xpl-side-nav-item__link',
77
- item.selected ? 'selected' : '',
78
- item.expanded ? 'expanded' : '',
79
- ]
80
- .filter(Boolean)
81
- .join(' ');
82
- if (item.link) {
83
- return `${indent}<div class="xpl-side-nav-item">
84
- ${indent} <a href="${item.href || '#'}" class="${linkClass}"${item.selected ? ' aria-current="page"' : ''}${item.disabled ? ' aria-disabled="true" tabindex="-1"' : ''}>
85
- ${indent} <span class="xpl-side-nav-item__leading">${item.icon ? `<xpl-icon icon="${item.icon}" size="16"></xpl-icon>` : ''}</span>
86
- ${indent} <span class="xpl-side-nav-item__label">${item.label}</span>
87
- ${indent} </a>
88
- ${indent}</div>`;
89
- }
90
- const hasChildren = item.hasChildren || (item.children && item.children.length > 0);
91
- const childrenHtml = (_b = (_a = item.children) === null || _a === void 0 ? void 0 : _a.map((child) => renderHtmlNavItem(child, depth + 2)).join('\n')) !== null && _b !== void 0 ? _b : '';
92
- const trailingHtml = hasChildren
93
- ? `<span class="xpl-side-nav-item__trailing xpl-side-nav-item__trailing--chevron${item.expanded ? ' expanded' : ''}"><xpl-icon icon="${item.expanded ? 'chevron-up' : 'chevron-down'}" size="16" aria-hidden="true"></xpl-icon></span>`
94
- : item.trailingIcon
95
- ? `<span class="xpl-side-nav-item__trailing"><xpl-icon icon="${item.trailingIcon}" size="16" aria-hidden="true"></xpl-icon></span>`
96
- : '';
97
- return `${indent}<div class="xpl-side-nav-item">
98
- ${indent} <button type="button" class="${linkClass}"${item.selected ? ' aria-current="page"' : ''}${hasChildren ? ` aria-expanded="${item.expanded ? 'true' : 'false'}"` : ''}${item.disabled ? ' disabled' : ''}>
99
- ${indent} <span class="xpl-side-nav-item__leading">${item.icon ? `<xpl-icon icon="${item.icon}" size="16"></xpl-icon>` : ''}</span>
100
- ${indent} <span class="xpl-side-nav-item__label">${item.label}</span>
101
- ${indent} ${trailingHtml}
102
- ${indent} </button>${hasChildren && !item.link
103
- ? `
104
- ${indent} <div class="xpl-side-nav-item__children ${item.expanded ? 'expanded' : ''}">
105
- ${indent} <div class="xpl-side-nav-item__children-inner">
106
- ${childrenHtml ? `\n${childrenHtml}\n${indent} ` : ''}</div>
107
- ${indent} </div>`
108
- : ''}
109
- ${indent}</div>`;
110
- };
111
- export default {
112
- title: 'Components/Navigation/Side Navigation',
113
- component: 'xpl-side-nav',
114
- parameters: {
115
- layout: 'fullscreen',
116
- },
117
- };
118
- const renderHtmlSideNav = (config) => {
119
- const { navLabel, items, footerItems } = config;
120
- const itemsHtml = items.map((item) => renderHtmlNavItem(item, 4)).join('\n');
121
- const footerHtml = footerItems.map((item) => renderHtmlNavItem(item, 4)).join('\n');
122
- return `<div class="xpl-side-nav">
123
- <div class="xpl-side-nav__wrapper">
124
- <nav class="xpl-side-nav__content" aria-label="${escapeHtmlAttribute(navLabel)}">
125
- <div class="xpl-side-nav__section">
126
- ${itemsHtml}
127
- </div>
128
- <div class="xpl-side-nav__footer">
129
- ${footerHtml}
130
- </div>
131
- </nav>
132
- </div>
133
- </div>`;
134
- };
135
- const SideNavigationWebComponent = (config) => {
136
- const { navLabel, items, footerItems } = config;
137
- const itemsHtml = items.map(renderNavItem).join('');
138
- const footerHtml = footerItems.map(renderNavItem).join('');
139
- return `<xpl-side-nav label="${escapeHtmlAttribute(navLabel)}"><div slot="section">${itemsHtml}</div><div slot="nav-footer">${footerHtml}</div></xpl-side-nav>`;
140
- };
141
- let sideNavClickController;
142
- export const SideNavigation = {
143
- args: {
144
- navConfig: Object.assign({}, defaultNavConfig),
145
- },
146
- argTypes: {
147
- navConfig: {
148
- control: 'object',
149
- description: 'Full sidebar config (router-style): `navLabel`, `items[]`, `footerItems[]`. Arrays map to `xpl-side-nav-item` markup.',
150
- },
151
- },
152
- render: ({ navConfig }) => {
153
- const { navLabel, items, footerItems } = navConfig;
154
- const itemsHtml = items.map(renderNavItem).join('');
155
- const footerHtml = footerItems.map(renderNavItem).join('');
156
- return `
157
- <style>
158
- .side-nav-demo-wrapper {
159
- display: flex;
160
- height: 600px;
161
- background-color: var(--xpl-background-surface-subtle);
162
- border: var(--xpl-border-small) solid var(--xpl-border-default);
163
- }
164
- /* Above md: nav is a fixed-width column; main fills the rest of the row. */
165
- @media (min-width: 768px) {
166
- .side-nav-demo-wrapper {
167
- flex-direction: row;
168
- }
169
- .side-nav-demo-main {
170
- flex: 1;
171
- }
172
- }
173
- /* Below md: nav collapses to a top bar; main flows beneath it. */
174
- @media (max-width: 767px) {
175
- .side-nav-demo-wrapper {
176
- flex-direction: column;
177
- }
178
- }
179
- .side-nav-demo-main {
180
- padding: var(--xpl-space-32);
181
- font-family: var(--xpl-font-family-default);
182
- color: var(--xpl-text-default);
183
- }
184
- .side-nav-demo-main h1 { margin: 0; }
185
- .side-nav-demo-note {
186
- font-family: var(--xpl-font-family-default);
187
- font-size: var(--xpl-font-size-callout);
188
- color: var(--xpl-text-subdued);
189
- margin: var(--xpl-space-8) 0 0;
190
- line-height: 1.5;
191
- }
192
- .side-nav-demo-legend {
193
- margin-top: var(--xpl-space-24);
194
- padding: var(--xpl-space-16);
195
- border-radius: var(--xpl-border-radius-default);
196
- background: var(--xpl-background-surface-transparent-5);
197
- font-family: var(--xpl-font-family-default);
198
- font-size: var(--xpl-font-size-callout);
199
- color: var(--xpl-text-subdued);
200
- line-height: 1.8;
201
- }
202
- .side-nav-demo-legend code {
203
- background: var(--xpl-background-surface-transparent-10);
204
- padding: var(--xpl-space-2) var(--xpl-space-6);
205
- border-radius: var(--xpl-border-radius-small);
206
- font-size: var(--xpl-font-size-caption);
207
- }
208
- </style>
209
- <div class="side-nav-demo-wrapper">
210
- <xpl-side-nav label="${escapeHtmlAttribute(navLabel)}">
211
- <div slot="section">${itemsHtml}
212
- </div>
213
- <div slot="nav-footer">${footerHtml}
214
- </div>
215
- </xpl-side-nav>
216
-
217
- <div class="side-nav-demo-main">
218
- <h1>Side Navigation Demo</h1>
219
- <p class="side-nav-demo-note">Click any item in the nav to select it. Parent items expand and collapse on click.</p>
220
- <div class="side-nav-demo-legend">
221
- <strong>v2 anatomy per row:</strong><br/>
222
- <code>slot="leading"</code> — leading icon (or <code>icon</code> prop)<br/>
223
- label (flex-1)<br/>
224
- <code>slot="trailing"</code> — trailing icon; auto chevron for parents (<code>chevron-down</code> collapsed, <code>chevron-up</code> expanded)
225
- </div>
226
- <div class="side-nav-demo-legend">
227
- <strong><code>NavItem</code></strong><br/>
228
- <code>{ label, icon?, trailingIcon?, selected?, disabled?, hidden?, hasChildren?, expanded?, link?, href?, children? }</code>
229
- </div>
230
- <div class="side-nav-demo-legend">
231
- <strong>Responsive (below <code>md</code> / 768 px):</strong><br/>
232
- The sidebar collapses to a ~56 px top bar with a built-in toggle button.<br/>
233
- Activating the toggle opens an 80 vw drawer (min 300 px) that slides in from the left — the remaining 20 vw shows a backdrop scrim.<br/>
234
- <strong>Closing:</strong> toggle button, <code>Escape</code> key, or backdrop click — all return focus to the toggle.<br/>
235
- <strong>Focus trap:</strong> <code>Tab</code> cycles within the open drawer.<br/>
236
- <strong>API:</strong> <code>open</code> prop/attr (reflected) · <code>openChange</code> event · <code>toggle()</code> / <code>setOpen()</code> methods
237
- </div>
238
- </div>
239
- </div>`;
240
- },
241
- play: async ({ canvasElement }) => {
242
- sideNavClickController === null || sideNavClickController === void 0 ? void 0 : sideNavClickController.abort();
243
- sideNavClickController = new AbortController();
244
- const nav = canvasElement.querySelector('xpl-side-nav');
245
- if (!nav)
246
- return;
247
- nav.addEventListener('click', (e) => {
248
- const item = e.target.closest('xpl-side-nav-item');
249
- if (!item)
250
- return;
251
- if (item.hasAttribute('disabled'))
252
- return;
253
- if (item.hasAttribute('has-children'))
254
- return;
255
- nav.querySelectorAll('xpl-side-nav-item').forEach((el) => el.removeAttribute('selected'));
256
- item.setAttribute('selected', '');
257
- }, { signal: sideNavClickController.signal });
258
- },
259
- parameters: {
260
- layout: 'fullscreen',
261
- design: {
262
- type: 'figma',
263
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=33873-23128&m=dev',
264
- },
265
- docs: {
266
- description: {
267
- story: 'Fully interactive navigation demo. Click leaf items to select them; click parent items to expand/collapse. Edit the `navConfig` control to add, remove, or reconfigure items — same data-driven pattern as mapping router config to nav in production.',
268
- },
269
- },
270
- 'web-component': {
271
- render: SideNavigationWebComponent(defaultNavConfig),
272
- },
273
- html: {
274
- render: renderHtmlSideNav(defaultNavConfig),
275
- },
276
- },
277
- };
278
- export const ItemPlayground = {
279
- argTypes: {
280
- label: {
281
- control: 'text',
282
- description: 'Display label for the navigation item',
283
- },
284
- icon: {
285
- control: 'text',
286
- description: 'Icon name — default content for `slot="leading"`. Applies to all item types including parents (`has-children`) in v2.',
287
- },
288
- trailingIcon: {
289
- control: 'text',
290
- description: 'Icon name for `slot="trailing"`. On parent items (`has-children`), providing this replaces the auto chevron (`chevron-down` collapsed / `chevron-up` expanded).',
291
- },
292
- selected: {
293
- control: 'boolean',
294
- description: 'Whether the item is in selected state',
295
- },
296
- disabled: {
297
- control: 'boolean',
298
- description: 'Whether the item is disabled',
299
- },
300
- hidden: {
301
- control: 'boolean',
302
- description: 'Whether the item is hidden',
303
- },
304
- expanded: {
305
- control: 'boolean',
306
- description: 'Whether expandable children are visible (requires hasChildren)',
307
- },
308
- hasChildren: {
309
- control: 'boolean',
310
- description: 'Whether the item can contain nested children',
311
- },
312
- link: {
313
- control: 'boolean',
314
- description: 'Whether the item is a link (slot-only mode)',
315
- },
316
- childLabel1: {
317
- control: 'text',
318
- description: 'Label for first child item (when hasChildren is true)',
319
- },
320
- childLabel2: {
321
- control: 'text',
322
- description: 'Label for second child item (when hasChildren is true)',
323
- },
324
- },
325
- args: {
326
- label: 'Playground Item',
327
- icon: 'house-4',
328
- trailingIcon: '',
329
- selected: false,
330
- disabled: false,
331
- hidden: false,
332
- expanded: false,
333
- hasChildren: false,
334
- link: false,
335
- childLabel1: 'Child Item A',
336
- childLabel2: 'Child Item B',
337
- },
338
- render: ({ label, icon, trailingIcon, selected, disabled, hidden, expanded, hasChildren, link, childLabel1, childLabel2, }) => {
339
- const attrs = [
340
- label ? `label="${label}"` : '',
341
- icon ? `icon="${icon}"` : '',
342
- selected ? 'selected' : '',
343
- disabled ? 'disabled' : '',
344
- hidden ? 'hidden' : '',
345
- expanded ? 'expanded' : '',
346
- !link && hasChildren ? 'has-children' : '',
347
- link ? 'link' : '',
348
- ]
349
- .filter(Boolean)
350
- .join(' ');
351
- let content = '';
352
- const trailingSlot = trailingIcon && !link
353
- ? `\n <xpl-icon slot="trailing" icon="${trailingIcon}" size="16" aria-hidden="true"></xpl-icon>`
354
- : '';
355
- if (link) {
356
- const leadingIcon = icon ? `<xpl-icon icon="${icon}" size="16"></xpl-icon>` : '';
357
- content = `
358
- <a href="#${(label === null || label === void 0 ? void 0 : label.toLowerCase().replace(/\s+/g, '-')) || 'item'}" class="xpl-side-nav-item__link"><span class="xpl-side-nav-item__leading">${leadingIcon}</span><span class="xpl-side-nav-item__label">${label}</span></a>`;
359
- }
360
- else if (hasChildren) {
361
- content = `${trailingSlot}
362
- <xpl-side-nav-item label="${childLabel1}" icon="circle-dot"></xpl-side-nav-item>
363
- <xpl-side-nav-item label="${childLabel2}" icon="circle-dot"></xpl-side-nav-item>`;
364
- }
365
- else {
366
- content = trailingSlot;
367
- }
368
- return `
369
- <style>
370
- .item-playground-wrapper {
371
- padding: var(--xpl-space-16);
372
- border: var(--xpl-border-small) solid var(--xpl-border-default);
373
- background-color: var(--xpl-background-surface-subtlest);
374
- border-radius: var(--xpl-border-radius-default);
375
- height: auto;
376
- min-height: 0;
377
- }
378
- .item-playground-note {
379
- font-family: var(--xpl-font-family-default);
380
- font-size: var(--xpl-font-size-caption);
381
- color: var(--xpl-text-subdued);
382
- margin-top: var(--xpl-space-12);
383
- line-height: 1.5;
384
- }
385
- </style>
386
- <div class="xpl-side-nav item-playground-wrapper">
387
- <xpl-side-nav-item ${attrs}>${content}
388
- </xpl-side-nav-item>
389
- </div>
390
- <p class="item-playground-note">
391
- Interactive playground for <code>xpl-side-nav-item</code>. Toggle props in the Controls panel.
392
- </p>`;
393
- },
394
- parameters: {
395
- layout: 'centered',
396
- docs: {
397
- description: {
398
- story: 'Interactive playground for testing all `xpl-side-nav-item` props individually. Toggle boolean props, change text values, and observe the component behavior.',
399
- },
400
- },
401
- },
402
- };
403
- export const ExternalLinkItem = () => `
404
- <style>
405
- .external-link-demo {
406
- padding: var(--xpl-space-16);
407
- border: var(--xpl-border-small) solid var(--xpl-border-default);
408
- background-color: var(--xpl-background-surface-subtlest);
409
- border-radius: var(--xpl-border-radius-default);
410
- height: auto;
411
- min-height: 0;
412
- }
413
- .external-link-caption {
414
- font-family: var(--xpl-font-family-default);
415
- font-size: var(--xpl-font-size-caption);
416
- color: var(--xpl-text-subdued);
417
- margin-bottom: var(--xpl-space-8);
418
- }
419
- </style>
420
- <p class="external-link-caption">Leaf item with leading icon + trailing external-link icon</p>
421
- <div class="xpl-side-nav external-link-demo">
422
- <xpl-side-nav-item label="Xplor Growth" icon="chart-line-up">
423
- <xpl-icon slot="trailing" icon="external-link" size="16" aria-hidden="true"></xpl-icon>
424
- </xpl-side-nav-item>
425
- <xpl-side-nav-item label="Dashboard" icon="house-4" selected></xpl-side-nav-item>
426
- <xpl-side-nav-item label="Reports" icon="chart-line"></xpl-side-nav-item>
427
- </div>`;
428
- ExternalLinkItem.parameters = {
429
- layout: 'centered',
430
- docs: {
431
- description: {
432
- story: 'Leaf item with a leading icon (`icon` prop) and a trailing `slot="trailing"` icon (`external-link`). The trailing slot replaces the auto chevron on parents, or adds a trailing icon to leaf items. Note: trailing icons that convey meaning (e.g. external link) should be accompanied by accessible labeling in the surrounding context.',
433
- },
434
- },
435
- };
436
- export const ParentWithLeadingIcon = () => `
437
- <style>
438
- .parent-leading-demo {
439
- padding: var(--xpl-space-16);
440
- border: var(--xpl-border-small) solid var(--xpl-border-default);
441
- background-color: var(--xpl-background-surface-subtlest);
442
- border-radius: var(--xpl-border-radius-default);
443
- height: auto;
444
- min-height: 0;
445
- }
446
- .parent-leading-caption {
447
- font-family: var(--xpl-font-family-default);
448
- font-size: var(--xpl-font-size-caption);
449
- color: var(--xpl-text-subdued);
450
- margin-bottom: var(--xpl-space-8);
451
- }
452
- </style>
453
- <p class="parent-leading-caption">Parents now show leading icon AND chevron (v2 behavior)</p>
454
- <div class="xpl-side-nav parent-leading-demo">
455
- <xpl-side-nav-item label="Settings" icon="gear" has-children expanded>
456
- <xpl-side-nav-item label="Location"></xpl-side-nav-item>
457
- <xpl-side-nav-item label="Schedule" selected></xpl-side-nav-item>
458
- </xpl-side-nav-item>
459
- <xpl-side-nav-item label="Integrations" icon="plug" has-children>
460
- <xpl-side-nav-item label="Webhooks"></xpl-side-nav-item>
461
- <xpl-side-nav-item label="API Keys"></xpl-side-nav-item>
462
- </xpl-side-nav-item>
463
- <xpl-side-nav-item label="Dashboard" icon="house-4" selected></xpl-side-nav-item>
464
- </div>`;
465
- ParentWithLeadingIcon.parameters = {
466
- layout: 'centered',
467
- docs: {
468
- description: {
469
- story: '**v2 behavior change:** parent rows (`has-children`) now render the leading icon alongside the auto chevron in the trailing position (`chevron-down` when collapsed, `chevron-up` when expanded). In v1, parents showed chevron + label only (no leading icon). Pass `icon` prop or `slot="leading"` content to set the leading icon.',
470
- },
471
- },
472
- };
473
- export const FooterSlot = {
474
- argTypes: {
475
- footerItems: {
476
- control: 'object',
477
- description: 'Navigation items for the footer slot',
478
- },
479
- },
480
- args: {
481
- footerItems: [
482
- { label: 'Settings', icon: 'gear' },
483
- { label: 'Help', icon: 'headset' },
484
- { label: 'Logout', icon: 'open-rect-arrow-out' },
485
- ],
486
- },
487
- render: ({ footerItems }) => {
488
- const footerHtml = footerItems.map(renderNavItem).join('');
489
- return `
490
- <style>
491
- /*
492
- * Focused preview of the nav-footer slot only. Renders the static
493
- * .xpl-side-nav__footer markup at sidebar width so the footer styling
494
- * (top divider, padding) is shown in isolation -- no host xpl-side-nav
495
- * wrapper, so no mobile top-bar collapse intrudes on the docs view.
496
- */
497
- /*
498
- * Override the .xpl-side-nav host defaults (height: 100%, overflow: hidden)
499
- * so the demo card shrink-wraps its content vertically and never crops.
500
- */
501
- .footer-demo-container {
502
- display: inline-flex;
503
- flex-direction: column;
504
- height: auto;
505
- background: var(--xpl-background-surface-subtlest);
506
- border: var(--xpl-border-small) solid var(--xpl-border-default);
507
- border-radius: var(--xpl-border-radius-default);
508
- overflow: visible;
509
- }
510
- .footer-demo-caption {
511
- font-family: var(--xpl-font-family-default);
512
- font-size: var(--xpl-font-size-caption);
513
- color: var(--xpl-text-subdued);
514
- margin-bottom: var(--xpl-space-8);
515
- }
516
- </style>
517
- <p class="footer-demo-caption">Nav Footer Slot</p>
518
- <div class="xpl-side-nav footer-demo-container">
519
- <div class="xpl-side-nav__footer">${footerHtml}
520
- </div>
521
- </div>`;
522
- },
523
- parameters: {
524
- layout: 'centered',
525
- design: {
526
- type: 'figma',
527
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=24425-16384',
528
- },
529
- },
530
- };
531
- const FooterSlotWebComponent = (args) => {
532
- const footerHtml = args.footerItems.map(renderNavItem).join('');
533
- return `<xpl-side-nav>
534
- <div slot="nav-footer">${footerHtml}</div>
535
- </xpl-side-nav>`;
536
- };
537
- const FooterSlotHtml = (args) => {
538
- const footerHtml = args.footerItems.map((item) => renderHtmlNavItem(item, 4)).join('\n');
539
- return `<div class="xpl-side-nav">
540
- <div class="xpl-side-nav__footer">
541
- ${footerHtml}
542
- </div>
543
- </div>`;
544
- };
545
- FooterSlot.parameters = Object.assign(Object.assign({}, FooterSlot.parameters), { 'web-component': {
546
- render: FooterSlotWebComponent(FooterSlot.args),
547
- }, html: {
548
- render: FooterSlotHtml(FooterSlot.args),
549
- } });
550
- const mobileItems = [
551
- { label: 'Dashboard', icon: 'house-4', selected: true },
552
- { label: 'Product', icon: 'bag-shopping-2' },
553
- {
554
- label: 'Settings',
555
- icon: 'gear-3',
556
- hasChildren: true,
557
- children: [{ label: 'Location' }, { label: 'Schedule' }],
558
- },
559
- { label: 'Xplor Growth', icon: 'chart-line-up', trailingIcon: 'external-link' },
560
- ];
561
- const mobileFooterItems = [
562
- { label: 'Support', icon: 'headset' },
563
- { label: 'Logout', icon: 'open-rect-arrow-out' },
564
- ];
565
- const renderMobileSideNav = (open) => {
566
- const itemsHtml = mobileItems.map(renderNavItem).join('');
567
- const footerHtml = mobileFooterItems.map(renderNavItem).join('');
568
- return `
569
- <style>
570
- .side-nav-mobile-root {
571
- position: relative;
572
- width: 100%;
573
- height: 100vh;
574
- overflow: hidden;
575
- background: var(--xpl-background-surface-subtle);
576
- }
577
- /* Force the mobile bar layout regardless of Storybook viewport width. */
578
- .side-nav-mobile-root .xpl-side-nav {
579
- width: 100%;
580
- height: var(--xpl-size-350);
581
- min-height: var(--xpl-size-350);
582
- padding: var(--xpl-space-8) var(--xpl-space-16);
583
- border-right: var(--xpl-border-none);
584
- border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
585
- }
586
- .side-nav-mobile-root .xpl-side-nav__toggle {
587
- display: flex;
588
- width: var(--xpl-size-250);
589
- height: var(--xpl-size-250);
590
- }
591
- /* Page content placeholder fills the remaining height behind the closed bar. */
592
- .side-nav-mobile-page {
593
- padding: var(--xpl-space-24) var(--xpl-space-16);
594
- font-family: var(--xpl-font-family-default);
595
- font-size: var(--xpl-font-size-body);
596
- color: var(--xpl-text-subdued);
597
- }
598
- </style>
599
- <div class="side-nav-mobile-root">
600
- <xpl-side-nav label="Main navigation"${open ? ' open' : ''}>
601
- <div slot="section">${itemsHtml}</div>
602
- <div slot="nav-footer">${footerHtml}</div>
603
- </xpl-side-nav>
604
- <div class="side-nav-mobile-page">
605
- ${open ? 'Drawer open — the 80 vw drawer slides over this content; the 20 vw backdrop scrim is visible on the right. Press Escape or tap the backdrop to close.' : 'Tap the toggle in the bar above to open the drawer.'}
606
- </div>
607
- </div>`;
608
- };
609
- export const MobileClosed = () => renderMobileSideNav(false);
610
- MobileClosed.parameters = {
611
- layout: 'fullscreen',
612
- design: {
613
- type: 'figma',
614
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=48928-8582',
615
- },
616
- docs: {
617
- description: {
618
- story: 'Mobile closed state (full viewport). Below the `md` breakpoint the sidebar collapses to a ~56 px top bar with a `sidebar-left-show` toggle. Resize the Storybook canvas below 768 px, or use the "Mobile" viewport preset, to see the responsive layout.',
619
- },
620
- },
621
- };
622
- export const MobileOpen = () => renderMobileSideNav(true);
623
- MobileOpen.parameters = {
624
- layout: 'fullscreen',
625
- design: {
626
- type: 'figma',
627
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=48928-8581',
628
- },
629
- docs: {
630
- description: {
631
- story: 'Mobile open state (`open` attribute, full viewport). The 80 vw drawer slides in from the left; the remaining 20 vw shows the `xpl-backdrop` scrim. Escape or a backdrop click closes the drawer and returns focus to the toggle.',
632
- },
633
- },
634
- };