@xplortech/apollo-core 2.9.0 → 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 (307) 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 +700 -176
  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 +6 -6
  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-backdrop/xpl-backdrop.js +1 -1
  48. package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
  49. package/dist/collection/components/xpl-banner/banner.stories.js +5 -0
  50. package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
  51. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
  52. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
  53. package/dist/collection/components/xpl-button/button.stories.js +5 -0
  54. package/dist/collection/components/xpl-button/xpl-button.js +1 -1
  55. package/dist/collection/components/xpl-button-row/button-row.stories.js +1 -11
  56. package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
  57. package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
  58. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +4 -4
  59. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
  60. package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
  61. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
  62. package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
  63. package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
  64. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
  65. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
  66. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
  67. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +208 -31
  68. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +1 -1
  69. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
  70. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
  71. package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
  72. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
  73. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
  74. package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
  75. package/dist/collection/components/xpl-input/input.stories.js +1 -1
  76. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
  77. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
  78. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
  79. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +25 -6
  80. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
  81. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
  82. package/dist/collection/components/xpl-input/xpl-input.js +3 -3
  83. package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
  84. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  85. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
  86. package/dist/collection/components/xpl-modal/xpl-modal.js +4 -1
  87. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
  88. package/dist/collection/components/xpl-pagination/xpl-pagination.js +26 -8
  89. package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
  90. package/dist/collection/components/xpl-popover/popover.stories.js +3 -7
  91. package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
  92. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
  93. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
  94. package/dist/collection/components/xpl-radio/radio.stories.js +19 -17
  95. package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
  96. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
  97. package/dist/collection/components/xpl-select/xpl-select.js +16 -11
  98. package/dist/collection/components/xpl-side-nav/side-nav-constants.js +2 -0
  99. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +301 -186
  100. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +80 -14
  101. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +284 -3
  102. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
  103. package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
  104. package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +14 -4
  105. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
  106. package/dist/collection/components/xpl-table/xpl-table.js +13 -22
  107. package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
  108. package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
  109. package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
  110. package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
  111. package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
  112. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
  113. package/dist/collection/components/xpl-tooltip/tooltip-arrow.js +1 -1
  114. package/dist/collection/components/xpl-tooltip/tooltip.stories.js +6 -37
  115. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
  116. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
  117. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
  118. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
  119. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
  120. package/dist/components/index.d.ts +141 -12
  121. package/dist/components/index.js +1 -1
  122. package/dist/components/p-3qMYyqTe.js +1 -0
  123. package/dist/components/p-B1PBAEzg.js +1 -0
  124. package/dist/components/p-BG0-6Xek.js +1 -0
  125. package/dist/components/p-BT_Lq3Vd.js +1 -0
  126. package/dist/components/p-BWyAzrwu.js +1 -0
  127. package/dist/components/p-B_Wi--Ov.js +1 -0
  128. package/dist/components/p-Bd6JweBt.js +1 -0
  129. package/dist/components/p-Bn-27-xj.js +1 -0
  130. package/dist/components/{xpl-top-nav-item2.js → p-Bs6vq0C6.js} +1 -1
  131. package/dist/components/{xpl-input-file2.js → p-C9BO2vL-.js} +1 -1
  132. package/dist/components/p-CFW_w5Wj.js +1 -0
  133. package/dist/components/{floating-ui.dom.js → p-CFpsSZyr.js} +1 -1
  134. package/dist/components/p-CGNq3DyC.js +1 -0
  135. package/dist/components/p-CK3_k8jD.js +1 -0
  136. package/dist/components/p-CVqbA9op.js +1 -0
  137. package/dist/components/p-CtIUusUL.js +1 -0
  138. package/dist/components/p-CzwViN3U.js +1 -0
  139. package/dist/components/p-D97c0GjM.js +1 -0
  140. package/dist/components/p-DBWV65V-.js +1 -0
  141. package/dist/components/{xpl-tag2.js → p-DEl4Rvzs.js} +1 -1
  142. package/dist/components/p-DPTHmitJ.js +1 -0
  143. package/dist/components/{xpl-input-search2.js → p-DllC7F-H.js} +1 -1
  144. package/dist/components/p-Ds28UyUR.js +1 -0
  145. package/dist/components/p-U5dPMCXE.js +1 -0
  146. package/dist/components/p-hPUzON4O.js +1 -0
  147. package/dist/components/p-kPHfCq1d.js +1 -0
  148. package/dist/components/xpl-accordion.js +1 -1
  149. package/dist/components/xpl-application-shell.js +1 -1
  150. package/dist/components/xpl-avatar.js +1 -1
  151. package/dist/components/xpl-backdrop.js +1 -1
  152. package/dist/components/xpl-badge.js +1 -1
  153. package/dist/components/xpl-banner.js +1 -1
  154. package/dist/components/xpl-breadcrumb-item.js +1 -1
  155. package/dist/components/xpl-breadcrumbs.js +1 -1
  156. package/dist/components/xpl-button-row.js +1 -1
  157. package/dist/components/xpl-button.js +1 -1
  158. package/dist/components/xpl-calendar.js +1 -1
  159. package/dist/components/xpl-checkbox.js +1 -1
  160. package/dist/components/xpl-choicelist.js +1 -1
  161. package/dist/components/xpl-content-area.js +1 -1
  162. package/dist/components/xpl-dashboard.js +1 -1
  163. package/dist/components/xpl-data-card.js +1 -1
  164. package/dist/components/xpl-divider.js +1 -1
  165. package/dist/components/xpl-dropdown-group.js +1 -1
  166. package/dist/components/xpl-dropdown-heading.js +1 -1
  167. package/dist/components/xpl-dropdown-option.js +1 -1
  168. package/dist/components/xpl-dropdown.js +1 -1
  169. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  170. package/dist/components/xpl-dynamic-table-row.js +1 -1
  171. package/dist/components/xpl-dynamic-table.js +1 -1
  172. package/dist/components/xpl-grid-item.js +1 -1
  173. package/dist/components/xpl-grid.js +1 -1
  174. package/dist/components/xpl-header-accordion.js +1 -1
  175. package/dist/components/xpl-icon.js +1 -1
  176. package/dist/components/xpl-input-color.js +1 -1
  177. package/dist/components/xpl-input-date.js +1 -1
  178. package/dist/components/xpl-input-file.js +1 -1
  179. package/dist/components/xpl-input-phone.js +1 -1
  180. package/dist/components/xpl-input-search.js +1 -1
  181. package/dist/components/xpl-input-time.js +1 -1
  182. package/dist/components/xpl-input.js +1 -1
  183. package/dist/components/xpl-large-card.js +1 -1
  184. package/dist/components/xpl-list-item.js +1 -1
  185. package/dist/components/xpl-list.js +1 -1
  186. package/dist/components/xpl-main-nav.js +1 -1
  187. package/dist/components/xpl-modal.js +1 -1
  188. package/dist/components/xpl-nav-header-menu.js +1 -1
  189. package/dist/components/xpl-nav-item.js +1 -1
  190. package/dist/components/xpl-pagination.js +1 -1
  191. package/dist/components/xpl-panel.js +1 -1
  192. package/dist/components/xpl-popover.js +1 -1
  193. package/dist/components/xpl-progress-bar.js +1 -1
  194. package/dist/components/xpl-progress-indicator.js +1 -1
  195. package/dist/components/xpl-radio.js +1 -1
  196. package/dist/components/xpl-secondary-nav.js +1 -1
  197. package/dist/components/xpl-select.js +1 -1
  198. package/dist/components/xpl-side-nav-item.js +1 -1
  199. package/dist/components/xpl-side-nav.js +1 -1
  200. package/dist/components/xpl-skeleton.js +1 -1
  201. package/dist/components/xpl-slideout.js +1 -1
  202. package/dist/components/xpl-spotlight.js +1 -1
  203. package/dist/components/xpl-tab-panel.js +1 -1
  204. package/dist/components/xpl-tab.js +1 -1
  205. package/dist/components/xpl-table-header-cell.js +1 -1
  206. package/dist/components/xpl-table-header.js +1 -1
  207. package/dist/components/xpl-table.js +1 -1
  208. package/dist/components/xpl-tabs.js +1 -1
  209. package/dist/components/xpl-tag.js +1 -1
  210. package/dist/components/xpl-toast.js +1 -1
  211. package/dist/components/xpl-toggle.js +1 -1
  212. package/dist/components/xpl-toolbar.js +1 -1
  213. package/dist/components/xpl-tooltip.js +1 -1
  214. package/dist/components/xpl-top-nav-item.js +1 -1
  215. package/dist/components/xpl-top-nav.js +1 -1
  216. package/dist/components/xpl-utility-bar.js +1 -1
  217. package/dist/docs/xpl-backdrop/readme.md +2 -0
  218. package/dist/docs/xpl-badge/readme.md +34 -0
  219. package/dist/docs/xpl-button/readme.md +2 -0
  220. package/dist/docs/xpl-button-row/readme.md +13 -0
  221. package/dist/docs/xpl-checkbox/readme.md +23 -1
  222. package/dist/docs/xpl-divider/readme.md +22 -4
  223. package/dist/docs/xpl-input/readme.md +51 -0
  224. package/dist/docs/xpl-input/xpl-input-date/readme.md +7 -0
  225. package/dist/docs/xpl-input/xpl-input-phone/readme.md +21 -0
  226. package/dist/docs/xpl-popover/readme.md +24 -0
  227. package/dist/docs/xpl-radio/readme.md +21 -4
  228. package/dist/docs/xpl-side-nav/readme.md +153 -5
  229. package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +165 -32
  230. package/dist/docs/xpl-table/readme.md +2 -0
  231. package/dist/docs/xpl-tooltip/readme.md +29 -1
  232. package/dist/esm/apollo-core.js +4 -4
  233. package/dist/esm/{index-C7bgJs6C.js → index-CXkZUm1c.js} +36 -9
  234. package/dist/esm/loader.js +3 -3
  235. package/dist/esm/v4-CK3_k8jD.js +50 -0
  236. package/dist/esm/xpl-accordion.entry.js +3 -3
  237. package/dist/esm/xpl-application-shell.entry.js +2 -2
  238. package/dist/esm/xpl-avatar_54.entry.js +700 -176
  239. package/dist/esm/xpl-button-row.entry.js +2 -2
  240. package/dist/esm/xpl-calendar.entry.js +3 -3
  241. package/dist/esm/xpl-dynamic-table-cell.entry.js +3 -3
  242. package/dist/esm/xpl-dynamic-table-row.entry.js +3 -3
  243. package/dist/esm/xpl-dynamic-table.entry.js +2 -2
  244. package/dist/esm/xpl-grid-item.entry.js +2 -2
  245. package/dist/esm/xpl-grid.entry.js +2 -2
  246. package/dist/esm/xpl-large-card.entry.js +2 -2
  247. package/dist/esm/xpl-main-nav.entry.js +2 -2
  248. package/dist/esm/xpl-table-header-cell.entry.js +1 -1
  249. package/dist/esm/xpl-table-header.entry.js +2 -2
  250. package/dist/esm/xpl-toggle.entry.js +5 -5
  251. package/dist/esm/xpl-toolbar.entry.js +3 -3
  252. package/dist/types/components/xpl-banner/banner.stories.d.ts +2 -0
  253. package/dist/types/components/xpl-button/button.stories.d.ts +2 -0
  254. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +16 -0
  255. package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +1 -0
  256. package/dist/types/components/xpl-pagination/xpl-pagination.d.ts +4 -0
  257. package/dist/types/components/xpl-radio/radio.stories.d.ts +11 -10
  258. package/dist/types/components/xpl-side-nav/side-nav-constants.d.ts +2 -0
  259. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +53 -32
  260. package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +10 -0
  261. package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +31 -0
  262. package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
  263. package/dist/types/components.d.ts +223 -20
  264. package/dist/types/stencil-public-runtime.d.ts +1 -0
  265. package/package.json +33 -24
  266. package/dist/apollo-core/p-0bf50890.entry.js +0 -1
  267. package/dist/apollo-core/p-1947e7a8.entry.js +0 -1
  268. package/dist/apollo-core/p-27928cb0.entry.js +0 -1
  269. package/dist/apollo-core/p-34438721.entry.js +0 -1
  270. package/dist/apollo-core/p-35c2f72d.entry.js +0 -1
  271. package/dist/apollo-core/p-368c81f1.entry.js +0 -1
  272. package/dist/apollo-core/p-3bb14840.entry.js +0 -1
  273. package/dist/apollo-core/p-406b27a8.entry.js +0 -1
  274. package/dist/apollo-core/p-5d63b4ce.entry.js +0 -1
  275. package/dist/apollo-core/p-8d692d05.entry.js +0 -1
  276. package/dist/apollo-core/p-C7bgJs6C.js +0 -2
  277. package/dist/apollo-core/p-Cqlsd6nf.js +0 -1
  278. package/dist/apollo-core/p-cd56a3d5.entry.js +0 -1
  279. package/dist/apollo-core/p-dc205893.entry.js +0 -1
  280. package/dist/cjs/v4-D4KzFnn8.js +0 -67
  281. package/dist/components/index3.js +0 -1
  282. package/dist/components/v4.js +0 -1
  283. package/dist/components/xpl-avatar2.js +0 -1
  284. package/dist/components/xpl-backdrop2.js +0 -1
  285. package/dist/components/xpl-badge2.js +0 -1
  286. package/dist/components/xpl-button2.js +0 -1
  287. package/dist/components/xpl-checkbox2.js +0 -1
  288. package/dist/components/xpl-divider2.js +0 -1
  289. package/dist/components/xpl-dropdown-group2.js +0 -1
  290. package/dist/components/xpl-dropdown-heading2.js +0 -1
  291. package/dist/components/xpl-dropdown-option2.js +0 -1
  292. package/dist/components/xpl-dropdown2.js +0 -1
  293. package/dist/components/xpl-icon2.js +0 -1
  294. package/dist/components/xpl-input-date2.js +0 -1
  295. package/dist/components/xpl-input2.js +0 -1
  296. package/dist/components/xpl-list-item2.js +0 -1
  297. package/dist/components/xpl-popover2.js +0 -1
  298. package/dist/components/xpl-radio2.js +0 -1
  299. package/dist/components/xpl-select2.js +0 -1
  300. package/dist/components/xpl-tooltip2.js +0 -1
  301. package/dist/esm/v4-Cqlsd6nf.js +0 -65
  302. /package/dist/components/{_commonjsHelpers.js → p-BFTU3MAI.js} +0 -0
  303. /package/dist/components/{index2.js → p-CH4yJ6Qx.js} +0 -0
  304. /package/dist/components/{tab-a11y-ids.js → p-Yj_QFaRn.js} +0 -0
  305. /package/dist/{index.cjs.js → index.cjs} +0 -0
  306. /package/loader/{cdn.js → cdn.cjs} +0 -0
  307. /package/loader/{index.cjs.js → index.cjs} +0 -0
@@ -162,6 +162,7 @@ The **`state`** prop (`neutral` | `warning` | `success`) is deprecated. Use **`s
162
162
  - [xpl-button-row](../xpl-button-row)
163
163
  - [xpl-list-item](../xpl-list/xpl-list-item)
164
164
  - [xpl-modal](../xpl-modal)
165
+ - [xpl-side-nav](../xpl-side-nav)
165
166
  - [xpl-slideout](../xpl-slideout)
166
167
  - [xpl-spotlight](../xpl-spotlight)
167
168
  - [xpl-tab](../xpl-tab)
@@ -179,6 +180,7 @@ graph TD;
179
180
  xpl-button-row --> xpl-button
180
181
  xpl-list-item --> xpl-button
181
182
  xpl-modal --> xpl-button
183
+ xpl-side-nav --> xpl-button
182
184
  xpl-slideout --> xpl-button
183
185
  xpl-spotlight --> xpl-button
184
186
  xpl-tab --> xpl-button
@@ -2,6 +2,19 @@
2
2
 
3
3
 
4
4
 
5
+ ### Design Tokens
6
+
7
+ Tokens used by this component from `@xplortech/apollo-foundation`.
8
+
9
+ **Color**
10
+ - `--xpl-border-default` — top border color
11
+
12
+ **Spacing**
13
+ - `--xpl-space-{0,16,24}` — padding / margins
14
+
15
+ **Border**
16
+ - `--xpl-border-small` — top border width (1px)
17
+
5
18
  <!-- Auto Generated Below -->
6
19
 
7
20
 
@@ -4,6 +4,26 @@ Checkboxes allow users to make selections or choices. Checkboxes can be multi-se
4
4
 
5
5
  Provide visible label text in the default slot, or set `aria-label` when the checkbox has no adjacent label (for example, icon-only toolbars or table selection cells).
6
6
 
7
+ ## Design Tokens
8
+
9
+ The checkbox component uses the following Apollo Foundation tokens:
10
+
11
+ | Token | Usage |
12
+ |-------|-------|
13
+ | `--xpl-background-surface-default` | Default checkbox background; styled label background (resting/hover/focused) |
14
+ | `--xpl-background-action-primary-default` | Checked/indeterminate state background and border |
15
+ | `--xpl-background-action-disabled` | Disabled state background; disabled label background (styled variant) |
16
+ | `--xpl-background-surface-information` | Checked/indeterminate label background (styled variant) |
17
+ | `--xpl-text-inverse` | Checkmark and indeterminate icon color (checked / indeterminate states; inverse foreground on primary fill) |
18
+ | `--xpl-icon-disabled` | Checkmark and indeterminate icon color (disabled state) |
19
+ | `--xpl-border-strong` | Resting (unchecked) border color |
20
+ | `--xpl-border-hover` | Hover, checked, and indeterminate border color; styled container hover/focus border |
21
+ | `--xpl-border-default` | Styled container border; disabled state border |
22
+ | `--xpl-border-focus` | Focus visible outline |
23
+ | `--xpl-border-radius-small` | Checkbox corner radius and styled container corner radius (4px) |
24
+ | `--xpl-border-small` | Border width (1px) |
25
+ | `--xpl-size-100` | Checkbox dimensions (16px) |
26
+
7
27
  <!-- Auto Generated Below -->
8
28
 
9
29
 
@@ -20,7 +40,7 @@ Provide visible label text in the default slot, or set `aria-label` when the che
20
40
  | `name` | `name` | The name attribute for the html input. (submitted in form as name/value pair) | `string` | `undefined` |
21
41
  | `required` | `required` | Whether the input is required | `boolean` | `undefined` |
22
42
  | `styled` | `styled` | Whether the input is contained in a box with a border and a background | `boolean` | `undefined` |
23
- | `value` | `value` | The value attribute for the checkbox input. (submittted in form as name/value pair) | `string` | `undefined` |
43
+ | `value` | `value` | The value attribute for the checkbox input. (submitted in form as name/value pair) | `string` | `undefined` |
24
44
 
25
45
 
26
46
  ## Events
@@ -36,6 +56,7 @@ Provide visible label text in the default slot, or set `aria-label` when the che
36
56
 
37
57
  - [xpl-choicelist](../xpl-choicelist)
38
58
  - [xpl-header-accordion](../xpl-header-accordion)
59
+ - [xpl-table](../xpl-table)
39
60
  - [xpl-table-header-cell](../xpl-table-header-cell)
40
61
 
41
62
  ### Graph
@@ -43,6 +64,7 @@ Provide visible label text in the default slot, or set `aria-label` when the che
43
64
  graph TD;
44
65
  xpl-choicelist --> xpl-checkbox
45
66
  xpl-header-accordion --> xpl-checkbox
67
+ xpl-table --> xpl-checkbox
46
68
  xpl-table-header-cell --> xpl-checkbox
47
69
  style xpl-checkbox fill:#f9f,stroke:#333,stroke-width:4px
48
70
  ```
@@ -1,7 +1,25 @@
1
- # xpl-divider
2
-
3
- Allows for easy separation and titling of sections within forms or other content.
4
-
1
+ # xpl-divider
2
+
3
+ Allows for easy separation and titling of sections within forms or other content.
4
+
5
+ ### Design Tokens
6
+
7
+ Tokens used by this component from `@xplortech/apollo-foundation`.
8
+
9
+ **Color**
10
+ - `--xpl-border-default` — divider line color
11
+ - `--xpl-text-default` — label text color
12
+
13
+ **Spacing**
14
+ - `--xpl-space-{0,4,16}` — padding / margin
15
+
16
+ **Typography**
17
+ - `--xpl-font-size-body` — base label font size
18
+ - Tier typography extends the shared type scale from `typography.css`: tier 3 → `.xpl-text-title-3`, tier 2 → `.xpl-text-title-4`, tier 1 → `.xpl-text-title-5`
19
+
20
+ **Border**
21
+ - `--xpl-border-small` — line width (1px)
22
+
5
23
  <!-- Auto Generated Below -->
6
24
 
7
25
 
@@ -4,6 +4,57 @@ A flexible form input that supports multiple `type` values: `text`, `number`, `p
4
4
 
5
5
  For `type="phone"`, the value is always emitted in **E.164** format (e.g. `+14155551234`). See [`xpl-input-phone`](xpl-input-phone) for full phone-input documentation.
6
6
 
7
+ ## Design Tokens
8
+
9
+ The `xpl-input` component uses Apollo Foundation tokens for consistent theming across light and dark modes:
10
+
11
+ | Element | Property | Token |
12
+ |---------|----------|-------|
13
+ | Input wrapper border (default) | `border-color` | `var(--xpl-border-default)` |
14
+ | Input wrapper border (focus) | `border-color` | `var(--xpl-border-focus)` |
15
+ | Input wrapper border (error) | `border-color` | `var(--xpl-border-negative)` |
16
+ | Input wrapper background (default) | `background-color` | `var(--xpl-background-surface-default)` |
17
+ | Input/textarea background | `background-color` | `var(--xpl-background-surface-transparent-0)` |
18
+ | Disabled/readonly wrapper background | `background-color` | `var(--xpl-background-action-disabled)` |
19
+ | Post element background | `background-color` | `var(--xpl-background-surface-subtle)` |
20
+ | Input text | `color` | `var(--xpl-text-default)` |
21
+ | Disabled/readonly text | `color` | `var(--xpl-text-disabled)` |
22
+ | Label text | `color` | `var(--xpl-text-strong)` |
23
+ | Description text | `color` | `var(--xpl-text-subdued)` |
24
+ | Error text | `color` | `var(--xpl-text-negative)` |
25
+ | Character counter background (default) | `background-color` | `var(--xpl-background-surface-default)` |
26
+ | Character counter background (disabled/readonly) | `background-color` | `var(--xpl-background-action-disabled)` |
27
+ | Character counter text | `color` | `var(--xpl-text-subdued)` |
28
+ | Calendar/password icon | `color` | `var(--xpl-icon-default)` |
29
+
30
+ ### Spacing Tokens
31
+
32
+ | Element | Property | Token |
33
+ |---------|----------|-------|
34
+ | Input | `padding-right` | `var(--xpl-space-8)` |
35
+ | Textarea | `padding-top` | `var(--xpl-space-12)` |
36
+ | Textarea | `padding-bottom` | `var(--xpl-space-8)` |
37
+ | Wrapper | `padding-left` | `var(--xpl-space-12)` |
38
+ | Pre element (leading icon/text) | `padding-right` | `var(--xpl-space-8)` |
39
+ | Post element (trailing unit / AM-PM) | `padding-left`, `padding-right` | `var(--xpl-space-12)` |
40
+ | Label | `padding-bottom` | `var(--xpl-space-4)` |
41
+ | Character counter | `padding` | `var(--xpl-space-8) var(--xpl-space-12)` |
42
+ | Error message | `padding`, `gap` | `var(--xpl-space-4)` |
43
+ | Calendar icon | `right` | `var(--xpl-space-12)` |
44
+ | Password button | `padding-left`, `padding-right` | `var(--xpl-space-12)` |
45
+
46
+ ### Dimension Tokens
47
+
48
+ | Element | Property | Token |
49
+ |---------|----------|-------|
50
+ | Input | `height` | `var(--xpl-size-250)` (40px; matches Figma `form/height`) |
51
+ | Textarea | `min-height` | `var(--xpl-size-250)` (40px) |
52
+ | Textarea | `height` | `var(--xpl-size-700)` (112px; rounded up from 98px) |
53
+ | Wrapper | `border-width` | `var(--xpl-border-small)` |
54
+ | Wrapper | `border-radius` | `var(--xpl-border-radius-small)` (4px; matches Figma `border/radius/small`) |
55
+ | Post element | `height` | `var(--xpl-size-250)` (40px; vertically centered via flex) |
56
+ | Post element | `border-left-width` | `var(--xpl-border-small)` |
57
+
7
58
  ### Delegated types (`search`, `phone`, `date`, `time`, …)
8
59
 
9
60
  `valueChange`, `inputEvent`, `focusEvent`, and `blurEvent` are emitted by the inner component and **bubble** to `<xpl-input>`. For **`type="search"`**, **`focusEvent`** and **`blurEvent`** are **re-emitted from `<xpl-input>`** (parent uses **`onFocusEvent`** / **`onBlurEvent`** on **`<xpl-input-search>`** with **`stopPropagation`**) so **`event.target`** matches **`type="text"`**. For **`valueChange`** and **`inputEvent`** on search, events still **bubble** from **`xpl-input-search`** without parent re-emission; **`event.target`** may be the inner host—prefer **`event.detail`** (the string) or **`event.currentTarget`** when you attach the listener on **`<xpl-input>`**. Other delegated types follow the same **`event.detail`** / **`event.currentTarget`** guidance.
@@ -2,6 +2,13 @@
2
2
 
3
3
 
4
4
 
5
+ ### Design Tokens
6
+
7
+ Tokens used by this component from `@xplortech/apollo-foundation`.
8
+
9
+ **Color**
10
+ - `--xpl-border-negative` — error state border color
11
+
5
12
  <!-- Auto Generated Below -->
6
13
 
7
14
 
@@ -99,6 +99,26 @@ Countries with custom formatters: US/CA, GB, AU, DE/AT/CH, FR, BR, MX, JP, CN, I
99
99
 
100
100
  28 countries are currently supported. See `phone-country-data.ts` for the full list. Countries with custom number formatting are noted above. To add a new country, add an entry to the `PHONE_COUNTRIES` array and optionally add a formatter in `phone-format.ts`.
101
101
 
102
+ ### Design Tokens
103
+
104
+ Tokens used by this component from `@xplortech/apollo-foundation`.
105
+
106
+ **Color**
107
+ - `--xpl-background-surface-subtlest` — trigger background
108
+ - `--xpl-background-surface-information` — trigger hover / open background
109
+ - `--xpl-border-negative` — error state border
110
+ - `--xpl-border-focus` — wrapper and trigger focus outline
111
+ - `--xpl-border-default` — trigger divider, search border
112
+ - `--xpl-text-default` — trigger text, dial code
113
+ - `--xpl-text-subdued` — clear button color
114
+ - `--xpl-icon-default` — search icon
115
+
116
+ **Border**
117
+ - `--xpl-border-small` — trigger divider width (1px)
118
+
119
+ **Focus**
120
+ - `--xpl-border-focus` — `:focus-visible` outline (inset, 2px)
121
+
102
122
  <!-- Auto Generated Below -->
103
123
 
104
124
 
@@ -108,6 +128,7 @@ Countries with custom formatters: US/CA, GB, AU, DE/AT/CH, FR, BR, MX, JP, CN, I
108
128
  | -------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | ----------- |
109
129
  | `defaultCountry` | `default-country` | Default country code (ISO 3166-1 alpha-2) when value is empty, e.g. "US". | `string` | `'US'` |
110
130
  | `disabled` | `disabled` | Whether the field is disabled | `boolean` | `undefined` |
131
+ | `error` | `error` | 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. | `boolean` | `undefined` |
111
132
  | `inputId` | `input-id` | The `inputId` is used to associate the input with a label. | `string` | `undefined` |
112
133
  | `isInternational` | `is-international` | Enables international mode with a country selector and dial code prefix. When false, the input is locked to `defaultCountry` with no country picker and no dial code shown in the display value. Emitted value is still E.164. | `boolean` | `true` |
113
134
  | `name` | `name` | Most inputs are used in forms, and should have a `name` associated with the input for handling form data. | `string` | `undefined` |
@@ -2,6 +2,30 @@
2
2
 
3
3
  A popover is an overlay that pops up over all other layers and is triggered by a click or tap, and dismissed by clicking outside the popover or a dismiss icon. Popovers can contain additional actions and allow those actions to be triggered.
4
4
 
5
+
6
+ ### Design Tokens
7
+
8
+ Tokens used by this component from `@xplortech/apollo-foundation`.
9
+
10
+ **Color**
11
+ - `--xpl-background-surface-default` — content panel background and arrow fill
12
+ - `--xpl-background-surface-transparent-10` — shadow primary layer
13
+ - `--xpl-background-surface-transparent-5` — shadow secondary layer
14
+ - `--xpl-text-default` — content text color
15
+ - `--xpl-border-default` — content panel border and arrow stroke
16
+
17
+ **Spacing**
18
+ - `--xpl-space-8` — popover margin (offset from trigger), via `--xpl-popover-margin`
19
+ - `--xpl-space-16` — content panel padding (Figma `padding/tight`; corrected from the legacy 24px during the Foundation migration — see `TECH_DEBT.md`)
20
+
21
+ **Border**
22
+ - `--xpl-border-small` — border width (1px)
23
+ - `--xpl-border-radius-default` — content panel corner radius (8px)
24
+
25
+ **Z-index**
26
+ - `--xpl-z-index-100` — content panel stacking order
27
+ - `--xpl-z-index-900` — arrow stacking order
28
+
5
29
  <!-- Auto Generated Below -->
6
30
 
7
31
 
@@ -1,7 +1,24 @@
1
- # xpl-radio
2
-
3
- Radio buttons allow users to make selections or choices. Radios are always single select, and can also act as controls.
4
-
1
+ # xpl-radio
2
+
3
+ Radio buttons allow users to make selections or choices. Radios are always single select, and can also act as controls.
4
+
5
+ ## Design Tokens
6
+
7
+ The radio component uses the following Apollo Foundation tokens:
8
+
9
+ | Token | Usage |
10
+ |-------|-------|
11
+ | `--xpl-background-surface-default` | Disabled checked state background; styled label background (resting/hover/focused) |
12
+ | `--xpl-background-action-disabled` | Disabled state background; disabled label background (styled variant) |
13
+ | `--xpl-background-surface-information` | Checked label background (styled variant) |
14
+ | `--xpl-border-strong` | Resting (unchecked) border color |
15
+ | `--xpl-border-hover` | Checked/hover/active border color; styled container hover/focus border |
16
+ | `--xpl-border-default` | Disabled state border color |
17
+ | `--xpl-border-focus` | Focus visible outline |
18
+ | `--xpl-border-radius-small` | Styled container corner radius (4px) |
19
+ | `--xpl-border-small` | Default border width (1px) |
20
+ | `--xpl-size-100` | Radio dimensions (16px) |
21
+
5
22
  <!-- Auto Generated Below -->
6
23
 
7
24
 
@@ -27,7 +27,75 @@ Use the **`label`** prop for a unique accessible name on the `<nav>` when multip
27
27
  </xpl-side-nav>
28
28
  ```
29
29
 
30
- **Link rows:** use `xpl-side-nav-item` with `link` and an anchor in the default slot see [xpl-side-nav-item](./xpl-side-nav-item) **Link mode**.
30
+ **Link rows:** use `xpl-side-nav-item` with `link` when the row needs to be a real `<a>` element (framework router components, right-click / open-in-new-tab, semantic link role). For typical in-app navigation, the default button mode is simpler. See [xpl-side-nav-item](./xpl-side-nav-item) **Link mode** for usage and styling guidance.
31
+
32
+ ## Mobile behavior
33
+
34
+ Below the Tailwind `md` breakpoint (768px) the sidebar collapses to a ~56px top bar with a built-in toggle button (`sidebar-left-show` / `sidebar-left-hide`). Activating the toggle opens a drawer containing the `section` + `nav-footer` content over an [`xpl-backdrop`](../xpl-backdrop) scrim. Above `md` the toggle and backdrop are hidden and the sidebar renders inline — no markup changes are needed for either layout.
35
+
36
+ **Keyboard / focus:**
37
+ - **Escape** closes the drawer and returns focus to the toggle.
38
+ - A **backdrop click** closes the drawer.
39
+ - **Focus is trapped** inside the open drawer — Tab cycles only through the toggle and drawer rows.
40
+ - The toggle exposes `aria-expanded` and a dynamic `aria-label` ("Open/Close navigation menu").
41
+
42
+ **Row-level responsive scaling (applied automatically inside the drawer):**
43
+
44
+ | Property | Desktop (≥ 768px) | Mobile (< 768px) |
45
+ |---|---|---|
46
+ | Tap target (`xpl-side-nav-item` wrapper) | — (inner button sized by content) | `min-height: 48px; padding: 6px 8px` |
47
+ | Leading / trailing icon size | 16px | 24px |
48
+ | Top-level label typography | `title-4` (16px, medium) | `title-3` (20px, medium) |
49
+ | Child item label typography | `title-5` | `title-4` (16px, medium) |
50
+ | Footer item label typography | `title-5` | `title-4` (16px, medium) |
51
+ | Footer row min-height | `28px` | `--xpl-size-200` (32px) |
52
+ | Footer leading / trailing icon | 16px | 20px |
53
+
54
+ No markup or props are needed for these changes — they are driven entirely by CSS.
55
+
56
+ ### Open state API
57
+
58
+ The `open` prop, `openChange` event, and `toggle()` / `setOpen()` methods control and observe the drawer. The component works **uncontrolled** (the built-in toggle flips `open`) or **controlled** (the consumer owns `open`).
59
+
60
+ **Uncontrolled** — the built-in toggle manages everything; listen to `openChange` if you need to react:
61
+
62
+ ```html
63
+ <xpl-side-nav label="Main navigation" id="nav">
64
+ <div slot="section">…</div>
65
+ <div slot="nav-footer">…</div>
66
+ </xpl-side-nav>
67
+ <script>
68
+ document.getElementById('nav').addEventListener('openChange', (e) => {
69
+ console.log('drawer open:', e.detail);
70
+ });
71
+ </script>
72
+ ```
73
+
74
+ **Controlled** — own `open` and update it from `openChange` (and/or the imperative methods):
75
+
76
+ ```html
77
+ <xpl-side-nav label="Main navigation" id="nav" open>…</xpl-side-nav>
78
+ <script>
79
+ const nav = document.getElementById('nav');
80
+ // Keep your state in sync with user-driven changes (toggle, Escape, backdrop):
81
+ nav.addEventListener('openChange', (e) => {
82
+ nav.open = e.detail;
83
+ });
84
+ // Programmatic control:
85
+ await nav.toggle();
86
+ await nav.setOpen(false);
87
+ </script>
88
+ ```
89
+
90
+ > **v2 breaking change (beta):** the mobile toggle + drawer are now built in. Consumers who previously wrapped their own toggle around `xpl-side-nav` should remove it.
91
+
92
+ ### Implementation details (mobile drawer)
93
+
94
+ - **Host class hooks** — when the drawer is open the host carries `xpl-side-nav--open` alongside `xpl-side-nav`. Useful for app-level CSS that needs to react (e.g. lock body scroll).
95
+ - **Drawer transition** — `transform` + `opacity` + `visibility` over **300 ms** with `ease-out`. Closed state is `translateX(-100%)` + `opacity: 0` + `visibility: hidden`; the `visibility` flip is delayed 300 ms on close so the slide is visible.
96
+ - **Backdrop transition** — `opacity` + `visibility` over **500 ms** with `ease-in-out`. Open state uses `opacity-50` (matches the native `xpl-backdrop` value, not full opaque). Visibility delayed 500 ms on close. `pointer-events: none` applies immediately on close so page content is tappable while the scrim fades out.
97
+ - **Drawer geometry** — width `80vw` with a `min-width: 300px` floor (Figma spec; no Foundation token yet — see `TECH_DEBT.md`). The remaining `20vw` shows the backdrop scrim.
98
+ - **Toggle styling overrides** — the built-in `xpl-button` toggle uses `padding-inline: var(--xpl-space-12)` on its inner `<button>` and renders its icon at `var(--xpl-size-200)` (32 px) so the icon's left edge aligns with the drawer's nav-item icon column.
31
99
 
32
100
  ### Multi-Navigation Layouts (Accessibility)
33
101
 
@@ -54,17 +122,97 @@ When multiple navigation landmarks exist on a page (e.g., side nav, top nav, bre
54
122
 
55
123
  ## Related components
56
124
 
57
- - [xpl-side-nav-item](../xpl-side-nav-item) — Navigation rows (leaf, expandable, or link) for section and footer.
125
+ - [xpl-side-nav-item](./xpl-side-nav-item) — Navigation rows for section and footer: leaf button, expandable parent, or link (real `<a>`) mode.
58
126
 
59
127
  <!-- Auto Generated Below -->
60
128
 
61
129
 
130
+ ## Overview
131
+
132
+ Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
133
+ `nav-footer`. Compose with `xpl-side-nav-item` for rows.
134
+
135
+ **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
136
+ ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
137
+ Activating the toggle opens a drawer containing the `section` + `nav-footer`
138
+ content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
139
+ Escape or a backdrop click closes it and returns focus to the toggle. Above
140
+ `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
141
+
142
+ The toggle is always rendered (no gating prop) and hidden above the breakpoint
143
+ in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
144
+ the `openChange` event, and the `toggle()` / `setOpen()` methods.
145
+
146
+ **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
147
+ around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
148
+
62
149
  ## Properties
63
150
 
64
- | Property | Attribute | Description | Type | Default |
65
- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------- |
66
- | `label` | `label` | 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. | `string` | `undefined` |
151
+ | Property | Attribute | Description | Type | Default |
152
+ | -------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- |
153
+ | `label` | `label` | 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. | `string` | `undefined` |
154
+ | `open` | `open` | 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. | `boolean` | `false` |
155
+
156
+
157
+ ## Events
67
158
 
159
+ | Event | Description | Type |
160
+ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- |
161
+ | `openChange` | 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). | `CustomEvent<boolean>` |
162
+
163
+
164
+ ## Methods
165
+
166
+ ### `setOpen(open: boolean) => Promise<void>`
167
+
168
+ Programmatically set the mobile drawer open state. Emits `openChange` when it changes.
169
+
170
+ #### Parameters
171
+
172
+ | Name | Type | Description |
173
+ | ------ | --------- | ----------- |
174
+ | `open` | `boolean` | |
175
+
176
+ #### Returns
177
+
178
+ Type: `Promise<void>`
179
+
180
+
181
+
182
+ ### `toggle() => Promise<void>`
183
+
184
+ Programmatically toggle the mobile drawer open/closed. Emits `openChange`.
185
+
186
+ #### Returns
187
+
188
+ Type: `Promise<void>`
189
+
190
+
191
+
192
+
193
+ ## Slots
194
+
195
+ | Slot | Description |
196
+ | -------------- | ------------------------------------------------------------ |
197
+ | `"nav-footer"` | Footer items (e.g. Help, Logout), separated by a top border. |
198
+ | `"section"` | Primary navigation items (`xpl-side-nav-item`). |
199
+
200
+
201
+ ## Dependencies
202
+
203
+ ### Depends on
204
+
205
+ - [xpl-button](../xpl-button)
206
+ - [xpl-backdrop](../xpl-backdrop)
207
+
208
+ ### Graph
209
+ ```mermaid
210
+ graph TD;
211
+ xpl-side-nav --> xpl-button
212
+ xpl-side-nav --> xpl-backdrop
213
+ xpl-button --> xpl-icon
214
+ style xpl-side-nav fill:#f9f,stroke:#333,stroke-width:4px
215
+ ```
68
216
 
69
217
  ----------------------------------------------
70
218