@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,745 +0,0 @@
1
- import { addons } from "storybook/preview-api";
2
- import { INITIAL_VIEWPORTS } from "storybook/viewport";
3
- const UPDATE_GLOBALS = 'updateGlobals';
4
- const TOP_NAV_MOBILE600_VIEWPORT = {
5
- name: 'Mobile (600px)',
6
- styles: { width: '600px', height: '900px' },
7
- type: 'mobile',
8
- };
9
- const TOP_NAV_STORY_STYLE_ID = 'sb-top-nav-story-styles';
10
- const TOP_NAV_STORY_CSS = `
11
- .sb-top-nav-story-canvas {
12
- box-sizing: border-box;
13
- min-height: 100vh;
14
- width: 100%;
15
- padding: var(--xpl-space-0);
16
- }
17
- .sb-top-nav-html-root { width: 100%; }
18
- .sb-top-nav-html-bar {
19
- display: flex;
20
- justify-content: space-between;
21
- align-items: center;
22
- padding: var(--xpl-space-8) var(--xpl-space-16);
23
- height: var(--xpl-size-350);
24
- background: var(--xpl-background-surface-default);
25
- color: var(--xpl-text-subdued);
26
- border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
27
- }
28
- .sb-top-nav-html-inner-left { display: flex; align-items: center; }
29
- .sb-top-nav-html-nav-control {
30
- margin-right: var(--xpl-space-16);
31
- border: none;
32
- padding: var(--xpl-space-0);
33
- cursor: pointer;
34
- }
35
- .sb-top-nav-html-aside-left {
36
- display: flex;
37
- align-items: center;
38
- gap: var(--xpl-space-8);
39
- flex: 1;
40
- }
41
- .sb-top-nav-html-brand-link {
42
- display: flex;
43
- align-items: center;
44
- gap: var(--xpl-space-8);
45
- text-decoration: none;
46
- color: inherit;
47
- }
48
- .sb-top-nav-html-brand-img { height: var(--xpl-size-100); width: auto; }
49
- .sb-top-nav-html-brand-text,
50
- .sb-top-nav-html-brand-text-link {
51
- font-size: var(--xpl-font-size-title-4);
52
- font-weight: var(--xpl-font-weight-medium);
53
- color: var(--xpl-text-strong);
54
- }
55
- .sb-top-nav-html-brand-text-link { text-decoration: none; }
56
- .sb-top-nav-html-brand-row {
57
- display: flex;
58
- align-items: center;
59
- gap: var(--xpl-space-8);
60
- }
61
- .sb-top-nav-html-nav-link {
62
- padding: var(--xpl-space-8);
63
- font-size: var(--xpl-font-size-body);
64
- }
65
- .sb-top-nav-html-aside-right {
66
- display: flex;
67
- align-items: center;
68
- justify-content: flex-end;
69
- gap: var(--xpl-space-8);
70
- flex: 1;
71
- }
72
- .sb-top-nav-html-account-btn {
73
- display: inline-flex;
74
- align-items: center;
75
- gap: var(--xpl-space-8);
76
- padding: var(--xpl-space-8);
77
- font-size: var(--xpl-font-size-title-4);
78
- font-weight: var(--xpl-font-weight-medium);
79
- color: var(--xpl-text-strong);
80
- border: none;
81
- background-color: var(--xpl-background-surface-transparent-0);
82
- cursor: pointer;
83
- }
84
- .sb-top-nav-item-story-bar {
85
- display: flex;
86
- align-items: center;
87
- height: var(--xpl-size-350);
88
- padding: var(--xpl-space-0) var(--xpl-space-16);
89
- gap: var(--xpl-space-8);
90
- background: var(--xpl-background-surface-default);
91
- border: var(--xpl-border-small) solid var(--xpl-border-default);
92
- border-radius: var(--xpl-border-radius-default);
93
- }
94
- .sb-top-nav-html-item-icon {
95
- width: var(--xpl-size-100);
96
- height: var(--xpl-size-100);
97
- display: inline-block;
98
- margin-right: var(--xpl-space-8);
99
- }
100
- .sb-top-nav-html-item-inner {
101
- padding: var(--xpl-space-8);
102
- font: inherit;
103
- font-size: var(--xpl-font-size-body);
104
- border: 0;
105
- border-radius: var(--xpl-border-radius-small);
106
- appearance: none;
107
- background: transparent;
108
- display: flex;
109
- align-items: center;
110
- gap: var(--xpl-space-8);
111
- cursor: pointer;
112
- text-align: inherit;
113
- text-decoration: none;
114
- color: inherit;
115
- }
116
- .sb-top-nav-html-item-inner--selected { color: var(--xpl-text-strong); }
117
- .sb-top-nav-menu-shell {
118
- background: var(--xpl-background-surface-default);
119
- border: var(--xpl-border-small) solid var(--xpl-border-default);
120
- border-radius: var(--xpl-border-radius-default);
121
- width: var(--xpl-top-nav-panel-width);
122
- display: flex;
123
- flex-direction: column;
124
- overflow: hidden;
125
- padding: var(--xpl-space-0);
126
- }
127
- .sb-top-nav-menu-shell--min {
128
- min-width: var(--xpl-top-nav-panel-width);
129
- border: var(--xpl-border-small) solid var(--xpl-border-default);
130
- border-radius: var(--xpl-border-radius-default);
131
- overflow: hidden;
132
- }
133
- .sb-top-nav-menu-profile {
134
- display: flex;
135
- flex-direction: column;
136
- align-items: center;
137
- text-align: center;
138
- padding: var(--xpl-space-16);
139
- border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
140
- }
141
- .sb-top-nav-menu-profile-inner { width: 100%; min-width: 0; }
142
- .sb-top-nav-menu-username {
143
- font-weight: var(--xpl-font-weight-medium);
144
- color: var(--xpl-text-strong);
145
- }
146
- .sb-top-nav-menu-email {
147
- font-size: var(--xpl-font-size-caption);
148
- color: var(--xpl-text-subdued);
149
- }
150
- .sb-top-nav-menu-list {
151
- padding: var(--xpl-space-8) var(--xpl-space-0);
152
- }
153
- .sb-top-nav-menu-list a {
154
- display: flex;
155
- align-items: center;
156
- gap: var(--xpl-space-8);
157
- padding: var(--xpl-space-8) var(--xpl-space-16);
158
- color: var(--xpl-text-default);
159
- text-decoration: none;
160
- }
161
- .sb-top-nav-menu-right-aside-mobile {
162
- display: flex;
163
- flex-direction: column;
164
- gap: var(--xpl-space-4);
165
- padding: var(--xpl-space-4) var(--xpl-space-0);
166
- border-bottom: var(--xpl-border-small) solid var(--xpl-border-default);
167
- }
168
- .sb-top-nav-menu-right-aside-mobile a {
169
- display: flex;
170
- align-items: center;
171
- gap: var(--xpl-space-8);
172
- padding: var(--xpl-space-10) var(--xpl-space-12);
173
- color: var(--xpl-text-default);
174
- text-decoration: none;
175
- }
176
- `.trim();
177
- function ensureTopNavStoryStyles() {
178
- if (typeof document === 'undefined')
179
- return;
180
- if (document.getElementById(TOP_NAV_STORY_STYLE_ID))
181
- return;
182
- const style = document.createElement('style');
183
- style.id = TOP_NAV_STORY_STYLE_ID;
184
- style.textContent = TOP_NAV_STORY_CSS;
185
- document.head.appendChild(style);
186
- }
187
- function syncTopNavPreviewViewportToGlobals(previewViewport, globalsSnapshot) {
188
- var _a;
189
- const next = previewViewport !== null && previewViewport !== void 0 ? previewViewport : 'responsive';
190
- const raw = (_a = globalsSnapshot === null || globalsSnapshot === void 0 ? void 0 : globalsSnapshot.viewport) === null || _a === void 0 ? void 0 : _a.value;
191
- const normalizedCurrent = raw == null || raw === '' || raw === 'reset' ? undefined : String(raw);
192
- const desiredValue = next === 'responsive' ? undefined : next;
193
- if (normalizedCurrent === desiredValue) {
194
- return;
195
- }
196
- const channel = addons.getChannel();
197
- if (channel == null) {
198
- return;
199
- }
200
- if (next === 'responsive') {
201
- channel.emit(UPDATE_GLOBALS, {
202
- globals: { viewport: { value: undefined, isRotated: false } },
203
- });
204
- return;
205
- }
206
- channel.emit(UPDATE_GLOBALS, {
207
- globals: { viewport: { value: next, isRotated: false } },
208
- });
209
- }
210
- function topNavPreviewViewportDecorator(story, context) {
211
- var _a;
212
- const viewport = (_a = context.globals) === null || _a === void 0 ? void 0 : _a.viewport;
213
- syncTopNavPreviewViewportToGlobals(context.args.previewViewport, { viewport });
214
- return story();
215
- }
216
- function topNavDarkStoryDecorator(story) {
217
- ensureTopNavStoryStyles();
218
- const wrap = document.createElement('div');
219
- wrap.className = 'dark sb-top-nav-story-canvas';
220
- const result = story();
221
- if (typeof result === 'string') {
222
- const fragment = document.createRange().createContextualFragment(result);
223
- wrap.append(fragment);
224
- }
225
- else if (result != null &&
226
- typeof Node !== 'undefined' &&
227
- result.nodeType !== undefined) {
228
- wrap.appendChild(result);
229
- }
230
- return wrap;
231
- }
232
- const TOP_NAV_FIGMA_DESIGN = {
233
- type: 'figma',
234
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=36021-13064&p=f&t=zPkMI4H5nK5XE3ZU-11',
235
- };
236
- const topNavFamilyDocsDescription = [
237
- 'Horizontal top bar (`xpl-top-nav`), nav items (`xpl-top-nav-item`), grouping container (`xpl-top-nav-menu`), and profile header (`xpl-nav-header-menu`). **`xpl-top-nav`** supports **`brand-name`**, **`brand-href`**, **`brand-logo`** (image URL), and **`slot="brand-logo"`** for the built-in brand row; **`slot="left-aside"`** holds primary links; **`slot="right-aside"`** then **`slot="user-menu"`**; on narrow viewports (**one pixel below Tailwind `md`** — **`max-width: 767px`** with default **`screens.md`**) **`right-aside`** is hidden in the bar — duplicate those actions into **`slot="right-aside-mobile"`** on **`xpl-nav-header-menu`**. The account region uses an **internal** **`xpl-popover`** (**`bottom-end`**, **`display="menu"`**): set **`child-account-label`** for the built-in trigger label beside **`chevron-down`**, put the panel in **`slot="user-menu"`**, or use **`slot="user-menu-trigger"`** to replace the built-in trigger. Use **Top Navigation** Controls for props + **Actions** for **`navOpen`** / **`brandClick`**. With **`nav-control`**, the hamburger is visible only on those narrow widths (CSS **`top-nav.css`**). **`brandClick`** fires when the built-in brand is activated and **`brand-href`** is **not** set.',
238
- '',
239
- 'Group a parent nav item\'s children with **`xpl-top-nav-menu`** in its **`slot="dropdown"`**: on desktop it opens as a flyout under the parent; on narrow viewports the **same markup** drives a mobile cascade — the drawer swaps its top-level list for the group\'s rows in place (auto back row + `chevron-left`, no second panel). See the **`TopNavItem`** story\'s **`showDropdown`** control, or the grouped "Xplor Ops" item in this story\'s Controls, and switch **`previewViewport`** to a narrow preset to try the cascade.',
240
- '',
241
- '**Storybook:** These stories wrap the canvas in Foundation **`dark`** so previews match the components’ dark palette. The manager **moon** toggle targets the addon store and may still look “light” in the chrome; the preview area uses dark tokens regardless.',
242
- '',
243
- '### Events',
244
- '',
245
- '| Component | Event | When it fires | `event.detail` |',
246
- '| --- | --- | --- | --- |',
247
- '| **`xpl-top-nav`** | `navOpen` | Mobile menu toggled via control, or drawer closed with **Escape** (`nav-control` must be set). | `boolean` — `true` when open, `false` when closed. |',
248
- '| **`xpl-top-nav`** | `brandClick` | Built-in brand is activated (click or keyboard) and **`brand-href`** is unset. | `MouseEvent` — same as **`navItemClick`** on the internal brand **`xpl-top-nav-item`**. |',
249
- '| **`xpl-top-nav-item`** | `navItemClick` | User activates a plain item (click or Enter/Space). Not emitted for dropdown items (`slot="dropdown"`) or for internal chevron-only toggles. | `MouseEvent` (the original click). |',
250
- '| **`xpl-top-nav-item`** | `openChange` | `open` changes (click, hover, keyboard, Escape, outside click, or programmatic). | `boolean` — new open state. |',
251
- '| **`xpl-nav-header-menu`** | — | No custom events. | — |',
252
- '| **`xpl-top-nav-menu`** | — | No custom events — the back row calls `closeMenu()` on the parent trigger directly. | — |',
253
- ].join('\n');
254
- const meta = {
255
- title: 'Components/Navigation/Top Navigation',
256
- component: 'xpl-top-nav',
257
- decorators: [topNavDarkStoryDecorator],
258
- parameters: {
259
- design: TOP_NAV_FIGMA_DESIGN,
260
- darkMode: {
261
- current: 'dark',
262
- },
263
- actions: {
264
- handles: ['navOpen', 'brandClick'],
265
- },
266
- docs: {
267
- description: {
268
- component: topNavFamilyDocsDescription,
269
- },
270
- },
271
- },
272
- };
273
- export default meta;
274
- function escapeAttr(value) {
275
- return value.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;');
276
- }
277
- function topNavLabelAttr(label) {
278
- if (label == null || String(label).trim() === '') {
279
- return '';
280
- }
281
- return ` label="${String(label).replace(/"/g, '&quot;')}"`;
282
- }
283
- function topNavBrandAttrs(brandName, brandHref, brandLogo) {
284
- const parts = [];
285
- if (brandName != null && String(brandName).trim() !== '') {
286
- parts.push(` brand-name="${escapeAttr(String(brandName))}"`);
287
- }
288
- if (brandHref != null && String(brandHref).trim() !== '') {
289
- parts.push(` brand-href="${escapeAttr(String(brandHref))}"`);
290
- }
291
- if (brandLogo != null && String(brandLogo).trim() !== '') {
292
- parts.push(` brand-logo="${escapeAttr(String(brandLogo).trim())}"`);
293
- }
294
- return parts.join('');
295
- }
296
- function topNavChildAccountLabelAttr(childAccountLabel) {
297
- if (childAccountLabel == null || String(childAccountLabel).trim() === '') {
298
- return '';
299
- }
300
- return ` child-account-label="${escapeAttr(String(childAccountLabel).trim())}"`;
301
- }
302
- export const TopNavigation = (args) => {
303
- const { navControl, label, childAccountLabel, brandName, brandHref, brandLogo, menuUsername = 'Jane', menuEmail = 'jane@example.com', } = args;
304
- const navControlAttr = navControl === true ? ' nav-control' : '';
305
- const labelAttr = topNavLabelAttr(label);
306
- const childAccountAttr = topNavChildAccountLabelAttr(childAccountLabel);
307
- const brandAttr = topNavBrandAttrs(brandName, brandHref, brandLogo);
308
- const username = (menuUsername === null || menuUsername === void 0 ? void 0 : menuUsername.trim()) ? escapeAttr(menuUsername.trim()) : '';
309
- const email = (menuEmail === null || menuEmail === void 0 ? void 0 : menuEmail.trim()) ? escapeAttr(menuEmail.trim()) : '';
310
- const navHeaderMenuAttrs = [
311
- username ? `username="${username}"` : '',
312
- email ? `email="${email}"` : '',
313
- ]
314
- .filter(Boolean)
315
- .join(' ');
316
- const brandLogoSlot = brandLogo != null && String(brandLogo).trim() !== ''
317
- ? ''
318
- : `
319
- <xpl-icon slot="brand-logo" icon="rocket" size="24"></xpl-icon>`;
320
- const rightAsideBlock = `
321
- <xpl-button variant="tertiary" size="lg" slot="right-aside">
322
- <xpl-icon icon="message-writing" size="20"></xpl-icon>
323
- Inbox
324
- <xpl-badge dot-only>7</xpl-badge>
325
- </xpl-button>`;
326
- const rightAsideMobileBlock = `
327
- <xpl-top-nav-item slot="right-aside-mobile" label="Inbox" icon="message-writing"></xpl-top-nav-item>
328
- `;
329
- const groupedNavItem = `
330
- <xpl-top-nav-item slot="left-aside" label="Xplor Ops" open-mode="hover">
331
- <xpl-top-nav-menu slot="dropdown" label="Xplor Ops">
332
- <xpl-top-nav-item label="Payroll" href="#"></xpl-top-nav-item>
333
- <xpl-top-nav-item label="Capital" href="#">
334
- <xpl-icon slot="trailing-icon" icon="open-rect-arrow-out"></xpl-icon>
335
- </xpl-top-nav-item>
336
- </xpl-top-nav-menu>
337
- </xpl-top-nav-item>`;
338
- return `
339
- <xpl-top-nav${navControlAttr}${labelAttr}${childAccountAttr}${brandAttr}>
340
- ${brandLogoSlot}
341
- <xpl-top-nav-item slot="left-aside" label="Home" selected></xpl-top-nav-item>
342
- <xpl-top-nav-item slot="left-aside" label="Dashboard"></xpl-top-nav-item>
343
- <xpl-top-nav-item slot="left-aside" label="Settings"></xpl-top-nav-item>${groupedNavItem}${rightAsideBlock}
344
- <xpl-nav-header-menu slot="user-menu" ${navHeaderMenuAttrs}>${rightAsideMobileBlock}
345
- <xpl-top-nav-item label="View Account" icon="house-4" selected></xpl-top-nav-item>
346
- <xpl-top-nav-item
347
- label="Change Account"
348
- icon="refresh"
349
- description="Acme Corp — Downtown Location"
350
- ></xpl-top-nav-item>
351
- <xpl-top-nav-item label="Logout" icon="open-rect-arrow-out"></xpl-top-nav-item>
352
- </xpl-nav-header-menu>
353
- </xpl-top-nav>
354
- `.trim();
355
- };
356
- const HtmlTopNavigation = (args) => {
357
- const { navControl, label, childAccountLabel, brandName, brandHref, brandLogo } = args;
358
- const navAriaLabel = label != null && String(label).trim() !== '' ? String(label) : 'top-navigation-bar';
359
- const demoBrand = brandName != null && String(brandName).trim() !== '' ? String(brandName).trim() : 'My App';
360
- const demoBrandLink = brandHref != null && String(brandHref).trim() !== '' ? brandHref : '#';
361
- const safeBrandText = demoBrand
362
- .replace(/&/g, '&amp;')
363
- .replace(/</g, '&lt;')
364
- .replace(/>/g, '&gt;');
365
- const logoUrl = brandLogo != null && String(brandLogo).trim() !== '' ? String(brandLogo).trim() : '';
366
- const showChildRow = childAccountLabel != null && String(childAccountLabel).trim() !== '';
367
- const safeChildLabel = showChildRow && childAccountLabel != null
368
- ? String(childAccountLabel)
369
- .replace(/&/g, '&amp;')
370
- .replace(/</g, '&lt;')
371
- .replace(/>/g, '&gt;')
372
- : '';
373
- const lines = [
374
- '<div class="dark xpl-top-nav sb-top-nav-html-root">',
375
- ` <nav aria-label="${navAriaLabel.replace(/"/g, '&quot;')}" class="xpl-top-nav__bar sb-top-nav-html-bar">`,
376
- ' <div class="xpl-top-nav__inner-left sb-top-nav-html-inner-left">',
377
- ];
378
- if (navControl) {
379
- lines.push(' <button type="button" class="xpl-top-nav__nav-control sb-top-nav-html-nav-control" aria-expanded="false" aria-label="Open navigation menu">', ' <xpl-icon icon="menu" class="xpl-top-nav__control-icon" aria-hidden="true"></xpl-icon>', ' </button>');
380
- }
381
- lines.push(' <div class="xpl-top-nav__aside xpl-nav-left sb-top-nav-html-aside-left">');
382
- if (logoUrl) {
383
- const alt = demoBrand ? escapeAttr(demoBrand) : 'Brand';
384
- lines.push(` <a href="${demoBrandLink.replace(/"/g, '&quot;')}" class="sb-top-nav-html-brand-link">`, ` <img src="${escapeAttr(logoUrl)}" alt="${alt}" class="sb-top-nav-html-brand-img" />`);
385
- if (demoBrand) {
386
- lines.push(` <span class="sb-top-nav-html-brand-text">${safeBrandText}</span>`);
387
- }
388
- lines.push(' </a>');
389
- }
390
- else {
391
- lines.push(' <div class="sb-top-nav-html-brand-row">', ' <xpl-icon icon="rocket" size="24"></xpl-icon>', ` <a href="${demoBrandLink.replace(/"/g, '&quot;')}" class="sb-top-nav-html-brand-text-link">${safeBrandText}</a>`, ' </div>');
392
- }
393
- lines.push(' <a href="#" class="sb-top-nav-html-nav-link">Home</a>', ' <a href="#" class="sb-top-nav-html-nav-link">Dashboard</a>', ' <a href="#" class="sb-top-nav-html-nav-link">Settings</a>', ' </div>', ' </div>', ' <div class="xpl-top-nav__aside xpl-nav-right sb-top-nav-html-aside-right">', ' <xpl-button variant="tertiary" size="lg">', ' <xpl-icon icon="message-writing" size="20"></xpl-icon>', ' Inbox', ' <xpl-badge dot-only>7</xpl-badge>', ' </xpl-button>');
394
- if (showChildRow) {
395
- lines.push(` <button type="button" class="sb-top-nav-html-account-btn">${safeChildLabel} <xpl-icon icon="chevron-down" size="20"></xpl-icon></button>`);
396
- }
397
- lines.push(` <!-- user-menu: internal xpl-popover opened by the built-in child-account trigger -->`, ' </div>', ' </nav>', '</div>');
398
- return lines.join('\n');
399
- };
400
- TopNavigation.args = {
401
- previewViewport: 'responsive',
402
- navControl: true,
403
- label: 'Main navigation',
404
- childAccountLabel: 'Child Account',
405
- brandName: 'My App',
406
- brandHref: '#',
407
- brandLogo: '',
408
- menuUsername: 'Jane',
409
- menuEmail: 'jane@example.com',
410
- };
411
- TopNavigation.decorators = [topNavPreviewViewportDecorator];
412
- TopNavigation.argTypes = {
413
- previewViewport: {
414
- control: 'select',
415
- options: ['responsive', 'iphone12'],
416
- description: '**Storybook preview width** (updates **`globals.viewport`** — same as the viewport toolbar). **`responsive`** = full iframe (desktop nav). **`iphone12`** / narrow the iframe so **`top-nav.css`** mobile rules apply. Switch back to **Responsive** before leaving this story if other stories need a wide canvas.',
417
- table: { category: 'Storybook' },
418
- },
419
- brandName: {
420
- control: 'text',
421
- description: 'Built-in **`brand-name`** attribute (shown next to **`slot="brand-logo"`** / **`brand-logo`** URL). Clear both **`brand-name`** and **`brand-href`** in Controls to hide the brand row in the Web Component panel (keep **`slot="brand-logo"`** only if you still need a logo-only row).',
422
- },
423
- brandHref: {
424
- control: 'text',
425
- description: 'Built-in **`brand-href`** — native navigation for the brand control. **`#`** is fine for Storybook. **Clear** this field so the brand uses **`role="button"`** and emits **`brandClick`** (see **Actions**).',
426
- },
427
- brandLogo: {
428
- control: 'text',
429
- description: 'Optional **`brand-logo`** image URL. When set, the built-in **`&lt;img&gt;`** is used and **`slot="brand-logo"`** (icon) is omitted in this story.',
430
- table: { category: 'Brand' },
431
- },
432
- childAccountLabel: {
433
- control: 'text',
434
- description: '**`child-account-label`** — label beside the chevron on the built-in account menu trigger (with **`slot="user-menu"`**). Clear for chevron-only trigger.',
435
- },
436
- navControl: {
437
- control: 'boolean',
438
- description: 'Renders the hamburger in the DOM. CSS shows it only below **`md`** (**max-width 767px** at default Tailwind); **`left-aside`** is hidden at that width until the drawer opens. When **off**, **`left-aside`** stays hidden on narrow viewports **with no drawer**. Emits **`navOpen`** when the control is used.',
439
- },
440
- label: {
441
- control: 'text',
442
- description: 'Accessible name for the `<nav>` landmark (`aria-label`). Use a unique value when the page has multiple navigation regions. Clear to use default `top-navigation-bar`.',
443
- },
444
- menuUsername: {
445
- control: 'text',
446
- description: '**`username`** on **`xpl-nav-header-menu`**.',
447
- table: { category: 'User menu (panel)' },
448
- },
449
- menuEmail: {
450
- control: 'text',
451
- description: '**`email`** on **`xpl-nav-header-menu`**.',
452
- table: { category: 'User menu (panel)' },
453
- },
454
- navOpen: {
455
- control: false,
456
- description: '**Event** (not a prop): `navOpen` — `CustomEvent<boolean>`; `detail` is the new open state when the nav control is used or **Escape** closes the mobile drawer (when **`nav-control`** is set).',
457
- table: { category: 'Events' },
458
- },
459
- brandClick: {
460
- control: false,
461
- description: '**Event** (not a prop): `brandClick` — `CustomEvent<MouseEvent>`; fires when the built-in brand is activated and **`brand-href`** is **not** set. Clear **`brand-href`** in Controls, then click the brand.',
462
- table: { category: 'Events' },
463
- },
464
- };
465
- TopNavigation.parameters = {
466
- layout: 'fullscreen',
467
- design: TOP_NAV_FIGMA_DESIGN,
468
- viewport: {
469
- viewports: Object.assign(Object.assign({}, INITIAL_VIEWPORTS), { mobile600: TOP_NAV_MOBILE600_VIEWPORT }),
470
- },
471
- 'web-component': {
472
- render: TopNavigation(TopNavigation.args),
473
- },
474
- html: {
475
- render: HtmlTopNavigation(TopNavigation.args),
476
- },
477
- };
478
- export const TopNavItem = (args) => {
479
- var _a;
480
- const attrs = [
481
- args.active === true ? ' active' : '',
482
- args.href != null && args.href !== '' ? `href="${escapeAttr(args.href)}"` : '',
483
- args.label != null && args.label !== '' ? `label="${escapeAttr(args.label)}"` : '',
484
- args.icon != null && args.icon !== '' ? `icon="${escapeAttr(args.icon)}"` : '',
485
- args.description != null && args.description !== ''
486
- ? `description="${escapeAttr(args.description)}"`
487
- : '',
488
- args.itemAriaLabel != null && args.itemAriaLabel !== ''
489
- ? `item-aria-label="${escapeAttr(args.itemAriaLabel)}"`
490
- : '',
491
- args.openMode === 'hover' ? ' open-mode="hover"' : '',
492
- args.selected === true ? ' selected' : '',
493
- ]
494
- .filter(Boolean)
495
- .join(' ');
496
- const hasLabel = args.label != null && args.label !== '';
497
- const trailingIconSlot = args.trailingIcon != null && args.trailingIcon !== ''
498
- ? `\n <xpl-icon slot="trailing-icon" icon="${escapeAttr(args.trailingIcon)}"></xpl-icon>`
499
- : '';
500
- const dropdownSlot = args.showDropdown === true
501
- ? `\n <xpl-top-nav-menu slot="dropdown" label="${escapeAttr((_a = args.label) !== null && _a !== void 0 ? _a : 'Menu')}">
502
- <xpl-top-nav-item label="Payroll" href="#"></xpl-top-nav-item>
503
- <xpl-top-nav-item label="Capital" href="#" selected>
504
- <xpl-icon slot="trailing-icon" icon="open-rect-arrow-out"></xpl-icon>
505
- </xpl-top-nav-item>
506
- </xpl-top-nav-menu>`
507
- : '';
508
- return `
509
- <div class="dark sb-top-nav-item-story-bar">
510
- <xpl-top-nav-item ${attrs.trim()}>
511
- ${hasLabel ? '' : ' <span>Custom slot content</span>'}${trailingIconSlot}${dropdownSlot}
512
- </xpl-top-nav-item>
513
- </div>
514
- `.trim();
515
- };
516
- const HtmlTopNavItem = (args) => {
517
- var _a;
518
- const label = args.label != null && args.label !== '' ? args.label : 'Custom slot content';
519
- const selected = args.selected === true;
520
- const hasIcon = args.icon != null && args.icon !== '';
521
- const hasHref = args.href != null && args.href !== '';
522
- const ariaCurrent = selected ? ' aria-current="page"' : '';
523
- const iconPlaceholder = hasIcon ? '<span class="sb-top-nav-html-item-icon">◆</span>' : '';
524
- const innerContent = hasIcon
525
- ? ` ${iconPlaceholder}\n <span>${label}</span>`
526
- : ` <span>${label}</span>`;
527
- const innerClasses = [
528
- 'sb-top-nav-html-item-inner',
529
- selected ? 'sb-top-nav-html-item-inner--selected' : '',
530
- ]
531
- .filter(Boolean)
532
- .join(' ');
533
- const innerTag = hasHref
534
- ? ` <a href="${escapeAttr((_a = args.href) !== null && _a !== void 0 ? _a : '')}"${ariaCurrent} class="${innerClasses}">`
535
- : ` <button type="button"${ariaCurrent} class="${innerClasses}">`;
536
- const innerClose = hasHref ? ' </a>' : ' </button>';
537
- const lines = [
538
- '<div class="dark sb-top-nav-item-story-bar">',
539
- ' <div role="listitem">',
540
- innerTag,
541
- innerContent,
542
- innerClose,
543
- ' </div>',
544
- '</div>',
545
- ];
546
- return lines.join('\n');
547
- };
548
- TopNavItem.args = {
549
- href: '',
550
- label: 'Nav item',
551
- selected: false,
552
- openMode: 'click',
553
- showDropdown: false,
554
- };
555
- TopNavItem.argTypes = {
556
- active: {
557
- control: 'boolean',
558
- description: 'Adds `xpl-top-nav-item--active` for accent styling (separate from `selected` / current page).',
559
- },
560
- href: {
561
- control: 'text',
562
- description: 'When set, the item renders as a native `<a>` link instead of a native `<button>`. Use `#` for in-page demo. Clear to switch back to button mode.',
563
- },
564
- label: {
565
- control: 'text',
566
- description: 'Optional label to display as text. Omit to use the default slot for custom content.',
567
- },
568
- icon: {
569
- control: 'text',
570
- description: 'Icon name from the Apollo icon set for `slot="leading-icon"`\'s fallback (e.g. house-4, wrench). Empty = no icon. Ignored when `slot="leading-icon"` content is present.',
571
- },
572
- description: {
573
- control: 'text',
574
- description: 'Optional second line below `label` (row context — e.g. inside `xpl-nav-header-menu`). Empty = single-line row.',
575
- },
576
- trailingIcon: {
577
- control: 'text',
578
- description: 'Storybook-only: demos `slot="trailing-icon"` with the given icon name (e.g. `open-rect-arrow-out` for "opens in new window"). When `showDropdown` is also on, this replaces the auto `chevron-down`.',
579
- table: { category: 'Storybook' },
580
- },
581
- itemAriaLabel: {
582
- control: 'text',
583
- description: 'Maps to `item-aria-label`: accessible name for icon-only items (no label / default-slot text).',
584
- },
585
- openMode: {
586
- control: 'select',
587
- options: ['click', 'hover'],
588
- description: 'How `slot="dropdown"` opens. `hover` only activates on hover-capable, fine-pointer, `md`-and-up devices (falls back to click/tap otherwise); Enter/Space always toggles regardless. Requires `showDropdown`.',
589
- },
590
- selected: {
591
- control: 'boolean',
592
- description: 'Whether the item is selected. Sets aria-current="page" and selected styling.',
593
- },
594
- showDropdown: {
595
- control: 'boolean',
596
- description: 'Storybook-only: demos this item as a dropdown trigger with `slot="dropdown"` content (auto chevron, `open` state, `openMode`).',
597
- table: { category: 'Storybook' },
598
- },
599
- navItemClick: {
600
- control: false,
601
- description: '**Event** (not a prop): `navItemClick` — `CustomEvent<MouseEvent>`; `detail` is the originating click. Not emitted when `slot="dropdown"` is used.',
602
- table: { category: 'Events' },
603
- },
604
- openChange: {
605
- control: false,
606
- description: '**Event** (not a prop): `openChange` — `CustomEvent<boolean>`; fires whenever `open` changes (click, hover, keyboard, Escape, outside click, or programmatic).',
607
- table: { category: 'Events' },
608
- },
609
- };
610
- TopNavItem.parameters = {
611
- layout: 'centered',
612
- design: TOP_NAV_FIGMA_DESIGN,
613
- 'web-component': {
614
- render: TopNavItem(TopNavItem.args),
615
- },
616
- html: {
617
- render: HtmlTopNavItem(TopNavItem.args),
618
- },
619
- };
620
- export const TopNavMenuGroup = (args) => {
621
- const label = args.label != null && args.label !== '' ? args.label : 'Xplor Ops';
622
- return `
623
- <div class="dark sb-top-nav-menu-shell--min">
624
- <xpl-top-nav-menu label="${escapeAttr(label)}">
625
- <xpl-top-nav-item label="Payroll" href="#"></xpl-top-nav-item>
626
- <xpl-top-nav-item label="Capital" href="#" selected>
627
- <xpl-icon slot="trailing-icon" icon="open-rect-arrow-out"></xpl-icon>
628
- </xpl-top-nav-item>
629
- <xpl-top-nav-item label="Xplor Ops Home" description="xplorops.com" href="#"></xpl-top-nav-item>
630
- </xpl-top-nav-menu>
631
- </div>
632
- `.trim();
633
- };
634
- const HtmlTopNavMenuGroup = (args) => {
635
- const label = args.label != null && args.label !== '' ? args.label : 'Xplor Ops';
636
- return [
637
- '<div class="dark sb-top-nav-menu-shell--min">',
638
- ` <div role="list" aria-label="${escapeAttr(label)}" class="sb-top-nav-menu-list">`,
639
- ' <a href="#">Payroll</a>',
640
- ' <a href="#">Capital</a>',
641
- ' <a href="#">Xplor Ops Home</a>',
642
- ' </div>',
643
- '</div>',
644
- ].join('\n');
645
- };
646
- TopNavMenuGroup.args = {
647
- label: 'Xplor Ops',
648
- };
649
- TopNavMenuGroup.argTypes = {
650
- label: {
651
- control: 'text',
652
- description: 'Accessible name for the list (`aria-label`) and, on small screens, the mobile cascade back-row label for this group.',
653
- },
654
- };
655
- TopNavMenuGroup.parameters = {
656
- layout: 'centered',
657
- design: TOP_NAV_FIGMA_DESIGN,
658
- docs: {
659
- description: {
660
- story: 'Thin grouping container for `xpl-top-nav-item` rows — the panel content for a desktop flyout ' +
661
- '(nest it in a parent `xpl-top-nav-item`\'s `slot="dropdown"`, see the `TopNavItem` story\'s ' +
662
- '`showDropdown` control) and, in a follow-up PR, the source list for the mobile cascade. Panel ' +
663
- 'chrome (width, surface, shadow, radius, padding) matches `xpl-nav-header-menu`.',
664
- },
665
- },
666
- 'web-component': {
667
- render: TopNavMenuGroup(TopNavMenuGroup.args),
668
- },
669
- html: {
670
- render: HtmlTopNavMenuGroup(TopNavMenuGroup.args),
671
- },
672
- };
673
- export const TopNavMenu = (args) => {
674
- const attrs = [
675
- args.username != null && args.username !== ''
676
- ? `username="${escapeAttr(args.username)}"`
677
- : '',
678
- args.email != null && args.email !== '' ? `email="${escapeAttr(args.email)}"` : '',
679
- ]
680
- .filter(Boolean)
681
- .join(' ');
682
- const rightAsideMobile = args.showRightAsideMobile !== false
683
- ? `
684
- <xpl-top-nav-item slot="right-aside-mobile" label="Inbox" icon="message-writing"></xpl-top-nav-item>`
685
- : '';
686
- return `
687
- <div class="dark sb-top-nav-menu-shell">
688
- <xpl-nav-header-menu ${attrs.trim()}>${rightAsideMobile}
689
- <xpl-top-nav-item label="View Account" icon="house-4" selected></xpl-top-nav-item>
690
- <xpl-top-nav-item label="Change Account" icon="refresh"></xpl-top-nav-item>
691
- <xpl-top-nav-item label="Logout" icon="open-rect-arrow-out"></xpl-top-nav-item>
692
- </xpl-nav-header-menu>
693
- </div>
694
- `.trim();
695
- };
696
- const HtmlTopNavMenu = (args) => {
697
- const username = args.username != null && args.username !== '' ? args.username : '';
698
- const email = args.email != null && args.email !== '' ? args.email : '';
699
- const lines = [
700
- '<div class="dark sb-top-nav-menu-shell--min">',
701
- ' <div class="sb-top-nav-menu-profile">',
702
- ' <div class="sb-top-nav-menu-profile-inner">',
703
- ];
704
- if (username) {
705
- lines.push(` <div class="sb-top-nav-menu-username">${escapeAttr(username)}</div>`);
706
- }
707
- if (email) {
708
- lines.push(` <div class="sb-top-nav-menu-email">${escapeAttr(email)}</div>`);
709
- }
710
- lines.push(' </div>', ' </div>');
711
- if (args.showRightAsideMobile !== false) {
712
- lines.push(' <div class="sb-top-nav-menu-right-aside-mobile">', ' <a href="#">Inbox</a>', ' </div>');
713
- }
714
- lines.push(' <div role="list" class="sb-top-nav-menu-list">', ' <a href="#">View Account</a>', ' <a href="#">Change Account</a>', ' <a href="#">Logout</a>', ' </div>', '</div>');
715
- return lines.join('\n');
716
- };
717
- TopNavMenu.args = {
718
- username: 'Katie Wilson',
719
- email: 'katie01@email.com',
720
- showRightAsideMobile: true,
721
- };
722
- TopNavMenu.argTypes = {
723
- username: {
724
- control: 'text',
725
- description: 'Username to display.',
726
- },
727
- email: {
728
- control: 'text',
729
- description: 'Email to display.',
730
- },
731
- showRightAsideMobile: {
732
- control: 'boolean',
733
- description: '**`slot="right-aside-mobile"`** strip (Inbox) between profile and list — matches **`xpl-top-nav`** narrow **`right-aside`** duplication.',
734
- },
735
- };
736
- TopNavMenu.parameters = {
737
- layout: 'centered',
738
- design: TOP_NAV_FIGMA_DESIGN,
739
- 'web-component': {
740
- render: TopNavMenu(TopNavMenu.args),
741
- },
742
- html: {
743
- render: HtmlTopNavMenu(TopNavMenu.args),
744
- },
745
- };