@xplortech/apollo-core 2.5.0 → 2.6.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 (373) hide show
  1. package/.typings/apollo-components.html-data.json +393 -26
  2. package/build/style.css +4224 -1016
  3. package/dist/apollo-core/apollo-core.css +18 -27
  4. package/dist/apollo-core/apollo-core.esm.js +1 -1
  5. package/dist/apollo-core/p-02167464.entry.js +1 -0
  6. package/dist/apollo-core/p-0bce3874.entry.js +1 -0
  7. package/dist/apollo-core/{p-0e1877a2.entry.js → p-1fd3dc87.entry.js} +1 -1
  8. package/dist/apollo-core/{p-0ac33b3a.entry.js → p-42016063.entry.js} +1 -1
  9. package/dist/apollo-core/p-5549756c.entry.js +1 -0
  10. package/dist/apollo-core/p-56fa4941.entry.js +1 -0
  11. package/dist/apollo-core/p-76c324da.entry.js +1 -0
  12. package/dist/apollo-core/p-7a3224b4.entry.js +1 -0
  13. package/dist/apollo-core/p-7e924697.entry.js +1 -0
  14. package/dist/apollo-core/{p-f4c2626d.entry.js → p-8a1affce.entry.js} +1 -1
  15. package/dist/apollo-core/p-9efca9e1.entry.js +1 -0
  16. package/dist/apollo-core/p-C_Z2nG0p.js +2 -0
  17. package/dist/apollo-core/p-b252b380.entry.js +1 -0
  18. package/dist/apollo-core/p-c91daac1.entry.js +1 -0
  19. package/dist/apollo-core/p-d9b62508.entry.js +1 -0
  20. package/dist/apollo-core/p-eaea16d1.entry.js +1 -0
  21. package/dist/apollo-core/p-eed13bca.entry.js +1 -0
  22. package/dist/apollo-core/{p-4fab8172.entry.js → p-f5af9539.entry.js} +1 -1
  23. package/dist/cjs/apollo-core.cjs.js +3 -3
  24. package/dist/cjs/{index-D__N_vw2.js → index-DH6pgWru.js} +137 -87
  25. package/dist/cjs/loader.cjs.js +2 -2
  26. package/dist/cjs/xpl-accordion.cjs.entry.js +5 -5
  27. package/dist/cjs/xpl-application-shell.cjs.entry.js +4 -4
  28. package/dist/cjs/{xpl-avatar_41.cjs.entry.js → xpl-avatar_47.cjs.entry.js} +2802 -272
  29. package/dist/cjs/xpl-button-row.cjs.entry.js +4 -4
  30. package/dist/cjs/xpl-calendar.cjs.entry.js +4 -4
  31. package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +5 -5
  32. package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
  33. package/dist/cjs/xpl-dynamic-table.cjs.entry.js +4 -4
  34. package/dist/cjs/xpl-grid-item.cjs.entry.js +4 -4
  35. package/dist/cjs/xpl-grid.cjs.entry.js +4 -4
  36. package/dist/cjs/xpl-large-card.cjs.entry.js +4 -4
  37. package/dist/cjs/xpl-list.cjs.entry.js +4 -4
  38. package/dist/cjs/xpl-main-nav.cjs.entry.js +4 -4
  39. package/dist/cjs/xpl-table-header-cell.cjs.entry.js +3 -3
  40. package/dist/cjs/xpl-table-header.cjs.entry.js +4 -4
  41. package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
  42. package/dist/cjs/xpl-toolbar.cjs.entry.js +5 -5
  43. package/dist/collection/collection-manifest.json +9 -2
  44. package/dist/collection/components/xpl-accordion/accordion.stories.js +4 -0
  45. package/dist/collection/components/xpl-accordion/xpl-accordion.js +3 -3
  46. package/dist/collection/components/xpl-application-shell/application-shell.stories.js +4 -0
  47. package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +2 -2
  48. package/dist/collection/components/xpl-avatar/avatar.stories.js +4 -0
  49. package/dist/collection/components/xpl-avatar/xpl-avatar.js +3 -3
  50. package/dist/collection/components/xpl-backdrop/backdrop.stories.js +4 -0
  51. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +2 -2
  52. package/dist/collection/components/xpl-badge/badge.stories.js +108 -33
  53. package/dist/collection/components/xpl-badge/xpl-badge.js +122 -14
  54. package/dist/collection/components/xpl-banner/banner.stories.js +64 -0
  55. package/dist/collection/components/xpl-banner/xpl-banner.js +295 -0
  56. package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +4 -0
  57. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +2 -2
  58. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +2 -2
  59. package/dist/collection/components/xpl-button/button.stories.js +102 -98
  60. package/dist/collection/components/xpl-button/xpl-button.js +183 -93
  61. package/dist/collection/components/xpl-button-row/xpl-button-row.js +2 -2
  62. package/dist/collection/components/xpl-calendar/calendar.stories.js +4 -0
  63. package/dist/collection/components/xpl-calendar/xpl-calendar.js +2 -2
  64. package/dist/collection/components/xpl-checkbox/checkbox.stories.js +4 -0
  65. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +4 -4
  66. package/dist/collection/components/xpl-choicelist/choicelist.stories.js +4 -0
  67. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +2 -2
  68. package/dist/collection/components/xpl-content-area/xpl-content-area.js +2 -2
  69. package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +2 -2
  70. package/dist/collection/components/xpl-data-card/data-card.stories.js +4 -0
  71. package/dist/collection/components/xpl-data-card/xpl-data-card.js +3 -3
  72. package/dist/collection/components/xpl-divider/divider.stories.js +4 -0
  73. package/dist/collection/components/xpl-divider/xpl-divider.js +2 -2
  74. package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -2
  75. package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +2 -2
  76. package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +29 -4
  77. package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +120 -79
  78. package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
  79. package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +3 -3
  80. package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +3 -3
  81. package/dist/collection/components/xpl-grid/xpl-grid.js +2 -2
  82. package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +2 -2
  83. package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +2 -2
  84. package/dist/collection/components/xpl-icon/xpl-icon.js +3 -3
  85. package/dist/collection/components/xpl-input/input.stories.js +75 -9
  86. package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +9 -9
  87. package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +55 -17
  88. package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +5 -5
  89. package/dist/collection/components/xpl-input/xpl-input-phone/phone-country-data.js +58 -0
  90. package/dist/collection/components/xpl-input/xpl-input-phone/phone-format.js +219 -0
  91. package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +469 -0
  92. package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +3 -3
  93. package/dist/collection/components/xpl-input/xpl-input.js +101 -7
  94. package/dist/collection/components/xpl-large-card/large-card.stories.js +4 -0
  95. package/dist/collection/components/xpl-large-card/xpl-large-card.js +2 -2
  96. package/dist/collection/components/xpl-list/xpl-list.js +2 -2
  97. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +2 -2
  98. package/dist/collection/components/xpl-modal/modal.stories.js +4 -0
  99. package/dist/collection/components/xpl-modal/xpl-modal.js +2 -2
  100. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +3 -3
  101. package/dist/collection/components/xpl-pagination/pagination.stories.js +4 -0
  102. package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
  103. package/dist/collection/components/xpl-panel/panel.stories.js +51 -0
  104. package/dist/collection/components/xpl-panel/xpl-panel.js +60 -0
  105. package/dist/collection/components/xpl-popover/popover.stories.js +4 -0
  106. package/dist/collection/components/xpl-popover/xpl-popover.js +5 -5
  107. package/dist/collection/components/xpl-progress/xpl-progress.js +2 -2
  108. package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +96 -0
  109. package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +158 -0
  110. package/dist/collection/components/xpl-radio/xpl-radio.js +4 -4
  111. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +2 -2
  112. package/dist/collection/components/xpl-select/xpl-select.js +7 -7
  113. package/dist/collection/components/xpl-side-nav/side-nav.stories.js +519 -0
  114. package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +259 -0
  115. package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +32 -0
  116. package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +2 -2
  117. package/dist/collection/components/xpl-slideout/xpl-slideout.js +2 -2
  118. package/dist/collection/components/xpl-tab/xpl-tab.js +3 -3
  119. package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +3 -3
  120. package/dist/collection/components/xpl-table/xpl-table.js +6 -6
  121. package/dist/collection/components/xpl-table-header/xpl-table-header.js +2 -2
  122. package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +1 -1
  123. package/dist/collection/components/xpl-tabs/xpl-tabs.js +6 -6
  124. package/dist/collection/components/xpl-tag/xpl-tag.js +3 -3
  125. package/dist/collection/components/xpl-toast/xpl-toast.js +3 -3
  126. package/dist/collection/components/xpl-toggle/xpl-toggle.js +4 -4
  127. package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +3 -3
  128. package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +2 -2
  129. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +2 -2
  130. package/dist/collection/utils/layout-ancestors.js +22 -0
  131. package/dist/components/index.js +1 -1
  132. package/dist/components/xpl-accordion.js +1 -1
  133. package/dist/components/xpl-application-shell.js +1 -1
  134. package/dist/components/xpl-avatar.js +1 -1
  135. package/dist/components/xpl-avatar2.js +1 -1
  136. package/dist/components/xpl-backdrop.js +1 -1
  137. package/dist/components/xpl-backdrop2.js +1 -1
  138. package/dist/components/xpl-badge.js +1 -1
  139. package/dist/components/xpl-badge2.js +1 -1
  140. package/dist/components/xpl-banner.d.ts +11 -0
  141. package/dist/components/xpl-banner.js +1 -0
  142. package/dist/components/xpl-breadcrumb-item.js +1 -1
  143. package/dist/components/xpl-breadcrumbs.js +1 -1
  144. package/dist/components/xpl-button-row.js +1 -1
  145. package/dist/components/xpl-button.js +1 -1
  146. package/dist/components/xpl-button2.js +1 -1
  147. package/dist/components/xpl-calendar.js +1 -1
  148. package/dist/components/xpl-checkbox.js +1 -1
  149. package/dist/components/xpl-checkbox2.js +1 -1
  150. package/dist/components/xpl-choicelist.js +1 -1
  151. package/dist/components/xpl-content-area.js +1 -1
  152. package/dist/components/xpl-dashboard.js +1 -1
  153. package/dist/components/xpl-data-card.js +1 -1
  154. package/dist/components/xpl-divider.js +1 -1
  155. package/dist/components/xpl-divider2.js +1 -1
  156. package/dist/components/xpl-dropdown-group.js +1 -1
  157. package/dist/components/xpl-dropdown-group2.js +1 -1
  158. package/dist/components/xpl-dropdown-heading.js +1 -1
  159. package/dist/components/xpl-dropdown-heading2.js +1 -1
  160. package/dist/components/xpl-dropdown-option.js +1 -1
  161. package/dist/components/xpl-dropdown-option2.js +1 -1
  162. package/dist/components/xpl-dropdown.js +1 -1
  163. package/dist/components/xpl-dropdown2.js +1 -1
  164. package/dist/components/xpl-dynamic-table-cell.js +1 -1
  165. package/dist/components/xpl-dynamic-table-row.js +1 -1
  166. package/dist/components/xpl-dynamic-table.js +1 -1
  167. package/dist/components/xpl-grid-item.js +1 -1
  168. package/dist/components/xpl-grid.js +1 -1
  169. package/dist/components/xpl-header-accordion.js +1 -1
  170. package/dist/components/xpl-icon.js +1 -1
  171. package/dist/components/xpl-icon2.js +1 -1
  172. package/dist/components/xpl-input-date.js +1 -1
  173. package/dist/components/xpl-input-date2.js +1 -1
  174. package/dist/components/xpl-input-file.js +1 -1
  175. package/dist/components/xpl-input-file2.js +1 -1
  176. package/dist/components/xpl-input-phone.d.ts +11 -0
  177. package/dist/components/xpl-input-phone.js +1 -0
  178. package/dist/components/xpl-input-time.js +1 -1
  179. package/dist/components/xpl-input.js +1 -1
  180. package/dist/components/xpl-input2.js +1 -1
  181. package/dist/components/xpl-large-card.js +1 -1
  182. package/dist/components/xpl-list.js +1 -1
  183. package/dist/components/xpl-main-nav.js +1 -1
  184. package/dist/components/xpl-modal.js +1 -1
  185. package/dist/components/xpl-nav-item.js +1 -1
  186. package/dist/components/xpl-pagination.js +1 -1
  187. package/dist/components/xpl-panel.d.ts +11 -0
  188. package/dist/components/xpl-panel.js +1 -0
  189. package/dist/components/xpl-popover.js +1 -1
  190. package/dist/components/xpl-popover2.js +1 -1
  191. package/dist/components/xpl-progress-bar.d.ts +11 -0
  192. package/dist/components/xpl-progress-bar.js +1 -0
  193. package/dist/components/xpl-progress.js +1 -1
  194. package/dist/components/xpl-radio.js +1 -1
  195. package/dist/components/xpl-radio2.js +1 -1
  196. package/dist/components/xpl-secondary-nav.js +1 -1
  197. package/dist/components/xpl-select.js +1 -1
  198. package/dist/components/xpl-select2.js +1 -1
  199. package/dist/components/xpl-side-nav-item.d.ts +11 -0
  200. package/dist/components/xpl-side-nav-item.js +1 -0
  201. package/dist/components/xpl-side-nav.d.ts +11 -0
  202. package/dist/components/xpl-side-nav.js +1 -0
  203. package/dist/components/xpl-skeleton.js +1 -1
  204. package/dist/components/xpl-slideout.js +1 -1
  205. package/dist/components/xpl-tab-panel.js +1 -1
  206. package/dist/components/xpl-tab.js +1 -1
  207. package/dist/components/xpl-table-header.js +1 -1
  208. package/dist/components/xpl-table.js +1 -1
  209. package/dist/components/xpl-tabs.js +1 -1
  210. package/dist/components/xpl-tag.js +1 -1
  211. package/dist/components/xpl-tag2.js +1 -1
  212. package/dist/components/xpl-toast.js +1 -1
  213. package/dist/components/xpl-toggle.js +1 -1
  214. package/dist/components/xpl-toolbar.js +1 -1
  215. package/dist/components/xpl-tooltip.js +1 -1
  216. package/dist/components/xpl-tooltip2.js +1 -1
  217. package/dist/components/xpl-utility-bar.js +1 -1
  218. package/dist/docs/xpl-accordion/readme.md +4 -0
  219. package/dist/docs/xpl-avatar/readme.md +5 -0
  220. package/dist/docs/xpl-backdrop/readme.md +1 -1
  221. package/dist/docs/xpl-badge/readme.md +97 -4
  222. package/dist/docs/xpl-banner/readme.md +166 -0
  223. package/dist/docs/xpl-button/readme.md +151 -14
  224. package/dist/docs/xpl-button-row/readme.md +1 -0
  225. package/dist/docs/xpl-calendar/readme.md +2 -1
  226. package/dist/docs/xpl-checkbox/readme.md +2 -0
  227. package/dist/docs/xpl-choicelist/readme.md +1 -0
  228. package/dist/docs/xpl-data-card/readme.md +2 -2
  229. package/dist/docs/xpl-divider/readme.md +1 -1
  230. package/dist/docs/xpl-dropdown/readme.md +14 -11
  231. package/dist/docs/xpl-dropdown/xpl-dropdown-group/readme.md +1 -0
  232. package/dist/docs/xpl-dropdown/xpl-dropdown-option/readme.md +6 -0
  233. package/dist/docs/xpl-icon/readme.md +12 -0
  234. package/dist/docs/xpl-input/readme.md +41 -31
  235. package/dist/docs/xpl-input/xpl-input-color/readme.md +4 -0
  236. package/dist/docs/xpl-input/xpl-input-phone/readme.md +167 -0
  237. package/dist/docs/xpl-input/xpl-input-time/readme.md +4 -0
  238. package/dist/docs/xpl-large-card/readme.md +1 -1
  239. package/dist/docs/xpl-modal/readme.md +3 -0
  240. package/dist/docs/xpl-pagination/readme.md +3 -0
  241. package/dist/docs/xpl-panel/readme.md +83 -0
  242. package/dist/docs/xpl-popover/readme.md +1 -1
  243. package/dist/docs/xpl-progress-bar/readme.md +145 -0
  244. package/dist/docs/xpl-select/readme.md +1 -0
  245. package/dist/docs/xpl-side-nav/readme.md +71 -0
  246. package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +115 -0
  247. package/dist/docs/xpl-slideout/readme.md +1 -0
  248. package/dist/docs/xpl-tabs/readme.md +1 -0
  249. package/dist/docs/xpl-toast/readme.md +55 -0
  250. package/dist/esm/apollo-core.js +4 -4
  251. package/dist/esm/{index-DhZas3eX.js → index-C_Z2nG0p.js} +137 -87
  252. package/dist/esm/loader.js +3 -3
  253. package/dist/esm/xpl-accordion.entry.js +5 -5
  254. package/dist/esm/xpl-application-shell.entry.js +4 -4
  255. package/dist/esm/{xpl-avatar_41.entry.js → xpl-avatar_47.entry.js} +2753 -229
  256. package/dist/esm/xpl-button-row.entry.js +4 -4
  257. package/dist/esm/xpl-calendar.entry.js +4 -4
  258. package/dist/esm/xpl-dynamic-table-cell.entry.js +5 -5
  259. package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
  260. package/dist/esm/xpl-dynamic-table.entry.js +4 -4
  261. package/dist/esm/xpl-grid-item.entry.js +4 -4
  262. package/dist/esm/xpl-grid.entry.js +4 -4
  263. package/dist/esm/xpl-large-card.entry.js +4 -4
  264. package/dist/esm/xpl-list.entry.js +4 -4
  265. package/dist/esm/xpl-main-nav.entry.js +4 -4
  266. package/dist/esm/xpl-table-header-cell.entry.js +3 -3
  267. package/dist/esm/xpl-table-header.entry.js +4 -4
  268. package/dist/esm/xpl-toggle.entry.js +6 -6
  269. package/dist/esm/xpl-toolbar.entry.js +5 -5
  270. package/dist/types/components/xpl-accordion/xpl-accordion.d.ts +1 -1
  271. package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +4 -0
  272. package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
  273. package/dist/types/components/xpl-avatar/avatar.stories.d.ts +4 -0
  274. package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +1 -1
  275. package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +4 -0
  276. package/dist/types/components/xpl-backdrop/xpl-backdrop.d.ts +1 -1
  277. package/dist/types/components/xpl-badge/badge.stories.d.ts +66 -11
  278. package/dist/types/components/xpl-badge/xpl-badge.d.ts +9 -2
  279. package/dist/types/components/xpl-banner/banner.stories.d.ts +77 -0
  280. package/dist/types/components/xpl-banner/xpl-banner.d.ts +20 -0
  281. package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +4 -0
  282. package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.d.ts +1 -1
  283. package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.d.ts +1 -1
  284. package/dist/types/components/xpl-button/button.stories.d.ts +68 -30
  285. package/dist/types/components/xpl-button/xpl-button.d.ts +14 -8
  286. package/dist/types/components/xpl-button-row/xpl-button-row.d.ts +1 -1
  287. package/dist/types/components/xpl-calendar/calendar.stories.d.ts +4 -0
  288. package/dist/types/components/xpl-calendar/xpl-calendar.d.ts +1 -1
  289. package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +4 -0
  290. package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +1 -1
  291. package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +4 -0
  292. package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +1 -1
  293. package/dist/types/components/xpl-content-area/xpl-content-area.d.ts +1 -1
  294. package/dist/types/components/xpl-dashboard/xpl-dashboard.d.ts +1 -1
  295. package/dist/types/components/xpl-data-card/data-card.stories.d.ts +4 -0
  296. package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +1 -1
  297. package/dist/types/components/xpl-divider/divider.stories.d.ts +4 -0
  298. package/dist/types/components/xpl-divider/xpl-divider.d.ts +1 -1
  299. package/dist/types/components/xpl-dropdown/dropdown-option.d.ts +1 -0
  300. package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +1 -1
  301. package/dist/types/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.d.ts +1 -1
  302. package/dist/types/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.d.ts +1 -1
  303. package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +3 -2
  304. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +11 -8
  305. package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +1 -1
  306. package/dist/types/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.d.ts +1 -1
  307. package/dist/types/components/xpl-dynamic-table-row/xpl-dynamic-table-row.d.ts +1 -1
  308. package/dist/types/components/xpl-grid/xpl-grid.d.ts +1 -1
  309. package/dist/types/components/xpl-grid-item/xpl-grid-item.d.ts +1 -1
  310. package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +1 -1
  311. package/dist/types/components/xpl-icon/xpl-icon.d.ts +1 -1
  312. package/dist/types/components/xpl-input/input.stories.d.ts +36 -7
  313. package/dist/types/components/xpl-input/xpl-input-color/xpl-input-color.d.ts +1 -1
  314. package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +10 -3
  315. package/dist/types/components/xpl-input/xpl-input-file/xpl-input-file.d.ts +1 -1
  316. package/dist/types/components/xpl-input/xpl-input-phone/phone-country-data.d.ts +13 -0
  317. package/dist/types/components/xpl-input/xpl-input-phone/phone-format.d.ts +5 -0
  318. package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +48 -0
  319. package/dist/types/components/xpl-input/xpl-input-time/xpl-input-time.d.ts +1 -1
  320. package/dist/types/components/xpl-input/xpl-input.d.ts +12 -2
  321. package/dist/types/components/xpl-large-card/large-card.stories.d.ts +4 -0
  322. package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +1 -1
  323. package/dist/types/components/xpl-list/xpl-list.d.ts +1 -1
  324. package/dist/types/components/xpl-main-nav/xpl-main-nav.d.ts +1 -1
  325. package/dist/types/components/xpl-modal/modal.stories.d.ts +4 -0
  326. package/dist/types/components/xpl-modal/xpl-modal.d.ts +1 -1
  327. package/dist/types/components/xpl-nav-item/xpl-nav-item.d.ts +1 -1
  328. package/dist/types/components/xpl-pagination/pagination.stories.d.ts +4 -0
  329. package/dist/types/components/xpl-pagination/xpl-pagination.d.ts +1 -1
  330. package/dist/types/components/xpl-panel/panel.stories.d.ts +20 -0
  331. package/dist/types/components/xpl-panel/xpl-panel.d.ts +5 -0
  332. package/dist/types/components/xpl-popover/xpl-popover.d.ts +1 -1
  333. package/dist/types/components/xpl-progress/xpl-progress.d.ts +1 -1
  334. package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +73 -0
  335. package/dist/types/components/xpl-progress-bar/xpl-progress-bar.d.ts +15 -0
  336. package/dist/types/components/xpl-radio/xpl-radio.d.ts +1 -1
  337. package/dist/types/components/xpl-secondary-nav/xpl-secondary-nav.d.ts +1 -1
  338. package/dist/types/components/xpl-select/xpl-select.d.ts +1 -1
  339. package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +80 -0
  340. package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +20 -0
  341. package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +4 -0
  342. package/dist/types/components/xpl-skeleton/xpl-skeleton.d.ts +1 -1
  343. package/dist/types/components/xpl-slideout/xpl-slideout.d.ts +1 -1
  344. package/dist/types/components/xpl-tab/xpl-tab.d.ts +1 -1
  345. package/dist/types/components/xpl-tab-panel/xpl-tab-panel.d.ts +1 -1
  346. package/dist/types/components/xpl-table/xpl-table.d.ts +1 -1
  347. package/dist/types/components/xpl-table-header/xpl-table-header.d.ts +1 -1
  348. package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +1 -1
  349. package/dist/types/components/xpl-tabs/xpl-tabs.d.ts +2 -2
  350. package/dist/types/components/xpl-tag/xpl-tag.d.ts +1 -1
  351. package/dist/types/components/xpl-toast/xpl-toast.d.ts +1 -1
  352. package/dist/types/components/xpl-toggle/xpl-toggle.d.ts +1 -1
  353. package/dist/types/components/xpl-toolbar/xpl-toolbar.d.ts +1 -1
  354. package/dist/types/components/xpl-tooltip/xpl-tooltip.d.ts +1 -1
  355. package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +1 -1
  356. package/dist/types/components.d.ts +1219 -178
  357. package/dist/types/stencil-public-runtime.d.ts +23 -2
  358. package/dist/types/utils/layout-ancestors.d.ts +2 -0
  359. package/package.json +41 -27
  360. package/dist/apollo-core/p-1c2e4034.entry.js +0 -1
  361. package/dist/apollo-core/p-3b5f8989.entry.js +0 -1
  362. package/dist/apollo-core/p-576ce90f.entry.js +0 -1
  363. package/dist/apollo-core/p-5ec45742.entry.js +0 -1
  364. package/dist/apollo-core/p-77f0fd4a.entry.js +0 -1
  365. package/dist/apollo-core/p-7b7db57a.entry.js +0 -1
  366. package/dist/apollo-core/p-7c22b842.entry.js +0 -1
  367. package/dist/apollo-core/p-7d245bf0.entry.js +0 -1
  368. package/dist/apollo-core/p-812bb0e4.entry.js +0 -1
  369. package/dist/apollo-core/p-845eef0d.entry.js +0 -1
  370. package/dist/apollo-core/p-9853028c.entry.js +0 -1
  371. package/dist/apollo-core/p-9d65ece7.entry.js +0 -1
  372. package/dist/apollo-core/p-DhZas3eX.js +0 -2
  373. package/dist/apollo-core/p-be292555.entry.js +0 -1
@@ -1,9 +1,9 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplDivider {
2
+ export class Divider {
3
3
  render() {
4
4
  let className = 'xpl-divider';
5
5
  className += ` xpl-divider--${this.tier}`;
6
- return (h(Host, { key: '8f8b9899bfc602454687020e4547ba98e6c87cf4', class: className }, h("span", { key: 'd64ecfd54eb6ca33a05e271c52a7df5960f9c0df' }, h("slot", { key: '5e62ba9c682428dab560f67603343d9332bc02a5' }))));
6
+ return (h(Host, { key: 'cdafb808588e7baf9271997503dea7b53597b15f', class: className }, h("span", { key: '119067065dc21dd71b25ba81b5d83232f4953ebc' }, h("slot", { key: '8cc9077442f20703efc50094056cb7d15782252a' }))));
7
7
  }
8
8
  static get is() { return "xpl-divider"; }
9
9
  static get properties() {
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  import { Host, h } from "@stencil/core";
14
- export class XplDropdownGroup {
14
+ export class DropdownGroup {
15
15
  render() {
16
16
  const { groupName, options } = this;
17
17
  const hasOptions = options && options.length;
@@ -20,7 +20,7 @@ export class XplDropdownGroup {
20
20
  var { groupName: optsGroupName } = _a, properties = __rest(_a, ["groupName"]);
21
21
  return optsGroupName ? (h("xpl-dropdown-group", Object.assign({ label: optsGroupName }, properties))) : (h("xpl-dropdown-option", Object.assign({}, properties)));
22
22
  });
23
- return (h(Host, { key: 'e1bd6d56ea5501e48d8f7fba91af32fbc223d343', role: "group", "aria-label": groupName }, h("li", { key: '543d3350cce47b4e96f78c6a411877110a27c842', class: "xpl-dropdown-list-item" }, h("xpl-dropdown-heading", { key: '85b5c8675bb3b2eecdb0dc3ffbf09dc9bd824ceb', label: groupName }), h("ul", { key: '9dfcd1a43cca4fd431b052e438743d24f872f248', class: "xpl-dropdown-list" }, mappedOptions || h("slot", { key: 'd5d7d5d03bfde4306f1a8d861f7f2308eaac2bf6', name: "options" })))));
23
+ return (h(Host, { key: 'fae7d1999fae7148c2d19e14676b8c7a6f9c7810', role: "group", "aria-label": groupName }, h("li", { key: '8696234c09cce33be47e6481d757c2209d1fe04e', class: "xpl-dropdown-list-item" }, h("xpl-dropdown-heading", { key: 'ce4fc6f2b00f58302075e180170f52e333aab08b', label: groupName }), h("ul", { key: 'a9015c5ebaaa4ec3858769ad9aaf3f06d806bdbe', class: "xpl-dropdown-list" }, mappedOptions || h("slot", { key: '2f4bb9a76f1371c4dc0405b2652bc616fa4bb835', name: "options" })))));
24
24
  }
25
25
  static get is() { return "xpl-dropdown-group"; }
26
26
  static get properties() {
@@ -1,7 +1,7 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplDropdownHeading {
2
+ export class DropdownHeading {
3
3
  render() {
4
- return (h(Host, { key: '41de08a2e945b9d6412264a44a04dd65bc125276', class: { 'xpl-dropdown-heading': true }, role: "presentation" }, h("span", { key: '15b526b8a4ec46059d8edd3aed61c82d6bc79d64' }, this.label || h("slot", { key: '5b8c05d504e56c2852fa8439b15012c73552c190', name: "heading" }))));
4
+ return (h(Host, { key: '8f7d858ca1ee011e03b069948b1c948c7693725f', class: { 'xpl-dropdown-heading': true }, role: "presentation" }, h("span", { key: '56679ee9d35a995a72249f4494983652bacf0832' }, this.label || h("slot", { key: '3e657744c62647b42d249379927fab9ca9a258f6', name: "heading" }))));
5
5
  }
6
6
  static get is() { return "xpl-dropdown-heading"; }
7
7
  static get properties() {
@@ -1,9 +1,12 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplDropdownOption {
2
+ export class DropdownOptionCpnt {
3
3
  componentWillLoad() {
4
4
  this.dropdown = this.hostElement.closest('xpl-dropdown');
5
5
  }
6
6
  handleClick(ev) {
7
+ if (!this.dropdown) {
8
+ return;
9
+ }
7
10
  const { closeOnSelect, mode } = this.dropdown;
8
11
  if (ev.x && ev.y) {
9
12
  this.dropdown.handleSelect(ev, { component: this });
@@ -12,6 +15,9 @@ export class XplDropdownOption {
12
15
  }
13
16
  }
14
17
  handleKeyup(ev) {
18
+ if (!this.dropdown) {
19
+ return;
20
+ }
15
21
  const { dropdown } = this;
16
22
  const navigationKeys = ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Tab'];
17
23
  const { closeOnSelect, mode, selectOnFocus } = this.dropdown;
@@ -42,12 +48,12 @@ export class XplDropdownOption {
42
48
  this.hostElement.removeEventListener('keyup', this.handleKeyup);
43
49
  }
44
50
  render() {
45
- const { label, isSelected, isDisabled, value, subtitle } = this;
46
- return (h(Host, { key: '5065b45c91f2e8c385c70726b4624b62e609dc61', class: {
51
+ const { label, isSelected, isDisabled, value, subtitle, icon } = this;
52
+ return (h(Host, { key: '207cafd793f52598fdbbe3104ff0207261e086c4', class: {
47
53
  'xpl-dropdown-option': true,
48
54
  'xpl-dropdown-option--disabled': isDisabled,
49
55
  'xpl-dropdown-option--selected': isSelected,
50
- }, role: "option", "aria-checked": isSelected, "aria-disabled": isDisabled, "aria-selected": isSelected, value: value }, h("li", { key: '3a9493d1f0e2f9eff727f001d08c65477372e58b', class: "xpl-dropdown-list-item" }, label || h("slot", { key: 'fbebc2fd7f45d9abf4a2be0b306d92b3de8cb090', name: "option" }), subtitle && h("span", { key: '987104f21b1843e7350bbd4d8607fcdb1a580131', class: "xpl-dropdown-list-item__subtitle" }, subtitle))));
56
+ }, role: "option", "aria-checked": isSelected, "aria-disabled": isDisabled, "aria-selected": isSelected, value: value }, h("li", { key: '7e836b82c325050338eff79f23855f55c696f38c', class: "xpl-dropdown-list-item" }, icon && (h("xpl-icon", { key: '7b59e353bf038e1db478fab923c07e60d0e1a828', class: "xpl-dropdown-list-item__icon", icon: icon, size: 20 })), label || h("slot", { key: 'aad23fec3435e7cd7e36a57d49e178177d7da7fa', name: "option" }), subtitle && h("span", { key: '96fee61dbd072dacf783e164a93fd8dd626e3e53', class: "xpl-dropdown-list-item__subtitle" }, subtitle))));
51
57
  }
52
58
  static get is() { return "xpl-dropdown-option"; }
53
59
  static get properties() {
@@ -128,6 +134,25 @@ export class XplDropdownOption {
128
134
  "reflect": false,
129
135
  "attribute": "subtitle"
130
136
  },
137
+ "icon": {
138
+ "type": "string",
139
+ "mutable": false,
140
+ "complexType": {
141
+ "original": "string",
142
+ "resolved": "string",
143
+ "references": {}
144
+ },
145
+ "required": false,
146
+ "optional": true,
147
+ "docs": {
148
+ "tags": [],
149
+ "text": "optional icon name to display before the label (uses xpl-icon)"
150
+ },
151
+ "getter": false,
152
+ "setter": false,
153
+ "reflect": false,
154
+ "attribute": "icon"
155
+ },
131
156
  "isSelected": {
132
157
  "type": "boolean",
133
158
  "mutable": false,
@@ -11,48 +11,69 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  import { h, Host, } from "@stencil/core";
14
- export class XplDropdown {
14
+ import { autoUpdate, computePosition, flip, hide, offset, size } from "@floating-ui/dom";
15
+ export class Dropdown {
15
16
  constructor() {
16
17
  this.isOpen = false;
17
18
  this.closeOnSelect = true;
18
19
  this.mode = 'single';
19
20
  this.anchorToTrigger = false;
20
21
  this.selectOnFocus = false;
21
- this.requestAnimationFrameId = null;
22
- this.updateDropdownPosition = () => {
22
+ this.cleanupAutoUpdate = null;
23
+ this.updateDropdownPosition = async (triggerEl) => {
23
24
  var _a;
24
- if (!this.anchorToTrigger || !this.triggerId) {
25
+ const { x, y, placement, middlewareData } = await computePosition(triggerEl, this.hostElement, {
26
+ strategy: 'fixed',
27
+ placement: 'bottom-start',
28
+ middleware: [
29
+ offset(4),
30
+ flip(),
31
+ size({
32
+ apply: ({ availableHeight, rects }) => {
33
+ const listEl = this.hostElement.querySelector('.xpl-dropdown-list');
34
+ let usedBeforeList = 0;
35
+ if (listEl) {
36
+ const children = Array.from(this.hostElement.children);
37
+ const listIndex = children.indexOf(listEl);
38
+ children.slice(0, listIndex).forEach((child) => {
39
+ if (child instanceof HTMLElement) {
40
+ usedBeforeList += child.offsetHeight;
41
+ }
42
+ });
43
+ }
44
+ const cs = getComputedStyle(this.hostElement);
45
+ const hostVerticalChrome = parseFloat(cs.paddingTop) +
46
+ parseFloat(cs.paddingBottom) +
47
+ parseFloat(cs.borderTopWidth) +
48
+ parseFloat(cs.borderBottomWidth);
49
+ const cssMaxHeight = listEl
50
+ ? parseFloat(getComputedStyle(listEl).getPropertyValue('--xpl-dropdown-list-max-height'))
51
+ : Infinity;
52
+ const listMaxHeight = Math.min(cssMaxHeight, Math.max(0, availableHeight - usedBeforeList - hostVerticalChrome));
53
+ Object.assign(this.hostElement.style, {
54
+ width: `${rects.reference.width}px`,
55
+ });
56
+ if (listEl) {
57
+ listEl.style.maxHeight = `${listMaxHeight}px`;
58
+ }
59
+ },
60
+ }),
61
+ hide(),
62
+ ],
63
+ });
64
+ if (!this.cleanupAutoUpdate)
25
65
  return;
26
- }
27
- const triggerRect = (_a = document.getElementById(this.triggerId)) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
28
- if (!triggerRect) {
66
+ if ((_a = middlewareData.hide) === null || _a === void 0 ? void 0 : _a.referenceHidden) {
67
+ this.isOpen = false;
29
68
  return;
30
69
  }
31
- const dropdownHeight = Math.max(this.hostElement.offsetHeight, 300);
32
- const viewportHeight = window.innerHeight;
33
- const spaceBelow = viewportHeight - triggerRect.bottom;
34
- const spaceAbove = triggerRect.top;
35
- const shouldPositionAbove = spaceBelow < dropdownHeight && spaceAbove > spaceBelow;
36
- if (shouldPositionAbove) {
37
- this.hostElement.style.cssText = `
38
- left: ${triggerRect.left}px;
39
- width: ${triggerRect.width}px;
40
- bottom: ${viewportHeight - triggerRect.top}px;
41
- top: auto;
42
- `;
43
- this.hostElement.classList.add('xpl-dropdown--above');
44
- this.hostElement.classList.remove('xpl-dropdown--below');
45
- }
46
- else {
47
- this.hostElement.style.cssText = `
48
- left: ${triggerRect.left}px;
49
- width: ${triggerRect.width}px;
50
- top: ${triggerRect.bottom}px;
51
- bottom: auto;
52
- `;
53
- this.hostElement.classList.add('xpl-dropdown--below');
54
- this.hostElement.classList.remove('xpl-dropdown--above');
55
- }
70
+ const isAbove = placement.startsWith('top');
71
+ Object.assign(this.hostElement.style, {
72
+ left: `${x}px`,
73
+ top: `${y}px`,
74
+ });
75
+ this.hostElement.classList.toggle('xpl-dropdown--above', isAbove);
76
+ this.hostElement.classList.toggle('xpl-dropdown--below', !isAbove);
56
77
  };
57
78
  this.handleClickOutside = ({ target }) => {
58
79
  const { triggerId } = this;
@@ -69,6 +90,16 @@ export class XplDropdown {
69
90
  }
70
91
  };
71
92
  }
93
+ onAnchorToTriggerChanged() {
94
+ if (this.isOpen) {
95
+ this.startPositioning();
96
+ }
97
+ }
98
+ onTriggerIdChanged() {
99
+ if (this.isOpen) {
100
+ this.startPositioning();
101
+ }
102
+ }
72
103
  onSelectedValuesChanged(newValues, initialRender = false) {
73
104
  if (this.options && this.options.length > 0) {
74
105
  const flatOptions = this.options.reduce((acc, curr) => [...acc, ...(curr.groupName ? curr.options : [curr])], []);
@@ -94,14 +125,31 @@ export class XplDropdown {
94
125
  }
95
126
  onIsOpenStateChange(newValue) {
96
127
  this.isOpenChange.emit(newValue);
128
+ if (newValue) {
129
+ this.startPositioning();
130
+ }
131
+ else {
132
+ this.stopPositioning();
133
+ }
134
+ }
135
+ connectedCallback() {
136
+ document.addEventListener('mousedown', this.handleClickOutside);
137
+ document.addEventListener('keydown', this.handleKeyDown);
138
+ }
139
+ disconnectedCallback() {
140
+ document.removeEventListener('mousedown', this.handleClickOutside);
141
+ document.removeEventListener('keydown', this.handleKeyDown);
142
+ this.stopPositioning();
97
143
  }
98
- onWindowScroll() {
99
- if (this.requestAnimationFrameId) {
100
- cancelAnimationFrame(this.requestAnimationFrameId);
144
+ componentWillLoad() {
145
+ this.handleSelect = this.handleSelect.bind(this);
146
+ if (this.selectedValues) {
147
+ this.onSelectedValuesChanged(this.selectedValues, true);
101
148
  }
102
- this.requestAnimationFrameId = requestAnimationFrame(() => {
103
- this.updateDropdownPosition();
104
- });
149
+ }
150
+ componentDidLoad() {
151
+ if (this.isOpen)
152
+ this.startPositioning();
105
153
  }
106
154
  async handleSelect(e, { component }) {
107
155
  const { hostElement, mode, options, update } = this;
@@ -140,22 +188,30 @@ export class XplDropdown {
140
188
  if (update)
141
189
  update(e, { component: this });
142
190
  }
143
- componentWillLoad() {
144
- this.handleSelect = this.handleSelect.bind(this);
145
- if (this.selectedValues) {
146
- this.onSelectedValuesChanged(this.selectedValues, true);
191
+ startPositioning() {
192
+ if (!this.anchorToTrigger || !this.triggerId) {
193
+ return;
147
194
  }
195
+ const triggerEl = document.getElementById(this.triggerId);
196
+ if (!triggerEl)
197
+ return;
198
+ this.stopPositioning();
199
+ this.cleanupAutoUpdate = autoUpdate(triggerEl, this.hostElement, () => {
200
+ this.updateDropdownPosition(triggerEl);
201
+ });
148
202
  }
149
- connectedCallback() {
150
- document.addEventListener('mousedown', this.handleClickOutside.bind(this));
151
- document.addEventListener('keydown', this.handleKeyDown);
152
- }
153
- disconnectedCallback() {
154
- document.removeEventListener('mousedown', this.handleClickOutside);
155
- document.removeEventListener('keydown', this.handleKeyDown);
156
- }
157
- componentDidLoad() {
158
- this.updateDropdownPosition();
203
+ stopPositioning() {
204
+ var _a;
205
+ if (this.cleanupAutoUpdate) {
206
+ this.cleanupAutoUpdate();
207
+ this.cleanupAutoUpdate = null;
208
+ }
209
+ this.hostElement.style.left = '';
210
+ this.hostElement.style.top = '';
211
+ this.hostElement.style.width = '';
212
+ (_a = this.hostElement
213
+ .querySelector('.xpl-dropdown-list')) === null || _a === void 0 ? void 0 : _a.style.removeProperty('max-height');
214
+ this.hostElement.classList.remove('xpl-dropdown--above', 'xpl-dropdown--below');
159
215
  }
160
216
  render() {
161
217
  const { isOpen } = this;
@@ -166,12 +222,12 @@ export class XplDropdown {
166
222
  var { groupName, options: opts, subtitle } = _a, properties = __rest(_a, ["groupName", "options", "subtitle"]);
167
223
  return groupName ? (h("xpl-dropdown-group", Object.assign({ groupName: groupName, options: opts }, properties))) : (h("xpl-dropdown-option", Object.assign({ subtitle: subtitle }, properties)));
168
224
  });
169
- return (h(Host, { key: '82f0becf57013a4f830e7c4aa56e3653b5eb43c5', "aria-expanded": isOpen, class: {
225
+ return (h(Host, { key: '9951124106d4123d98db2b9bdc906f51d145c5e6', "aria-expanded": isOpen ? 'true' : 'false', class: {
170
226
  'xpl-dropdown': true,
171
227
  'xpl-dropdown--multi': mode === 'multi',
172
228
  'xpl-dropdown--open': isOpen,
173
229
  'xpl-dropdown--anchor-to-trigger': this.anchorToTrigger,
174
- }, role: "listbox" }, h("ul", { key: '59c584beb1e538c2dff25039e8513de5865a80f1', class: "xpl-dropdown-list" }, mappedOptions || h("slot", { key: 'ff121c50de1a809031ea8be1d271b65946c2fa9a', name: "options" }))));
230
+ }, role: "listbox" }, h("slot", { key: '61b8daf20ef87a8ae7bad8fa494c104d58cc61f8', name: "header" }), h("ul", { key: 'ac14c8acf2927b931d4c74673af5f12f5d9514c1', class: "xpl-dropdown-list" }, mappedOptions || h("slot", { key: 'c820c142bdb64ec4189dd5869d71d4339dc97814', name: "options" }))));
175
231
  }
176
232
  static get is() { return "xpl-dropdown"; }
177
233
  static get properties() {
@@ -342,12 +398,12 @@ export class XplDropdown {
342
398
  "type": "unknown",
343
399
  "mutable": false,
344
400
  "complexType": {
345
- "original": "(e, { component }: { component: XplDropdown }) => void",
346
- "resolved": "(e: any, { component }: { component: XplDropdown; }) => void",
401
+ "original": "(e, { component }: { component: Dropdown }) => void",
402
+ "resolved": "(e: any, { component }: { component: Dropdown; }) => void",
347
403
  "references": {
348
- "XplDropdown": {
404
+ "Dropdown": {
349
405
  "location": "global",
350
- "id": "global::XplDropdown"
406
+ "id": "global::Dropdown"
351
407
  }
352
408
  }
353
409
  },
@@ -422,6 +478,12 @@ export class XplDropdown {
422
478
  static get elementRef() { return "hostElement"; }
423
479
  static get watchers() {
424
480
  return [{
481
+ "propName": "anchorToTrigger",
482
+ "methodName": "onAnchorToTriggerChanged"
483
+ }, {
484
+ "propName": "triggerId",
485
+ "methodName": "onTriggerIdChanged"
486
+ }, {
425
487
  "propName": "selectedValues",
426
488
  "methodName": "onSelectedValuesChanged"
427
489
  }, {
@@ -429,25 +491,4 @@ export class XplDropdown {
429
491
  "methodName": "onIsOpenStateChange"
430
492
  }];
431
493
  }
432
- static get listeners() {
433
- return [{
434
- "name": "scroll",
435
- "method": "onWindowScroll",
436
- "target": "window",
437
- "capture": true,
438
- "passive": true
439
- }, {
440
- "name": "scroll",
441
- "method": "onWindowScroll",
442
- "target": "document",
443
- "capture": true,
444
- "passive": true
445
- }, {
446
- "name": "resize",
447
- "method": "onWindowScroll",
448
- "target": "window",
449
- "capture": false,
450
- "passive": true
451
- }];
452
- }
453
494
  }
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- export class XplDynamicTable {
2
+ export class DynamicTable {
3
3
  constructor() {
4
4
  this.selectedItemCount = 0;
5
5
  this.colCount = 0;
@@ -51,7 +51,7 @@ export class XplDynamicTable {
51
51
  this.updateColumnCount();
52
52
  }
53
53
  render() {
54
- return (h("div", { key: 'f49634b51fd6fb49bcb75cc4247f683ff99d6b99', role: "grid", class: "xpl-dynamic-table", "aria-colcount": this.colCount }, h("slot", { key: 'e5cd66e212a41ce26dfaccae634ab7ee22ba9910', name: "header" }), h("slot", { key: '07e1fbec46f08e46f728340291510992d21f71a4', name: "body" })));
54
+ return (h("div", { key: 'aa9fdd991fca8dab538176a950636b52db539f7a', role: "grid", class: "xpl-dynamic-table", "aria-colcount": this.colCount }, h("slot", { key: 'd05d799f1a0d944398f1ae9992dbcbb56a52f184', name: "header" }), h("slot", { key: '7f212255dbf15e8358cef6097d55b973f73bd086', name: "body" })));
55
55
  }
56
56
  static get is() { return "xpl-dynamic-table"; }
57
57
  static get states() {
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplDynamicTableCell {
2
+ export class DynamicTableCell {
3
3
  constructor() {
4
4
  this.disabled = false;
5
5
  }
@@ -19,9 +19,9 @@ export class XplDynamicTableCell {
19
19
  }
20
20
  render() {
21
21
  const colIndex = Array.from(this.el.parentElement.children).indexOf(this.el) + 1;
22
- return (h(Host, { key: '639f0a42ea0189fb4c269de1b76c5491729f868c', role: "gridcell", "aria-colindex": colIndex, class: "xpl-dynamic-table-cell", ref: (el) => {
22
+ return (h(Host, { key: 'd4b284973e5c1f76a9355f77749c6b6432e4f469', role: "gridcell", "aria-colindex": colIndex, class: "xpl-dynamic-table-cell", ref: (el) => {
23
23
  this.hostElement = el;
24
- } }, h("slot", { key: '29864a738aa7d5e9498195ce0d22bb8d78e39989' })));
24
+ } }, h("slot", { key: 'd9365d26d5b4fb9e50cd3b08514eeae3bfdd6888' })));
25
25
  }
26
26
  static get is() { return "xpl-dynamic-table-cell"; }
27
27
  static get properties() {
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplDynamicTableRow {
2
+ export class DynamicTableRow {
3
3
  constructor() {
4
4
  this.disabled = false;
5
5
  this.selected = false;
@@ -24,9 +24,9 @@ export class XplDynamicTableRow {
24
24
  const classList = `xpl-dynamic-table-row
25
25
  ${this.isDisabled ? 'disabled' : ''}
26
26
  ${this.selected ? 'selected' : ''}`;
27
- return (h(Host, { key: '4969ae6223aa4f6604d20e657d390d8ec43eb9bd', role: "row", class: classList, ref: (el) => {
27
+ return (h(Host, { key: '7ce6f2c780af4f7bd4053970bff3e620fef4913a', role: "row", class: classList, ref: (el) => {
28
28
  this.hostElement = el;
29
- } }, h("slot", { key: '244d34612847408ddb9e0d718b1e5916b7e24b2d' })));
29
+ } }, h("slot", { key: 'b77362a23d8d69844560e7389e5cd7f6b5568d88' })));
30
30
  }
31
31
  static get is() { return "xpl-dynamic-table-row"; }
32
32
  static get properties() {
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplGrid {
2
+ export class Grid {
3
3
  componentDidLoad() {
4
4
  const items = Array.from(this.container.querySelectorAll('.xpl-grid-item'));
5
5
  let lgCounter = 0;
@@ -22,7 +22,7 @@ export class XplGrid {
22
22
  });
23
23
  }
24
24
  render() {
25
- return h(Host, { key: 'b7adecdd36342641869726ffa094578c1272dc1e', class: "xpl-grid" });
25
+ return h(Host, { key: '89b723cb2e01669c5edd69a3fbbbdce834f05dd3', class: "xpl-grid" });
26
26
  }
27
27
  static get is() { return "xpl-grid"; }
28
28
  static get elementRef() { return "container"; }
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplGridItem {
2
+ export class GridItem {
3
3
  constructor() {
4
4
  this.xs = 6;
5
5
  this.sm = 6;
@@ -12,7 +12,7 @@ export class XplGridItem {
12
12
  className += ` xpl-grid-item-sm-${this.sm}`;
13
13
  className += ` xpl-grid-item-md-${this.md}`;
14
14
  className += ` xpl-grid-item-lg-${this.lg}`;
15
- return (h(Host, { key: '4a3a254b51eae0907baf74c383b0d2b60017b69b', class: className }, h("slot", { key: 'b23f50ff733b9f3009eda4a3569a28b0636e76f4' })));
15
+ return (h(Host, { key: 'd4e9ba6dc2049aa0a88d266934a9499daf66d0a9', class: className }, h("slot", { key: 'fef8f150e57fcc72147111fe10088d46adc324d8' })));
16
16
  }
17
17
  static get is() { return "xpl-grid-item"; }
18
18
  static get properties() {
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- export class XplHeaderAccordion {
2
+ export class HeaderAccordion {
3
3
  constructor() {
4
4
  this.initialExpanded = false;
5
5
  this.disabled = false;
@@ -68,7 +68,7 @@ export class XplHeaderAccordion {
68
68
  this.applyBorderRadiusToLastRow();
69
69
  }
70
70
  render() {
71
- return (h(Host, { key: '36101a7c73fddd9944c96ed15dd6570b20ae031d', class: "xpl-header-accordion" }, h("div", { key: 'a58005a8bafb5d56e73c6a78dc4f88a8285ee8fa', class: `header-accordion header-accordion--${this.expanded ? 'expanded' : 'collapsed'}` }, this.hasCheckbox && (h("xpl-checkbox", { key: '6e96eb7c2670ac82a0f6b088a93fd09127338328', class: "xpl-header-accordion__parent-checkbox", checked: this.parentChecked, disabled: this.disabled, indeterminate: this.parentIndeterminate, onCheckboxChange: (event) => this.handleParentCheckboxChange(event.detail) })), h("button", { key: '097ecde99648e1ab397a2b65becdf525e03c21c4', "aria-expanded": this.expanded, "aria-controls": this.contentId, class: "toggle-area", onClick: this.toggleAccordion, type: "button" }, h("slot", { key: '002e4645b7df25d7725e6f9860c815fe3977fa62', name: "title" }), h("xpl-icon", { key: '04492dda041fabc3deeb4031cab2d2ebeae1f766', size: 16, icon: "chevron-down", class: this.expanded && 'rotate' }))), h("div", { key: '310457718b09b0481040c83dc73327251be308cd', id: this.contentId, role: "region", class: !this.expanded ? 'content--hidden' : 'content--shown' }, h("slot", { key: 'c13229b1538cae02a449bf00483174824de17f3a', name: "content" }))));
71
+ return (h(Host, { key: '511ce0498294e0064e94ff14b847f75260c6c7cf', class: "xpl-header-accordion" }, h("div", { key: '75550adfe2cff80c32e3fe73bfba5888a4bfc91d', class: `header-accordion header-accordion--${this.expanded ? 'expanded' : 'collapsed'}` }, this.hasCheckbox && (h("xpl-checkbox", { key: 'd46601b19497594f44b4633228a6f020f29c8914', class: "xpl-header-accordion__parent-checkbox", checked: this.parentChecked, disabled: this.disabled, indeterminate: this.parentIndeterminate, onCheckboxChange: (event) => this.handleParentCheckboxChange(event.detail) })), h("button", { key: 'b15087f6e34cd0d31e77d5c3b35640b7734ed556', "aria-expanded": this.expanded, "aria-controls": this.contentId, class: "toggle-area", onClick: this.toggleAccordion, type: "button" }, h("slot", { key: '8f655d108a016212852f0a7138fa82ea386ed26a', name: "title" }), h("xpl-icon", { key: 'abe7fb2fe4a19db7bcd2cbed7fec903cbeeaee4d', size: 16, icon: "chevron-down", class: this.expanded && 'rotate' }))), h("div", { key: 'e86c0a67e94b24f4c39386e8f728de34242e7344', id: this.contentId, role: "region", class: !this.expanded ? 'content--hidden' : 'content--shown' }, h("slot", { key: 'a86303b3cf41724f65e10db14d0f6464c68d49c2', name: "content" }))));
72
72
  }
73
73
  static get is() { return "xpl-header-accordion"; }
74
74
  static get properties() {
@@ -1,6 +1,6 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import apolloIcons from "@xplortech/apollo-icons";
3
- export class XplIcon {
3
+ export class Icon {
4
4
  render() {
5
5
  var _a;
6
6
  let options = {};
@@ -16,10 +16,10 @@ export class XplIcon {
16
16
  let wrapperClasses = 'xpl-icon__wrapper ';
17
17
  if (this.backgroundColor)
18
18
  wrapperClasses += `xpl-icon__wrapper--with-background xpl-icon__wrapper--with-background--${this.backgroundColor}`;
19
- return (h(Host, { key: '485fe60cec37994f94402756a16f068176b1cbbb' }, h("figure", { key: '9767c5743a3520c36f7733b7f1bf92847af78eb2', class: wrapperClasses }, h("span", { key: 'f11637a97e7a0d1a28572743d8facd78c0b902fc', "aria-label": this.icon, role: "img", class: "xpl-icon", style: {
19
+ return (h(Host, { key: 'c622a660e3ed7d9dce7dc08a868360ffc43f2f8d' }, h("figure", { key: 'c12f8de568fa6e652914fbc894a1269f6085d880', class: wrapperClasses }, h("span", { key: 'a8386f0d0fc3848a36b5120dd5f24356c403d0f5', "aria-label": this.icon, role: "img", class: "xpl-icon", style: {
20
20
  width: `${options.width}px`,
21
21
  height: `${options.height}px`,
22
- }, innerHTML: (_a = apolloIcons.getIcon(this.icon)) === null || _a === void 0 ? void 0 : _a.toSVG(options) }), h("figcaption", { key: '5293e424f6ef17fc99e7ffad8615861b1ac0443d' }, this.icon, " icon"))));
22
+ }, innerHTML: (_a = apolloIcons.getIcon(this.icon)) === null || _a === void 0 ? void 0 : _a.toSVG(options) }), h("figcaption", { key: '4d56222dc219feedd1e8e2c957ca01728a845b56' }, this.icon, " icon"))));
23
23
  }
24
24
  static get is() { return "xpl-icon"; }
25
25
  static get originalStyleUrls() {
@@ -32,20 +32,14 @@ export default {
32
32
  type: { name: 'string', required: false },
33
33
  },
34
34
  type: {
35
- options: ['text', 'number', 'file', 'password', 'date', 'time', 'color'],
35
+ options: ['text', 'number', 'file', 'password', 'date', 'time', 'color', 'phone'],
36
36
  control: {
37
37
  type: 'select',
38
38
  },
39
39
  },
40
- timeFormat: {
41
- control: {
42
- type: 'select',
43
- },
44
- options: ['12h', '24h'],
45
- },
46
40
  },
47
41
  };
48
- export const Input = ({ label, description, disabled, error, errorMessage, pre, post, type }) => {
42
+ export const Input = ({ label, description, disabled, error, errorMessage, pre, post, type, defaultCountry, isInternational, }) => {
49
43
  let attrs = '';
50
44
  if (label)
51
45
  attrs += ` label="${label}"`;
@@ -60,7 +54,11 @@ export const Input = ({ label, description, disabled, error, errorMessage, pre,
60
54
  if (post)
61
55
  attrs += ` post="${post}"`;
62
56
  if (type !== 'text')
63
- attrs += ` type=${type}`;
57
+ attrs += ` type="${type}"`;
58
+ if (type === 'phone' && defaultCountry)
59
+ attrs += ` default-country="${defaultCountry}"`;
60
+ if (type === 'phone' && isInternational === false)
61
+ attrs += ` is-international="false"`;
64
62
  return `<xpl-input${attrs} name="input-name" placeholder="Placeholder"></xpl-input>`;
65
63
  };
66
64
  Input.args = {
@@ -72,6 +70,20 @@ Input.args = {
72
70
  pre: '',
73
71
  post: '',
74
72
  type: 'text',
73
+ defaultCountry: 'US',
74
+ isInternational: true,
75
+ };
76
+ Input.argTypes = {
77
+ defaultCountry: {
78
+ control: { type: 'text' },
79
+ description: 'Default country (ISO code) for phone input',
80
+ if: { arg: 'type', eq: 'phone' },
81
+ },
82
+ isInternational: {
83
+ control: { type: 'boolean' },
84
+ description: 'Enables international mode with country selector. When false, locked to defaultCountry with no picker.',
85
+ if: { arg: 'type', eq: 'phone' },
86
+ },
75
87
  };
76
88
  Input.parameters = {
77
89
  layout: 'centered',
@@ -306,6 +318,12 @@ Timepicker.args = {
306
318
  max: '18:00',
307
319
  type: 'time',
308
320
  };
321
+ Timepicker.argTypes = {
322
+ timeFormat: {
323
+ control: { type: 'select' },
324
+ options: ['12h', '24h'],
325
+ },
326
+ };
309
327
  Timepicker.parameters = {
310
328
  layout: 'centered',
311
329
  'web-component': {
@@ -533,3 +551,51 @@ Color.parameters = {
533
551
  })(Color.args),
534
552
  },
535
553
  };
554
+ export const Phone = ({ label, description, placeholder, disabled, defaultCountry, isInternational, value, }) => {
555
+ let attrs = ` type="phone" label="${label}" name="phone" placeholder="${placeholder}"`;
556
+ if (description)
557
+ attrs += ` description="${description}"`;
558
+ if (disabled)
559
+ attrs += ` disabled`;
560
+ if (defaultCountry)
561
+ attrs += ` default-country="${defaultCountry}"`;
562
+ if (isInternational === false)
563
+ attrs += ` is-international="false"`;
564
+ if (value)
565
+ attrs += ` value="${value}"`;
566
+ return `<xpl-input${attrs}></xpl-input>`;
567
+ };
568
+ Phone.args = {
569
+ defaultCountry: 'US',
570
+ description: 'Enter your phone number with country code',
571
+ disabled: false,
572
+ error: false,
573
+ errorMessage: '',
574
+ isInternational: true,
575
+ label: 'Phone number',
576
+ placeholder: 'Enter number',
577
+ value: '+0000000000',
578
+ };
579
+ Phone.argTypes = {
580
+ isInternational: {
581
+ control: { type: 'boolean' },
582
+ description: 'Enables international mode with country selector. When false, locked to defaultCountry with no picker.',
583
+ },
584
+ };
585
+ Phone.parameters = {
586
+ layout: 'centered',
587
+ 'web-component': {
588
+ render: Phone(Phone.args),
589
+ },
590
+ html: {
591
+ render: (() => `
592
+ <div class="xpl-input">
593
+ <label class="xpl-input-label" for="phone-id">${Phone.args.label}</label>
594
+ ${Phone.args.description ? `<small>${Phone.args.description}</small>` : ''}
595
+ <div class="xpl-input-wrapper xpl-input-phone">
596
+ <button type="button" class="xpl-input-phone__trigger" aria-haspopup="listbox">+1</button>
597
+ <input type="tel" id="phone-id" name="phone" placeholder="${Phone.args.placeholder}" class="xpl-input-phone__input" />
598
+ </div>
599
+ </div>`)(),
600
+ },
601
+ };