@xplortech/apollo-core 2.8.1 → 2.10.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 (310) hide show
  1. package/.typings/apollo-components.html-data.json +20 -12
  2. package/build/style.css +2086 -1875
  3. package/dist/apollo-core/apollo-core.css +20 -18
  4. package/dist/apollo-core/apollo-core.esm.js +1 -1
  5. package/dist/apollo-core/p-0e45f332.entry.js +1 -0
  6. package/dist/apollo-core/p-0f251f98.entry.js +1 -0
  7. package/dist/apollo-core/p-1691c4f3.entry.js +1 -0
  8. package/dist/apollo-core/p-172ac720.entry.js +1 -0
  9. package/dist/apollo-core/p-23870463.entry.js +1 -0
  10. package/dist/apollo-core/{p-36ba29da.entry.js → p-3b8639b7.entry.js} +1 -1
  11. package/dist/apollo-core/p-44a16751.entry.js +1 -0
  12. package/dist/apollo-core/p-4efecab2.entry.js +1 -0
  13. package/dist/apollo-core/p-5094dd97.entry.js +1 -0
  14. package/dist/apollo-core/p-70e7facc.entry.js +1 -0
  15. package/dist/apollo-core/{p-6a15f1e0.entry.js → p-728341d2.entry.js} +1 -1
  16. package/dist/apollo-core/p-910be81f.entry.js +1 -0
  17. package/dist/apollo-core/{p-b61d7952.entry.js → p-9adf3694.entry.js} +1 -1
  18. package/dist/apollo-core/p-CK3_k8jD.js +1 -0
  19. package/dist/apollo-core/p-CXkZUm1c.js +2 -0
  20. package/dist/apollo-core/p-c17b6351.entry.js +1 -0
  21. package/dist/apollo-core/p-e08b434c.entry.js +1 -0
  22. package/dist/apollo-core/{p-ca127ee8.entry.js → p-e9e7577f.entry.js} +1 -1
  23. package/dist/cjs/apollo-core.cjs.js +3 -3
  24. package/dist/cjs/{index-BQ97-AWw.js → index-BaXVr8ux.js} +36 -9
  25. package/dist/cjs/loader.cjs.js +2 -2
  26. package/dist/cjs/package.json +3 -0
  27. package/dist/cjs/v4-_2BfiRUa.js +52 -0
  28. package/dist/cjs/xpl-accordion.cjs.entry.js +3 -3
  29. package/dist/cjs/xpl-application-shell.cjs.entry.js +2 -2
  30. package/dist/cjs/xpl-avatar_54.cjs.entry.js +709 -177
  31. package/dist/cjs/xpl-button-row.cjs.entry.js +2 -2
  32. package/dist/cjs/xpl-calendar.cjs.entry.js +3 -3
  33. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +3 -3
  34. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +3 -3
  35. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +2 -2
  36. package/dist/cjs/xpl-grid-item.cjs.entry.js +2 -2
  37. package/dist/cjs/xpl-grid.cjs.entry.js +2 -2
  38. package/dist/cjs/xpl-large-card.cjs.entry.js +2 -2
  39. package/dist/cjs/xpl-main-nav.cjs.entry.js +2 -2
  40. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +1 -1
  41. package/dist/cjs/xpl-table-header.cjs.entry.js +2 -2
  42. package/dist/cjs/xpl-toggle.cjs.entry.js +5 -5
  43. package/dist/cjs/xpl-toolbar.cjs.entry.js +3 -3
  44. package/dist/collection/collection-manifest.json +5 -5
  45. package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
  46. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
  47. package/dist/collection/components/xpl-avatar/xpl-avatar.js +4 -4
  48. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
  49. package/dist/collection/components/xpl-badge/xpl-badge.js +2 -2
  50. package/dist/collection/components/xpl-banner/banner.stories.js +5 -0
  51. package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
  52. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  53. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  54. package/dist/collection/components/xpl-button/button.stories.js +5 -0
  55. package/dist/collection/components/xpl-button/xpl-button.js +16 -1
  56. package/dist/collection/components/xpl-button-row/button-row.stories.js +1 -11
  57. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  58. package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
  59. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +4 -4
  60. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
  61. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  62. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  63. package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
  64. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  65. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
  66. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  67. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
  68. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +208 -31
  69. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +1 -1
  70. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
  71. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
  72. package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
  73. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  74. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
  75. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
  76. package/dist/collection/components/xpl-input/input.stories.js +1 -1
  77. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +11 -9
  78. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
  79. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
  80. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +25 -6
  81. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
  82. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
  83. package/dist/collection/components/xpl-input/xpl-input.js +3 -3
  84. package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
  85. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  86. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  87. package/dist/collection/components/xpl-modal/xpl-modal.js +4 -1
  88. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  89. package/dist/collection/components/xpl-pagination/xpl-pagination.js +26 -8
  90. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  91. package/dist/collection/components/xpl-popover/popover.stories.js +3 -7
  92. package/dist/collection/components/xpl-popover/xpl-popover.js +5 -5
  93. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  94. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  95. package/dist/collection/components/xpl-radio/radio.stories.js +19 -17
  96. package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
  97. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  98. package/dist/collection/components/xpl-select/xpl-select.js +16 -11
  99. package/dist/collection/components/xpl-side-nav/side-nav-constants.js +2 -0
  100. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +301 -186
  101. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +80 -14
  102. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +284 -3
  103. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  104. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  105. package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +16 -6
  106. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  107. package/dist/collection/components/xpl-table/xpl-table.js +13 -22
  108. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  109. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  110. package/dist/collection/components/xpl-tag/xpl-tag.js +4 -4
  111. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  112. package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
  113. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  114. package/dist/collection/components/xpl-tooltip/tooltip-arrow.js +1 -1
  115. package/dist/collection/components/xpl-tooltip/tooltip.stories.js +6 -37
  116. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  117. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  118. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  119. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  120. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  121. package/dist/components/index.d.ts +141 -12
  122. package/dist/components/index.js +1 -1
  123. package/dist/components/p-3qMYyqTe.js +1 -0
  124. package/dist/components/p-B1PBAEzg.js +1 -0
  125. package/dist/components/p-BG0-6Xek.js +1 -0
  126. package/dist/components/p-BT_Lq3Vd.js +1 -0
  127. package/dist/components/p-BWyAzrwu.js +1 -0
  128. package/dist/components/p-B_Wi--Ov.js +1 -0
  129. package/dist/components/p-Bd6JweBt.js +1 -0
  130. package/dist/components/p-Bn-27-xj.js +1 -0
  131. package/dist/components/{xpl-top-nav-item2.js → p-Bs6vq0C6.js} +1 -1
  132. package/dist/components/{xpl-input-file2.js → p-C9BO2vL-.js} +1 -1
  133. package/dist/components/p-CFW_w5Wj.js +1 -0
  134. package/dist/components/{floating-ui.dom.js → p-CFpsSZyr.js} +1 -1
  135. package/dist/components/p-CGNq3DyC.js +1 -0
  136. package/dist/components/p-CK3_k8jD.js +1 -0
  137. package/dist/components/p-CVqbA9op.js +1 -0
  138. package/dist/components/p-CtIUusUL.js +1 -0
  139. package/dist/components/p-CzwViN3U.js +1 -0
  140. package/dist/components/p-D97c0GjM.js +1 -0
  141. package/dist/components/p-DBWV65V-.js +1 -0
  142. package/dist/components/{xpl-tag2.js → p-DEl4Rvzs.js} +1 -1
  143. package/dist/components/p-DPTHmitJ.js +1 -0
  144. package/dist/components/{xpl-input-search2.js → p-DllC7F-H.js} +1 -1
  145. package/dist/components/p-Ds28UyUR.js +1 -0
  146. package/dist/components/p-U5dPMCXE.js +1 -0
  147. package/dist/components/p-hPUzON4O.js +1 -0
  148. package/dist/components/p-kPHfCq1d.js +1 -0
  149. package/dist/components/xpl-accordion.js +1 -1
  150. package/dist/components/xpl-application-shell.js +1 -1
  151. package/dist/components/xpl-avatar.js +1 -1
  152. package/dist/components/xpl-backdrop.js +1 -1
  153. package/dist/components/xpl-badge.js +1 -1
  154. package/dist/components/xpl-banner.js +1 -1
  155. package/dist/components/xpl-breadcrumb-item.js +1 -1
  156. package/dist/components/xpl-breadcrumbs.js +1 -1
  157. package/dist/components/xpl-button-row.js +1 -1
  158. package/dist/components/xpl-button.js +1 -1
  159. package/dist/components/xpl-calendar.js +1 -1
  160. package/dist/components/xpl-checkbox.js +1 -1
  161. package/dist/components/xpl-choicelist.js +1 -1
  162. package/dist/components/xpl-content-area.js +1 -1
  163. package/dist/components/xpl-dashboard.js +1 -1
  164. package/dist/components/xpl-data-card.js +1 -1
  165. package/dist/components/xpl-divider.js +1 -1
  166. package/dist/components/xpl-dropdown-group.js +1 -1
  167. package/dist/components/xpl-dropdown-heading.js +1 -1
  168. package/dist/components/xpl-dropdown-option.js +1 -1
  169. package/dist/components/xpl-dropdown.js +1 -1
  170. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  171. package/dist/components/xpl-dynamic-table-row.js +1 -1
  172. package/dist/components/xpl-dynamic-table.js +1 -1
  173. package/dist/components/xpl-grid-item.js +1 -1
  174. package/dist/components/xpl-grid.js +1 -1
  175. package/dist/components/xpl-header-accordion.js +1 -1
  176. package/dist/components/xpl-icon.js +1 -1
  177. package/dist/components/xpl-input-color.js +1 -1
  178. package/dist/components/xpl-input-date.js +1 -1
  179. package/dist/components/xpl-input-file.js +1 -1
  180. package/dist/components/xpl-input-phone.js +1 -1
  181. package/dist/components/xpl-input-search.js +1 -1
  182. package/dist/components/xpl-input-time.js +1 -1
  183. package/dist/components/xpl-input.js +1 -1
  184. package/dist/components/xpl-large-card.js +1 -1
  185. package/dist/components/xpl-list-item.js +1 -1
  186. package/dist/components/xpl-list.js +1 -1
  187. package/dist/components/xpl-main-nav.js +1 -1
  188. package/dist/components/xpl-modal.js +1 -1
  189. package/dist/components/xpl-nav-header-menu.js +1 -1
  190. package/dist/components/xpl-nav-item.js +1 -1
  191. package/dist/components/xpl-pagination.js +1 -1
  192. package/dist/components/xpl-panel.js +1 -1
  193. package/dist/components/xpl-popover.js +1 -1
  194. package/dist/components/xpl-progress-bar.js +1 -1
  195. package/dist/components/xpl-progress-indicator.js +1 -1
  196. package/dist/components/xpl-radio.js +1 -1
  197. package/dist/components/xpl-secondary-nav.js +1 -1
  198. package/dist/components/xpl-select.js +1 -1
  199. package/dist/components/xpl-side-nav-item.js +1 -1
  200. package/dist/components/xpl-side-nav.js +1 -1
  201. package/dist/components/xpl-skeleton.js +1 -1
  202. package/dist/components/xpl-slideout.js +1 -1
  203. package/dist/components/xpl-spotlight.js +1 -1
  204. package/dist/components/xpl-tab-panel.js +1 -1
  205. package/dist/components/xpl-tab.js +1 -1
  206. package/dist/components/xpl-table-header-cell.js +1 -1
  207. package/dist/components/xpl-table-header.js +1 -1
  208. package/dist/components/xpl-table.js +1 -1
  209. package/dist/components/xpl-tabs.js +1 -1
  210. package/dist/components/xpl-tag.js +1 -1
  211. package/dist/components/xpl-toast.js +1 -1
  212. package/dist/components/xpl-toggle.js +1 -1
  213. package/dist/components/xpl-toolbar.js +1 -1
  214. package/dist/components/xpl-tooltip.js +1 -1
  215. package/dist/components/xpl-top-nav-item.js +1 -1
  216. package/dist/components/xpl-top-nav.js +1 -1
  217. package/dist/components/xpl-utility-bar.js +1 -1
  218. package/dist/docs/xpl-backdrop/readme.md +2 -0
  219. package/dist/docs/xpl-badge/readme.md +34 -0
  220. package/dist/docs/xpl-button/readme.md +2 -0
  221. package/dist/docs/xpl-button-row/readme.md +13 -0
  222. package/dist/docs/xpl-checkbox/readme.md +23 -1
  223. package/dist/docs/xpl-divider/readme.md +22 -4
  224. package/dist/docs/xpl-input/readme.md +51 -0
  225. package/dist/docs/xpl-input/xpl-input-date/readme.md +7 -0
  226. package/dist/docs/xpl-input/xpl-input-phone/readme.md +21 -0
  227. package/dist/docs/xpl-popover/readme.md +24 -0
  228. package/dist/docs/xpl-radio/readme.md +21 -4
  229. package/dist/docs/xpl-side-nav/readme.md +153 -5
  230. package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +165 -32
  231. package/dist/docs/xpl-table/readme.md +2 -0
  232. package/dist/docs/xpl-tooltip/readme.md +29 -1
  233. package/dist/esm/apollo-core.js +4 -4
  234. package/dist/esm/{index-C7bgJs6C.js → index-CXkZUm1c.js} +36 -9
  235. package/dist/esm/loader.js +3 -3
  236. package/dist/esm/v4-CK3_k8jD.js +50 -0
  237. package/dist/esm/xpl-accordion.entry.js +3 -3
  238. package/dist/esm/xpl-application-shell.entry.js +2 -2
  239. package/dist/esm/xpl-avatar_54.entry.js +709 -177
  240. package/dist/esm/xpl-button-row.entry.js +2 -2
  241. package/dist/esm/xpl-calendar.entry.js +3 -3
  242. package/dist/esm/xpl-dynamic-table-cell.entry.js +3 -3
  243. package/dist/esm/xpl-dynamic-table-row.entry.js +3 -3
  244. package/dist/esm/xpl-dynamic-table.entry.js +2 -2
  245. package/dist/esm/xpl-grid-item.entry.js +2 -2
  246. package/dist/esm/xpl-grid.entry.js +2 -2
  247. package/dist/esm/xpl-large-card.entry.js +2 -2
  248. package/dist/esm/xpl-main-nav.entry.js +2 -2
  249. package/dist/esm/xpl-table-header-cell.entry.js +1 -1
  250. package/dist/esm/xpl-table-header.entry.js +2 -2
  251. package/dist/esm/xpl-toggle.entry.js +5 -5
  252. package/dist/esm/xpl-toolbar.entry.js +3 -3
  253. package/dist/types/components/xpl-banner/banner.stories.d.ts +2 -0
  254. package/dist/types/components/xpl-button/button.stories.d.ts +2 -0
  255. package/dist/types/components/xpl-button/xpl-button.d.ts +1 -0
  256. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +16 -0
  257. package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +1 -0
  258. package/dist/types/components/xpl-pagination/xpl-pagination.d.ts +4 -0
  259. package/dist/types/components/xpl-radio/radio.stories.d.ts +11 -10
  260. package/dist/types/components/xpl-side-nav/side-nav-constants.d.ts +2 -0
  261. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +53 -32
  262. package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +10 -0
  263. package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +31 -0
  264. package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
  265. package/dist/types/components.d.ts +223 -20
  266. package/dist/types/stencil-public-runtime.d.ts +1 -0
  267. package/package.json +39 -38
  268. package/dist/apollo-core/p-0bf50890.entry.js +0 -1
  269. package/dist/apollo-core/p-1947e7a8.entry.js +0 -1
  270. package/dist/apollo-core/p-27928cb0.entry.js +0 -1
  271. package/dist/apollo-core/p-34438721.entry.js +0 -1
  272. package/dist/apollo-core/p-35c2f72d.entry.js +0 -1
  273. package/dist/apollo-core/p-368c81f1.entry.js +0 -1
  274. package/dist/apollo-core/p-406b27a8.entry.js +0 -1
  275. package/dist/apollo-core/p-5d63b4ce.entry.js +0 -1
  276. package/dist/apollo-core/p-689f1dae.entry.js +0 -1
  277. package/dist/apollo-core/p-8d692d05.entry.js +0 -1
  278. package/dist/apollo-core/p-C7bgJs6C.js +0 -2
  279. package/dist/apollo-core/p-Cqlsd6nf.js +0 -1
  280. package/dist/apollo-core/p-cd56a3d5.entry.js +0 -1
  281. package/dist/apollo-core/p-dc205893.entry.js +0 -1
  282. package/dist/cjs/v4-D4KzFnn8.js +0 -67
  283. package/dist/components/index3.js +0 -1
  284. package/dist/components/v4.js +0 -1
  285. package/dist/components/xpl-avatar2.js +0 -1
  286. package/dist/components/xpl-backdrop2.js +0 -1
  287. package/dist/components/xpl-badge2.js +0 -1
  288. package/dist/components/xpl-button2.js +0 -1
  289. package/dist/components/xpl-checkbox2.js +0 -1
  290. package/dist/components/xpl-divider2.js +0 -1
  291. package/dist/components/xpl-dropdown-group2.js +0 -1
  292. package/dist/components/xpl-dropdown-heading2.js +0 -1
  293. package/dist/components/xpl-dropdown-option2.js +0 -1
  294. package/dist/components/xpl-dropdown2.js +0 -1
  295. package/dist/components/xpl-icon2.js +0 -1
  296. package/dist/components/xpl-input-date2.js +0 -1
  297. package/dist/components/xpl-input2.js +0 -1
  298. package/dist/components/xpl-list-item2.js +0 -1
  299. package/dist/components/xpl-popover2.js +0 -1
  300. package/dist/components/xpl-radio2.js +0 -1
  301. package/dist/components/xpl-select2.js +0 -1
  302. package/dist/components/xpl-tooltip2.js +0 -1
  303. package/dist/esm/v4-Cqlsd6nf.js +0 -65
  304. /package/dist/components/{_commonjsHelpers.js → p-BFTU3MAI.js} +0 -0
  305. /package/dist/components/{index2.js → p-CH4yJ6Qx.js} +0 -0
  306. /package/dist/components/{tab-a11y-ids.js → p-Yj_QFaRn.js} +0 -0
  307. /package/dist/{index.cjs.js → index.cjs} +0 -0
  308. /package/dist/types/{Users/roc/Sites → home/runner/work/apollo}/apollo/packages/apollo-core/.stencil/css/typography.stories.d.ts +0 -0
  309. /package/loader/{cdn.js → cdn.cjs} +0 -0
  310. /package/loader/{index.cjs.js → index.cjs} +0 -0
@@ -382,7 +382,7 @@ export namespace Components {
382
382
  */
383
383
  "styled"?: boolean;
384
384
  /**
385
- * The value attribute for the checkbox input. (submittted in form as name/value pair)
385
+ * The value attribute for the checkbox input. (submitted in form as name/value pair)
386
386
  */
387
387
  "value"?: string;
388
388
  }
@@ -969,6 +969,10 @@ export namespace Components {
969
969
  * Whether the field is disabled
970
970
  */
971
971
  "disabled"?: boolean;
972
+ /**
973
+ * Whether the field is in an error state. When true, the input renders with the error border styling. The error message itself is owned by the parent `xpl-input` wrapper.
974
+ */
975
+ "error"?: boolean;
972
976
  /**
973
977
  * The `inputId` is used to associate the input with a label.
974
978
  */
@@ -1523,48 +1527,100 @@ export namespace Components {
1523
1527
  */
1524
1528
  "truncate"?: boolean;
1525
1529
  }
1530
+ /**
1531
+ * Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
1532
+ * `nav-footer`. Compose with `xpl-side-nav-item` for rows.
1533
+ * **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
1534
+ * ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
1535
+ * Activating the toggle opens a drawer containing the `section` + `nav-footer`
1536
+ * content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
1537
+ * Escape or a backdrop click closes it and returns focus to the toggle. Above
1538
+ * `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
1539
+ * The toggle is always rendered (no gating prop) and hidden above the breakpoint
1540
+ * in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
1541
+ * the `openChange` event, and the `toggle()` / `setOpen()` methods.
1542
+ * **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
1543
+ * around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
1544
+ */
1526
1545
  interface XplSideNav {
1527
1546
  /**
1528
1547
  * Accessible label for the navigation landmark. Maps to `aria-label` on the `<nav>` element. Recommended when multiple navigation landmarks exist on a page (e.g., side nav + top nav + breadcrumbs) to help screen readers distinguish them.
1529
1548
  */
1530
1549
  "label"?: string;
1550
+ /**
1551
+ * Whether the mobile drawer is open. Reflected to the `open` attribute so CSS and host state stay in sync. Controlled (consumer owns `open`) or uncontrolled (built-in toggle flips it). Has no visible effect above the `md` breakpoint, where the sidebar always renders inline.
1552
+ * @default false
1553
+ */
1554
+ "open": boolean;
1555
+ /**
1556
+ * Programmatically set the mobile drawer open state. Emits `openChange` when it changes.
1557
+ */
1558
+ "setOpen": (open: boolean) => Promise<void>;
1559
+ /**
1560
+ * Programmatically toggle the mobile drawer open/closed. Emits `openChange`.
1561
+ */
1562
+ "toggle": () => Promise<void>;
1531
1563
  }
1564
+ /**
1565
+ * Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
1566
+ * anchor container (`link` mode). Three slot positions are available:
1567
+ * - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
1568
+ * The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
1569
+ * when no slotted `leading` content is present.
1570
+ * - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
1571
+ * When `has-children` is true and no `trailing` slot content is provided, an
1572
+ * auto chevron is rendered automatically in this position: `chevron-down` when
1573
+ * collapsed, `chevron-up` when expanded.
1574
+ * - default slot — nested `xpl-side-nav-item` children (expandable parents only).
1575
+ * **v2 breaking changes (beta):**
1576
+ * - `slot="icon"` renamed to `slot="leading"` — no alias kept.
1577
+ * - Parent rows (`has-children`) now render the leading icon alongside the chevron.
1578
+ * Previously parents showed chevron + label only (no leading icon).
1579
+ * - The chevron has moved from the leading position to the trailing position.
1580
+ * - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
1581
+ * **Migration:**
1582
+ * | Before (v1) | After (v2) | Action |
1583
+ * |---|---|---|
1584
+ * | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
1585
+ * | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
1586
+ * | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
1587
+ */
1532
1588
  interface XplSideNavItem {
1533
1589
  /**
1534
- * Whether the component is disabled
1590
+ * Whether the item is currently disabled.
1535
1591
  * @default false
1536
1592
  */
1537
1593
  "disabled": boolean;
1538
1594
  /**
1539
- * Whether the item is currently expanded (only applies when hasChildren is true)
1595
+ * Whether the item is currently expanded (only applies when `has-children` is true).
1540
1596
  * @default false
1541
1597
  */
1542
1598
  "expanded": boolean;
1543
1599
  /**
1544
- * Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with <code>link</code>. If <code>link</code> is already true, setting <code>has-children</code> is reverted (<code>@Watch('hasChildren')</code>, <code>@Watch('link')</code>, <code>componentWillLoad</code>, and <code>componentWillRender</code>) so reflected attributes match CSS.
1600
+ * Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with `link`. If `link` is already true, setting `has-children` is reverted.
1545
1601
  * @default false
1546
1602
  */
1547
1603
  "hasChildren": boolean;
1548
1604
  /**
1549
- * Whether the component is hidden
1605
+ * Whether the component is hidden.
1550
1606
  * @default false
1551
1607
  */
1552
1608
  "hidden": boolean;
1553
1609
  /**
1554
- * Optional icon name; default content for <code>slot="icon"</code> (leaf and footer rows only). Expandable parents (<code>has-children</code>) do not show an icon column only the chevron and label. Omit for nested children under a <code>has-children</code> parent — the icon column is hidden for sub-items.
1610
+ * Optional icon name; renders as the default content for `slot="leading"`. When `slot="leading"` content is present, this prop is ignored. In v2, this prop applies to all item types including parent rows (`has-children`).
1555
1611
  */
1556
1612
  "icon"?: string;
1557
1613
  /**
1558
- * The display label for the navigation item (button / expandable rows; omit in <code>link</code> mode).
1614
+ * The display label for the navigation item (button / expandable rows; omit in `link` mode).
1559
1615
  */
1560
1616
  "label"?: string;
1561
1617
  /**
1562
- * When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode, <code>label</code> and <code>icon</code> props should not be used. Link mode does not support <code>has-children</code>; use the default button mode for expandable items. When <code>link</code> is true, <code>hasChildren</code> is always false (enforced by <code>@Watch('link')</code>, <code>@Watch('hasChildren')</code>, <code>componentWillLoad</code>, and <code>componentWillRender</code>).
1618
+ * When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode, `label` and `icon` props should not be used. Link mode does not support `has-children`; use the default button mode for expandable items. When `link` is true, `hasChildren` is always false.
1563
1619
  * @default false
1564
1620
  */
1565
1621
  "link": boolean;
1566
1622
  /**
1567
- * Whether the item is currently in a selected state
1623
+ * Whether the item is currently in a selected state.
1568
1624
  * @default false
1569
1625
  */
1570
1626
  "selected": boolean;
@@ -2160,6 +2216,10 @@ export interface XplSelectCustomEvent<T> extends CustomEvent<T> {
2160
2216
  detail: T;
2161
2217
  target: HTMLXplSelectElement;
2162
2218
  }
2219
+ export interface XplSideNavCustomEvent<T> extends CustomEvent<T> {
2220
+ detail: T;
2221
+ target: HTMLXplSideNavElement;
2222
+ }
2163
2223
  export interface XplSideNavItemCustomEvent<T> extends CustomEvent<T> {
2164
2224
  detail: T;
2165
2225
  target: HTMLXplSideNavItemElement;
@@ -2819,7 +2879,33 @@ declare global {
2819
2879
  prototype: HTMLXplSelectElement;
2820
2880
  new (): HTMLXplSelectElement;
2821
2881
  };
2882
+ interface HTMLXplSideNavElementEventMap {
2883
+ "openChange": boolean;
2884
+ }
2885
+ /**
2886
+ * Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
2887
+ * `nav-footer`. Compose with `xpl-side-nav-item` for rows.
2888
+ * **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
2889
+ * ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
2890
+ * Activating the toggle opens a drawer containing the `section` + `nav-footer`
2891
+ * content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
2892
+ * Escape or a backdrop click closes it and returns focus to the toggle. Above
2893
+ * `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
2894
+ * The toggle is always rendered (no gating prop) and hidden above the breakpoint
2895
+ * in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
2896
+ * the `openChange` event, and the `toggle()` / `setOpen()` methods.
2897
+ * **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
2898
+ * around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
2899
+ */
2822
2900
  interface HTMLXplSideNavElement extends Components.XplSideNav, HTMLStencilElement {
2901
+ addEventListener<K extends keyof HTMLXplSideNavElementEventMap>(type: K, listener: (this: HTMLXplSideNavElement, ev: XplSideNavCustomEvent<HTMLXplSideNavElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2902
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2903
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2904
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2905
+ removeEventListener<K extends keyof HTMLXplSideNavElementEventMap>(type: K, listener: (this: HTMLXplSideNavElement, ev: XplSideNavCustomEvent<HTMLXplSideNavElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2906
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2907
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2908
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2823
2909
  }
2824
2910
  var HTMLXplSideNavElement: {
2825
2911
  prototype: HTMLXplSideNavElement;
@@ -2829,6 +2915,30 @@ declare global {
2829
2915
  "expandedChange": boolean;
2830
2916
  "navClick": void;
2831
2917
  }
2918
+ /**
2919
+ * Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
2920
+ * anchor container (`link` mode). Three slot positions are available:
2921
+ * - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
2922
+ * The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
2923
+ * when no slotted `leading` content is present.
2924
+ * - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
2925
+ * When `has-children` is true and no `trailing` slot content is provided, an
2926
+ * auto chevron is rendered automatically in this position: `chevron-down` when
2927
+ * collapsed, `chevron-up` when expanded.
2928
+ * - default slot — nested `xpl-side-nav-item` children (expandable parents only).
2929
+ * **v2 breaking changes (beta):**
2930
+ * - `slot="icon"` renamed to `slot="leading"` — no alias kept.
2931
+ * - Parent rows (`has-children`) now render the leading icon alongside the chevron.
2932
+ * Previously parents showed chevron + label only (no leading icon).
2933
+ * - The chevron has moved from the leading position to the trailing position.
2934
+ * - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
2935
+ * **Migration:**
2936
+ * | Before (v1) | After (v2) | Action |
2937
+ * |---|---|---|
2938
+ * | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
2939
+ * | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
2940
+ * | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
2941
+ */
2832
2942
  interface HTMLXplSideNavItemElement extends Components.XplSideNavItem, HTMLStencilElement {
2833
2943
  addEventListener<K extends keyof HTMLXplSideNavItemElementEventMap>(type: K, listener: (this: HTMLXplSideNavItemElement, ev: XplSideNavItemCustomEvent<HTMLXplSideNavItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2834
2944
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -3570,7 +3680,7 @@ declare namespace LocalJSX {
3570
3680
  */
3571
3681
  "styled"?: boolean;
3572
3682
  /**
3573
- * The value attribute for the checkbox input. (submittted in form as name/value pair)
3683
+ * The value attribute for the checkbox input. (submitted in form as name/value pair)
3574
3684
  */
3575
3685
  "value"?: string;
3576
3686
  }
@@ -4207,6 +4317,10 @@ declare namespace LocalJSX {
4207
4317
  * Whether the field is disabled
4208
4318
  */
4209
4319
  "disabled"?: boolean;
4320
+ /**
4321
+ * Whether the field is in an error state. When true, the input renders with the error border styling. The error message itself is owned by the parent `xpl-input` wrapper.
4322
+ */
4323
+ "error"?: boolean;
4210
4324
  /**
4211
4325
  * The `inputId` is used to associate the input with a label.
4212
4326
  */
@@ -4856,56 +4970,104 @@ declare namespace LocalJSX {
4856
4970
  */
4857
4971
  "truncate"?: boolean;
4858
4972
  }
4973
+ /**
4974
+ * Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
4975
+ * `nav-footer`. Compose with `xpl-side-nav-item` for rows.
4976
+ * **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
4977
+ * ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
4978
+ * Activating the toggle opens a drawer containing the `section` + `nav-footer`
4979
+ * content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
4980
+ * Escape or a backdrop click closes it and returns focus to the toggle. Above
4981
+ * `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
4982
+ * The toggle is always rendered (no gating prop) and hidden above the breakpoint
4983
+ * in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
4984
+ * the `openChange` event, and the `toggle()` / `setOpen()` methods.
4985
+ * **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
4986
+ * around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
4987
+ */
4859
4988
  interface XplSideNav {
4860
4989
  /**
4861
4990
  * Accessible label for the navigation landmark. Maps to `aria-label` on the `<nav>` element. Recommended when multiple navigation landmarks exist on a page (e.g., side nav + top nav + breadcrumbs) to help screen readers distinguish them.
4862
4991
  */
4863
4992
  "label"?: string;
4993
+ /**
4994
+ * Emitted when the mobile drawer open state changes: toggle activation, Escape, or a backdrop click. Detail is the new open state (`true` = open, `false` = closed).
4995
+ */
4996
+ "onOpenChange"?: (event: XplSideNavCustomEvent<boolean>) => void;
4997
+ /**
4998
+ * Whether the mobile drawer is open. Reflected to the `open` attribute so CSS and host state stay in sync. Controlled (consumer owns `open`) or uncontrolled (built-in toggle flips it). Has no visible effect above the `md` breakpoint, where the sidebar always renders inline.
4999
+ * @default false
5000
+ */
5001
+ "open"?: boolean;
4864
5002
  }
5003
+ /**
5004
+ * Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
5005
+ * anchor container (`link` mode). Three slot positions are available:
5006
+ * - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
5007
+ * The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
5008
+ * when no slotted `leading` content is present.
5009
+ * - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
5010
+ * When `has-children` is true and no `trailing` slot content is provided, an
5011
+ * auto chevron is rendered automatically in this position: `chevron-down` when
5012
+ * collapsed, `chevron-up` when expanded.
5013
+ * - default slot — nested `xpl-side-nav-item` children (expandable parents only).
5014
+ * **v2 breaking changes (beta):**
5015
+ * - `slot="icon"` renamed to `slot="leading"` — no alias kept.
5016
+ * - Parent rows (`has-children`) now render the leading icon alongside the chevron.
5017
+ * Previously parents showed chevron + label only (no leading icon).
5018
+ * - The chevron has moved from the leading position to the trailing position.
5019
+ * - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
5020
+ * **Migration:**
5021
+ * | Before (v1) | After (v2) | Action |
5022
+ * |---|---|---|
5023
+ * | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
5024
+ * | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
5025
+ * | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
5026
+ */
4865
5027
  interface XplSideNavItem {
4866
5028
  /**
4867
- * Whether the component is disabled
5029
+ * Whether the item is currently disabled.
4868
5030
  * @default false
4869
5031
  */
4870
5032
  "disabled"?: boolean;
4871
5033
  /**
4872
- * Whether the item is currently expanded (only applies when hasChildren is true)
5034
+ * Whether the item is currently expanded (only applies when `has-children` is true).
4873
5035
  * @default false
4874
5036
  */
4875
5037
  "expanded"?: boolean;
4876
5038
  /**
4877
- * Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with <code>link</code>. If <code>link</code> is already true, setting <code>has-children</code> is reverted (<code>@Watch('hasChildren')</code>, <code>@Watch('link')</code>, <code>componentWillLoad</code>, and <code>componentWillRender</code>) so reflected attributes match CSS.
5039
+ * Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with `link`. If `link` is already true, setting `has-children` is reverted.
4878
5040
  * @default false
4879
5041
  */
4880
5042
  "hasChildren"?: boolean;
4881
5043
  /**
4882
- * Whether the component is hidden
5044
+ * Whether the component is hidden.
4883
5045
  * @default false
4884
5046
  */
4885
5047
  "hidden"?: boolean;
4886
5048
  /**
4887
- * Optional icon name; default content for <code>slot="icon"</code> (leaf and footer rows only). Expandable parents (<code>has-children</code>) do not show an icon column only the chevron and label. Omit for nested children under a <code>has-children</code> parent — the icon column is hidden for sub-items.
5049
+ * Optional icon name; renders as the default content for `slot="leading"`. When `slot="leading"` content is present, this prop is ignored. In v2, this prop applies to all item types including parent rows (`has-children`).
4888
5050
  */
4889
5051
  "icon"?: string;
4890
5052
  /**
4891
- * The display label for the navigation item (button / expandable rows; omit in <code>link</code> mode).
5053
+ * The display label for the navigation item (button / expandable rows; omit in `link` mode).
4892
5054
  */
4893
5055
  "label"?: string;
4894
5056
  /**
4895
- * When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode, <code>label</code> and <code>icon</code> props should not be used. Link mode does not support <code>has-children</code>; use the default button mode for expandable items. When <code>link</code> is true, <code>hasChildren</code> is always false (enforced by <code>@Watch('link')</code>, <code>@Watch('hasChildren')</code>, <code>componentWillLoad</code>, and <code>componentWillRender</code>).
5057
+ * When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode, `label` and `icon` props should not be used. Link mode does not support `has-children`; use the default button mode for expandable items. When `link` is true, `hasChildren` is always false.
4896
5058
  * @default false
4897
5059
  */
4898
5060
  "link"?: boolean;
4899
5061
  /**
4900
- * Emitted when the expanded state changes (hasChildren items only). Detail is the new expanded value.
5062
+ * Emitted when the expanded state changes (`has-children` items only). Detail is the new expanded value.
4901
5063
  */
4902
5064
  "onExpandedChange"?: (event: XplSideNavItemCustomEvent<boolean>) => void;
4903
5065
  /**
4904
- * Emitted when a leaf item is clicked. Expandable parents use expandedChange instead.
5066
+ * Emitted when a leaf item is clicked. Expandable parents use `expandedChange` instead.
4905
5067
  */
4906
5068
  "onNavClick"?: (event: XplSideNavItemCustomEvent<void>) => void;
4907
5069
  /**
4908
- * Whether the item is currently in a selected state
5070
+ * Whether the item is currently in a selected state.
4909
5071
  * @default false
4910
5072
  */
4911
5073
  "selected"?: boolean;
@@ -5714,6 +5876,7 @@ declare namespace LocalJSX {
5714
5876
  interface XplInputPhoneAttributes {
5715
5877
  "defaultCountry": string;
5716
5878
  "disabled": boolean;
5879
+ "error": boolean;
5717
5880
  "inputId": string;
5718
5881
  "isInternational": boolean;
5719
5882
  "name": string;
@@ -5850,6 +6013,7 @@ declare namespace LocalJSX {
5850
6013
  }
5851
6014
  interface XplSideNavAttributes {
5852
6015
  "label": string;
6016
+ "open": boolean;
5853
6017
  }
5854
6018
  interface XplSideNavItemAttributes {
5855
6019
  "disabled": boolean;
@@ -6140,7 +6304,46 @@ declare module "@stencil/core" {
6140
6304
  "xpl-radio": LocalJSX.IntrinsicElements["xpl-radio"] & JSXBase.HTMLAttributes<HTMLXplRadioElement>;
6141
6305
  "xpl-secondary-nav": LocalJSX.IntrinsicElements["xpl-secondary-nav"] & JSXBase.HTMLAttributes<HTMLXplSecondaryNavElement>;
6142
6306
  "xpl-select": LocalJSX.IntrinsicElements["xpl-select"] & JSXBase.HTMLAttributes<HTMLXplSelectElement>;
6307
+ /**
6308
+ * Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
6309
+ * `nav-footer`. Compose with `xpl-side-nav-item` for rows.
6310
+ * **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
6311
+ * ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
6312
+ * Activating the toggle opens a drawer containing the `section` + `nav-footer`
6313
+ * content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
6314
+ * Escape or a backdrop click closes it and returns focus to the toggle. Above
6315
+ * `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
6316
+ * The toggle is always rendered (no gating prop) and hidden above the breakpoint
6317
+ * in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
6318
+ * the `openChange` event, and the `toggle()` / `setOpen()` methods.
6319
+ * **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
6320
+ * around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
6321
+ */
6143
6322
  "xpl-side-nav": LocalJSX.IntrinsicElements["xpl-side-nav"] & JSXBase.HTMLAttributes<HTMLXplSideNavElement>;
6323
+ /**
6324
+ * Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
6325
+ * anchor container (`link` mode). Three slot positions are available:
6326
+ * - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
6327
+ * The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
6328
+ * when no slotted `leading` content is present.
6329
+ * - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
6330
+ * When `has-children` is true and no `trailing` slot content is provided, an
6331
+ * auto chevron is rendered automatically in this position: `chevron-down` when
6332
+ * collapsed, `chevron-up` when expanded.
6333
+ * - default slot — nested `xpl-side-nav-item` children (expandable parents only).
6334
+ * **v2 breaking changes (beta):**
6335
+ * - `slot="icon"` renamed to `slot="leading"` — no alias kept.
6336
+ * - Parent rows (`has-children`) now render the leading icon alongside the chevron.
6337
+ * Previously parents showed chevron + label only (no leading icon).
6338
+ * - The chevron has moved from the leading position to the trailing position.
6339
+ * - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
6340
+ * **Migration:**
6341
+ * | Before (v1) | After (v2) | Action |
6342
+ * |---|---|---|
6343
+ * | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
6344
+ * | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
6345
+ * | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
6346
+ */
6144
6347
  "xpl-side-nav-item": LocalJSX.IntrinsicElements["xpl-side-nav-item"] & JSXBase.HTMLAttributes<HTMLXplSideNavItemElement>;
6145
6348
  "xpl-skeleton": LocalJSX.IntrinsicElements["xpl-skeleton"] & JSXBase.HTMLAttributes<HTMLXplSkeletonElement>;
6146
6349
  "xpl-slideout": LocalJSX.IntrinsicElements["xpl-slideout"] & JSXBase.HTMLAttributes<HTMLXplSlideoutElement>;
@@ -1070,6 +1070,7 @@ export declare namespace JSXBase {
1070
1070
  importance?: 'low' | 'auto' | 'high';
1071
1071
  height?: number | string;
1072
1072
  loading?: 'lazy' | 'auto' | 'eager';
1073
+ referrerPolicy?: ReferrerPolicy;
1073
1074
  sizes?: string;
1074
1075
  src?: string;
1075
1076
  srcSet?: string;
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@xplortech/apollo-core",
3
- "version": "2.8.1",
4
- "main": "dist/index.cjs.js",
3
+ "version": "2.10.0",
4
+ "type": "module",
5
+ "main": "dist/index.cjs",
5
6
  "module": "dist/index.js",
6
7
  "types": "dist/types/components.d.ts",
7
8
  "collection": "dist/collection/collection-manifest.json",
@@ -10,13 +11,13 @@
10
11
  ".": {
11
12
  "types": "./dist/types/components.d.ts",
12
13
  "import": "./dist/index.js",
13
- "require": "./dist/index.cjs.js",
14
+ "require": "./dist/index.cjs",
14
15
  "default": "./dist/index.js"
15
16
  },
16
17
  "./loader": {
17
18
  "types": "./loader/index.d.ts",
18
19
  "import": "./loader/index.js",
19
- "require": "./loader/index.cjs.js"
20
+ "require": "./loader/index.cjs"
20
21
  },
21
22
  "./components": {
22
23
  "types": "./dist/components/index.d.ts",
@@ -27,7 +28,10 @@
27
28
  "import": "./dist/components/*.js"
28
29
  },
29
30
  "./css/*": "./build/*.css",
30
- "./dist/*": "./dist/*",
31
+ "./dist/*": {
32
+ "import": "./dist/*",
33
+ "types": "./dist/*"
34
+ },
31
35
  "./loader/*": "./loader/*"
32
36
  },
33
37
  "repository": {
@@ -58,7 +62,7 @@
58
62
  "*.css",
59
63
  "./loader/*",
60
64
  "./dist/index.js",
61
- "./dist/index.cjs.js",
65
+ "./dist/index.cjs",
62
66
  "./dist/esm/loader.js",
63
67
  "./dist/cjs/loader.cjs.js"
64
68
  ],
@@ -70,25 +74,27 @@
70
74
  "build-partial:css.storybook": "cp -r build/ .storybook/build",
71
75
  "build-partial:css.vue": "cp build/style.css ../apollo-vue/css/apollo.css",
72
76
  "build:stencil": "node ../../scripts/generate-icon-docs.mjs && stencil build --docs --prod && cp -r dist .storybook && cp -r loader .storybook && node .storybook/patch-stencil-sourcemaps.mjs",
73
- "postbuild": "node ../../scripts/copy-readmes-to-dist.mjs",
77
+ "postbuild": "node ../../scripts/copy-readmes-to-dist.mjs && node ../../scripts/finalize-apollo-core-cjs.mjs",
74
78
  "clean": "rm -rf dist/ loader/ storybook-static/ www/ build/ src/components/components.d.ts",
75
79
  "dev": "run-p dev:*",
76
80
  "dev:css": "postcss src/style.css -o build/style.css -w",
77
81
  "dev:stencil": "stencil build --dev --watch --serve",
78
- "lint": "npm-run-all lint:*",
79
82
  "lint:css": "stylelint 'src/**/*.css'",
83
+ "lint:css:ci": "stylelint 'src/**/*.css' -q",
80
84
  "test:stylelint": "node --test stylelint/patterns.test.mjs",
81
85
  "stylelint:check-legacy": "node stylelint/check-legacy-files.mjs",
86
+ "lint": "npm-run-all lint:ts lint:css:ci lint:html lint:js lint:prettier-css test:stylelint",
82
87
  "lint:ts": "eslint src/components/**/*{.ts,.tsx} --no-warn-ignored",
83
88
  "lint:html": "prettier --check src/**/*.html",
84
89
  "lint:js": "prettier --check *{.js,.json}",
85
90
  "lint:prettier-css": "prettier --check \"src/**/*.css\"",
86
- "format": "npm run lint:css -- --fix && npm run lint:ts -- --fix && prettier --write *{.js,.json} && prettier --write src/**/*.html && prettier --write \"src/**/*.css\"",
91
+ "format": "npm run lint:css:ci -- --fix && npm run lint:ts -- --fix && prettier --write *{.js,.json} && prettier --write src/**/*.html && prettier --write \"src/**/*.css\"",
87
92
  "generate:icons": "node ../../scripts/generate-icon-docs.mjs",
88
- "test": "stencil test --spec",
89
- "test.watch": "stencil test --spec --watch",
90
- "test.e2e": "stencil test --e2e --runInBand",
91
- "release": "release-it",
93
+ "test": "vitest run --project spec --project spec-dom",
94
+ "test.watch": "vitest --project spec --project spec-dom",
95
+ "test.e2e": "vitest run --project browser",
96
+ "test.storybook": "vitest run --project storybook",
97
+ "test.storybook:update": "vitest run --project storybook --update",
92
98
  "storybook": "npm run storybook:start",
93
99
  "storybook:start": "storybook dev -p 9009",
94
100
  "stencil-generate": "stencil generate"
@@ -105,9 +111,10 @@
105
111
  "@babel/preset-typescript": "^7.24.7",
106
112
  "@chromatic-com/storybook": "^4.1.3",
107
113
  "@mdx-js/react": "^3.1.1",
108
- "@stencil/core": "^4.31.0",
109
- "@stencil/react-output-target": "0.5.3",
110
- "@stencil/vue-output-target": "^0.13.1",
114
+ "@stencil/core": "^4.43.5",
115
+ "@stencil/react-output-target": "1.6.0",
116
+ "@stencil/vitest": "^1.13.3",
117
+ "@stencil/vue-output-target": "^0.14.0",
111
118
  "@storybook/addon-a11y": "^10.1.3",
112
119
  "@storybook/addon-designs": "^11.1.1",
113
120
  "@storybook/addon-docs": "^10.1.3",
@@ -116,22 +123,18 @@
116
123
  "@storybook/addon-vitest": "^10.1.3",
117
124
  "@storybook/builder-vite": "^10.1.3",
118
125
  "@storybook/web-components-vite": "^10.1.3",
119
- "@types/jest": "^26.0.21",
120
126
  "@vitest/browser-playwright": "^4.0.13",
121
127
  "@vitest/coverage-v8": "^4.0.13",
122
128
  "@vueless/storybook-dark-mode": "^10.0.3",
123
- "@xplortech/apollo-foundation": "1.1.0",
124
129
  "@xplortech/apollo-icons": "0.4.0",
125
- "auto-changelog": "^2.3.0",
126
130
  "autoprefixer": "^10.4.16",
127
131
  "cross-env": "^7.0.3",
128
132
  "eslint-plugin-react": "^7.37.5",
133
+ "happy-dom": "^20.10.6",
129
134
  "highlight.js": "^11.10.0",
130
- "jest": "^29.7.0",
131
- "jest-cli": "^29.7.0",
132
135
  "lit": "^3.3.2",
133
136
  "npm-run-all": "^4.1.5",
134
- "playwright": "^1.56.1",
137
+ "playwright": "1.59.1",
135
138
  "postcss": "^8.4.23",
136
139
  "postcss-cli": "^8.3.1",
137
140
  "postcss-extend-rule": "^4.0.0",
@@ -143,26 +146,22 @@
143
146
  "storybook-addon-tag-badges": "^3.0.2",
144
147
  "tailwindcss": "^3.3.2",
145
148
  "typescript": "^5.5.3",
146
- "uuid": "^8.3.2",
147
- "vite": "^7.1.9",
148
- "vitest": "^4.0.13"
149
+ "uuid": "^14.0.1",
150
+ "vite": "^8.1.3",
151
+ "vitest": "^4.1.9",
152
+ "vitest-plugin-vis": "5.1.0"
149
153
  },
150
154
  "dependencies": {
151
155
  "@floating-ui/dom": "^1.7.6",
152
156
  "flatpickr": "^4.6.9",
153
157
  "lodash.throttle": "^4.1.1"
154
158
  },
155
- "release-it": {
156
- "git": false,
157
- "github": {
158
- "no-increment": false
159
- },
160
- "npm": {
161
- "publish": true,
162
- "skipChecks": true,
163
- "publishArgs": [
164
- "--no-provenance"
165
- ]
159
+ "peerDependencies": {
160
+ "@xplortech/apollo-foundation": "1.1.0"
161
+ },
162
+ "peerDependenciesMeta": {
163
+ "@xplortech/apollo-foundation": {
164
+ "optional": true
166
165
  }
167
166
  },
168
167
  "nx": {
@@ -173,7 +172,8 @@
173
172
  ],
174
173
  "implicitDependencies": [
175
174
  "@xplortech/apollo-icons",
176
- "@xplortech/apollo-foundation"
175
+ "@xplortech/apollo-foundation",
176
+ "@xplortech/apollo-data"
177
177
  ],
178
178
  "targets": {
179
179
  "build": {
@@ -187,7 +187,8 @@
187
187
  "{projectRoot}/.storybook/dist",
188
188
  "{projectRoot}/.storybook/loader",
189
189
  "{projectRoot}/src/components/components.d.ts",
190
- "{workspaceRoot}/packages/apollo-react/src/components.ts",
190
+ "{projectRoot}/src/components/components/**/readme.md",
191
+ "{workspaceRoot}/packages/apollo-react/src/components/stencil-generated",
191
192
  "{workspaceRoot}/packages/apollo-react/css/apollo.css",
192
193
  "{workspaceRoot}/packages/apollo-vue/src/components.ts",
193
194
  "{workspaceRoot}/packages/apollo-vue/css/apollo.css"
@@ -1 +0,0 @@
1
- import{r as a,h as e,H as l}from"./p-C7bgJs6C.js";const i=class{constructor(e){a(this,e),this.withSubnav=!1,this.withUtility=!0,this.navWidth="default",this.navOpen=!0}closeNavOnMobile(){window.innerWidth<=640&&(this.navOpen=!1)}navToggleHandler(){this.navOpen=!this.navOpen}navWithHandler(a){this.navWidth=a.detail}onWindowResize(){this.closeNavOnMobile()}connectedCallback(){this.closeNavOnMobile()}componentWillLoad(){this.navOpen=void 0!==this.isNavOpenAtStartup?this.isNavOpenAtStartup:this.navOpen}render(){let a="xpl-application-shell";this.withUtility&&(a+=" xpl-application-shell--with_utility");let i="xpl-application-shell__nav";return i+=this.navOpen?` xpl-application-shell__nav--${this.navWidth}--open`:` xpl-application-shell__nav--${this.navWidth}`,e(l,{key:"f61e8399f5a5e935354c817ee0d1386afcddce28",class:a},e("div",{key:"4886a782d1511d3aac9df0a90afc38351b94d4fd",class:i},e("slot",{key:"d80279f234d498eb51491bd1d6850d7babfd6ece",name:"nav"})),e("div",{key:"dd26f273261026555a3f73885fd04ffdbbf871cb",class:"xpl-application-shell__subnav"},e("slot",{key:"3b120224a8d1cb30503514befeb96e3a08fc22ba",name:"subnav"})),e("div",{key:"7ac6b8f10b2dca85e774e1117f9117952a3052cf",class:"xpl-application-shell__utility"},e("slot",{key:"d9d4b15e7c3e7bec0edc237df3634c8fd2648df4",name:"utility"})),e("div",{key:"00ee0b5da796ea84731e740a58b162dad8250696",class:"xpl-application-shell__content"},e("slot",{key:"bf997f59491a08597089a0531cfecf90c703f565",name:"content"})),e("xpl-backdrop",{key:"84264e5a5da96be74547610e5b8d45195014d34c",onClick:()=>this.navToggleHandler(),class:{"xpl-application-shell__backdrop--open":this.navOpen},relative:!0}))}};export{i as xpl_application_shell}
@@ -1 +0,0 @@
1
- import{r as s,h as t,H as e}from"./p-C7bgJs6C.js";const i=class{constructor(t){s(this,t),this.xs=6,this.sm=6,this.md=6,this.lg=6}render(){let s="xpl-grid-item";return s+=` xpl-grid-item-xs-${this.xs}`,s+=` xpl-grid-item-sm-${this.sm}`,s+=` xpl-grid-item-md-${this.md}`,s+=` xpl-grid-item-lg-${this.lg}`,t(e,{key:"43cf6dd21d3d06e2d8012b716e5db5aeee676aac",class:s},t("slot",{key:"e08e03e4152007df7158d7122f883da1050dfde7"}))}};export{i as xpl_grid_item}
@@ -1 +0,0 @@
1
- import{r as a,h as e,H as c,g as d}from"./p-C7bgJs6C.js";const s=class{constructor(e){a(this,e)}componentDidLoad(){if(this.link){const a=this.el.getElementsByTagName("a")[0]||this.el.getElementsByTagName("button")[0],e=document.createTextNode(this.name),c=document.createElement("span");c.appendChild(e),a.setAttribute("class","xpl-large-card__anchor"),a.appendChild(c)}}render(){const a="graph-content",d=this.el.querySelector(`[slot="${a}"]`);return e(c,{key:"9b45179112de8d1ac309520425a1a5c340493487",role:"group",class:"xpl-large-card "+(this.link?"xpl-large-card__link":""),tabindex:"0"},e("dt",{key:"4838c93a72df9ea794b3bbbd7f78f3e84a606109",class:"xpl-large-card__header"},e("header",{key:"eb4b2e8515be1e0763595e1cf646dc2b25bfb739"},e("slot",{key:"62fdafe4b8ce03af5ff353c3ffa377fa547b572b",name:"title"},this.name),this.link&&e("span",{key:"ac0086a3402af5f12668a560ad418aaf40a56357",class:"xpl-data-card__header-arrow"},e("xpl-icon",{key:"74eaffc571098a88d69d7248166889671ba441a2",icon:"chevron-right",size:16}))),this.description&&e("div",{key:"d7d2499b7d8da9c09062ea5a456b588e52df2d82",class:"xpl-large-card__description"},this.description)),e("dd",{key:"652e32e8b200e783f03608f97cbbcc70f59421e3",class:"xpl-large-card__body"},d&&e("slot",{key:"9d9f285d34bd8e2b6666577bd2023ae474636c4c",name:a})))}get el(){return d(this)}};export{s as xpl_large_card}
@@ -1 +0,0 @@
1
- import{r as t,h as s,H as e}from"./p-C7bgJs6C.js";const a=class{constructor(s){t(this,s),this.disabled=!1,this.selected=!1,this.isDisabled=!1}componentWillLoad(){this.isDisabled=this.disabled}componentDidLoad(){this.updateRowCellsDisabledState()}componentDidUpdate(){this.updateRowCellsDisabledState()}updateRowCellsDisabledState(){this.hostElement.querySelectorAll("xpl-dynamic-table-cell").forEach((t=>{t.disabled=this.isDisabled}))}render(){return s(e,{key:"0d099456d2016263a2bdcd42b46794e08adb64cf",role:"row",class:`xpl-dynamic-table-row\n ${this.isDisabled?"disabled":""}\n ${this.selected?"selected":""}`,ref:t=>{this.hostElement=t}},s("slot",{key:"c923f7f8dc4bb8a4527693259d1a8b5932bb6c10"}))}};export{a as xpl_dynamic_table_row}
@@ -1 +0,0 @@
1
- import{r as s,h as t,H as r,g as e}from"./p-C7bgJs6C.js";const i=class{constructor(t){s(this,t)}componentDidLoad(){const s=Array.from(this.container.querySelectorAll(".xpl-grid-item"));let t=0,r=0,e=0,i=0;s.forEach((s=>{t+=+s.getAttribute("lg")||6,r+=+s.getAttribute("md")||6,e+=+s.getAttribute("sm")||6,i+=+s.getAttribute("xs")||6,t%6==0&&s.classList.add("xpl-grid-item-lg-last"),r%6==0&&s.classList.add("xpl-grid-item-md-last"),e%6==0&&s.classList.add("xpl-grid-item-sm-last"),i%6==0&&s.classList.add("xpl-grid-item-xs-last")}))}render(){return t(r,{key:"aeee950fb242a14f50ceda1d199cf427597b70f6",class:"xpl-grid"})}get container(){return e(this)}};export{i as xpl_grid}
@@ -1 +0,0 @@
1
- import{r as a,h as e,H as t,g as s}from"./p-C7bgJs6C.js";const c=class{constructor(e){a(this,e),this.selectedItemCount=0}componentDidLoad(){const a=this.el.querySelector('[slot="actions-right"]');null!==a&&(a.style.marginLeft="auto")}listenToSelectedItemCountChange(a){this.selectedItemCount=a.detail.length}render(){return e(t,{key:"156bc52063283c17215e1d3a90c25939ae92685b",class:{"xpl-toolbar":!0,dark:!0,hidden:0===this.selectedItemCount}},e("div",{key:"184e28d57a16d8ba6e10f29a95c931a036f44515",class:"toolbar"},e("p",{key:"ff6a7137db216c71859eac4398bbaf8bc6fe18f9",class:"selected-item-count"},this.selectedItemCount," Selected"),e("div",{key:"a610539a08383a3d1d3dad8d95a8b75f43eaf1a3",class:"actions"},e("slot",{key:"dd8ea3150b40926ab40f36d38770daaa969a6fff",name:"actions-left"}),e("slot",{key:"b51f8940fb52dd6880841a917574f782e0d0c72c",name:"actions-right"}))))}get el(){return s(this)}};export{c as xpl_toolbar}
@@ -1 +0,0 @@
1
- import{r as a,c as e,h as b,H as c}from"./p-C7bgJs6C.js";const d=class{constructor(b){a(this,b),this.navWidth=e(this,"navWidth",7),this.width="default"}navWidthHandler(){this.navWidth.emit(this.width)}connectedCallback(){this.navWidthHandler()}componentDidUpdate(){this.navWidthHandler()}render(){return b(c,{key:"122bf1f28c4fb1e460185989b2d517f1ddbfb22b",class:`xpl-main-nav xpl-main-nav--${this.width}`,"aria-label":"Sidebar"},b("nav",{key:"4ed8ce484b394adee98ac16056ebbabcadd31625"},b("header",{key:"829b7904323aeea21922a8d4a8fa33141cfa7913","aria-label":"Sidebar Header"},b("slot",{key:"8a6ea72fa4a1b26f9825a36b4ac7e64c9dbf476c",name:"logo"}),b("slot",{key:"bf049e9ee7b83af1c4ebfef21681edcb35de9364",name:"brand-name"})),b("div",{key:"a0ce70ccf5e4bac6346711127fba5278963910c1",class:"xpl-main-nav__main_section"},b("slot",{key:"bce360027342a1ef3e009bad6bc28e44c64dbd04",name:"navigation"})),b("footer",{key:"0b5f2e6cc890e4257f5e5503302492a236950f87",class:"xpl-main-nav__footer","aria-label":"Sidebar Footer"},b("slot",{key:"01dbe4d3834e1bc67b51108600688544e549ecde",name:"footer"}))))}};export{d as xpl_main_nav}