@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
@@ -0,0 +1,122 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class NavHeaderMenu {
3
+ constructor() {
4
+ this.rightAsideMobilePresent = false;
5
+ }
6
+ connectedCallback() {
7
+ this.syncRightAsideMobileSlotPresent();
8
+ this.connectRightAsideMobileSlotObserver();
9
+ }
10
+ disconnectedCallback() {
11
+ if (this.deferredRightAsideSlotWorkTimeoutId !== undefined) {
12
+ clearTimeout(this.deferredRightAsideSlotWorkTimeoutId);
13
+ this.deferredRightAsideSlotWorkTimeoutId = undefined;
14
+ }
15
+ this.disconnectRightAsideMobileSlotObserver();
16
+ }
17
+ componentWillLoad() {
18
+ this.syncRightAsideMobileSlotPresent();
19
+ }
20
+ componentWillRender() {
21
+ this.disconnectRightAsideMobileSlotObserver();
22
+ }
23
+ componentDidRender() {
24
+ this.scheduleDeferredRightAsideSlotWork();
25
+ }
26
+ scheduleDeferredRightAsideSlotWork() {
27
+ if (this.deferredRightAsideSlotWorkTimeoutId !== undefined) {
28
+ clearTimeout(this.deferredRightAsideSlotWorkTimeoutId);
29
+ }
30
+ this.deferredRightAsideSlotWorkTimeoutId = setTimeout(() => {
31
+ this.deferredRightAsideSlotWorkTimeoutId = undefined;
32
+ if (!this.el.isConnected) {
33
+ return;
34
+ }
35
+ this.syncRightAsideMobileSlotPresent();
36
+ this.connectRightAsideMobileSlotObserver();
37
+ }, 0);
38
+ }
39
+ connectRightAsideMobileSlotObserver() {
40
+ this.disconnectRightAsideMobileSlotObserver();
41
+ if (typeof MutationObserver === 'undefined') {
42
+ return;
43
+ }
44
+ this.rightAsideMobileSlotObserver = new MutationObserver(() => {
45
+ this.scheduleDeferredRightAsideSlotWork();
46
+ });
47
+ this.rightAsideMobileSlotObserver.observe(this.el, {
48
+ childList: true,
49
+ subtree: true,
50
+ attributes: true,
51
+ attributeFilter: ['slot'],
52
+ });
53
+ }
54
+ disconnectRightAsideMobileSlotObserver() {
55
+ var _a;
56
+ (_a = this.rightAsideMobileSlotObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
57
+ this.rightAsideMobileSlotObserver = undefined;
58
+ }
59
+ syncRightAsideMobileSlotPresent() {
60
+ const has = this.el.querySelector('[slot="right-aside-mobile"]') != null;
61
+ if (has !== this.rightAsideMobilePresent) {
62
+ this.rightAsideMobilePresent = has;
63
+ }
64
+ }
65
+ render() {
66
+ const hasProfile = !!this.username || !!this.email;
67
+ return (h(Host, { key: '677e0ab10d9bb5578f472101c677222e038c2b4a', class: {
68
+ 'xpl-nav-header-menu': true,
69
+ 'xpl-nav-header-menu--has-right-aside-mobile': this.rightAsideMobilePresent,
70
+ dark: true,
71
+ } }, hasProfile && (h("div", { key: 'fa3898bd0b2aa4726d44ad991a2c6272d4f323de', class: "xpl-nav-header-menu__profile" }, h("div", { key: '354ff7d001e5b545cc7c4310ee10cae7d72c6159', class: "xpl-nav-header-menu__info" }, this.username && (h("div", { key: '92b6486692879a602e87062820d7cbf175bf15d2', class: "xpl-nav-header-menu__username" }, this.username)), this.email && (h("div", { key: 'a228df8215ffd68c36631e11184ba38c790bc560', class: "xpl-nav-header-menu__email" }, this.email))))), h("div", { key: '0ee2394e784f6efb43f04ec65765481203dda954', class: "xpl-nav-header-menu__right-aside-mobile" }, h("slot", { key: 'f551acc13c6e6f2611e78d04de72987048011318', name: "right-aside-mobile" })), h("div", { key: 'b90709dea7e169df42acaf8125a9359321c979ff', class: "xpl-nav-header-menu__slot", role: "list" }, h("slot", { key: 'c35efb10d04d4d4b0bbf832d8541ba6d4b9782c0' }))));
72
+ }
73
+ static get is() { return "xpl-nav-header-menu"; }
74
+ static get properties() {
75
+ return {
76
+ "email": {
77
+ "type": "string",
78
+ "mutable": false,
79
+ "complexType": {
80
+ "original": "string",
81
+ "resolved": "string",
82
+ "references": {}
83
+ },
84
+ "required": false,
85
+ "optional": true,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": "Email address shown below the username."
89
+ },
90
+ "getter": false,
91
+ "setter": false,
92
+ "reflect": false,
93
+ "attribute": "email"
94
+ },
95
+ "username": {
96
+ "type": "string",
97
+ "mutable": false,
98
+ "complexType": {
99
+ "original": "string",
100
+ "resolved": "string",
101
+ "references": {}
102
+ },
103
+ "required": false,
104
+ "optional": true,
105
+ "docs": {
106
+ "tags": [],
107
+ "text": "Display name shown in the profile block."
108
+ },
109
+ "getter": false,
110
+ "setter": false,
111
+ "reflect": false,
112
+ "attribute": "username"
113
+ }
114
+ };
115
+ }
116
+ static get states() {
117
+ return {
118
+ "rightAsideMobilePresent": {}
119
+ };
120
+ }
121
+ static get elementRef() { return "el"; }
122
+ }
@@ -0,0 +1,481 @@
1
+ import { Host, h, } from "@stencil/core";
2
+ export class TopNavItem {
3
+ constructor() {
4
+ this.hasDropdown = false;
5
+ this.hostListitemRole = false;
6
+ this.open = false;
7
+ this.active = false;
8
+ this.icon = '';
9
+ this.selected = false;
10
+ this.onDocClickCapture = (e) => {
11
+ if (!this.hasDropdown || !this.open) {
12
+ return;
13
+ }
14
+ const target = e.target;
15
+ if (target && !this.el.contains(target)) {
16
+ this.open = false;
17
+ }
18
+ };
19
+ this.onDocKeyDownCapture = (e) => {
20
+ if (!this.hasDropdown || !this.open) {
21
+ return;
22
+ }
23
+ if (e.key === 'Escape') {
24
+ e.preventDefault();
25
+ e.stopPropagation();
26
+ this.open = false;
27
+ }
28
+ };
29
+ this.handleClick = (e) => {
30
+ if (this.hasDropdown) {
31
+ e.preventDefault();
32
+ e.stopPropagation();
33
+ this.broadcastCloseOtherDropdownHosts();
34
+ this.open = !this.open;
35
+ return;
36
+ }
37
+ this.navItemClick.emit(e);
38
+ };
39
+ this.handleKeyDown = (e) => {
40
+ const isLinkMode = this.href != null && !this.hasDropdown;
41
+ if (isLinkMode) {
42
+ if (e.key === 'Enter') {
43
+ return;
44
+ }
45
+ if (e.key === ' ') {
46
+ e.preventDefault();
47
+ const anchor = this.el.querySelector('.xpl-top-nav-item__inner');
48
+ anchor === null || anchor === void 0 ? void 0 : anchor.click();
49
+ return;
50
+ }
51
+ }
52
+ if (e.key !== 'Enter' && e.key !== ' ')
53
+ return;
54
+ e.preventDefault();
55
+ this.handleClick(this.syntheticActivationClickFromKeyboard(e));
56
+ };
57
+ }
58
+ onHasDropdownChanged() {
59
+ if (!this.hasDropdown) {
60
+ this.open = false;
61
+ }
62
+ this.syncDropdownDocListeners();
63
+ }
64
+ connectedCallback() {
65
+ this.syncHostListitemRole();
66
+ this.syncHasDropdownFromDom();
67
+ this.syncDropdownDocListeners();
68
+ this.connectDropdownSlotObserver();
69
+ }
70
+ disconnectedCallback() {
71
+ if (this.deferredHasDropdownObserverSyncTimeoutId !== undefined) {
72
+ clearTimeout(this.deferredHasDropdownObserverSyncTimeoutId);
73
+ this.deferredHasDropdownObserverSyncTimeoutId = undefined;
74
+ }
75
+ if (this.deferredPostRenderTopNavItemTimeoutId !== undefined) {
76
+ clearTimeout(this.deferredPostRenderTopNavItemTimeoutId);
77
+ this.deferredPostRenderTopNavItemTimeoutId = undefined;
78
+ }
79
+ this.disconnectDropdownSlotObserver();
80
+ this.disconnectListitemContextObservers();
81
+ const doc = this.el.ownerDocument;
82
+ doc.removeEventListener('click', this.onDocClickCapture, true);
83
+ doc.removeEventListener('keydown', this.onDocKeyDownCapture, true);
84
+ }
85
+ componentWillLoad() {
86
+ this.syncHostListitemRole();
87
+ this.syncHasDropdownFromDom();
88
+ this.syncDropdownDocListeners();
89
+ }
90
+ componentWillRender() {
91
+ this.disconnectDropdownSlotObserver();
92
+ this.disconnectListitemContextObservers();
93
+ }
94
+ componentDidRender() {
95
+ this.schedulePostRenderTopNavItemWork();
96
+ }
97
+ handleCloseNavDropdownRequest() {
98
+ if (this.hasDropdown && this.open) {
99
+ this.open = false;
100
+ }
101
+ }
102
+ scheduleHasDropdownSyncFromObserver() {
103
+ if (this.deferredHasDropdownObserverSyncTimeoutId !== undefined) {
104
+ clearTimeout(this.deferredHasDropdownObserverSyncTimeoutId);
105
+ }
106
+ this.deferredHasDropdownObserverSyncTimeoutId = setTimeout(() => {
107
+ this.deferredHasDropdownObserverSyncTimeoutId = undefined;
108
+ if (!this.el.isConnected) {
109
+ return;
110
+ }
111
+ this.syncHasDropdownFromDom();
112
+ }, 0);
113
+ }
114
+ connectDropdownSlotObserver() {
115
+ this.disconnectDropdownSlotObserver();
116
+ if (typeof MutationObserver === 'undefined') {
117
+ return;
118
+ }
119
+ this.dropdownSlotObserver = new MutationObserver(() => {
120
+ this.scheduleHasDropdownSyncFromObserver();
121
+ });
122
+ this.dropdownSlotObserver.observe(this.el, {
123
+ childList: true,
124
+ subtree: true,
125
+ attributes: true,
126
+ attributeFilter: ['slot'],
127
+ });
128
+ }
129
+ disconnectDropdownSlotObserver() {
130
+ var _a;
131
+ (_a = this.dropdownSlotObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
132
+ this.dropdownSlotObserver = undefined;
133
+ }
134
+ disconnectListitemContextObservers() {
135
+ var _a, _b;
136
+ (_a = this.parentListitemContextObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
137
+ this.parentListitemContextObserver = undefined;
138
+ (_b = this.selfListitemContextObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
139
+ this.selfListitemContextObserver = undefined;
140
+ }
141
+ connectListitemContextObservers() {
142
+ this.disconnectListitemContextObservers();
143
+ if (typeof MutationObserver === 'undefined' || !this.el.isConnected) {
144
+ return;
145
+ }
146
+ this.selfListitemContextObserver = new MutationObserver(() => {
147
+ this.schedulePostRenderTopNavItemWork();
148
+ });
149
+ this.selfListitemContextObserver.observe(this.el, {
150
+ attributes: true,
151
+ attributeFilter: ['class', 'slot'],
152
+ });
153
+ const parent = this.el.parentElement;
154
+ if (parent) {
155
+ this.parentListitemContextObserver = new MutationObserver(() => {
156
+ this.schedulePostRenderTopNavItemWork();
157
+ });
158
+ const isTopNavLeftAside = parent.tagName.toLowerCase() === 'xpl-top-nav' &&
159
+ this.el.getAttribute('slot') === 'left-aside';
160
+ const leftPrimaryListHost = isTopNavLeftAside
161
+ ? parent.querySelector('.xpl-top-nav__left-primary')
162
+ : null;
163
+ const observeTarget = leftPrimaryListHost !== null && leftPrimaryListHost !== void 0 ? leftPrimaryListHost : parent;
164
+ this.parentListitemContextObserver.observe(observeTarget, {
165
+ attributes: true,
166
+ attributeFilter: ['role'],
167
+ subtree: false,
168
+ });
169
+ }
170
+ }
171
+ schedulePostRenderTopNavItemWork() {
172
+ if (this.deferredPostRenderTopNavItemTimeoutId !== undefined) {
173
+ clearTimeout(this.deferredPostRenderTopNavItemTimeoutId);
174
+ }
175
+ this.deferredPostRenderTopNavItemTimeoutId = setTimeout(() => {
176
+ this.deferredPostRenderTopNavItemTimeoutId = undefined;
177
+ if (!this.el.isConnected) {
178
+ return;
179
+ }
180
+ this.syncHostListitemRole();
181
+ this.connectListitemContextObservers();
182
+ this.connectDropdownSlotObserver();
183
+ }, 0);
184
+ }
185
+ syncDropdownDocListeners() {
186
+ const doc = this.el.ownerDocument;
187
+ doc.removeEventListener('click', this.onDocClickCapture, true);
188
+ doc.removeEventListener('keydown', this.onDocKeyDownCapture, true);
189
+ if (!this.hasDropdown) {
190
+ return;
191
+ }
192
+ doc.addEventListener('click', this.onDocClickCapture, true);
193
+ doc.addEventListener('keydown', this.onDocKeyDownCapture, true);
194
+ }
195
+ syncHasDropdownFromDom() {
196
+ this.hasDropdown = !!this.el.querySelector('[slot="dropdown"]');
197
+ }
198
+ getNavDropdownBroadcastRoot() {
199
+ var _a, _b;
200
+ return ((_b = (_a = this.el.closest('xpl-top-nav')) !== null && _a !== void 0 ? _a : this.el.closest('xpl-nav-header-menu')) !== null && _b !== void 0 ? _b : this.el.ownerDocument);
201
+ }
202
+ broadcastCloseOtherDropdownHosts() {
203
+ const root = this.getNavDropdownBroadcastRoot();
204
+ root.querySelectorAll('xpl-top-nav-item').forEach((host) => {
205
+ if (host === this.el) {
206
+ return;
207
+ }
208
+ host.dispatchEvent(new CustomEvent('_xplCloseNavDropdown', { bubbles: false }));
209
+ });
210
+ }
211
+ syntheticActivationClickFromKeyboard(e) {
212
+ var _a;
213
+ const inner = this.el.querySelector('.xpl-top-nav-item__inner');
214
+ const rect = inner === null || inner === void 0 ? void 0 : inner.getBoundingClientRect();
215
+ const cx = rect ? rect.left + rect.width / 2 : 0;
216
+ const cy = rect ? rect.top + rect.height / 2 : 0;
217
+ return new MouseEvent('click', {
218
+ bubbles: true,
219
+ cancelable: true,
220
+ button: 0,
221
+ clientX: cx,
222
+ clientY: cy,
223
+ view: (_a = e.view) !== null && _a !== void 0 ? _a : undefined,
224
+ });
225
+ }
226
+ static isInternalRenderedHostChild(el) {
227
+ return (el.classList.contains('xpl-top-nav-item__inner') ||
228
+ el.classList.contains('xpl-top-nav-item__dropdown'));
229
+ }
230
+ hasNonDropdownLightDomChild() {
231
+ return Array.from(this.el.childNodes).some((node) => {
232
+ var _a;
233
+ if (node.nodeType === Node.TEXT_NODE) {
234
+ return Boolean((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim());
235
+ }
236
+ if (node.nodeType === Node.ELEMENT_NODE) {
237
+ const child = node;
238
+ if (TopNavItem.isInternalRenderedHostChild(child)) {
239
+ return false;
240
+ }
241
+ return child.getAttribute('slot') !== 'dropdown';
242
+ }
243
+ return false;
244
+ });
245
+ }
246
+ getInnerAriaLabel() {
247
+ var _a, _b, _c;
248
+ if ((_a = this.label) === null || _a === void 0 ? void 0 : _a.trim()) {
249
+ return undefined;
250
+ }
251
+ if (this.hasNonDropdownLightDomChild()) {
252
+ return undefined;
253
+ }
254
+ const custom = (_b = this.itemAriaLabel) === null || _b === void 0 ? void 0 : _b.trim();
255
+ if (custom) {
256
+ return custom;
257
+ }
258
+ if ((_c = this.icon) === null || _c === void 0 ? void 0 : _c.trim()) {
259
+ return 'Navigation item';
260
+ }
261
+ return undefined;
262
+ }
263
+ computeHostListitemRole() {
264
+ const { el } = this;
265
+ if (el.classList.contains('xpl-top-nav__brand')) {
266
+ return false;
267
+ }
268
+ if (el.getAttribute('slot') === 'right-aside-mobile') {
269
+ return false;
270
+ }
271
+ const parent = el.parentElement;
272
+ if ((parent === null || parent === void 0 ? void 0 : parent.getAttribute('role')) === 'list') {
273
+ return true;
274
+ }
275
+ if (parent != null && parent.tagName.toLowerCase() === 'xpl-nav-header-menu') {
276
+ return true;
277
+ }
278
+ if (el.getAttribute('slot') === 'left-aside' &&
279
+ (parent === null || parent === void 0 ? void 0 : parent.tagName.toLowerCase()) === 'xpl-top-nav' &&
280
+ parent.querySelector('.xpl-top-nav__left-primary[role="list"]') != null) {
281
+ return true;
282
+ }
283
+ return false;
284
+ }
285
+ syncHostListitemRole() {
286
+ const next = this.computeHostListitemRole();
287
+ if (this.hostListitemRole !== next) {
288
+ this.hostListitemRole = next;
289
+ }
290
+ }
291
+ renderInner() {
292
+ const tabIndex = 0;
293
+ const ariaCurrent = this.selected ? 'page' : undefined;
294
+ const ariaExpanded = this.hasDropdown ? (this.open ? 'true' : 'false') : undefined;
295
+ const ariaLabel = this.getInnerAriaLabel();
296
+ const shared = Object.assign(Object.assign({ class: 'xpl-top-nav-item__inner', tabIndex, 'aria-current': ariaCurrent, 'aria-expanded': ariaExpanded }, (ariaLabel ? { 'aria-label': ariaLabel } : {})), { onClick: this.handleClick, onKeyDown: this.handleKeyDown });
297
+ const useAnchor = this.href != null && !this.hasDropdown;
298
+ if (useAnchor) {
299
+ return (h("a", Object.assign({}, shared, { href: this.href }), this.icon && h("xpl-icon", { size: 16, icon: this.icon }), this.label ? (h("span", { class: "xpl-top-nav-item__label", title: this.label }, this.label)) : (h("slot", null))));
300
+ }
301
+ return (h("div", Object.assign({}, shared, { role: "button" }), this.icon && h("xpl-icon", { size: 16, icon: this.icon }), this.label ? (h("span", { class: "xpl-top-nav-item__label", title: this.label }, this.label)) : (h("slot", null)), this.hasDropdown && h("xpl-icon", { icon: "chevron-down" })));
302
+ }
303
+ render() {
304
+ return (h(Host, Object.assign({ key: '391dd693aabff902ffd5de50d710d3fab06573e2', class: {
305
+ 'xpl-top-nav-item': true,
306
+ 'xpl-top-nav-item--active': this.active,
307
+ 'xpl-top-nav-item--dropdown-open': this.open,
308
+ 'xpl-top-nav-item--has-dropdown': this.hasDropdown,
309
+ 'xpl-top-nav-item--selected': this.selected,
310
+ dark: true,
311
+ } }, (this.hostListitemRole ? { role: 'listitem' } : {})), this.renderInner(), this.hasDropdown && (h("div", { key: 'c5d5239d0279722d5a78bc7436a3ebb9247f904d', class: "xpl-top-nav-item__dropdown" }, h("slot", { key: 'f0a735798a09218822fd14174d0c845014c5e557', name: "dropdown" })))));
312
+ }
313
+ static get is() { return "xpl-top-nav-item"; }
314
+ static get properties() {
315
+ return {
316
+ "active": {
317
+ "type": "boolean",
318
+ "mutable": false,
319
+ "complexType": {
320
+ "original": "boolean",
321
+ "resolved": "boolean",
322
+ "references": {}
323
+ },
324
+ "required": false,
325
+ "optional": false,
326
+ "docs": {
327
+ "tags": [],
328
+ "text": "When true, adds **`xpl-top-nav-item--active`** for persistent accent styling (e.g. link color on the bar, or\nchrome inside **`xpl-nav-header-menu`**). Separate from **`selected`**, which sets **`aria-current=\"page\"`** and\n**`--selected`**. Use both when the design needs \u201Ccurrent page\u201D semantics plus the active visual treatment."
329
+ },
330
+ "getter": false,
331
+ "setter": false,
332
+ "reflect": true,
333
+ "attribute": "active",
334
+ "defaultValue": "false"
335
+ },
336
+ "href": {
337
+ "type": "string",
338
+ "mutable": false,
339
+ "complexType": {
340
+ "original": "string",
341
+ "resolved": "string",
342
+ "references": {}
343
+ },
344
+ "required": false,
345
+ "optional": true,
346
+ "docs": {
347
+ "tags": [],
348
+ "text": "If set without **`slot=\"dropdown\"`**, the inner control renders as a native **`<a href>`** (link mode)."
349
+ },
350
+ "getter": false,
351
+ "setter": false,
352
+ "reflect": false,
353
+ "attribute": "href"
354
+ },
355
+ "icon": {
356
+ "type": "string",
357
+ "mutable": false,
358
+ "complexType": {
359
+ "original": "string",
360
+ "resolved": "string",
361
+ "references": {}
362
+ },
363
+ "required": false,
364
+ "optional": false,
365
+ "docs": {
366
+ "tags": [],
367
+ "text": "Icon name from **`@xplortech/apollo-icons`** (shown before the label when **`label`** is set)."
368
+ },
369
+ "getter": false,
370
+ "setter": false,
371
+ "reflect": false,
372
+ "attribute": "icon",
373
+ "defaultValue": "''"
374
+ },
375
+ "itemAriaLabel": {
376
+ "type": "string",
377
+ "mutable": false,
378
+ "complexType": {
379
+ "original": "string",
380
+ "resolved": "string",
381
+ "references": {}
382
+ },
383
+ "required": false,
384
+ "optional": true,
385
+ "docs": {
386
+ "tags": [],
387
+ "text": "Accessible name for the inner control when there is no **`label`** and no default-slot text (e.g. icon-only).\nIf omitted in that case, **`aria-label`** defaults to **`Navigation item`**. Ignored when **`label`** or default-slot\ncontent supplies a visible name."
388
+ },
389
+ "getter": false,
390
+ "setter": false,
391
+ "reflect": false,
392
+ "attribute": "item-aria-label"
393
+ },
394
+ "label": {
395
+ "type": "string",
396
+ "mutable": false,
397
+ "complexType": {
398
+ "original": "string",
399
+ "resolved": "string",
400
+ "references": {}
401
+ },
402
+ "required": false,
403
+ "optional": true,
404
+ "docs": {
405
+ "tags": [],
406
+ "text": "Text label. If omitted, use the default slot for custom trigger content. Long labels use **`text-ellipsis`**\non **`.xpl-top-nav-item__label`** (see `top-nav.css`); **`title`** is set to the full string for hover tooltips\nwhen the visual line clips."
407
+ },
408
+ "getter": false,
409
+ "setter": false,
410
+ "reflect": false,
411
+ "attribute": "label"
412
+ },
413
+ "selected": {
414
+ "type": "boolean",
415
+ "mutable": false,
416
+ "complexType": {
417
+ "original": "boolean",
418
+ "resolved": "boolean",
419
+ "references": {}
420
+ },
421
+ "required": false,
422
+ "optional": false,
423
+ "docs": {
424
+ "tags": [],
425
+ "text": "When true, sets **`aria-current=\"page\"`** and selected styling."
426
+ },
427
+ "getter": false,
428
+ "setter": false,
429
+ "reflect": true,
430
+ "attribute": "selected",
431
+ "defaultValue": "false"
432
+ }
433
+ };
434
+ }
435
+ static get states() {
436
+ return {
437
+ "hasDropdown": {},
438
+ "hostListitemRole": {},
439
+ "open": {}
440
+ };
441
+ }
442
+ static get events() {
443
+ return [{
444
+ "method": "navItemClick",
445
+ "name": "navItemClick",
446
+ "bubbles": true,
447
+ "cancelable": true,
448
+ "composed": true,
449
+ "docs": {
450
+ "tags": [],
451
+ "text": "Emitted for plain items (button or link) on pointer **click**, or when keyboard activation produces a **`click`**\n(native for **Enter** on **`<a href>`**, or programmatic **`.click()`** for **Space** on links). **`detail`** is the\n**`MouseEvent`** from that activation (synthetic only for **`<div role=\"button\">`** via **Enter** / **Space**).\nNot emitted when **`slot=\"dropdown\"`** is used."
452
+ },
453
+ "complexType": {
454
+ "original": "MouseEvent",
455
+ "resolved": "MouseEvent",
456
+ "references": {
457
+ "MouseEvent": {
458
+ "location": "global",
459
+ "id": "global::MouseEvent"
460
+ }
461
+ }
462
+ }
463
+ }];
464
+ }
465
+ static get elementRef() { return "el"; }
466
+ static get watchers() {
467
+ return [{
468
+ "propName": "hasDropdown",
469
+ "methodName": "onHasDropdownChanged"
470
+ }];
471
+ }
472
+ static get listeners() {
473
+ return [{
474
+ "name": "_xplCloseNavDropdown",
475
+ "method": "handleCloseNavDropdownRequest",
476
+ "target": undefined,
477
+ "capture": false,
478
+ "passive": false
479
+ }];
480
+ }
481
+ }