@xplortech/apollo-core 2.5.0 → 2.7.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 (492) hide show
  1. package/.typings/apollo-components.html-data.json +1156 -115
  2. package/build/style.css +12151 -5333
  3. package/dist/apollo-core/apollo-core.css +68 -37
  4. package/dist/apollo-core/apollo-core.esm.js +1 -1
  5. package/dist/apollo-core/{p-f4c2626d.entry.js → p-084d26ed.entry.js} +1 -1
  6. package/dist/apollo-core/p-146d5d55.entry.js +1 -0
  7. package/dist/apollo-core/p-16742606.entry.js +1 -0
  8. package/dist/apollo-core/{p-0ac33b3a.entry.js → p-28d12fd3.entry.js} +1 -1
  9. package/dist/apollo-core/{p-7d245bf0.entry.js → p-3eb5eb7c.entry.js} +1 -1
  10. package/dist/apollo-core/p-4882f0bd.entry.js +1 -0
  11. package/dist/apollo-core/p-64b34268.entry.js +1 -0
  12. package/dist/apollo-core/p-6c956d4e.entry.js +1 -0
  13. package/dist/apollo-core/p-71b75f36.entry.js +1 -0
  14. package/dist/apollo-core/p-7eb86c63.entry.js +1 -0
  15. package/dist/apollo-core/{p-0e1877a2.entry.js → p-84254a24.entry.js} +1 -1
  16. package/dist/apollo-core/p-9f2a0321.entry.js +1 -0
  17. package/dist/apollo-core/p-C7bgJs6C.js +2 -0
  18. package/dist/apollo-core/p-cde83ab0.entry.js +1 -0
  19. package/dist/apollo-core/p-e7363036.entry.js +1 -0
  20. package/dist/cjs/apollo-core.cjs.js +3 -3
  21. package/dist/cjs/{index-D__N_vw2.js → index-BQ97-AWw.js} +149 -96
  22. package/dist/cjs/loader.cjs.js +2 -2
  23. package/dist/cjs/xpl-accordion.cjs.entry.js +5 -5
  24. package/dist/cjs/xpl-application-shell.cjs.entry.js +4 -4
  25. package/dist/cjs/{xpl-avatar_41.cjs.entry.js → xpl-avatar_61.cjs.entry.js} +9154 -1989
  26. package/dist/cjs/xpl-button-row.cjs.entry.js +4 -4
  27. package/dist/cjs/xpl-calendar.cjs.entry.js +4 -4
  28. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +5 -5
  29. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
  30. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +4 -4
  31. package/dist/cjs/xpl-grid-item.cjs.entry.js +4 -4
  32. package/dist/cjs/xpl-grid.cjs.entry.js +4 -4
  33. package/dist/cjs/xpl-large-card.cjs.entry.js +4 -4
  34. package/dist/cjs/xpl-main-nav.cjs.entry.js +4 -4
  35. package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
  36. package/dist/cjs/xpl-toolbar.cjs.entry.js +5 -5
  37. package/dist/collection/collection-manifest.json +26 -8
  38. package/dist/collection/components/xpl-accordion/accordion.stories.js +4 -0
  39. package/dist/collection/components/xpl-accordion/xpl-accordion.js +3 -3
  40. package/dist/collection/components/xpl-application-shell/application-shell.stories.js +4 -0
  41. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +2 -2
  42. package/dist/collection/components/xpl-avatar/avatar.stories.js +122 -103
  43. package/dist/collection/components/xpl-avatar/xpl-avatar.js +250 -16
  44. package/dist/collection/components/xpl-backdrop/backdrop.stories.js +4 -0
  45. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +2 -2
  46. package/dist/collection/components/xpl-badge/badge.stories.js +76 -33
  47. package/dist/collection/components/xpl-badge/xpl-badge.js +122 -14
  48. package/dist/collection/components/xpl-banner/banner.stories.js +64 -0
  49. package/dist/collection/components/xpl-banner/xpl-banner.js +296 -0
  50. package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +4 -0
  51. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +2 -2
  52. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +2 -2
  53. package/dist/collection/components/xpl-button/button.stories.js +102 -98
  54. package/dist/collection/components/xpl-button/xpl-button.js +201 -93
  55. package/dist/collection/components/xpl-button-row/xpl-button-row.js +2 -2
  56. package/dist/collection/components/xpl-calendar/calendar.stories.js +4 -0
  57. package/dist/collection/components/xpl-calendar/xpl-calendar.js +2 -2
  58. package/dist/collection/components/xpl-checkbox/checkbox.stories.js +4 -0
  59. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +48 -26
  60. package/dist/collection/components/xpl-choicelist/choicelist.stories.js +4 -0
  61. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +2 -2
  62. package/dist/collection/components/xpl-content-area/xpl-content-area.js +2 -2
  63. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +2 -2
  64. package/dist/collection/components/xpl-data-card/data-card.stories.js +4 -0
  65. package/dist/collection/components/xpl-data-card/xpl-data-card.js +3 -3
  66. package/dist/collection/components/xpl-divider/divider.stories.js +4 -0
  67. package/dist/collection/components/xpl-divider/xpl-divider.js +2 -2
  68. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -2
  69. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +2 -2
  70. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +29 -4
  71. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +120 -79
  72. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
  73. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +3 -3
  74. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +3 -3
  75. package/dist/collection/components/xpl-grid/xpl-grid.js +2 -2
  76. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +2 -2
  77. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +47 -54
  78. package/dist/collection/components/xpl-icon/xpl-icon.js +3 -3
  79. package/dist/collection/components/xpl-input/input.stories.js +170 -9
  80. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +9 -9
  81. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +55 -17
  82. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +5 -5
  83. package/dist/collection/components/xpl-input/xpl-input-phone/phone-country-data.js +58 -0
  84. package/dist/collection/components/xpl-input/xpl-input-phone/phone-format.js +219 -0
  85. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +469 -0
  86. package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +485 -0
  87. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +3 -3
  88. package/dist/collection/components/xpl-input/xpl-input.js +223 -17
  89. package/dist/collection/components/xpl-large-card/large-card.stories.js +4 -0
  90. package/dist/collection/components/xpl-large-card/xpl-large-card.js +2 -2
  91. package/dist/collection/components/xpl-list/list.stories.js +300 -63
  92. package/dist/collection/components/xpl-list/xpl-list-item/xpl-list-item.js +818 -0
  93. package/dist/collection/components/xpl-list/xpl-list.js +580 -22
  94. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +2 -2
  95. package/dist/collection/components/xpl-modal/modal.stories.js +4 -0
  96. package/dist/collection/components/xpl-modal/xpl-modal.js +2 -2
  97. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +3 -3
  98. package/dist/collection/components/xpl-pagination/pagination.stories.js +4 -0
  99. package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
  100. package/dist/collection/components/xpl-panel/panel.stories.js +53 -0
  101. package/dist/collection/components/xpl-panel/xpl-panel.js +60 -0
  102. package/dist/collection/components/xpl-popover/popover.stories.js +4 -0
  103. package/dist/collection/components/xpl-popover/xpl-popover.js +5 -5
  104. package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +96 -0
  105. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +158 -0
  106. package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +118 -0
  107. package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +171 -0
  108. package/dist/collection/components/xpl-radio/xpl-radio.js +4 -4
  109. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +2 -2
  110. package/dist/collection/components/xpl-select/xpl-select.js +7 -7
  111. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +519 -0
  112. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +259 -0
  113. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +32 -0
  114. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +2 -2
  115. package/dist/collection/components/xpl-slideout/xpl-slideout.js +2 -2
  116. package/dist/collection/components/xpl-spotlight/spotlight.stories.js +385 -0
  117. package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +1085 -0
  118. package/dist/collection/components/xpl-tab/xpl-tab.js +262 -9
  119. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +23 -16
  120. package/dist/collection/components/xpl-table/table.stories.js +319 -67
  121. package/dist/collection/components/xpl-table/utils/move-row-dom.js +50 -0
  122. package/dist/collection/components/xpl-table/utils/table-internal.js +58 -0
  123. package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +7 -0
  124. package/dist/collection/components/xpl-table/xpl-table-cell/xpl-table-cell.js +155 -0
  125. package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +7 -0
  126. package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +37 -0
  127. package/dist/collection/components/xpl-table/xpl-table-header/table-header.stories.js +131 -0
  128. package/dist/collection/components/xpl-table/xpl-table-header/xpl-table-header.js +7 -0
  129. package/dist/collection/components/xpl-table/xpl-table-header-cell/table-header-cell.stories.js +105 -0
  130. package/dist/collection/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.js +402 -0
  131. package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +121 -0
  132. package/dist/collection/components/xpl-table/xpl-table.js +1449 -144
  133. package/dist/collection/components/xpl-tabs/segment-control.stories.js +31 -0
  134. package/dist/collection/components/xpl-tabs/tabs.shared.js +156 -0
  135. package/dist/collection/components/xpl-tabs/tabs.stories.js +10 -60
  136. package/dist/collection/components/xpl-tabs/xpl-tabs.js +339 -63
  137. package/dist/collection/components/xpl-tag/tag.stories.js +153 -0
  138. package/dist/collection/components/xpl-tag/xpl-tag.js +313 -10
  139. package/dist/collection/components/xpl-toast/xpl-toast.js +3 -3
  140. package/dist/collection/components/xpl-toggle/xpl-toggle.js +4 -4
  141. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +3 -3
  142. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +2 -2
  143. package/dist/collection/components/xpl-top-nav/top-nav.stories.js +625 -0
  144. package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +122 -0
  145. package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +481 -0
  146. package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +433 -0
  147. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +2 -2
  148. package/dist/collection/utils/layout-ancestors.js +22 -0
  149. package/dist/collection/utils/lifecycle.js +79 -0
  150. package/dist/collection/utils/tab-a11y-ids.js +22 -0
  151. package/dist/components/floating-ui.dom.js +1 -0
  152. package/dist/components/index.js +1 -1
  153. package/dist/components/lifecycle.js +1 -0
  154. package/dist/components/tab-a11y-ids.js +1 -0
  155. package/dist/components/xpl-accordion.js +1 -1
  156. package/dist/components/xpl-application-shell.js +1 -1
  157. package/dist/components/xpl-avatar.js +1 -1
  158. package/dist/components/xpl-avatar2.js +1 -1
  159. package/dist/components/xpl-backdrop.js +1 -1
  160. package/dist/components/xpl-backdrop2.js +1 -1
  161. package/dist/components/xpl-badge.js +1 -1
  162. package/dist/components/xpl-badge2.js +1 -1
  163. package/dist/components/xpl-banner.d.ts +11 -0
  164. package/dist/components/xpl-banner.js +1 -0
  165. package/dist/components/xpl-breadcrumb-item.js +1 -1
  166. package/dist/components/xpl-breadcrumbs.js +1 -1
  167. package/dist/components/xpl-button-row.js +1 -1
  168. package/dist/components/xpl-button.js +1 -1
  169. package/dist/components/xpl-button2.js +1 -1
  170. package/dist/components/xpl-calendar.js +1 -1
  171. package/dist/components/xpl-checkbox.js +1 -1
  172. package/dist/components/xpl-checkbox2.js +1 -1
  173. package/dist/components/xpl-choicelist.js +1 -1
  174. package/dist/components/xpl-content-area.js +1 -1
  175. package/dist/components/xpl-dashboard.js +1 -1
  176. package/dist/components/xpl-data-card.js +1 -1
  177. package/dist/components/xpl-divider.js +1 -1
  178. package/dist/components/xpl-divider2.js +1 -1
  179. package/dist/components/xpl-dropdown-group.js +1 -1
  180. package/dist/components/xpl-dropdown-group2.js +1 -1
  181. package/dist/components/xpl-dropdown-heading.js +1 -1
  182. package/dist/components/xpl-dropdown-heading2.js +1 -1
  183. package/dist/components/xpl-dropdown-option.js +1 -1
  184. package/dist/components/xpl-dropdown-option2.js +1 -1
  185. package/dist/components/xpl-dropdown.js +1 -1
  186. package/dist/components/xpl-dropdown2.js +1 -1
  187. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  188. package/dist/components/xpl-dynamic-table-row.js +1 -1
  189. package/dist/components/xpl-dynamic-table.js +1 -1
  190. package/dist/components/xpl-grid-item.js +1 -1
  191. package/dist/components/xpl-grid.js +1 -1
  192. package/dist/components/xpl-header-accordion.js +1 -1
  193. package/dist/components/xpl-icon.js +1 -1
  194. package/dist/components/xpl-icon2.js +1 -1
  195. package/dist/components/xpl-input-date.js +1 -1
  196. package/dist/components/xpl-input-date2.js +1 -1
  197. package/dist/components/xpl-input-file.js +1 -1
  198. package/dist/components/xpl-input-file2.js +1 -1
  199. package/dist/components/xpl-input-phone.d.ts +11 -0
  200. package/dist/components/xpl-input-phone.js +1 -0
  201. package/dist/components/xpl-input-search.d.ts +11 -0
  202. package/dist/components/xpl-input-search.js +1 -0
  203. package/dist/components/xpl-input-search2.js +1 -0
  204. package/dist/components/xpl-input-time.js +1 -1
  205. package/dist/components/xpl-input.js +1 -1
  206. package/dist/components/xpl-input2.js +1 -1
  207. package/dist/components/xpl-large-card.js +1 -1
  208. package/dist/components/{xpl-progress.d.ts → xpl-list-item.d.ts} +4 -4
  209. package/dist/components/xpl-list-item.js +1 -0
  210. package/dist/components/xpl-list-item2.js +1 -0
  211. package/dist/components/xpl-list.js +1 -1
  212. package/dist/components/xpl-main-nav.js +1 -1
  213. package/dist/components/xpl-modal.js +1 -1
  214. package/dist/components/xpl-nav-header-menu.d.ts +11 -0
  215. package/dist/components/xpl-nav-header-menu.js +1 -0
  216. package/dist/components/xpl-nav-item.js +1 -1
  217. package/dist/components/xpl-pagination.js +1 -1
  218. package/dist/components/xpl-panel.d.ts +11 -0
  219. package/dist/components/xpl-panel.js +1 -0
  220. package/dist/components/xpl-popover.js +1 -1
  221. package/dist/components/xpl-popover2.js +1 -1
  222. package/dist/components/xpl-progress-bar.d.ts +11 -0
  223. package/dist/components/xpl-progress-bar.js +1 -0
  224. package/dist/components/xpl-progress-indicator.d.ts +11 -0
  225. package/dist/components/xpl-progress-indicator.js +1 -0
  226. package/dist/components/xpl-radio.js +1 -1
  227. package/dist/components/xpl-radio2.js +1 -1
  228. package/dist/components/xpl-secondary-nav.js +1 -1
  229. package/dist/components/xpl-select.js +1 -1
  230. package/dist/components/xpl-select2.js +1 -1
  231. package/dist/components/xpl-side-nav-item.d.ts +11 -0
  232. package/dist/components/xpl-side-nav-item.js +1 -0
  233. package/dist/components/xpl-side-nav.d.ts +11 -0
  234. package/dist/components/xpl-side-nav.js +1 -0
  235. package/dist/components/xpl-skeleton.js +1 -1
  236. package/dist/components/xpl-slideout.js +1 -1
  237. package/dist/components/xpl-spotlight.d.ts +11 -0
  238. package/dist/components/xpl-spotlight.js +1 -0
  239. package/dist/components/xpl-tab-panel.js +1 -1
  240. package/dist/components/xpl-tab.js +1 -1
  241. package/dist/components/xpl-table-body.d.ts +11 -0
  242. package/dist/components/xpl-table-body.js +1 -0
  243. package/dist/components/xpl-table-cell.d.ts +11 -0
  244. package/dist/components/xpl-table-cell.js +1 -0
  245. package/dist/components/xpl-table-cell2.js +1 -0
  246. package/dist/components/xpl-table-footer-cell.d.ts +11 -0
  247. package/dist/components/xpl-table-footer-cell.js +1 -0
  248. package/dist/components/xpl-table-footer-cell2.js +1 -0
  249. package/dist/components/xpl-table-footer.d.ts +11 -0
  250. package/dist/components/xpl-table-footer.js +1 -0
  251. package/dist/components/xpl-table-header-cell.js +1 -1
  252. package/dist/components/xpl-table-header-cell2.js +1 -0
  253. package/dist/components/xpl-table-header.js +1 -1
  254. package/dist/components/xpl-table-row.d.ts +11 -0
  255. package/dist/components/xpl-table-row.js +1 -0
  256. package/dist/components/xpl-table.js +1 -1
  257. package/dist/components/xpl-tabs.js +1 -1
  258. package/dist/components/xpl-tag.js +1 -1
  259. package/dist/components/xpl-tag2.js +1 -1
  260. package/dist/components/xpl-toast.js +1 -1
  261. package/dist/components/xpl-toggle.js +1 -1
  262. package/dist/components/xpl-toolbar.js +1 -1
  263. package/dist/components/xpl-tooltip.js +1 -1
  264. package/dist/components/xpl-tooltip2.js +1 -1
  265. package/dist/components/xpl-top-nav-item.d.ts +11 -0
  266. package/dist/components/xpl-top-nav-item.js +1 -0
  267. package/dist/components/xpl-top-nav-item2.js +1 -0
  268. package/dist/components/xpl-top-nav.d.ts +11 -0
  269. package/dist/components/xpl-top-nav.js +1 -0
  270. package/dist/components/xpl-utility-bar.js +1 -1
  271. package/dist/docs/xpl-accordion/readme.md +4 -0
  272. package/dist/docs/xpl-avatar/readme.md +291 -12
  273. package/dist/docs/xpl-backdrop/readme.md +1 -1
  274. package/dist/docs/xpl-badge/readme.md +104 -6
  275. package/dist/docs/xpl-banner/readme.md +203 -0
  276. package/dist/docs/xpl-button/readme.md +161 -14
  277. package/dist/docs/xpl-button-row/readme.md +1 -0
  278. package/dist/docs/xpl-calendar/readme.md +2 -1
  279. package/dist/docs/xpl-checkbox/readme.md +19 -14
  280. package/dist/docs/xpl-choicelist/readme.md +1 -0
  281. package/dist/docs/xpl-data-card/readme.md +2 -2
  282. package/dist/docs/xpl-divider/readme.md +6 -4
  283. package/dist/docs/xpl-dropdown/readme.md +15 -12
  284. package/dist/docs/xpl-dropdown/xpl-dropdown-group/readme.md +1 -0
  285. package/dist/docs/xpl-dropdown/xpl-dropdown-option/readme.md +6 -0
  286. package/dist/docs/xpl-dynamic-table/readme.md +22 -19
  287. package/dist/docs/xpl-dynamic-table-cell/readme.md +20 -18
  288. package/dist/docs/xpl-dynamic-table-row/readme.md +21 -19
  289. package/dist/docs/xpl-icon/readme.md +27 -3
  290. package/dist/docs/xpl-input/readme.md +72 -37
  291. package/dist/docs/xpl-input/xpl-input-color/readme.md +5 -0
  292. package/dist/docs/xpl-input/xpl-input-phone/readme.md +168 -0
  293. package/dist/docs/xpl-input/xpl-input-search/readme.md +175 -0
  294. package/dist/docs/xpl-input/xpl-input-time/readme.md +5 -0
  295. package/dist/docs/xpl-large-card/readme.md +1 -1
  296. package/dist/docs/xpl-list/readme.md +320 -10
  297. package/dist/docs/xpl-list/xpl-list-item/readme.md +99 -0
  298. package/dist/docs/xpl-modal/readme.md +3 -0
  299. package/dist/docs/xpl-pagination/readme.md +4 -0
  300. package/dist/docs/xpl-panel/readme.md +174 -0
  301. package/dist/docs/xpl-popover/readme.md +3 -1
  302. package/dist/docs/xpl-progress-bar/readme.md +145 -0
  303. package/dist/docs/xpl-progress-indicator/readme.md +234 -0
  304. package/dist/docs/xpl-radio/readme.md +6 -4
  305. package/dist/docs/xpl-select/readme.md +3 -1
  306. package/dist/docs/xpl-side-nav/readme.md +71 -0
  307. package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +115 -0
  308. package/dist/docs/xpl-slideout/readme.md +2 -1
  309. package/dist/docs/xpl-spotlight/readme.md +235 -0
  310. package/dist/docs/xpl-tab/readme.md +43 -7
  311. package/dist/docs/xpl-tab-panel/readme.md +42 -0
  312. package/dist/docs/xpl-table/readme.md +110 -46
  313. package/dist/docs/xpl-table/xpl-table-body/readme.md +10 -0
  314. package/dist/docs/xpl-table/xpl-table-cell/readme.md +33 -0
  315. package/dist/docs/xpl-table/xpl-table-footer/readme.md +10 -0
  316. package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +30 -0
  317. package/dist/docs/{xpl-table-header → xpl-table/xpl-table-header}/readme.md +13 -13
  318. package/dist/docs/xpl-table/xpl-table-header-cell/readme.md +66 -0
  319. package/dist/docs/xpl-table/xpl-table-row/readme.md +19 -0
  320. package/dist/docs/xpl-tabs/readme.md +63 -8
  321. package/dist/docs/xpl-tag/readme.md +379 -4
  322. package/dist/docs/xpl-toast/readme.md +56 -1
  323. package/dist/docs/xpl-top-nav/readme.md +179 -0
  324. package/dist/docs/xpl-top-nav/xpl-nav-header-menu/readme.md +81 -0
  325. package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +87 -0
  326. package/dist/esm/apollo-core.js +4 -4
  327. package/dist/esm/{index-DhZas3eX.js → index-C7bgJs6C.js} +149 -97
  328. package/dist/esm/loader.js +3 -3
  329. package/dist/esm/xpl-accordion.entry.js +5 -5
  330. package/dist/esm/xpl-application-shell.entry.js +4 -4
  331. package/dist/esm/{xpl-avatar_41.entry.js → xpl-avatar_61.entry.js} +9087 -1942
  332. package/dist/esm/xpl-button-row.entry.js +4 -4
  333. package/dist/esm/xpl-calendar.entry.js +4 -4
  334. package/dist/esm/xpl-dynamic-table-cell.entry.js +5 -5
  335. package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
  336. package/dist/esm/xpl-dynamic-table.entry.js +4 -4
  337. package/dist/esm/xpl-grid-item.entry.js +4 -4
  338. package/dist/esm/xpl-grid.entry.js +4 -4
  339. package/dist/esm/xpl-large-card.entry.js +4 -4
  340. package/dist/esm/xpl-main-nav.entry.js +4 -4
  341. package/dist/esm/xpl-toggle.entry.js +6 -6
  342. package/dist/esm/xpl-toolbar.entry.js +5 -5
  343. package/dist/types/components/xpl-accordion/xpl-accordion.d.ts +1 -1
  344. package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +4 -0
  345. package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
  346. package/dist/types/components/xpl-avatar/avatar.stories.d.ts +90 -27
  347. package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +30 -3
  348. package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +4 -0
  349. package/dist/types/components/xpl-backdrop/xpl-backdrop.d.ts +1 -1
  350. package/dist/types/components/xpl-badge/badge.stories.d.ts +47 -11
  351. package/dist/types/components/xpl-badge/xpl-badge.d.ts +9 -2
  352. package/dist/types/components/xpl-banner/banner.stories.d.ts +77 -0
  353. package/dist/types/components/xpl-banner/xpl-banner.d.ts +20 -0
  354. package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +4 -0
  355. package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.d.ts +1 -1
  356. package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.d.ts +1 -1
  357. package/dist/types/components/xpl-button/button.stories.d.ts +68 -30
  358. package/dist/types/components/xpl-button/xpl-button.d.ts +21 -8
  359. package/dist/types/components/xpl-button-row/xpl-button-row.d.ts +1 -1
  360. package/dist/types/components/xpl-calendar/calendar.stories.d.ts +4 -0
  361. package/dist/types/components/xpl-calendar/xpl-calendar.d.ts +1 -1
  362. package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +4 -0
  363. package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +5 -4
  364. package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +4 -0
  365. package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +1 -1
  366. package/dist/types/components/xpl-content-area/xpl-content-area.d.ts +1 -1
  367. package/dist/types/components/xpl-dashboard/xpl-dashboard.d.ts +1 -1
  368. package/dist/types/components/xpl-data-card/data-card.stories.d.ts +4 -0
  369. package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +1 -1
  370. package/dist/types/components/xpl-divider/divider.stories.d.ts +4 -0
  371. package/dist/types/components/xpl-divider/xpl-divider.d.ts +1 -1
  372. package/dist/types/components/xpl-dropdown/dropdown-option.d.ts +1 -0
  373. package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +1 -1
  374. package/dist/types/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.d.ts +1 -1
  375. package/dist/types/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.d.ts +1 -1
  376. package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +3 -2
  377. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +11 -8
  378. package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +1 -1
  379. package/dist/types/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.d.ts +1 -1
  380. package/dist/types/components/xpl-dynamic-table-row/xpl-dynamic-table-row.d.ts +1 -1
  381. package/dist/types/components/xpl-grid/xpl-grid.d.ts +1 -1
  382. package/dist/types/components/xpl-grid-item/xpl-grid-item.d.ts +1 -1
  383. package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +10 -11
  384. package/dist/types/components/xpl-icon/xpl-icon.d.ts +1 -1
  385. package/dist/types/components/xpl-input/input.stories.d.ts +37 -7
  386. package/dist/types/components/xpl-input/xpl-input-color/xpl-input-color.d.ts +1 -1
  387. package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +10 -3
  388. package/dist/types/components/xpl-input/xpl-input-file/xpl-input-file.d.ts +1 -1
  389. package/dist/types/components/xpl-input/xpl-input-phone/phone-country-data.d.ts +13 -0
  390. package/dist/types/components/xpl-input/xpl-input-phone/phone-format.d.ts +5 -0
  391. package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +48 -0
  392. package/dist/types/components/xpl-input/xpl-input-search/xpl-input-search.d.ts +39 -0
  393. package/dist/types/components/xpl-input/xpl-input-time/xpl-input-time.d.ts +1 -1
  394. package/dist/types/components/xpl-input/xpl-input.d.ts +23 -5
  395. package/dist/types/components/xpl-large-card/large-card.stories.d.ts +4 -0
  396. package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +1 -1
  397. package/dist/types/components/xpl-list/list.stories.d.ts +299 -13
  398. package/dist/types/components/xpl-list/listitem.d.ts +13 -0
  399. package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +71 -0
  400. package/dist/types/components/xpl-list/xpl-list.d.ts +56 -3
  401. package/dist/types/components/xpl-main-nav/xpl-main-nav.d.ts +1 -1
  402. package/dist/types/components/xpl-modal/modal.stories.d.ts +4 -0
  403. package/dist/types/components/xpl-modal/xpl-modal.d.ts +1 -1
  404. package/dist/types/components/xpl-nav-item/xpl-nav-item.d.ts +1 -1
  405. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +4 -0
  406. package/dist/types/components/xpl-pagination/xpl-pagination.d.ts +1 -1
  407. package/dist/types/components/xpl-panel/panel.stories.d.ts +22 -0
  408. package/dist/types/components/xpl-panel/xpl-panel.d.ts +5 -0
  409. package/dist/types/components/xpl-popover/xpl-popover.d.ts +1 -1
  410. package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +73 -0
  411. package/dist/types/components/xpl-progress-bar/xpl-progress-bar.d.ts +15 -0
  412. package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +62 -0
  413. package/dist/types/components/xpl-progress-indicator/xpl-progress-indicator.d.ts +11 -0
  414. package/dist/types/components/xpl-radio/xpl-radio.d.ts +1 -1
  415. package/dist/types/components/xpl-secondary-nav/xpl-secondary-nav.d.ts +1 -1
  416. package/dist/types/components/xpl-select/xpl-select.d.ts +1 -1
  417. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +80 -0
  418. package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +20 -0
  419. package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +4 -0
  420. package/dist/types/components/xpl-skeleton/xpl-skeleton.d.ts +1 -1
  421. package/dist/types/components/xpl-slideout/xpl-slideout.d.ts +1 -1
  422. package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +197 -0
  423. package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +101 -0
  424. package/dist/types/components/xpl-tab/xpl-tab.d.ts +15 -2
  425. package/dist/types/components/xpl-tab-panel/xpl-tab-panel.d.ts +3 -2
  426. package/dist/types/components/xpl-table/table.stories.d.ts +161 -19
  427. package/dist/types/components/xpl-table/utils/move-row-dom.d.ts +3 -0
  428. package/dist/types/components/xpl-table/utils/table-internal.d.ts +8 -0
  429. package/dist/types/components/xpl-table/xpl-table-body/xpl-table-body.d.ts +3 -0
  430. package/dist/types/components/xpl-table/xpl-table-cell/xpl-table-cell.d.ts +11 -0
  431. package/dist/types/components/xpl-table/xpl-table-footer/xpl-table-footer.d.ts +3 -0
  432. package/dist/types/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.d.ts +4 -0
  433. package/dist/types/components/{xpl-table-header → xpl-table/xpl-table-header}/table-header.stories.d.ts +13 -16
  434. package/dist/types/components/xpl-table/xpl-table-header/xpl-table-header.d.ts +3 -0
  435. package/dist/types/components/{xpl-table-header-cell → xpl-table/xpl-table-header-cell}/table-header-cell.stories.d.ts +24 -20
  436. package/dist/types/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.d.ts +32 -0
  437. package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +13 -0
  438. package/dist/types/components/xpl-table/xpl-table.d.ts +124 -22
  439. package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +112 -0
  440. package/dist/types/components/xpl-tabs/tabs.shared.d.ts +156 -0
  441. package/dist/types/components/xpl-tabs/tabs.stories.d.ts +65 -12
  442. package/dist/types/components/xpl-tabs/xpl-tabs.d.ts +38 -19
  443. package/dist/types/components/xpl-tag/tag.stories.d.ts +65 -0
  444. package/dist/types/components/xpl-tag/xpl-tag.d.ts +37 -2
  445. package/dist/types/components/xpl-toast/xpl-toast.d.ts +1 -1
  446. package/dist/types/components/xpl-toggle/xpl-toggle.d.ts +1 -1
  447. package/dist/types/components/xpl-toolbar/xpl-toolbar.d.ts +1 -1
  448. package/dist/types/components/xpl-tooltip/xpl-tooltip.d.ts +1 -1
  449. package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +471 -0
  450. package/dist/types/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.d.ts +18 -0
  451. package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +48 -0
  452. package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +51 -0
  453. package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +1 -1
  454. package/dist/types/components.d.ts +3059 -278
  455. package/dist/types/stencil-public-runtime.d.ts +23 -2
  456. package/dist/types/utils/layout-ancestors.d.ts +2 -0
  457. package/dist/types/utils/lifecycle.d.ts +16 -0
  458. package/dist/types/utils/tab-a11y-ids.d.ts +4 -0
  459. package/package.json +42 -28
  460. package/dist/apollo-core/p-1c2e4034.entry.js +0 -1
  461. package/dist/apollo-core/p-3b5f8989.entry.js +0 -1
  462. package/dist/apollo-core/p-4fab8172.entry.js +0 -1
  463. package/dist/apollo-core/p-576ce90f.entry.js +0 -1
  464. package/dist/apollo-core/p-5ec45742.entry.js +0 -1
  465. package/dist/apollo-core/p-77f0fd4a.entry.js +0 -1
  466. package/dist/apollo-core/p-7b7db57a.entry.js +0 -1
  467. package/dist/apollo-core/p-7c22b842.entry.js +0 -1
  468. package/dist/apollo-core/p-812bb0e4.entry.js +0 -1
  469. package/dist/apollo-core/p-845eef0d.entry.js +0 -1
  470. package/dist/apollo-core/p-9853028c.entry.js +0 -1
  471. package/dist/apollo-core/p-9d65ece7.entry.js +0 -1
  472. package/dist/apollo-core/p-DhZas3eX.js +0 -2
  473. package/dist/apollo-core/p-be292555.entry.js +0 -1
  474. package/dist/cjs/xpl-list.cjs.entry.js +0 -32
  475. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +0 -57
  476. package/dist/cjs/xpl-table-header.cjs.entry.js +0 -14
  477. package/dist/collection/components/xpl-progress/progress.stories.js +0 -106
  478. package/dist/collection/components/xpl-progress/xpl-progress.js +0 -60
  479. package/dist/collection/components/xpl-table-header/table-header.stories.js +0 -126
  480. package/dist/collection/components/xpl-table-header/xpl-table-header.js +0 -7
  481. package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +0 -75
  482. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +0 -188
  483. package/dist/components/xpl-progress.js +0 -1
  484. package/dist/docs/xpl-progress/readme.md +0 -22
  485. package/dist/docs/xpl-table-header-cell/readme.md +0 -47
  486. package/dist/esm/xpl-list.entry.js +0 -30
  487. package/dist/esm/xpl-table-header-cell.entry.js +0 -55
  488. package/dist/esm/xpl-table-header.entry.js +0 -12
  489. package/dist/types/components/xpl-progress/progress.stories.d.ts +0 -38
  490. package/dist/types/components/xpl-progress/xpl-progress.d.ts +0 -6
  491. package/dist/types/components/xpl-table-header/xpl-table-header.d.ts +0 -3
  492. package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +0 -13
@@ -1,27 +1,379 @@
1
- import { Host, h, Fragment } from "@stencil/core";
2
- const ListItemCpt = ({ avatar, avatars, badges, href, title, subtext, metadata, }) => {
3
- const hasRight = avatars || badges || subtext;
4
- const inner = (h(Fragment, null, avatar &&
5
- (avatar.slice(0, 1) === '/' || avatar.slice(0, 4) === 'http' ? (h("xpl-avatar", { src: avatar, name: title })) : (h("xpl-avatar", { name: title }, avatar))), h("div", { class: "xpl-list-item-content" }, h("div", { class: "xpl-list-left" }, h("div", null, h("h4", null, title), metadata && (h("ul", { class: "xpl-list-item-metadata" }, metadata.map((d) => {
6
- if (typeof d === 'string') {
7
- return h("li", null, d);
8
- }
9
- return (h("li", null, h("xpl-icon", { icon: d.icon }), " ", d.text));
10
- }))))), hasRight && (h("div", { class: "xpl-list-right" }, subtext && h("div", { class: "xpl-list-item-subtext" }, subtext), avatars && (h("div", { class: "xpl-avatar-group xpl-avatar-group--s" }, avatars.map((a) => (h("img", { src: a, alt: "" }))))), badges &&
11
- badges.map((b) => {
12
- if (typeof b === 'string') {
13
- return h("xpl-badge", null, b);
14
- }
15
- return (h("xpl-badge", { dot: b.dot, variant: b.variant }, b.text));
16
- }))))));
17
- return href ? (h("a", { class: "xpl-list-item", href: href }, inner)) : (h("div", { class: "xpl-list-item" }, inner));
18
- };
19
- export class XplList {
1
+ import { Host, h, } from "@stencil/core";
2
+ import { TimerManager } from "../../utils/lifecycle";
3
+ let xplListItemsPropDeprecationWarned = false;
4
+ function getListItemFromComposedPath(e) {
5
+ var _a, _b;
6
+ const path = (_b = (_a = e.composedPath) === null || _a === void 0 ? void 0 : _a.call(e)) !== null && _b !== void 0 ? _b : [];
7
+ const fromPath = path.find((node) => node instanceof HTMLElement && node.tagName.toLowerCase() === 'xpl-list-item');
8
+ return fromPath !== null && fromPath !== void 0 ? fromPath : null;
9
+ }
10
+ export class List {
20
11
  constructor() {
12
+ this.draggedItem = null;
13
+ this.listItems = [];
14
+ this.nextAutoItemIdSeq = 0;
15
+ this.radioName = `xpl-list-radio-${Math.random().toString(36).slice(2, 11)}`;
16
+ this.timers = new TimerManager();
17
+ this.keyboardReorderItemId = null;
18
+ this.reorderLiveMessage = '';
21
19
  this.items = [];
20
+ this.reorderable = false;
21
+ this.selectable = false;
22
+ }
23
+ handleKeyboardReorderItemIdChange() {
24
+ this.collectListItems();
25
+ }
26
+ handleItemsChange() {
27
+ this.collectListItems();
28
+ }
29
+ handleReorderableChange() {
30
+ this.collectListItems();
31
+ }
32
+ handleSelectableChange() {
33
+ this.collectListItems();
34
+ }
35
+ componentWillLoad() {
36
+ this.collectListItems();
37
+ if (this.items.length > 0 && !xplListItemsPropDeprecationWarned) {
38
+ xplListItemsPropDeprecationWarned = true;
39
+ console.warn('[xpl-list] The "items" prop is deprecated. Use slot-based xpl-list-item children instead.');
40
+ }
41
+ }
42
+ componentDidLoad() {
43
+ this.collectListItems();
44
+ }
45
+ disconnectedCallback() {
46
+ this.timers.dispose();
47
+ }
48
+ handleKeyDown(ev) {
49
+ if (!this.selectable || ev.key !== 'Escape' || ev.defaultPrevented) {
50
+ return;
51
+ }
52
+ const listItem = getListItemFromComposedPath(ev);
53
+ if (!listItem || listItem.parentElement !== this.el) {
54
+ return;
55
+ }
56
+ const radio = listItem.querySelector('.xpl-list-item__selectable input[type="radio"]');
57
+ const itemEl = listItem;
58
+ const isFocusedSelectedRow = (radio instanceof HTMLInputElement && radio.checked) || itemEl.selected;
59
+ if (!isFocusedSelectedRow) {
60
+ return;
61
+ }
62
+ ev.preventDefault();
63
+ this.clearSelection();
64
+ }
65
+ handleChildItemSelect(event) {
66
+ if (!this.selectable) {
67
+ return;
68
+ }
69
+ const target = event.target;
70
+ if (target.tagName !== 'XPL-LIST-ITEM') {
71
+ return;
72
+ }
73
+ if (target.parentElement !== this.el) {
74
+ return;
75
+ }
76
+ this.syncSelectionFromChildDetail(event.detail);
77
+ }
78
+ handleSlotChange() {
79
+ this.collectListItems();
80
+ }
81
+ handleItemDragStart(event) {
82
+ var _a;
83
+ const row = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.item;
84
+ if (!row || row.parentElement !== this.el) {
85
+ return;
86
+ }
87
+ if (this.keyboardReorderItemId !== null) {
88
+ this.keyboardReorderItemId = null;
89
+ }
90
+ this.draggedItem = row;
91
+ const wrapper = this.draggedItem.querySelector('.xpl-list-item__wrapper');
92
+ wrapper === null || wrapper === void 0 ? void 0 : wrapper.classList.add('dragging');
93
+ }
94
+ handleItemDragEnd(event) {
95
+ var _a;
96
+ const row = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.item;
97
+ if (!row || row.parentElement !== this.el) {
98
+ return;
99
+ }
100
+ if (this.draggedItem) {
101
+ const wrapper = this.draggedItem.querySelector('.xpl-list-item__wrapper');
102
+ wrapper === null || wrapper === void 0 ? void 0 : wrapper.classList.remove('dragging');
103
+ }
104
+ this.draggedItem = null;
105
+ }
106
+ handleItemDrop(event) {
107
+ var _a;
108
+ const dropTarget = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.item;
109
+ if (!dropTarget || dropTarget.parentElement !== this.el) {
110
+ return;
111
+ }
112
+ if (this.draggedItem && this.draggedItem.parentElement !== this.el) {
113
+ this.draggedItem = null;
114
+ return;
115
+ }
116
+ if (this.draggedItem) {
117
+ const wrapper = this.draggedItem.querySelector('.xpl-list-item__wrapper');
118
+ wrapper === null || wrapper === void 0 ? void 0 : wrapper.classList.remove('dragging');
119
+ }
120
+ if (this.draggedItem && dropTarget && this.draggedItem !== dropTarget) {
121
+ const visibleItems = this.getVisibleListItemElements();
122
+ const fromIndex = visibleItems.indexOf(this.draggedItem);
123
+ const toIndex = visibleItems.indexOf(dropTarget);
124
+ if (fromIndex !== -1 && toIndex !== -1) {
125
+ const direction = fromIndex > toIndex ? 'up' : 'down';
126
+ const draggedItemId = this.getItemRowId(this.draggedItem);
127
+ if (direction === 'up') {
128
+ this.el.insertBefore(this.draggedItem, dropTarget);
129
+ }
130
+ else {
131
+ const nextVisible = this.getNextVisibleListItemAfter(dropTarget);
132
+ if (nextVisible) {
133
+ this.el.insertBefore(this.draggedItem, nextVisible);
134
+ }
135
+ else {
136
+ this.el.appendChild(this.draggedItem);
137
+ }
138
+ }
139
+ const orderedItemIds = this.getOrderedItemIds();
140
+ this.orderChange.emit({ itemId: draggedItemId, direction, orderedItemIds });
141
+ this.announceReorder(draggedItemId, orderedItemIds);
142
+ this.el.dispatchEvent(new CustomEvent('xplListReorder', {
143
+ bubbles: true,
144
+ composed: true,
145
+ detail: {
146
+ itemId: draggedItemId,
147
+ direction,
148
+ fromIndex,
149
+ toIndex,
150
+ orderedItemIds,
151
+ },
152
+ }));
153
+ }
154
+ }
155
+ this.draggedItem = null;
156
+ event.preventDefault();
157
+ }
158
+ handleItemReorder(event) {
159
+ event.stopPropagation();
160
+ const { direction, itemId, keyboardMode, exitKeyboardMode } = event.detail;
161
+ if (keyboardMode !== undefined) {
162
+ this.keyboardReorderItemId = keyboardMode ? itemId : null;
163
+ }
164
+ if (exitKeyboardMode) {
165
+ this.keyboardReorderItemId = null;
166
+ }
167
+ if (direction && itemId) {
168
+ const didReorder = this.performReorder(itemId, direction);
169
+ if (didReorder) {
170
+ this.el.dispatchEvent(new CustomEvent('xplListReorder', {
171
+ bubbles: true,
172
+ composed: true,
173
+ detail: Object.assign(Object.assign({}, event.detail), { orderedItemIds: this.getOrderedItemIds() }),
174
+ }));
175
+ }
176
+ }
177
+ }
178
+ async clearSelection() {
179
+ if (!this.selectable)
180
+ return;
181
+ this.collectListItems();
182
+ const previouslySelectedIds = [];
183
+ this.listItems.forEach((item) => {
184
+ const radio = item.querySelector('.xpl-list-item__selectable input[type="radio"]');
185
+ const wasChecked = radio instanceof HTMLInputElement ? radio.checked : false;
186
+ const hadSelectedProp = !!item.selected;
187
+ if (wasChecked || hadSelectedProp) {
188
+ const rowId = this.getItemRowId(item);
189
+ if (rowId) {
190
+ previouslySelectedIds.push(rowId);
191
+ }
192
+ }
193
+ });
194
+ const uniqueSelectedIds = [...new Set(previouslySelectedIds)];
195
+ this.listItems.forEach((item) => {
196
+ const rowRadio = item.querySelector('.xpl-list-item__selectable input[type="radio"]');
197
+ if (rowRadio instanceof HTMLInputElement) {
198
+ rowRadio.checked = false;
199
+ }
200
+ });
201
+ this.listItems.forEach((item) => {
202
+ if (item.selected) {
203
+ item.selected = false;
204
+ }
205
+ });
206
+ uniqueSelectedIds.forEach((itemId) => {
207
+ this.itemSelect.emit({ itemId });
208
+ });
209
+ }
210
+ syncSelectionFromChildDetail(detail) {
211
+ this.collectListItems();
212
+ const selectedId = detail.itemId;
213
+ const hasSelectedId = selectedId != null && selectedId !== '';
214
+ this.listItems.forEach((item) => {
215
+ const rowId = this.getItemRowId(item);
216
+ item.selected = hasSelectedId && rowId === selectedId;
217
+ });
218
+ }
219
+ performReorder(itemId, direction) {
220
+ this.listItems = this.getVisibleListItemElements();
221
+ const itemIndex = this.listItems.findIndex((item) => this.getItemRowId(item) === itemId);
222
+ if (itemIndex === -1)
223
+ return false;
224
+ const targetIndex = direction === 'up' ? itemIndex - 1 : itemIndex + 1;
225
+ if (targetIndex < 0 || targetIndex >= this.listItems.length)
226
+ return false;
227
+ const item = this.listItems[itemIndex];
228
+ const targetItem = this.listItems[targetIndex];
229
+ if (direction === 'up') {
230
+ this.el.insertBefore(item, targetItem);
231
+ }
232
+ else {
233
+ const nextVisible = this.getNextVisibleListItemAfter(targetItem);
234
+ if (nextVisible) {
235
+ this.el.insertBefore(item, nextVisible);
236
+ }
237
+ else {
238
+ this.el.appendChild(item);
239
+ }
240
+ }
241
+ const orderedItemIds = this.getOrderedItemIds();
242
+ this.orderChange.emit({
243
+ itemId,
244
+ direction,
245
+ orderedItemIds,
246
+ });
247
+ this.announceReorder(itemId, orderedItemIds);
248
+ this.timers.requestAnimationFrame(() => {
249
+ var _a;
250
+ if (!this.el.isConnected) {
251
+ return;
252
+ }
253
+ const movedItem = this.getDirectChildListItems().find((el) => this.getItemRowId(el) === itemId);
254
+ const handleRoot = movedItem === null || movedItem === void 0 ? void 0 : movedItem.querySelector('.xpl-list-item__drag-handle');
255
+ const focusTarget = ((_a = handleRoot === null || handleRoot === void 0 ? void 0 : handleRoot.querySelector) === null || _a === void 0 ? void 0 : _a.call(handleRoot, 'button')) instanceof HTMLElement
256
+ ? handleRoot.querySelector('button')
257
+ : handleRoot;
258
+ if (focusTarget instanceof HTMLElement) {
259
+ focusTarget.focus();
260
+ }
261
+ });
262
+ return true;
263
+ }
264
+ getOrderedItemIds() {
265
+ return this.getVisibleListItemElements().map((node) => this.getItemRowId(node));
266
+ }
267
+ announceReorder(movedItemId, orderedItemIds) {
268
+ if (!this.reorderable || !movedItemId) {
269
+ return;
270
+ }
271
+ const index = orderedItemIds.indexOf(movedItemId);
272
+ if (index < 0) {
273
+ return;
274
+ }
275
+ const position = index + 1;
276
+ const total = orderedItemIds.length;
277
+ this.reorderLiveMessage = '';
278
+ this.timers.requestAnimationFrame(() => {
279
+ if (!this.el.isConnected) {
280
+ return;
281
+ }
282
+ this.reorderLiveMessage = `Item ${movedItemId}, now position ${position} of ${total}`;
283
+ });
284
+ }
285
+ getDirectChildListItems() {
286
+ return Array.from(this.el.children).filter((n) => n.tagName.toLowerCase() === 'xpl-list-item');
287
+ }
288
+ getVisibleListItemElements() {
289
+ return this.getDirectChildListItems().filter((n) => !n.hasAttribute('hidden'));
290
+ }
291
+ isLegacyPropBasedRow(row) {
292
+ return row.item != null;
293
+ }
294
+ getNextVisibleListItemAfter(element) {
295
+ let n = element.nextElementSibling;
296
+ while (n) {
297
+ if (n instanceof HTMLElement &&
298
+ n.tagName.toLowerCase() === 'xpl-list-item' &&
299
+ !n.hasAttribute('hidden')) {
300
+ return n;
301
+ }
302
+ n = n.nextElementSibling;
303
+ }
304
+ return null;
305
+ }
306
+ collectListItems() {
307
+ this.listItems = this.getDirectChildListItems();
308
+ const usedRowIds = new Set();
309
+ this.listItems.forEach((item) => {
310
+ const taken = item.getAttribute('item-id') || item.id || (item.itemId ? String(item.itemId) : '');
311
+ if (taken) {
312
+ usedRowIds.add(taken);
313
+ }
314
+ });
315
+ this.listItems.forEach((item) => {
316
+ if (!item.hasAttribute('item-id') && !item.id) {
317
+ if (item.itemId) {
318
+ item.setAttribute('item-id', item.itemId);
319
+ usedRowIds.add(item.itemId);
320
+ }
321
+ else {
322
+ let candidate;
323
+ do {
324
+ candidate = `item-${this.nextAutoItemIdSeq}`;
325
+ this.nextAutoItemIdSeq += 1;
326
+ } while (usedRowIds.has(candidate));
327
+ item.setAttribute('item-id', candidate);
328
+ usedRowIds.add(candidate);
329
+ }
330
+ }
331
+ if (this.isLegacyPropBasedRow(item)) {
332
+ item.removeAttribute('selectable');
333
+ item.removeAttribute('radio-name');
334
+ item.removeAttribute('reorderable');
335
+ }
336
+ else {
337
+ if (this.selectable) {
338
+ item.setAttribute('selectable', 'true');
339
+ item.setAttribute('radio-name', this.radioName);
340
+ }
341
+ else {
342
+ item.removeAttribute('selectable');
343
+ item.removeAttribute('radio-name');
344
+ }
345
+ if (this.reorderable) {
346
+ item.setAttribute('reorderable', 'true');
347
+ }
348
+ else {
349
+ item.removeAttribute('reorderable');
350
+ }
351
+ }
352
+ const rowId = this.getItemRowId(item);
353
+ if (this.isLegacyPropBasedRow(item)) {
354
+ item.removeAttribute('keyboard-active');
355
+ }
356
+ else if (this.keyboardReorderItemId && rowId === this.keyboardReorderItemId) {
357
+ item.setAttribute('keyboard-active', 'true');
358
+ }
359
+ else {
360
+ item.removeAttribute('keyboard-active');
361
+ }
362
+ });
363
+ }
364
+ getItemRowId(item) {
365
+ return item.getAttribute('item-id') || item.id || item.itemId || '';
22
366
  }
23
367
  render() {
24
- return (h(Host, { key: '3eb471a9d1e64f3da012240b7ebb071efaad334d' }, this.items.map((item) => (h(ListItemCpt, Object.assign({}, item))))));
368
+ var _a, _b, _c;
369
+ const ariaLabelledBy = ((_a = this.labelledBy) === null || _a === void 0 ? void 0 : _a.trim()) ? this.labelledBy.trim() : undefined;
370
+ const ariaLabel = !ariaLabelledBy && ((_b = this.label) === null || _b === void 0 ? void 0 : _b.trim()) ? this.label.trim() : undefined;
371
+ return (h(Host, { key: '4290084c30b164abb653943a81783c35531d6316', role: "list", class: { 'xpl-list': true }, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy }, (_c = this.items) === null || _c === void 0 ? void 0 :
372
+ _c.map((item, index) => {
373
+ var _a;
374
+ const legacyRowId = (_a = item.id) !== null && _a !== void 0 ? _a : `item-${index}`;
375
+ return (h("xpl-list-item", { key: `legacy-item-${legacyRowId}`, item: item, href: item.href, itemId: legacyRowId }));
376
+ }), h("slot", { key: '55ce7202269eab851c0d753fd87ef2d5bf9f59a8' }), this.reorderable ? (h("div", { class: "xpl-list__reorder-live", "aria-live": "assertive", "aria-atomic": "true" }, this.reorderLiveMessage)) : null));
25
377
  }
26
378
  static get is() { return "xpl-list"; }
27
379
  static get properties() {
@@ -42,15 +394,221 @@ export class XplList {
42
394
  }
43
395
  },
44
396
  "required": false,
45
- "optional": true,
397
+ "optional": false,
46
398
  "docs": {
47
399
  "tags": [],
48
- "text": "`items` should be an array of objects with the following signature:\n{\n avatar?: string; // The URL of the avatar, or the placeholder initials (ex. \"SPD\").\n avatars?: string[]; // The URLs of multiple avatars to be displayed in a group on the right.\n badges?: string[] | { // An array of strings or badge-like objects to be displayed as badges\n dot?: boolean; // in a group on the right. See <xpl-badge> for more details.\n text: string;\n variant?: string;\n }[];\n href?: string; // A URL, if this list item is meant to link somewhere.\n title: string; // The text to be displayed for the list item.\n metadata?: string[] | { // An array of strings or strings with icons (reference the allowed\n icon: string; // Apollo icons) to be displayed as metadata below the title.\n text: string;\n }[];\n subtext?: string; // Subtext to be displayed on the right.\n}\n\n- Note that you should *only use one of* `avatars`, `badges`, or `subtext`, to avoid cluttering\n the right-hand side of the list item."
400
+ "text": "Array of list items to render. Each item should follow the ListItem interface.\n**Deprecated.** Use slot-based xpl-list-item children instead."
49
401
  },
50
402
  "getter": false,
51
403
  "setter": false,
52
404
  "defaultValue": "[]"
405
+ },
406
+ "label": {
407
+ "type": "string",
408
+ "mutable": false,
409
+ "complexType": {
410
+ "original": "string",
411
+ "resolved": "string",
412
+ "references": {}
413
+ },
414
+ "required": false,
415
+ "optional": true,
416
+ "docs": {
417
+ "tags": [],
418
+ "text": "Accessible name for the list, exposed as `aria-label` on the host when set.\nUse when the list has no visible heading.\nIgnored when `labelledBy` is set (see `labelledBy` for precedence)."
419
+ },
420
+ "getter": false,
421
+ "setter": false,
422
+ "reflect": false,
423
+ "attribute": "label"
424
+ },
425
+ "labelledBy": {
426
+ "type": "string",
427
+ "mutable": false,
428
+ "complexType": {
429
+ "original": "string",
430
+ "resolved": "string",
431
+ "references": {}
432
+ },
433
+ "required": false,
434
+ "optional": true,
435
+ "docs": {
436
+ "tags": [],
437
+ "text": "Element id(s) that label this list (space-separated), exposed as `aria-labelledby` when set.\nWhen set, `label` is not applied as `aria-label` so the list has a single naming source."
438
+ },
439
+ "getter": false,
440
+ "setter": false,
441
+ "reflect": false,
442
+ "attribute": "labelled-by"
443
+ },
444
+ "reorderable": {
445
+ "type": "boolean",
446
+ "mutable": false,
447
+ "complexType": {
448
+ "original": "boolean",
449
+ "resolved": "boolean",
450
+ "references": {}
451
+ },
452
+ "required": false,
453
+ "optional": false,
454
+ "docs": {
455
+ "tags": [],
456
+ "text": "When true, enables reorder UI and behavior for **slot-based** child rows (drag handle + keyboard).\nLegacy rows rendered from the deprecated `items` prop do **not** show a drag handle; migrate to slots if reorder is required."
457
+ },
458
+ "getter": false,
459
+ "setter": false,
460
+ "reflect": false,
461
+ "attribute": "reorderable",
462
+ "defaultValue": "false"
463
+ },
464
+ "selectable": {
465
+ "type": "boolean",
466
+ "mutable": false,
467
+ "complexType": {
468
+ "original": "boolean",
469
+ "resolved": "boolean",
470
+ "references": {}
471
+ },
472
+ "required": false,
473
+ "optional": false,
474
+ "docs": {
475
+ "tags": [],
476
+ "text": "Determines if this list is selectable (shows `xpl-radio` per row in a shared group).\nPress Escape while focus is on the **selected** row to clear selection (same as `clearSelection()`)."
477
+ },
478
+ "getter": false,
479
+ "setter": false,
480
+ "reflect": false,
481
+ "attribute": "selectable",
482
+ "defaultValue": "false"
483
+ }
484
+ };
485
+ }
486
+ static get states() {
487
+ return {
488
+ "keyboardReorderItemId": {},
489
+ "reorderLiveMessage": {}
490
+ };
491
+ }
492
+ static get events() {
493
+ return [{
494
+ "method": "itemSelect",
495
+ "name": "itemSelect",
496
+ "bubbles": true,
497
+ "cancelable": true,
498
+ "composed": true,
499
+ "docs": {
500
+ "tags": [],
501
+ "text": "Emitted when an item is selected."
502
+ },
503
+ "complexType": {
504
+ "original": "{ itemId?: string }",
505
+ "resolved": "{ itemId?: string; }",
506
+ "references": {}
507
+ }
508
+ }, {
509
+ "method": "orderChange",
510
+ "name": "orderChange",
511
+ "bubbles": true,
512
+ "cancelable": true,
513
+ "composed": true,
514
+ "docs": {
515
+ "tags": [],
516
+ "text": "Emitted when the order of items changes (after the DOM has been updated).\n`orderedItemIds` lists **visible** row ids only (hidden rows excluded)."
517
+ },
518
+ "complexType": {
519
+ "original": "XplListOrderChangeDetail",
520
+ "resolved": "XplListOrderChangeDetail",
521
+ "references": {
522
+ "XplListOrderChangeDetail": {
523
+ "location": "import",
524
+ "path": "./listitem",
525
+ "id": "src/components/components/xpl-list/listitem.ts::XplListOrderChangeDetail",
526
+ "referenceLocation": "XplListOrderChangeDetail"
527
+ }
528
+ }
529
+ }
530
+ }];
531
+ }
532
+ static get methods() {
533
+ return {
534
+ "clearSelection": {
535
+ "complexType": {
536
+ "signature": "() => Promise<void>",
537
+ "parameters": [],
538
+ "references": {
539
+ "Promise": {
540
+ "location": "global",
541
+ "id": "global::Promise"
542
+ }
543
+ },
544
+ "return": "Promise<void>"
545
+ },
546
+ "docs": {
547
+ "text": "Clears all radio selections in the list.\nAlso runs when `selectable` is true, the user presses Escape, and focus is on the selected row.\nEmits `itemSelect` once per row that was selected (checked radio or `selected` prop), typically one.",
548
+ "tags": []
549
+ }
53
550
  }
54
551
  };
55
552
  }
553
+ static get elementRef() { return "el"; }
554
+ static get watchers() {
555
+ return [{
556
+ "propName": "keyboardReorderItemId",
557
+ "methodName": "handleKeyboardReorderItemIdChange"
558
+ }, {
559
+ "propName": "items",
560
+ "methodName": "handleItemsChange"
561
+ }, {
562
+ "propName": "reorderable",
563
+ "methodName": "handleReorderableChange"
564
+ }, {
565
+ "propName": "selectable",
566
+ "methodName": "handleSelectableChange"
567
+ }];
568
+ }
569
+ static get listeners() {
570
+ return [{
571
+ "name": "keydown",
572
+ "method": "handleKeyDown",
573
+ "target": undefined,
574
+ "capture": false,
575
+ "passive": false
576
+ }, {
577
+ "name": "itemSelect",
578
+ "method": "handleChildItemSelect",
579
+ "target": undefined,
580
+ "capture": false,
581
+ "passive": false
582
+ }, {
583
+ "name": "slotchange",
584
+ "method": "handleSlotChange",
585
+ "target": undefined,
586
+ "capture": false,
587
+ "passive": false
588
+ }, {
589
+ "name": "itemDragStart",
590
+ "method": "handleItemDragStart",
591
+ "target": undefined,
592
+ "capture": false,
593
+ "passive": false
594
+ }, {
595
+ "name": "itemDragEnd",
596
+ "method": "handleItemDragEnd",
597
+ "target": undefined,
598
+ "capture": false,
599
+ "passive": false
600
+ }, {
601
+ "name": "itemDrop",
602
+ "method": "handleItemDrop",
603
+ "target": undefined,
604
+ "capture": false,
605
+ "passive": false
606
+ }, {
607
+ "name": "xplListItemReorder",
608
+ "method": "handleItemReorder",
609
+ "target": undefined,
610
+ "capture": false,
611
+ "passive": false
612
+ }];
613
+ }
56
614
  }
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplMainNav {
2
+ export class MainNav {
3
3
  constructor() {
4
4
  this.width = 'default';
5
5
  }
@@ -13,7 +13,7 @@ export class XplMainNav {
13
13
  this.navWidthHandler();
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '4bc985a6fc8533aac4a436bafb38a84e240d84d0', class: `xpl-main-nav xpl-main-nav--${this.width}`, "aria-label": "Sidebar" }, h("nav", { key: '37095d22b076a66f32f054dd1bc11487c6bd4927' }, h("header", { key: 'ed18404dbd24edf1306452d097e5be3efbcc57a0', "aria-label": "Sidebar Header" }, h("slot", { key: 'bfced098b786899701193dff672b30d2f5a1ad39', name: "logo" }), h("slot", { key: 'c3be7a15c652539240599743deb02c11f3d1bb45', name: "brand-name" })), h("div", { key: '0aee9797d8b12bb0fc825fedd255d7ba78b52968', class: "xpl-main-nav__main_section" }, h("slot", { key: 'b5772dce6f67b9ee753f1ea68ad12c46564ba3f7', name: "navigation" })), h("footer", { key: 'a2918a192ce73dacc796c3f3a09d180f735a8971', class: "xpl-main-nav__footer", "aria-label": "Sidebar Footer" }, h("slot", { key: 'f898b0f5cfd1d4424f573e74a38df5336506ca45', name: "footer" })))));
16
+ return (h(Host, { key: '12ad41e2631d3cbab84b0bf536ffaf4fc31e7f8b', class: `xpl-main-nav xpl-main-nav--${this.width}`, "aria-label": "Sidebar" }, h("nav", { key: '54c0fcc49ddda8846279b8efc4afe0244e054211' }, h("header", { key: 'a1803d0c15541eb7d8b84d17d6e8c5613472dd7e', "aria-label": "Sidebar Header" }, h("slot", { key: 'cee7321f97dc59f7d7e844ecd8fab6ba656b92e9', name: "logo" }), h("slot", { key: 'f33cd91b4ad2e7dad79f89401477c7c2cc7636aa', name: "brand-name" })), h("div", { key: 'd7951aa7282d7be3107b15196679f2e55c76d847', class: "xpl-main-nav__main_section" }, h("slot", { key: '716d5be941f65ce57c2a9f12e4eeaedef83c0dd0', name: "navigation" })), h("footer", { key: '880b9fb98c5d0d2b4133cacb73a7c339590bf8bb', class: "xpl-main-nav__footer", "aria-label": "Sidebar Footer" }, h("slot", { key: '005c2efc4a3490e50a2b692d0e9dc7e2ce76d938', name: "footer" })))));
17
17
  }
18
18
  static get is() { return "xpl-main-nav"; }
19
19
  static get properties() {
@@ -84,4 +84,8 @@ Modal.args = {
84
84
  };
85
85
  Modal.parameters = {
86
86
  layout: 'centered',
87
+ design: {
88
+ type: 'figma',
89
+ url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=12849-6374&p=f&t=01tbTrRZyfvVafsA-11',
90
+ },
87
91
  };
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplModal {
2
+ export class Modal {
3
3
  constructor() {
4
4
  this.isOpen = false;
5
5
  this.size = 'medium';
@@ -44,7 +44,7 @@ export class XplModal {
44
44
  }
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: '67a2c3914086a75280693b156c5148a5e86395d2', class: "xpl-modal" }, this.isOpen && h("xpl-backdrop", { key: 'e99270d95b4a2267d4fd9c7cbee25672b5f90b7d' }), h("dialog", { key: '3493394ff8f93a8a5fb00903d712dd956b886024', class: `xpl-modal__dialog xpl-modal-size--${this.size} xpl-modal--${this.isOpen ? 'is-open' : 'is-closed'}` }, h("div", { key: '66731b3fc2b562fd9f013de173dcf808b3f3ff1a', class: "xpl-modal__header" }, h("div", { key: 'b3a712444c7f3607b5f1bf968f46ac83305f6f1a', class: "xpl-modal__title" }, this.variant === 'warning' && (h("xpl-icon", { key: 'd96d5df9527b0b96fa793025af3dca9956c5a946', size: 20, icon: "alert-triangle", class: "xpl-modal__alert-icon" })), h("slot", { key: '3d30207ca82fffa6a7c7d7be42b240dc552ab01d', name: "title" }), h("xpl-button", { key: '34e0247f1f0de686233c95e236457dd170e3b050', type: "button", class: "xpl-modal__close-button", iconOnly: true, size: "sm", variant: "subtle", onClick: this.handleDialogClose }, h("xpl-icon", { key: 'd14026b3e17070767fef2d798d5e4406c011dc7d', icon: "x" }))), h("div", { key: 'cdacbf1e44ca7c8601ebcbfdce2ac5b6fb7d6489', class: "xpl-modal__subtitle" }, h("slot", { key: '2ade6726ee27396a0aa570ef2b0c88be0361eb01', name: "subtitle" }))), h("div", { key: 'f016a31264ee6874ddd19e9dcbde3b3f8c76d2ea', class: "xpl-modal__body" }, h("slot", { key: 'ea6016e3c5733a344f1f427ca07267917f66001e', name: "body" })), h("div", { key: '7e43b4317efd765152cdb3ea804e1fe9b0036bc4', class: "xpl-modal__footer" }, h("slot", { key: '410d2ce31eccc7d2bb0c48091b165de2f85f6986', name: "tertiary" }), h("slot", { key: 'd2d64c8203c8b942385c26adfe283af76c12afb3', name: "secondary" }), h("slot", { key: '3eb401ad94c36a2aa9f380508c438e5b473020d5', name: "primary" })))));
47
+ return (h(Host, { key: '1014ca8cb29f3cfeb7f2cf580127b8fe61e7bcbd', class: "xpl-modal" }, this.isOpen && h("xpl-backdrop", { key: '0085b008fb42a998c2b27690102b8ae7f0e49c67' }), h("dialog", { key: '9e2d23304e10872ed3dc9a7520537e36bf8b8f5b', class: `xpl-modal__dialog xpl-modal-size--${this.size} xpl-modal--${this.isOpen ? 'is-open' : 'is-closed'}` }, h("div", { key: 'f55a9d85fc271183e0a6b7e60fb4ad5ed623b010', class: "xpl-modal__header" }, h("div", { key: 'ac105d7ee88148e4b10b26522f93fea70b8d6c06', class: "xpl-modal__title" }, this.variant === 'warning' && (h("xpl-icon", { key: '89ff5fda063dc98628c409ee51c124f17f9e7553', size: 20, icon: "alert-triangle", class: "xpl-modal__alert-icon" })), h("slot", { key: '03e05d28ca6449859ac58f0b0efaf3d8e24c1d62', name: "title" }), h("xpl-button", { key: 'ff132fcbaf91ab6922b12f667255594673e21bd5', type: "button", class: "xpl-modal__close-button", "icon-only": true, size: "sm", variant: "tertiary", onClick: this.handleDialogClose }, h("xpl-icon", { key: '6d712ffc1de66d43591ccf71b08ed5e823fc4c8f', icon: "x" }))), h("div", { key: 'ff5f20b209f6d704d0d20561818ca3ea5b353fce', class: "xpl-modal__subtitle" }, h("slot", { key: 'de25d1ab35729ad5ee0e279311285eab20fb7669', name: "subtitle" }))), h("div", { key: '286f34b54309527c836cb7cc06018ffc577c500f', class: "xpl-modal__body" }, h("slot", { key: '960036c7d3da774ad0f59ccf2c859d7ba3ec3a98', name: "body" })), h("div", { key: '24f7db0e4153d9f4105d787abdc1fe491ba6633c', class: "xpl-modal__footer" }, h("slot", { key: '4f096e57455b20caec555a008a14d411f40b53d7', name: "tertiary" }), h("slot", { key: '1fee8182d892c3460fe30c20456e1b9139bafaec', name: "secondary" }), h("slot", { key: 'e2b91a7af9f34c297d6c311823c91f9a0ab4059c', name: "primary" })))));
48
48
  }
49
49
  static get is() { return "xpl-modal"; }
50
50
  static get properties() {