@xplortech/apollo-core 2.12.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/.typings/apollo-components.html-data.json +61 -0
  2. package/AGENTS.md +4 -4
  3. package/README.md +30 -3
  4. package/build/components/modal.css +1 -1
  5. package/build/components/table-body.css +1 -0
  6. package/build/components/table-footer-cell.css +1 -0
  7. package/build/components/table-footer.css +1 -0
  8. package/build/components/table-row.css +1 -0
  9. package/build/components/top-nav.css +1 -1
  10. package/build/components-manifest.json +13 -1
  11. package/build/core.css +1 -1
  12. package/build/style.css +1 -1
  13. package/dist/apollo-core/apollo-core.css +1 -1
  14. package/dist/apollo-core/apollo-core.esm.js +1 -1
  15. package/dist/apollo-core/{p-d37488d4.entry.js → p-0368a1df.entry.js} +1 -1
  16. package/dist/apollo-core/p-056a99e4.entry.js +1 -0
  17. package/dist/apollo-core/p-068e3532.entry.js +1 -0
  18. package/dist/apollo-core/{p-121d1a4b.entry.js → p-06a9a27b.entry.js} +1 -1
  19. package/dist/apollo-core/{p-9747cf43.entry.js → p-0958c719.entry.js} +1 -1
  20. package/dist/apollo-core/p-0a0a6e43.entry.js +1 -0
  21. package/dist/apollo-core/{p-643c8038.entry.js → p-149ddd12.entry.js} +1 -1
  22. package/dist/apollo-core/p-1a94c2d9.entry.js +1 -0
  23. package/dist/apollo-core/{p-efa21ec0.entry.js → p-2139f9f6.entry.js} +1 -1
  24. package/dist/apollo-core/{p-76f64d65.entry.js → p-28bce81a.entry.js} +1 -1
  25. package/dist/apollo-core/{p-1a417191.entry.js → p-2938ab4f.entry.js} +1 -1
  26. package/dist/apollo-core/{p-4e61587f.entry.js → p-2c995d80.entry.js} +1 -1
  27. package/dist/apollo-core/p-2faa7b9c.entry.js +1 -0
  28. package/dist/apollo-core/p-30b1b700.entry.js +1 -0
  29. package/dist/apollo-core/p-32084caf.entry.js +1 -0
  30. package/dist/apollo-core/p-38586952.entry.js +1 -0
  31. package/dist/apollo-core/{p-707b1918.entry.js → p-47bda204.entry.js} +1 -1
  32. package/dist/apollo-core/{p-f199ad66.entry.js → p-4a2323b3.entry.js} +1 -1
  33. package/dist/apollo-core/{p-c25aebe5.entry.js → p-4ad79534.entry.js} +1 -1
  34. package/dist/apollo-core/{p-e4ae3f60.entry.js → p-4d4acd1f.entry.js} +1 -1
  35. package/dist/apollo-core/p-50fae269.entry.js +1 -0
  36. package/dist/apollo-core/{p-7f105d63.entry.js → p-54903322.entry.js} +1 -1
  37. package/dist/apollo-core/{p-8a81ef98.entry.js → p-5730d96c.entry.js} +1 -1
  38. package/dist/apollo-core/{p-46d21684.entry.js → p-581b702c.entry.js} +1 -1
  39. package/dist/apollo-core/{p-853418be.entry.js → p-5d9a593e.entry.js} +1 -1
  40. package/dist/apollo-core/{p-e00ed4f4.entry.js → p-60cb3cfb.entry.js} +1 -1
  41. package/dist/apollo-core/p-722b145a.entry.js +1 -0
  42. package/dist/apollo-core/p-75e5bfe0.entry.js +1 -0
  43. package/dist/apollo-core/p-77fe3cc1.entry.js +1 -0
  44. package/dist/apollo-core/{p-26861d09.entry.js → p-790709c0.entry.js} +1 -1
  45. package/dist/apollo-core/{p-7976cd3b.entry.js → p-82812126.entry.js} +1 -1
  46. package/dist/apollo-core/{p-c427a31d.entry.js → p-83bb7607.entry.js} +1 -1
  47. package/dist/apollo-core/p-8664d88b.entry.js +1 -0
  48. package/dist/apollo-core/{p-3d9c90ee.entry.js → p-9064badb.entry.js} +1 -1
  49. package/dist/apollo-core/{p-5ca18bc1.entry.js → p-91895c40.entry.js} +1 -1
  50. package/dist/apollo-core/p-969d5cca.entry.js +1 -0
  51. package/dist/apollo-core/p-99a79cf4.entry.js +1 -0
  52. package/dist/apollo-core/p-abdf199b.entry.js +1 -0
  53. package/dist/apollo-core/p-ae8a5f66.entry.js +1 -0
  54. package/dist/apollo-core/{p-9b0174b1.entry.js → p-af8ebf49.entry.js} +1 -1
  55. package/dist/apollo-core/p-b29025b2.entry.js +1 -0
  56. package/dist/apollo-core/{p-fd2756d8.entry.js → p-b45179fb.entry.js} +1 -1
  57. package/dist/apollo-core/p-b5a61076.entry.js +1 -0
  58. package/dist/apollo-core/p-bf7d8e18.entry.js +1 -0
  59. package/dist/apollo-core/p-c48e4884.entry.js +1 -0
  60. package/dist/apollo-core/{p-b537f72d.entry.js → p-ca4652b3.entry.js} +1 -1
  61. package/dist/apollo-core/{p-bb22ed2a.entry.js → p-cb5b15c2.entry.js} +1 -1
  62. package/dist/apollo-core/p-cc57f20d.entry.js +1 -0
  63. package/dist/apollo-core/{p-fef6c256.entry.js → p-cdacfcd4.entry.js} +1 -1
  64. package/dist/apollo-core/{p-616c5a32.entry.js → p-cdb5b5c4.entry.js} +1 -1
  65. package/dist/apollo-core/p-d0bc7c45.entry.js +1 -0
  66. package/dist/apollo-core/{p-ff8acf15.entry.js → p-d41b8f46.entry.js} +1 -1
  67. package/dist/apollo-core/{p-9bf2ff9f.entry.js → p-d443291f.entry.js} +1 -1
  68. package/dist/apollo-core/p-d724c419.entry.js +1 -0
  69. package/dist/apollo-core/p-d9070ae5.entry.js +1 -0
  70. package/dist/apollo-core/p-dca48977.entry.js +1 -0
  71. package/dist/apollo-core/p-e1833287.entry.js +1 -0
  72. package/dist/apollo-core/{p-601b3ab5.entry.js → p-e2890eb1.entry.js} +1 -1
  73. package/dist/apollo-core/p-e2b73b60.entry.js +1 -0
  74. package/dist/apollo-core/p-e7e445b0.entry.js +1 -0
  75. package/dist/apollo-core/p-f1c103ff.entry.js +1 -0
  76. package/dist/apollo-core/{p-0463c29f.entry.js → p-f3a2c79b.entry.js} +1 -1
  77. package/dist/apollo-core/p-ffc2f0cf.entry.js +1 -0
  78. package/dist/cjs/apollo-core.cjs.js +1 -1
  79. package/dist/cjs/index-3cBvw409.js +16 -0
  80. package/dist/cjs/loader.cjs.js +1 -1
  81. package/dist/cjs/xpl-accordion.cjs.entry.js +2 -2
  82. package/dist/cjs/xpl-application-shell.cjs.entry.js +1 -1
  83. package/dist/cjs/xpl-avatar_3.cjs.entry.js +5 -4
  84. package/dist/cjs/xpl-backdrop.cjs.entry.js +1 -1
  85. package/dist/cjs/xpl-badge.cjs.entry.js +1 -1
  86. package/dist/cjs/xpl-banner.cjs.entry.js +2 -2
  87. package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +1 -1
  88. package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +1 -1
  89. package/dist/cjs/xpl-button-row.cjs.entry.js +1 -1
  90. package/dist/cjs/xpl-button.cjs.entry.js +1 -1
  91. package/dist/cjs/xpl-calendar.cjs.entry.js +1 -1
  92. package/dist/cjs/xpl-checkbox.cjs.entry.js +3 -3
  93. package/dist/cjs/xpl-choicelist.cjs.entry.js +1 -1
  94. package/dist/cjs/xpl-content-area.cjs.entry.js +1 -1
  95. package/dist/cjs/xpl-dashboard.cjs.entry.js +1 -1
  96. package/dist/cjs/xpl-data-card.cjs.entry.js +2 -2
  97. package/dist/cjs/xpl-dropdown_4.cjs.entry.js +14 -11
  98. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +2 -2
  99. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +2 -2
  100. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +2 -2
  101. package/dist/cjs/xpl-grid-item.cjs.entry.js +1 -1
  102. package/dist/cjs/xpl-grid.cjs.entry.js +1 -1
  103. package/dist/cjs/xpl-header-accordion.cjs.entry.js +1 -1
  104. package/dist/cjs/xpl-icon.cjs.entry.js +2 -2
  105. package/dist/cjs/xpl-input-color.cjs.entry.js +13 -13
  106. package/dist/cjs/xpl-input-phone.cjs.entry.js +5 -5
  107. package/dist/cjs/xpl-input-time.cjs.entry.js +2 -2
  108. package/dist/cjs/xpl-input_4.cjs.entry.js +15 -14
  109. package/dist/cjs/xpl-large-card.cjs.entry.js +1 -1
  110. package/dist/cjs/xpl-list.cjs.entry.js +2 -2
  111. package/dist/cjs/xpl-main-nav.cjs.entry.js +1 -1
  112. package/dist/cjs/xpl-modal.cjs.entry.js +50 -21
  113. package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +2 -2
  114. package/dist/cjs/xpl-nav-item.cjs.entry.js +2 -2
  115. package/dist/cjs/xpl-pagination.cjs.entry.js +4 -4
  116. package/dist/cjs/xpl-panel.cjs.entry.js +2 -2
  117. package/dist/cjs/xpl-popover.cjs.entry.js +4 -4
  118. package/dist/cjs/xpl-progress-bar.cjs.entry.js +2 -2
  119. package/dist/cjs/xpl-progress-indicator.cjs.entry.js +1 -1
  120. package/dist/cjs/xpl-secondary-nav.cjs.entry.js +1 -1
  121. package/dist/cjs/xpl-select_2.cjs.entry.js +8 -8
  122. package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +2 -2
  123. package/dist/cjs/xpl-side-nav-item.cjs.entry.js +2 -2
  124. package/dist/cjs/xpl-side-nav-section.cjs.entry.js +5 -5
  125. package/dist/cjs/xpl-side-nav.cjs.entry.js +7 -3
  126. package/dist/cjs/xpl-skeleton.cjs.entry.js +1 -1
  127. package/dist/cjs/xpl-slideout.cjs.entry.js +1 -1
  128. package/dist/cjs/xpl-tab-panel.cjs.entry.js +2 -2
  129. package/dist/cjs/xpl-table-body.cjs.entry.js +14 -0
  130. package/dist/cjs/xpl-table-footer-cell.cjs.entry.js +18 -0
  131. package/dist/cjs/xpl-table-footer.cjs.entry.js +14 -0
  132. package/dist/cjs/xpl-table-header.cjs.entry.js +1 -1
  133. package/dist/cjs/xpl-table-row.cjs.entry.js +20 -0
  134. package/dist/cjs/xpl-table.cjs.entry.js +5 -5
  135. package/dist/cjs/xpl-tabs.cjs.entry.js +5 -5
  136. package/dist/cjs/xpl-toast.cjs.entry.js +2 -2
  137. package/dist/cjs/xpl-toggle.cjs.entry.js +3 -3
  138. package/dist/cjs/xpl-toolbar.cjs.entry.js +2 -2
  139. package/dist/cjs/xpl-tooltip.cjs.entry.js +1 -1
  140. package/dist/cjs/xpl-top-nav-item.cjs.entry.js +2 -2
  141. package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +2 -2
  142. package/dist/cjs/xpl-top-nav.cjs.entry.js +5 -5
  143. package/dist/cjs/xpl-utility-bar.cjs.entry.js +1 -1
  144. package/dist/collection/collection-manifest.json +4 -0
  145. package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
  146. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  147. package/dist/collection/components/xpl-avatar/xpl-avatar.js +1 -0
  148. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  149. package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
  150. package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
  151. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  152. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  153. package/dist/collection/components/xpl-button/xpl-button.js +1 -1
  154. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  155. package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
  156. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +3 -3
  157. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
  158. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  159. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  160. package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
  161. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  162. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
  163. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  164. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
  165. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +10 -7
  166. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
  167. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
  168. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
  169. package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
  170. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  171. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
  172. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
  173. package/dist/collection/components/xpl-input/xpl-input-color/color-utils.js +5 -5
  174. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
  175. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
  176. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
  177. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +5 -5
  178. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
  179. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
  180. package/dist/collection/components/xpl-input/xpl-input.js +7 -6
  181. package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
  182. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  183. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  184. package/dist/collection/components/xpl-modal/xpl-modal.js +50 -21
  185. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  186. package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
  187. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  188. package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
  189. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  190. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  191. package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
  192. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  193. package/dist/collection/components/xpl-select/select.shared.js +82 -0
  194. package/dist/collection/components/xpl-select/xpl-select.js +6 -6
  195. package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +2 -2
  196. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +2 -2
  197. package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +5 -5
  198. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +8 -4
  199. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  200. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  201. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  202. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +7 -0
  203. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +7 -0
  204. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +37 -0
  205. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +78 -0
  206. package/dist/collection/components/xpl-table/xpl-table.js +5 -5
  207. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  208. package/dist/collection/components/xpl-tabs/tabs.shared.js +0 -33
  209. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  210. package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
  211. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  212. package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
  213. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  214. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  215. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  216. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  217. package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +2 -2
  218. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  219. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  220. package/dist/components/index.d.ts +8 -0
  221. package/dist/components/index.js +1 -1
  222. package/dist/components/p-9VnxPQLs.js +1 -0
  223. package/dist/components/p-B2oLZUDD.js +1 -0
  224. package/dist/components/p-BYYFsuD3.js +1 -0
  225. package/dist/components/p-BZtxVB1R.js +1 -0
  226. package/dist/components/{p-BGqQbjLl.js → p-BdpZR4KO.js} +1 -1
  227. package/dist/components/{p-DywQ3S73.js → p-Chpgh5SL.js} +1 -1
  228. package/dist/components/{p-2jYZ7ACH.js → p-CiHTfk3E.js} +1 -1
  229. package/dist/components/p-CnVGKN63.js +1 -0
  230. package/dist/components/p-Cz7zDaI4.js +1 -0
  231. package/dist/components/{p-CjbPCnPP.js → p-D--kzomA.js} +1 -1
  232. package/dist/components/p-D4rv6CNJ.js +1 -0
  233. package/dist/components/{p-Dzp5p-eh.js → p-DAb-txW3.js} +1 -1
  234. package/dist/components/p-DYmvElhR.js +1 -0
  235. package/dist/components/{p-DsRsm61K.js → p-EfW0v54z.js} +1 -1
  236. package/dist/components/{p-DWUJ_jsx.js → p-JyNpXfDe.js} +1 -1
  237. package/dist/components/{p-DS2Kv5fl.js → p-U0JYwf4c.js} +1 -1
  238. package/dist/components/p-YG9Jza0y.js +1 -0
  239. package/dist/components/{p-imCMp2Nl.js → p-l3EZ-agL.js} +1 -1
  240. package/dist/components/p-oIn1krdu.js +1 -0
  241. package/dist/components/p-wIU7KUhA.js +1 -0
  242. package/dist/components/{p-BnTsRbko.js → p-xFsB212F.js} +1 -1
  243. package/dist/components/p-xtOHikY0.js +1 -0
  244. package/dist/components/xpl-accordion.js +1 -1
  245. package/dist/components/xpl-application-shell.js +1 -1
  246. package/dist/components/xpl-avatar.js +1 -1
  247. package/dist/components/xpl-backdrop.js +1 -1
  248. package/dist/components/xpl-badge.js +1 -1
  249. package/dist/components/xpl-banner.js +1 -1
  250. package/dist/components/xpl-breadcrumb-item.js +1 -1
  251. package/dist/components/xpl-breadcrumbs.js +1 -1
  252. package/dist/components/xpl-button-row.js +1 -1
  253. package/dist/components/xpl-button.js +1 -1
  254. package/dist/components/xpl-calendar.js +1 -1
  255. package/dist/components/xpl-checkbox.js +1 -1
  256. package/dist/components/xpl-choicelist.js +1 -1
  257. package/dist/components/xpl-content-area.js +1 -1
  258. package/dist/components/xpl-dashboard.js +1 -1
  259. package/dist/components/xpl-data-card.js +1 -1
  260. package/dist/components/xpl-divider.js +1 -1
  261. package/dist/components/xpl-dropdown-group.js +1 -1
  262. package/dist/components/xpl-dropdown-heading.js +1 -1
  263. package/dist/components/xpl-dropdown-option.js +1 -1
  264. package/dist/components/xpl-dropdown.js +1 -1
  265. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  266. package/dist/components/xpl-dynamic-table-row.js +1 -1
  267. package/dist/components/xpl-dynamic-table.js +1 -1
  268. package/dist/components/xpl-grid-item.js +1 -1
  269. package/dist/components/xpl-grid.js +1 -1
  270. package/dist/components/xpl-header-accordion.js +1 -1
  271. package/dist/components/xpl-icon.js +1 -1
  272. package/dist/components/xpl-input-color.js +1 -1
  273. package/dist/components/xpl-input-date.js +1 -1
  274. package/dist/components/xpl-input-file.js +1 -1
  275. package/dist/components/xpl-input-phone.js +1 -1
  276. package/dist/components/xpl-input-search.js +1 -1
  277. package/dist/components/xpl-input-time.js +1 -1
  278. package/dist/components/xpl-input.js +1 -1
  279. package/dist/components/xpl-large-card.js +1 -1
  280. package/dist/components/xpl-list-item.js +1 -1
  281. package/dist/components/xpl-list.js +1 -1
  282. package/dist/components/xpl-main-nav.js +1 -1
  283. package/dist/components/xpl-modal.js +1 -1
  284. package/dist/components/xpl-nav-header-menu.js +1 -1
  285. package/dist/components/xpl-nav-item.js +1 -1
  286. package/dist/components/xpl-pagination.js +1 -1
  287. package/dist/components/xpl-panel.js +1 -1
  288. package/dist/components/xpl-popover.js +1 -1
  289. package/dist/components/xpl-progress-bar.js +1 -1
  290. package/dist/components/xpl-progress-indicator.js +1 -1
  291. package/dist/components/xpl-radio.js +1 -1
  292. package/dist/components/xpl-secondary-nav.js +1 -1
  293. package/dist/components/xpl-select.js +1 -1
  294. package/dist/components/xpl-side-nav-header-item.js +1 -1
  295. package/dist/components/xpl-side-nav-item.js +1 -1
  296. package/dist/components/xpl-side-nav-section.js +1 -1
  297. package/dist/components/xpl-side-nav.js +1 -1
  298. package/dist/components/xpl-skeleton.js +1 -1
  299. package/dist/components/xpl-slideout.js +1 -1
  300. package/dist/components/xpl-spotlight.js +1 -1
  301. package/dist/components/xpl-tab-panel.js +1 -1
  302. package/dist/components/xpl-tab.js +1 -1
  303. package/dist/components/xpl-table-body.d.ts +11 -0
  304. package/dist/components/xpl-table-body.js +1 -0
  305. package/dist/components/xpl-table-footer-cell.d.ts +11 -0
  306. package/dist/components/xpl-table-footer-cell.js +1 -0
  307. package/dist/components/xpl-table-footer.d.ts +11 -0
  308. package/dist/components/xpl-table-footer.js +1 -0
  309. package/dist/components/xpl-table-header-cell.js +1 -1
  310. package/dist/components/xpl-table-header.js +1 -1
  311. package/dist/components/xpl-table-row.d.ts +11 -0
  312. package/dist/components/xpl-table-row.js +1 -0
  313. package/dist/components/xpl-table.js +1 -1
  314. package/dist/components/xpl-tabs.js +1 -1
  315. package/dist/components/xpl-tag.js +1 -1
  316. package/dist/components/xpl-toast.js +1 -1
  317. package/dist/components/xpl-toggle.js +1 -1
  318. package/dist/components/xpl-toolbar.js +1 -1
  319. package/dist/components/xpl-tooltip.js +1 -1
  320. package/dist/components/xpl-top-nav-item.js +1 -1
  321. package/dist/components/xpl-top-nav-menu.js +1 -1
  322. package/dist/components/xpl-top-nav.js +1 -1
  323. package/dist/components/xpl-utility-bar.js +1 -1
  324. package/dist/docs/xpl-modal/readme.md +18 -2
  325. package/dist/docs/xpl-table/xpl-table-body/readme.md +16 -0
  326. package/dist/docs/xpl-table/xpl-table-footer/readme.md +16 -0
  327. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +31 -0
  328. package/dist/docs/xpl-table/xpl-table-row/readme.md +34 -0
  329. package/dist/docs.json +207 -6
  330. package/dist/esm/apollo-core.js +1 -1
  331. package/dist/esm/index-ukZKsqqq.js +16 -0
  332. package/dist/esm/loader.js +1 -1
  333. package/dist/esm/xpl-accordion.entry.js +2 -2
  334. package/dist/esm/xpl-application-shell.entry.js +1 -1
  335. package/dist/esm/xpl-avatar_3.entry.js +5 -4
  336. package/dist/esm/xpl-backdrop.entry.js +1 -1
  337. package/dist/esm/xpl-badge.entry.js +1 -1
  338. package/dist/esm/xpl-banner.entry.js +2 -2
  339. package/dist/esm/xpl-breadcrumb-item.entry.js +1 -1
  340. package/dist/esm/xpl-breadcrumbs.entry.js +1 -1
  341. package/dist/esm/xpl-button-row.entry.js +1 -1
  342. package/dist/esm/xpl-button.entry.js +1 -1
  343. package/dist/esm/xpl-calendar.entry.js +1 -1
  344. package/dist/esm/xpl-checkbox.entry.js +3 -3
  345. package/dist/esm/xpl-choicelist.entry.js +1 -1
  346. package/dist/esm/xpl-content-area.entry.js +1 -1
  347. package/dist/esm/xpl-dashboard.entry.js +1 -1
  348. package/dist/esm/xpl-data-card.entry.js +2 -2
  349. package/dist/esm/xpl-dropdown_4.entry.js +14 -11
  350. package/dist/esm/xpl-dynamic-table-cell.entry.js +2 -2
  351. package/dist/esm/xpl-dynamic-table-row.entry.js +2 -2
  352. package/dist/esm/xpl-dynamic-table.entry.js +2 -2
  353. package/dist/esm/xpl-grid-item.entry.js +1 -1
  354. package/dist/esm/xpl-grid.entry.js +1 -1
  355. package/dist/esm/xpl-header-accordion.entry.js +1 -1
  356. package/dist/esm/xpl-icon.entry.js +2 -2
  357. package/dist/esm/xpl-input-color.entry.js +13 -13
  358. package/dist/esm/xpl-input-phone.entry.js +5 -5
  359. package/dist/esm/xpl-input-time.entry.js +2 -2
  360. package/dist/esm/xpl-input_4.entry.js +15 -14
  361. package/dist/esm/xpl-large-card.entry.js +1 -1
  362. package/dist/esm/xpl-list.entry.js +2 -2
  363. package/dist/esm/xpl-main-nav.entry.js +1 -1
  364. package/dist/esm/xpl-modal.entry.js +50 -21
  365. package/dist/esm/xpl-nav-header-menu.entry.js +2 -2
  366. package/dist/esm/xpl-nav-item.entry.js +2 -2
  367. package/dist/esm/xpl-pagination.entry.js +4 -4
  368. package/dist/esm/xpl-panel.entry.js +2 -2
  369. package/dist/esm/xpl-popover.entry.js +4 -4
  370. package/dist/esm/xpl-progress-bar.entry.js +2 -2
  371. package/dist/esm/xpl-progress-indicator.entry.js +1 -1
  372. package/dist/esm/xpl-secondary-nav.entry.js +1 -1
  373. package/dist/esm/xpl-select_2.entry.js +8 -8
  374. package/dist/esm/xpl-side-nav-header-item.entry.js +2 -2
  375. package/dist/esm/xpl-side-nav-item.entry.js +2 -2
  376. package/dist/esm/xpl-side-nav-section.entry.js +5 -5
  377. package/dist/esm/xpl-side-nav.entry.js +8 -4
  378. package/dist/esm/xpl-skeleton.entry.js +1 -1
  379. package/dist/esm/xpl-slideout.entry.js +1 -1
  380. package/dist/esm/xpl-tab-panel.entry.js +2 -2
  381. package/dist/esm/xpl-table-body.entry.js +12 -0
  382. package/dist/esm/xpl-table-footer-cell.entry.js +16 -0
  383. package/dist/esm/xpl-table-footer.entry.js +12 -0
  384. package/dist/esm/xpl-table-header.entry.js +1 -1
  385. package/dist/esm/xpl-table-row.entry.js +18 -0
  386. package/dist/esm/xpl-table.entry.js +5 -5
  387. package/dist/esm/xpl-tabs.entry.js +5 -5
  388. package/dist/esm/xpl-toast.entry.js +2 -2
  389. package/dist/esm/xpl-toggle.entry.js +3 -3
  390. package/dist/esm/xpl-toolbar.entry.js +2 -2
  391. package/dist/esm/xpl-tooltip.entry.js +1 -1
  392. package/dist/esm/xpl-top-nav-item.entry.js +2 -2
  393. package/dist/esm/xpl-top-nav-menu.entry.js +2 -2
  394. package/dist/esm/xpl-top-nav.entry.js +5 -5
  395. package/dist/esm/xpl-utility-bar.entry.js +1 -1
  396. package/dist/types/components/xpl-modal/xpl-modal.d.ts +7 -1
  397. package/dist/types/components/xpl-select/select.shared.d.ts +23 -0
  398. package/dist/types/components/xpl-table/xpl-table-body/xpl-table-body.d.ts +3 -0
  399. package/dist/types/components/xpl-table/xpl-table-footer/xpl-table-footer.d.ts +3 -0
  400. package/dist/types/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.d.ts +4 -0
  401. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +6 -0
  402. package/dist/types/components/xpl-tabs/tabs.shared.d.ts +0 -2
  403. package/dist/types/components.d.ts +98 -0
  404. package/hydrate/index.js +302 -176
  405. package/hydrate/index.mjs +302 -176
  406. package/package.json +42 -46
  407. package/dist/apollo-core/p-0095174c.entry.js +0 -1
  408. package/dist/apollo-core/p-020ecd66.entry.js +0 -1
  409. package/dist/apollo-core/p-091411e3.entry.js +0 -1
  410. package/dist/apollo-core/p-0be4dbb8.entry.js +0 -1
  411. package/dist/apollo-core/p-1139fac0.entry.js +0 -1
  412. package/dist/apollo-core/p-140a96c7.entry.js +0 -1
  413. package/dist/apollo-core/p-26b6a0ed.entry.js +0 -1
  414. package/dist/apollo-core/p-39e71d86.entry.js +0 -1
  415. package/dist/apollo-core/p-3dd1de49.entry.js +0 -1
  416. package/dist/apollo-core/p-4129d971.entry.js +0 -1
  417. package/dist/apollo-core/p-5afc9831.entry.js +0 -1
  418. package/dist/apollo-core/p-5d25a84a.entry.js +0 -1
  419. package/dist/apollo-core/p-5e5c5016.entry.js +0 -1
  420. package/dist/apollo-core/p-638fd9b1.entry.js +0 -1
  421. package/dist/apollo-core/p-724c5038.entry.js +0 -1
  422. package/dist/apollo-core/p-80a11cad.entry.js +0 -1
  423. package/dist/apollo-core/p-875e0eaa.entry.js +0 -1
  424. package/dist/apollo-core/p-8ddbf2e2.entry.js +0 -1
  425. package/dist/apollo-core/p-a33b0943.entry.js +0 -1
  426. package/dist/apollo-core/p-ba41bbd5.entry.js +0 -1
  427. package/dist/apollo-core/p-cde21f72.entry.js +0 -1
  428. package/dist/apollo-core/p-d288c1d1.entry.js +0 -1
  429. package/dist/apollo-core/p-d3f2b8b8.entry.js +0 -1
  430. package/dist/apollo-core/p-dfaba114.entry.js +0 -1
  431. package/dist/apollo-core/p-e2a16242.entry.js +0 -1
  432. package/dist/apollo-core/p-ec488f9c.entry.js +0 -1
  433. package/dist/apollo-core/p-f2bfe6a6.entry.js +0 -1
  434. package/dist/collection/components/xpl-accordion/accordion.stories.js +0 -84
  435. package/dist/collection/components/xpl-application-shell/application-shell.stories.js +0 -755
  436. package/dist/collection/components/xpl-avatar/avatar.stories.js +0 -157
  437. package/dist/collection/components/xpl-backdrop/backdrop.stories.js +0 -38
  438. package/dist/collection/components/xpl-badge/badge.stories.js +0 -104
  439. package/dist/collection/components/xpl-banner/banner.stories.js +0 -69
  440. package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +0 -139
  441. package/dist/collection/components/xpl-button/button.stories.js +0 -144
  442. package/dist/collection/components/xpl-button-row/button-row.stories.js +0 -68
  443. package/dist/collection/components/xpl-calendar/calendar.stories.js +0 -71
  444. package/dist/collection/components/xpl-checkbox/checkbox.stories.js +0 -92
  445. package/dist/collection/components/xpl-choicelist/choicelist.stories.js +0 -162
  446. package/dist/collection/components/xpl-content-area/content-area.stories.js +0 -44
  447. package/dist/collection/components/xpl-dashboard/dashboard.stories.js +0 -57
  448. package/dist/collection/components/xpl-data-card/data-card.stories.js +0 -170
  449. package/dist/collection/components/xpl-divider/divider.stories.js +0 -47
  450. package/dist/collection/components/xpl-dropdown/dropdown.stories.js +0 -395
  451. package/dist/collection/components/xpl-dynamic-table/dynamic-table.stories.js +0 -169
  452. package/dist/collection/components/xpl-grid/grid.stories.js +0 -85
  453. package/dist/collection/components/xpl-header-accordion/header-accordion.stories.js +0 -56
  454. package/dist/collection/components/xpl-icon/icons.stories.js +0 -161
  455. package/dist/collection/components/xpl-input/input.stories.js +0 -712
  456. package/dist/collection/components/xpl-large-card/large-card.stories.js +0 -155
  457. package/dist/collection/components/xpl-list/list.stories.js +0 -398
  458. package/dist/collection/components/xpl-main-nav/main-nav.stories.js +0 -312
  459. package/dist/collection/components/xpl-modal/modal.stories.js +0 -100
  460. package/dist/collection/components/xpl-pagination/pagination.stories.js +0 -65
  461. package/dist/collection/components/xpl-panel/panel.stories.js +0 -62
  462. package/dist/collection/components/xpl-popover/popover.stories.js +0 -174
  463. package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +0 -105
  464. package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +0 -126
  465. package/dist/collection/components/xpl-radio/radio.stories.js +0 -115
  466. package/dist/collection/components/xpl-secondary-nav/secondary-nav.stories.js +0 -83
  467. package/dist/collection/components/xpl-select/select.stories.js +0 -300
  468. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +0 -1070
  469. package/dist/collection/components/xpl-skeleton/skeleton.stories.js +0 -80
  470. package/dist/collection/components/xpl-slideout/slideout.stories.js +0 -122
  471. package/dist/collection/components/xpl-spotlight/spotlight.stories.js +0 -392
  472. package/dist/collection/components/xpl-table/table.stories.js +0 -156
  473. package/dist/collection/components/xpl-table-header/table-header.stories.js +0 -134
  474. package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +0 -83
  475. package/dist/collection/components/xpl-tabs/segment-control.stories.js +0 -40
  476. package/dist/collection/components/xpl-tabs/tabs.stories.js +0 -43
  477. package/dist/collection/components/xpl-tag/tag.stories.js +0 -159
  478. package/dist/collection/components/xpl-toast/toast.stories.js +0 -112
  479. package/dist/collection/components/xpl-toggle/toggle.stories.js +0 -95
  480. package/dist/collection/components/xpl-toolbar/toolbar.stories.js +0 -39
  481. package/dist/collection/components/xpl-tooltip/tooltip.stories.js +0 -67
  482. package/dist/collection/components/xpl-top-nav/top-nav.stories.js +0 -764
  483. package/dist/collection/components/xpl-utility-bar/utility-bar.stories.js +0 -94
  484. package/dist/components/p-Bseq_BgD.js +0 -1
  485. package/dist/components/p-CCgZCY_A.js +0 -1
  486. package/dist/components/p-CJzsLWeV.js +0 -1
  487. package/dist/components/p-CRKY79vL.js +0 -1
  488. package/dist/components/p-Cjxw-qOg.js +0 -1
  489. package/dist/components/p-D6JUVA1x.js +0 -1
  490. package/dist/components/p-DFGw0APN.js +0 -1
  491. package/dist/components/p-DLLQBDCb.js +0 -1
  492. package/dist/components/p-Di1NDy0w.js +0 -1
  493. package/dist/components/p-DkM7jyQB.js +0 -1
  494. package/dist/components/p-Mehog36m.js +0 -1
  495. package/dist/components/p-RYnBuuDE.js +0 -1
  496. package/dist/css/typography.stories.js +0 -153
  497. package/dist/types/components/xpl-accordion/accordion.stories.d.ts +0 -46
  498. package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +0 -46
  499. package/dist/types/components/xpl-avatar/avatar.stories.d.ts +0 -39
  500. package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +0 -23
  501. package/dist/types/components/xpl-badge/badge.stories.d.ts +0 -87
  502. package/dist/types/components/xpl-banner/banner.stories.d.ts +0 -79
  503. package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +0 -40
  504. package/dist/types/components/xpl-button/button.stories.d.ts +0 -136
  505. package/dist/types/components/xpl-button-row/button-row.stories.d.ts +0 -34
  506. package/dist/types/components/xpl-calendar/calendar.stories.d.ts +0 -45
  507. package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +0 -51
  508. package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +0 -30
  509. package/dist/types/components/xpl-content-area/content-area.stories.d.ts +0 -19
  510. package/dist/types/components/xpl-dashboard/dashboard.stories.d.ts +0 -22
  511. package/dist/types/components/xpl-data-card/data-card.stories.d.ts +0 -113
  512. package/dist/types/components/xpl-divider/divider.stories.d.ts +0 -28
  513. package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +0 -177
  514. package/dist/types/components/xpl-dynamic-table/dynamic-table.stories.d.ts +0 -30
  515. package/dist/types/components/xpl-grid/grid.stories.d.ts +0 -109
  516. package/dist/types/components/xpl-header-accordion/header-accordion.stories.d.ts +0 -32
  517. package/dist/types/components/xpl-icon/icons.stories.d.ts +0 -31
  518. package/dist/types/components/xpl-input/input.stories.d.ts +0 -441
  519. package/dist/types/components/xpl-large-card/large-card.stories.d.ts +0 -57
  520. package/dist/types/components/xpl-list/list.stories.d.ts +0 -385
  521. package/dist/types/components/xpl-main-nav/main-nav.stories.d.ts +0 -19
  522. package/dist/types/components/xpl-modal/modal.stories.d.ts +0 -103
  523. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +0 -31
  524. package/dist/types/components/xpl-panel/panel.stories.d.ts +0 -30
  525. package/dist/types/components/xpl-popover/popover.stories.d.ts +0 -21
  526. package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +0 -62
  527. package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +0 -64
  528. package/dist/types/components/xpl-radio/radio.stories.d.ts +0 -96
  529. package/dist/types/components/xpl-secondary-nav/secondary-nav.stories.d.ts +0 -8
  530. package/dist/types/components/xpl-select/select.stories.d.ts +0 -158
  531. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +0 -173
  532. package/dist/types/components/xpl-skeleton/skeleton.stories.d.ts +0 -36
  533. package/dist/types/components/xpl-slideout/slideout.stories.d.ts +0 -124
  534. package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +0 -203
  535. package/dist/types/components/xpl-table/table.stories.d.ts +0 -67
  536. package/dist/types/components/xpl-table-header/table-header.stories.d.ts +0 -80
  537. package/dist/types/components/xpl-table-header-cell/table-header-cell.stories.d.ts +0 -36
  538. package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +0 -134
  539. package/dist/types/components/xpl-tabs/tabs.stories.d.ts +0 -107
  540. package/dist/types/components/xpl-tag/tag.stories.d.ts +0 -68
  541. package/dist/types/components/xpl-toast/toast.stories.d.ts +0 -70
  542. package/dist/types/components/xpl-toggle/toggle.stories.d.ts +0 -53
  543. package/dist/types/components/xpl-toolbar/toolbar.stories.d.ts +0 -35
  544. package/dist/types/components/xpl-tooltip/tooltip.stories.d.ts +0 -29
  545. package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +0 -549
  546. package/dist/types/components/xpl-utility-bar/utility-bar.stories.d.ts +0 -27
  547. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/story-function.d.ts +0 -11
  548. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/wait-for-hydration.d.ts +0 -1
  549. package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/css/typography.stories.d.ts +0 -76
  550. /package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/{src/utils → utils}/form-bindings.d.ts +0 -0
  551. /package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/{src/utils → utils}/story-vrt.d.ts +0 -0
@@ -1,80 +0,0 @@
1
- import { setAutoSnapshotOptions } from "vitest-plugin-vis";
2
- import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
3
- export default {
4
- title: 'Components/Skeleton',
5
- component: 'xpl-skeleton',
6
- argTypes: {
7
- shape: {
8
- control: 'select',
9
- options: ['rectangle', 'circle', 'square'],
10
- },
11
- size: {
12
- control: 'select',
13
- options: [
14
- 'display',
15
- 'title-1',
16
- 'title-2',
17
- 'title-3',
18
- 'title-4',
19
- 'title-5',
20
- 'body',
21
- 'custom',
22
- ],
23
- },
24
- width: {
25
- control: 'text',
26
- },
27
- height: {
28
- control: 'text',
29
- },
30
- margin: {
31
- control: 'text',
32
- },
33
- },
34
- tags: ['beta', 'vrt'],
35
- beforeEach() {
36
- setAutoSnapshotOptions({ enable: true });
37
- },
38
- async play({ canvasElement }) {
39
- await waitForHydration(canvasElement);
40
- },
41
- };
42
- export const Simple = ({ shape, size, width, height }) => {
43
- const attributes = {
44
- shape,
45
- size,
46
- width,
47
- height,
48
- };
49
- return `
50
- <div style="padding: 100px; display: flex; justify-content: center; width: 100%;">
51
- <xpl-skeleton ${Object.entries(attributes)
52
- .map(([key, value]) => `${key}="${value}"`)
53
- .join(' ')}></xpl-skeleton>
54
- </div>
55
- `;
56
- };
57
- const HtmlSimple = ({ shape, size, width, height, margin }) => `
58
- <div class="xpl-skeleton xpl-skeleton--shape-${shape} xpl-skeleton--size-${size}" style="width: ${width}px; height: ${height}px; margin: ${margin}"></div>
59
- `;
60
- Simple.args = {
61
- shape: 'rectangle',
62
- size: 'h1',
63
- width: '300px',
64
- height: '120px',
65
- margin: '1rem 0',
66
- };
67
- Simple.parameters = {
68
- layout: 'centered',
69
- htmlSnippet: { mode: 'auto' },
70
- 'web-component': {
71
- render: Simple(Simple.args),
72
- },
73
- html: {
74
- render: HtmlSimple(Simple.args),
75
- },
76
- design: {
77
- type: 'figma',
78
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=27679-10586&p=f&t=vVY2x58f7oPprNSr-11',
79
- },
80
- };
@@ -1,122 +0,0 @@
1
- import { setAutoSnapshotOptions } from "vitest-plugin-vis";
2
- import { waitForComponentsRender } from "../../../../src/utils/story-vrt";
3
- export default {
4
- title: 'Components/Slideout',
5
- component: 'xpl-slideout',
6
- tags: ['vrt'],
7
- beforeEach() {
8
- setAutoSnapshotOptions({
9
- enable: true,
10
- failureThreshold: 2,
11
- failureThresholdType: 'percent',
12
- });
13
- },
14
- play: async ({ canvasElement }) => {
15
- await waitForComponentsRender(canvasElement);
16
- },
17
- argTypes: {
18
- isOpen: {
19
- control: 'boolean',
20
- },
21
- title: {
22
- type: { name: 'string', required: true },
23
- },
24
- subtitle: {
25
- type: { name: 'string', required: false },
26
- },
27
- searchFieldEnabled: {
28
- control: 'boolean',
29
- },
30
- backdropEnabled: {
31
- control: 'boolean',
32
- },
33
- showFooter: {
34
- control: 'boolean',
35
- },
36
- slotCount: {
37
- type: { name: 'number', required: true },
38
- },
39
- slotTitle: {
40
- type: { name: 'string', required: false },
41
- },
42
- slotText: {
43
- type: { name: 'string', required: false },
44
- },
45
- actions: {
46
- control: 'select',
47
- options: [1, 2, 3],
48
- },
49
- primaryButtonText: {
50
- type: { name: 'string', required: true },
51
- },
52
- secondaryButtonText: {
53
- type: { name: 'string', required: false },
54
- },
55
- tertiaryButtonText: {
56
- type: { name: 'string', required: false },
57
- },
58
- variant: {
59
- control: 'select',
60
- options: ['default', 'warning'],
61
- },
62
- },
63
- parameters: {
64
- actions: {
65
- handles: ['isOpenChange'],
66
- },
67
- },
68
- };
69
- const renderContentArray = (slotCount, slotTitle, slotText) => Array.from({ length: slotCount })
70
- .map(() => `
71
- <div class="slideout-content-item">
72
- <strong>${slotTitle}</strong> ${slotText}
73
- </div>
74
- `)
75
- .join('\n');
76
- export const Slideout = ({ isOpen, title, subtitle, searchFieldEnabled, backdropEnabled, showFooter, slotCount, slotTitle, slotText, actions, primaryButtonText, secondaryButtonText, tertiaryButtonText, variant, }) => {
77
- const renderButtons = () => {
78
- const buttons = [];
79
- buttons.push(`<xpl-button slot="primary" variant=${variant === 'warning' ? 'warning' : 'primary'}>${primaryButtonText}</xpl-button>`);
80
- if (actions >= 2) {
81
- buttons.push(`<xpl-button slot="secondary" variant="secondary">${secondaryButtonText}</xpl-button>`);
82
- }
83
- if (actions === 3) {
84
- buttons.push(`<xpl-button slot="tertiary" variant="secondary">${tertiaryButtonText}</xpl-button>`);
85
- }
86
- return buttons.join('\n');
87
- };
88
- const renderSearchField = () => searchFieldEnabled ? '<xpl-input slot="search" placeholder="Search"></xpl-input>' : '';
89
- const contentArray = renderContentArray(slotCount, slotTitle, slotText);
90
- return `
91
- <xpl-button id="btn" onclick="this.nextElementSibling.isOpen = !this.nextElementSibling.isOpen">Toggle SlideOut</xpl-button>
92
- <xpl-slideout id="slideout" is-open=${isOpen} backdrop=${backdropEnabled} show-footer=${showFooter} variant=${variant}>
93
- <div slot="title">${title}</div>
94
- <div slot="subtitle">${subtitle}</div>
95
- <div slot="search">${renderSearchField()}</div>
96
- <div slot="content">${contentArray}</div>
97
- ${renderButtons()}
98
- </xpl-slideout>
99
- `;
100
- };
101
- Slideout.args = {
102
- isOpen: true,
103
- title: 'Slideout Title',
104
- subtitle: 'Optional Slideout Subtitle',
105
- searchFieldEnabled: true,
106
- backdropEnabled: false,
107
- showFooter: true,
108
- slotCount: 5,
109
- slotTitle: 'Slot Content Item',
110
- slotText: 'Replace me with your content.',
111
- actions: 1,
112
- primaryButtonText: 'Button Text',
113
- secondaryButtonText: 'Button Text',
114
- tertiaryButtonText: 'Button Text',
115
- variant: 'default',
116
- };
117
- Slideout.parameters = {
118
- design: {
119
- type: 'figma',
120
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=2627-108585&p=f&t=vVY2x58f7oPprNSr-11',
121
- },
122
- };
@@ -1,392 +0,0 @@
1
- import { setAutoSnapshotOptions } from "vitest-plugin-vis";
2
- import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
3
- const escapeHtmlAttribute = (value) => value
4
- .replace(/&/g, '&amp;')
5
- .replace(/"/g, '&quot;')
6
- .replace(/'/g, '&#39;')
7
- .replace(/</g, '&lt;')
8
- .replace(/>/g, '&gt;');
9
- const optionalAttr = (name, value) => value?.trim() ? ` ${name}="${escapeHtmlAttribute(value)}"` : '';
10
- const renderWebComponent = (args) => {
11
- const attrs = [
12
- args.actionLayout ? `action-layout="${args.actionLayout}"` : '',
13
- args.anchorPosition ? `anchor-position="${args.anchorPosition}"` : '',
14
- args.currentStep != null ? `current-step="${args.currentStep}"` : '',
15
- args.isDismissible != null ? `is-dismissible="${args.isDismissible}"` : '',
16
- args.isOpen != null ? `is-open="${args.isOpen}"` : '',
17
- args.primaryActionLabel
18
- ? `primary-action-label="${escapeHtmlAttribute(args.primaryActionLabel)}"`
19
- : '',
20
- args.secondaryActionLabel
21
- ? `secondary-action-label="${escapeHtmlAttribute(args.secondaryActionLabel)}"`
22
- : '',
23
- args.showActions != null ? `show-actions="${args.showActions}"` : '',
24
- args.showImage != null ? `show-image="${args.showImage}"` : '',
25
- args.showSteps != null ? `show-steps="${args.showSteps}"` : '',
26
- args.totalSteps != null ? `total-steps="${args.totalSteps}"` : '',
27
- args.heading?.trim() ? `heading="${escapeHtmlAttribute(args.heading)}"` : '',
28
- args.body?.trim() ? `body="${escapeHtmlAttribute(args.body)}"` : '',
29
- args.target?.trim() ? `target="${escapeHtmlAttribute(args.target)}"` : '',
30
- ]
31
- .filter(Boolean)
32
- .join('\n ');
33
- return `<xpl-spotlight
34
- ${attrs}
35
- ></xpl-spotlight>`;
36
- };
37
- const renderHtml = (args) => {
38
- const anchorPos = args.anchorPosition ?? 'top-left';
39
- const actionLayout = args.actionLayout ?? 'default';
40
- const showImage = args.showImage !== false;
41
- const showActions = args.showActions !== false;
42
- const showSteps = args.showSteps !== false;
43
- const isDismissible = args.isDismissible !== false;
44
- const isSingle = actionLayout === 'single';
45
- const currentStep = args.currentStep ?? 1;
46
- const totalSteps = args.totalSteps ?? 1;
47
- const dismissHtml = isDismissible
48
- ? `
49
- <div class="xpl-spotlight__dismiss">
50
- <button type="button" class="xpl-button xpl-button--secondary xpl-button--sm xpl-button--icon-only" aria-label="Dismiss tour step">
51
- <xpl-icon icon="xmark" size="16"></xpl-icon>
52
- </button>
53
- </div>`
54
- : '';
55
- const imageHtml = showImage
56
- ? `
57
- <div class="xpl-spotlight__image-container xpl-spotlight__image-container--empty">
58
- <div class="xpl-spotlight__image-placeholder" aria-hidden="true">
59
- <xpl-icon icon="photo" size="24"></xpl-icon>
60
- <xpl-icon icon="video" size="24"></xpl-icon>
61
- </div>
62
- </div>`
63
- : '';
64
- const headingHtml = args.heading?.trim()
65
- ? `
66
- <span class="xpl-spotlight__title">${escapeHtmlAttribute(args.heading)}</span>`
67
- : '';
68
- const bodyHtml = args.body?.trim()
69
- ? `
70
- <p class="xpl-spotlight__body">${escapeHtmlAttribute(args.body)}</p>`
71
- : '';
72
- const secondaryBtn = !isSingle
73
- ? `
74
- <button type="button" class="xpl-button xpl-button--secondary xpl-button--default">
75
- ${escapeHtmlAttribute(args.secondaryActionLabel ?? 'Back')}
76
- </button>`
77
- : '';
78
- const stepLabel = showSteps && !isSingle
79
- ? `
80
- <span class="xpl-spotlight__step-text">${currentStep} of ${totalSteps}</span>`
81
- : '';
82
- const primaryBtn = `
83
- <button type="button" class="xpl-button xpl-button--primary xpl-button--default">
84
- ${escapeHtmlAttribute(args.primaryActionLabel ?? 'Next')}
85
- </button>`;
86
- const actionsHtml = showActions
87
- ? `
88
- <div class="xpl-spotlight__actions xpl-spotlight__actions--${isSingle ? 'single' : 'dual'}${showSteps ? ' xpl-spotlight__actions--with-steps' : ''}">
89
- <div class="xpl-spotlight__action-slot xpl-spotlight__action-slot--secondary">${secondaryBtn}
90
- </div>${stepLabel}
91
- <div class="xpl-spotlight__action-slot xpl-spotlight__action-slot--primary">${primaryBtn}
92
- </div>
93
- </div>`
94
- : '';
95
- const ariaLabel = args.heading?.trim() ? '' : ' aria-label="Tour step"';
96
- return `<div class="xpl-spotlight xpl-spotlight--${anchorPos}${showActions ? ` xpl-spotlight--action-layout-${actionLayout}` : ''}${!showImage ? ' xpl-spotlight--no-image' : ''} xpl-spotlight--visible"
97
- role="dialog" aria-modal="false"${ariaLabel} tabindex="-1">${dismissHtml}
98
- <button type="button" class="xpl-spotlight__target" aria-label="Spotlight indicator">
99
- <div class="xpl-spotlight__target-outer"></div>
100
- <div class="xpl-spotlight__target-inner"></div>
101
- </button>
102
- <div class="xpl-spotlight__frame">${imageHtml}
103
- <div class="xpl-spotlight__content">
104
- <div class="xpl-spotlight__header">${headingHtml}${bodyHtml}
105
- </div>${actionsHtml}
106
- </div>
107
- </div>
108
- </div>`;
109
- };
110
- export default {
111
- title: 'Components/Spotlight',
112
- component: 'xpl-spotlight',
113
- argTypes: {
114
- showActions: {
115
- control: 'boolean',
116
- description: 'Whether to show the actions row (primary / secondary and optional step counter).',
117
- },
118
- actionLayout: {
119
- options: ['default', 'dual', 'single'],
120
- control: { type: 'select' },
121
- description: 'Footer action layout. `default` and `dual` render Back/Next; `single` renders one primary CTA.',
122
- if: { arg: 'showActions' },
123
- },
124
- anchorPosition: {
125
- options: ['top-left', 'top-right', 'bottom-left', 'bottom-right'],
126
- control: { type: 'select' },
127
- description: 'Which corner of the card the anchor dot appears on.',
128
- },
129
- body: {
130
- control: 'text',
131
- description: 'Body copy when the `body` slot has no slotted content. Whitespace-only values are treated as empty.',
132
- },
133
- currentStep: {
134
- control: { type: 'number', min: 1 },
135
- description: 'Current step index (1-based). Used with `totalSteps` for the step label.',
136
- },
137
- heading: {
138
- control: 'text',
139
- description: 'Heading when the `title` slot has no slotted content. Whitespace-only values are treated as empty.',
140
- },
141
- isDismissible: {
142
- control: 'boolean',
143
- description: 'Whether to show the dismiss (close) control.',
144
- },
145
- isOpen: {
146
- control: 'boolean',
147
- description: 'Controls whether the spotlight is rendered. When false the host stays in the DOM but the UI is hidden.',
148
- },
149
- primaryActionLabel: {
150
- control: 'text',
151
- description: 'Label for the default primary action button.',
152
- },
153
- secondaryActionLabel: {
154
- control: 'text',
155
- description: 'Label for the default secondary action button.',
156
- },
157
- showImage: {
158
- control: 'boolean',
159
- description: 'When true the media region is shown (slotted content or built-in placeholder). When false the entire media block is hidden.',
160
- },
161
- showSteps: {
162
- control: 'boolean',
163
- description: 'Whether to show the step counter and apply step-based disabled state to Back/Next.',
164
- },
165
- target: {
166
- control: 'text',
167
- description: 'CSS selector for the element this spotlight anchors to via Floating UI. Invalid selectors fall back to `anchorPosition`.',
168
- },
169
- totalSteps: {
170
- control: { type: 'number', min: 1 },
171
- description: 'Total number of steps (1-based upper bound). Used with `currentStep` for the step label.',
172
- },
173
- },
174
- };
175
- export const Spotlight = ({ actionLayout, anchorPosition, body, currentStep, heading, isDismissible, isOpen, primaryActionLabel, secondaryActionLabel, showActions, showImage, showSteps, target, totalSteps, }) => `
176
- <div class="p-16">
177
- <xpl-spotlight
178
- action-layout="${actionLayout}"
179
- anchor-position="${anchorPosition}"
180
- current-step="${currentStep}"
181
- is-dismissible="${isDismissible}"
182
- is-open="${isOpen}"
183
- primary-action-label="${escapeHtmlAttribute(primaryActionLabel)}"
184
- secondary-action-label="${escapeHtmlAttribute(secondaryActionLabel)}"
185
- show-actions="${showActions}"
186
- show-image="${showImage}"
187
- show-steps="${showSteps}"
188
- total-steps="${totalSteps}"
189
- ${optionalAttr('heading', heading)}
190
- ${optionalAttr('body', body)}
191
- ${optionalAttr('target', target)}
192
- ></xpl-spotlight>
193
- </div>
194
- `;
195
- Spotlight.args = {
196
- showActions: true,
197
- actionLayout: 'default',
198
- anchorPosition: 'top-left',
199
- body: 'Copy about the feature and/or functionality the dot is pointing to.',
200
- currentStep: 2,
201
- heading: 'Tour Title',
202
- isDismissible: true,
203
- isOpen: true,
204
- primaryActionLabel: 'Next',
205
- secondaryActionLabel: 'Back',
206
- showImage: true,
207
- showSteps: true,
208
- target: '',
209
- totalSteps: 5,
210
- };
211
- Spotlight.tags = ['vrt'];
212
- Spotlight.beforeEach = () => {
213
- setAutoSnapshotOptions({ enable: true });
214
- };
215
- Spotlight.play = async ({ canvasElement }) => {
216
- await waitForHydration(canvasElement);
217
- };
218
- Spotlight.parameters = {
219
- layout: 'padded',
220
- docs: {
221
- description: {
222
- story: 'Default spotlight with all controls. Adjust `actionLayout`, `anchorPosition`, step navigation, and visibility props to explore all variants.',
223
- },
224
- },
225
- design: {
226
- type: 'figma',
227
- url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=12173-9359&p=f&m=dev',
228
- },
229
- 'web-component': {
230
- render: renderWebComponent(Spotlight.args),
231
- },
232
- html: {
233
- render: renderHtml(Spotlight.args),
234
- },
235
- };
236
- const MEDIA_SLOT_HTML = `<div slot="image" class="w-full h-full">
237
- <video
238
- class="w-full h-full object-cover block"
239
- autoplay
240
- loop
241
- muted
242
- playsinline
243
- src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm"
244
- ></video>
245
- </div>`;
246
- export const WithMediaSlot = ({ showActions, actionLayout, anchorPosition, body, currentStep, heading, isDismissible, isOpen, primaryActionLabel, secondaryActionLabel, showImage, showSteps, target, totalSteps, }) => `
247
- <div class="p-16">
248
- <xpl-spotlight
249
- action-layout="${actionLayout}"
250
- anchor-position="${anchorPosition}"
251
- current-step="${currentStep}"
252
- is-dismissible="${isDismissible}"
253
- is-open="${isOpen}"
254
- primary-action-label="${escapeHtmlAttribute(primaryActionLabel)}"
255
- secondary-action-label="${escapeHtmlAttribute(secondaryActionLabel)}"
256
- show-actions="${showActions}"
257
- show-image="${showImage}"
258
- show-steps="${showSteps}"
259
- total-steps="${totalSteps}"
260
- ${optionalAttr('heading', heading)}
261
- ${optionalAttr('body', body)}
262
- ${optionalAttr('target', target)}
263
- >
264
- ${MEDIA_SLOT_HTML}
265
- </xpl-spotlight>
266
- </div>
267
- `;
268
- WithMediaSlot.args = {
269
- showActions: true,
270
- actionLayout: 'default',
271
- anchorPosition: 'top-left',
272
- body: 'Drag and drop or click to browse — we support images, videos, and PDFs.',
273
- currentStep: 1,
274
- heading: 'Upload your first file',
275
- isDismissible: true,
276
- isOpen: true,
277
- primaryActionLabel: 'Next',
278
- secondaryActionLabel: 'Back',
279
- showImage: true,
280
- showSteps: true,
281
- target: '',
282
- totalSteps: 3,
283
- };
284
- WithMediaSlot.parameters = {
285
- layout: 'padded',
286
- docs: {
287
- description: {
288
- story: 'Spotlight with custom media content via the `image` slot. Any HTML can be slotted — images, videos, illustrations, or animated previews. When the slot is populated the built-in placeholder is automatically replaced.',
289
- },
290
- },
291
- 'web-component': {
292
- render: `<xpl-spotlight
293
- heading="${escapeHtmlAttribute(WithMediaSlot.args.heading)}"
294
- body="${escapeHtmlAttribute(WithMediaSlot.args.body)}"
295
- current-step="${WithMediaSlot.args.currentStep}"
296
- total-steps="${WithMediaSlot.args.totalSteps}"
297
- >
298
- ${MEDIA_SLOT_HTML}
299
- </xpl-spotlight>`,
300
- },
301
- html: {
302
- render: renderHtml({
303
- heading: WithMediaSlot.args.heading,
304
- body: WithMediaSlot.args.body,
305
- currentStep: WithMediaSlot.args.currentStep,
306
- totalSteps: WithMediaSlot.args.totalSteps,
307
- }),
308
- },
309
- };
310
- const TARGET_TOGGLE_ID = 'spotlight-target-toggle-btn';
311
- const TARGET_TOGGLE_SPOTLIGHT_ID = 'spotlight-target-toggle';
312
- export const TargetClickToggle = ({ actionLayout, anchorPosition, body, currentStep, heading, isDismissible, isOpen, primaryActionLabel, secondaryActionLabel, showActions, showImage, showSteps, totalSteps, }) => `
313
- <div style="position: relative; padding: 80px 340px; min-height: 420px;">
314
- <xpl-button id="${TARGET_TOGGLE_ID}">Feature settings</xpl-button>
315
-
316
- <xpl-spotlight
317
- id="${TARGET_TOGGLE_SPOTLIGHT_ID}"
318
- target="#${TARGET_TOGGLE_ID}"
319
- action-layout="${actionLayout}"
320
- anchor-position="${anchorPosition}"
321
- current-step="${currentStep}"
322
- is-dismissible="${isDismissible}"
323
- is-open="${isOpen}"
324
- primary-action-label="${escapeHtmlAttribute(primaryActionLabel)}"
325
- secondary-action-label="${escapeHtmlAttribute(secondaryActionLabel)}"
326
- show-actions="${showActions}"
327
- show-image="${showImage}"
328
- show-steps="${showSteps}"
329
- total-steps="${totalSteps}"
330
- ${optionalAttr('heading', heading)}
331
- ${optionalAttr('body', body)}
332
- ></xpl-spotlight>
333
-
334
- <script>
335
- (function () {
336
- var spotlight = document.getElementById('${TARGET_TOGGLE_SPOTLIGHT_ID}');
337
- if (!spotlight || spotlight.__targetToggleBound) return;
338
- spotlight.__targetToggleBound = true;
339
-
340
- spotlight.addEventListener('targetClick', function () {
341
- var open = spotlight.getAttribute('is-open');
342
- spotlight.setAttribute('is-open', open === 'true' ? 'false' : 'true');
343
- });
344
-
345
- spotlight.addEventListener('dismiss', function () {
346
- spotlight.setAttribute('is-open', 'false');
347
- });
348
-
349
- spotlight.addEventListener('primaryAction', function () {
350
- spotlight.setAttribute('is-open', 'false');
351
- });
352
- })();
353
- </script>
354
- </div>
355
- `;
356
- TargetClickToggle.args = {
357
- showActions: true,
358
- actionLayout: 'single',
359
- anchorPosition: 'bottom-right',
360
- body: 'Click this button to open feature settings. We just shipped inline editing — try it out!',
361
- currentStep: 1,
362
- heading: 'New: Quick Settings',
363
- isDismissible: true,
364
- isOpen: false,
365
- primaryActionLabel: 'Got it',
366
- secondaryActionLabel: 'Back',
367
- showImage: false,
368
- showSteps: false,
369
- target: `#${TARGET_TOGGLE_ID}`,
370
- totalSteps: 1,
371
- };
372
- TargetClickToggle.parameters = {
373
- layout: 'padded',
374
- docs: {
375
- description: {
376
- story: [
377
- 'Demonstrates the **target-only** mode and `targetClick` event.',
378
- '',
379
- 'The spotlight starts with `is-open="false"` and `target` pointing to the button.',
380
- 'Only the pulsing dot indicator is rendered, anchored to the button via Floating UI.',
381
- 'Clicking the dot emits `targetClick` — the handler toggles `is-open`.',
382
- 'Dismissing or completing the action closes the card back to dot-only mode.',
383
- ].join('\n'),
384
- },
385
- },
386
- 'web-component': {
387
- render: renderWebComponent(TargetClickToggle.args),
388
- },
389
- html: {
390
- render: renderHtml(TargetClickToggle.args),
391
- },
392
- };