@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,38 +1,175 @@
1
1
  # xpl-button
2
2
 
3
- Buttons allow users to take an action. Three sizes and three sentiments are available with leading and trailing icons. Hide an icon and the label for an icon-only button.
3
+ Buttons allow users to take an action with clear visual hierarchy (variant), semantic meaning (sentiment), and size.
4
+
5
+ ## Usage
6
+
7
+ > [!IMPORTANT]
8
+ > Older props such as `state` still work, but we recommend using the sentiment described below.
9
+
10
+
11
+ ### Basic button
12
+
13
+ Pass button text via the default slot (same as native `<button>`):
14
+
15
+ ```html
16
+ <xpl-button>Primary action</xpl-button>
17
+ ```
18
+
19
+ ### Variant and sentiment
20
+
21
+ Use `variant` for style (primary, secondary, tertiary) and `sentiment` for intent (default, positive, negative):
22
+
23
+ ```html
24
+ <xpl-button variant="secondary">Secondary</xpl-button>
25
+ <xpl-button variant="tertiary" sentiment="positive">Positive action</xpl-button>
26
+ <xpl-button sentiment="negative">Destructive</xpl-button>
27
+ ```
28
+
29
+ ### Size
30
+
31
+ Use **`size`** for button size: `default`, `sm` (small), or `xs` (extra small):
32
+
33
+ ```html
34
+ <xpl-button size="sm">Small</xpl-button>
35
+ <xpl-button size="xs">Extra small</xpl-button>
36
+ ```
37
+
38
+ ### Icon from Apollo icon library
39
+
40
+ Use `icon` with a name from the xpl-icon library; use `icon-position` to place the icon at start or end:
41
+
42
+ ```html
43
+ <xpl-button icon="download" icon-position="end">
44
+ Download
45
+ </xpl-button>
46
+ ```
47
+
48
+ ### Icon-only button
49
+
50
+ Use `icon-only` when the button shows only an icon (no label). Always set `icon` and use a descriptive `aria-label` on the host or inner button for accessibility:
51
+
52
+ ```html
53
+ <xpl-button icon-only icon="x" aria-label="Close"></xpl-button>
54
+ ```
55
+
56
+ ### Loading state
57
+
58
+ When `is-loading` is true, the button shows a spinner, hides the label and icon, stays the same size, and is non-interactive:
59
+
60
+ ```html
61
+ <xpl-button is-loading>Submitting</xpl-button>
62
+ ```
63
+
64
+ ### Form submission
65
+
66
+ The component renders a native `<button>`. Use `type` (`submit`, `reset`, or `button`), `name`, `value`, and `form` for form behaviour:
67
+
68
+ ```html
69
+ <form id="my-form">
70
+ <xpl-button type="submit" name="action" value="save">Save</xpl-button>
71
+ </form>
72
+ ```
73
+
74
+ ### Disabled
75
+
76
+ Use the `disabled` prop to disable the button (same as native `disabled`):
77
+
78
+ ```html
79
+ <xpl-button disabled>Disabled</xpl-button>
80
+ ```
81
+
82
+ ## DOM classes
83
+
84
+ The host element includes BEM-style classes, including:
85
+
86
+ - **Size:** `xpl-button--default` | `xpl-button--sm` | `xpl-button--xs`
87
+ - **Variant:** `xpl-button--primary` | `xpl-button--secondary` | `xpl-button--tertiary` (and `xpl-button--subtle` while that value is still supported)
88
+ - **Sentiment:** `xpl-button--neutral` | `xpl-button--positive` | `xpl-button--negative` when using `sentiment`
89
+ - **Deprecated `state`:** if set, legacy classes `xpl-button--neutral` | `xpl-button--warning` | `xpl-button--success` are applied instead of the sentiment-based classes above (see migration)
90
+
91
+ Prefer targeting **`sentiment`** + **`variant`** + **`size`** in new code; avoid relying on deprecated `state` class names for new selectors.
92
+
93
+ ## Migration Notes:
94
+
95
+ The class **`xpl-button--default`** on the host continues to mean **size** (`size="default"`), not sentiment.
96
+
97
+ ### Deprecated `state` prop
98
+
99
+ The **`state`** prop (`neutral` | `warning` | `success`) is deprecated. Use **`sentiment`** instead:
100
+
101
+ | Old `state` | New `sentiment` |
102
+ | ------------- | ----------------- |
103
+ | `neutral` | `neutral` (default) |
104
+ | `warning` | `negative` |
105
+ | `success` | `positive` |
106
+
107
+ **Backward compatibility:** if **`state`** is set, it controls the sentiment segment of the host class list (`xpl-button--neutral`, `xpl-button--warning`, `xpl-button--success`) so existing styles or tests that key off those class names can keep working. New work should use **`sentiment`** only (`neutral` | `negative` | `positive`).
108
+
109
+ ### Deprecated `variant="subtle"` → `tertiary`
110
+
111
+ **`variant="subtle"`** is deprecated and retained only for backward compatibility, applying the **`xpl-button--subtle`** class. Use **`variant="tertiary"`** instead, which applies **`xpl-button--tertiary`**.
112
+
113
+ ### Other API notes
114
+
115
+ - **`isLoading` / `is-loading`:** loading UI without forcing the disabled (gray) visual treatment.
116
+ - **`icon`**, **`icon-position`**, **`icon-only`:** use Apollo icon names; no inline SVGs required.
117
+ - **`data-*` and `aria-*` on the host:** mirrored onto the inner `<button>` after render for accessibility and testing tools.
118
+
119
+ ## Guidelines
120
+
121
+ - **Pass button content via the default slot:** `<xpl-button>Save</xpl-button>`. Slots support rich content (formatted text, inline icons, etc.).
122
+ - Use **`iconOnly`** for icon-only buttons and provide an **`aria-label`** (or ensure the inner button has an accessible name).
123
+ - Use **`icon`** for icon names from the xpl-icon library; use **`icon-position`** to place the icon at start or end of the slot content.
124
+
125
+ ## Accessibility
126
+
127
+ - The component renders a native `<button>`, so it is focusable and keyboard-activable by default.
128
+ - When **`is-loading`** is true, the inner button has `aria-busy="true"` and the loading spinner is marked **`aria-hidden="true"`** so the label remains the accessible name.
129
+ - For **icon-only** buttons, provide an accessible name via **`aria-label`** on the host (e.g. `<xpl-button icon-only icon="x" aria-label="Close">`) so screen readers announce the action.
4
130
 
5
131
  <!-- Auto Generated Below -->
6
132
 
7
133
 
8
134
  ## Properties
9
135
 
10
- | Property | Attribute | Description | Type | Default |
11
- | ----------- | ------------ | ------------------------------------------------- | -------------------------------------- | ----------- |
12
- | `disabled` | `disabled` | whether button should be disabled | `boolean` | `undefined` |
13
- | `form` | `form` | | `string` | `undefined` |
14
- | `fullWidth` | `full-width` | whether button should render with full width | `boolean` | `undefined` |
15
- | `iconOnly` | `icon-only` | whether button should render icon only | `boolean` | `undefined` |
16
- | `link` | `link` | whether button should yield a slot for a link tag | `boolean` | `undefined` |
17
- | `name` | `name` | | `string` | `undefined` |
18
- | `size` | `size` | | `"default" \| "sm" \| "xs"` | `'default'` |
19
- | `state` | `state` | | `"neutral" \| "success" \| "warning"` | `'neutral'` |
20
- | `type` | `type` | | `"button" \| "reset" \| "submit"` | `undefined` |
21
- | `value` | `value` | | `string` | `undefined` |
22
- | `variant` | `variant` | | `"primary" \| "secondary" \| "subtle"` | `'primary'` |
136
+ | Property | Attribute | Description | Type | Default |
137
+ | -------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ----------- |
138
+ | `disabled` | `disabled` | Whether button should be disabled | `boolean` | `false` |
139
+ | `form` | `form` | An optional form attribute for the button if type is submit | `string` | `undefined` |
140
+ | `fullWidth` | `full-width` | Whether the button should be of full width as per parent container. | `boolean` | `false` |
141
+ | `icon` | `icon` | Icon to render - icon name as string (from xpl-icon library). | `string` | `''` |
142
+ | `iconOnly` | `icon-only` | When true, the button renders in icon-only circular style. Use for icon-only buttons. | `boolean` | `false` |
143
+ | `iconPosition` | `icon-position` | Icon position relative to slot content. Ignored if no icon is provided. | `"end" \| "start"` | `'start'` |
144
+ | `isLoading` | `is-loading` | When true, shows a loading overlay with spinner over the button. Button is non-interactive. | `boolean` | `false` |
145
+ | `link` | `link` | whether button should yield a slot for a link tag | `boolean` | `undefined` |
146
+ | `name` | `name` | Name of the button, submitted with form data. Passed through to the native button element. | `string` | `undefined` |
147
+ | `sentiment` | `sentiment` | Sentiment of the button, which applies different color schemes to indicate purpose/intent. | `"negative" \| "neutral" \| "positive"` | `'neutral'` |
148
+ | `size` | `size` | Button size. Use 'default', 'xs' (extra small), or 'sm' (small). | `"default" \| "sm" \| "xs"` | `'default'` |
149
+ | `state` | `state` | <span style="color:red">**[DEPRECATED]**</span> : Use `sentiment` with values "neutral", "negative", "positive" instead of `state` .<br/><br/> | `"neutral" \| "success" \| "warning"` | `undefined` |
150
+ | `type` | `type` | HTML button type attribute. | `"button" \| "reset" \| "submit"` | `undefined` |
151
+ | `value` | `value` | Value of the button, submitted with form data. Passed through to the native button element. | `string` | `undefined` |
152
+ | `variant` | `variant` | Button variant/style. Use "primary", "secondary", "tertiary" for new usage. "subtle" is deprecated but still supported for backward compatibility. | `"primary" \| "secondary" \| "subtle" \| "tertiary"` | `'primary'` |
23
153
 
24
154
 
25
155
  ## Dependencies
26
156
 
27
157
  ### Used by
28
158
 
159
+ - [xpl-banner](../xpl-banner)
29
160
  - [xpl-button-row](../xpl-button-row)
30
161
  - [xpl-modal](../xpl-modal)
31
162
  - [xpl-slideout](../xpl-slideout)
32
163
 
164
+ ### Depends on
165
+
166
+ - [xpl-icon](../xpl-icon)
167
+
33
168
  ### Graph
34
169
  ```mermaid
35
170
  graph TD;
171
+ xpl-button --> xpl-icon
172
+ xpl-banner --> xpl-button
36
173
  xpl-button-row --> xpl-button
37
174
  xpl-modal --> xpl-button
38
175
  xpl-slideout --> xpl-button
@@ -33,6 +33,7 @@
33
33
  ```mermaid
34
34
  graph TD;
35
35
  xpl-button-row --> xpl-button
36
+ xpl-button --> xpl-icon
36
37
  style xpl-button-row fill:#f9f,stroke:#333,stroke-width:4px
37
38
  ```
38
39
 
@@ -1,6 +1,7 @@
1
1
  # xpl-calendar
2
2
 
3
-
3
+ Calendars allow users to view and select dates. Use XPL-Calendar when date picking is needed on a page or in a in a container.
4
+ If a calendar is needed within a form, use [XPL-Datepicker](https://xplor-apollo.herokuapp.com/?path=/story/components-input--datepicker).
4
5
 
5
6
  <!-- Auto Generated Below -->
6
7
 
@@ -1,5 +1,7 @@
1
1
  # xpl-checkbox
2
2
 
3
+ Checkboxes allow users to make selections or choices. Checkboxes can be multi-select, and also act as controls.
4
+
3
5
  <!-- Auto Generated Below -->
4
6
 
5
7
 
@@ -1,5 +1,6 @@
1
1
  # xpl-choicelist
2
2
 
3
+ A Choice List allows users to make single or multiple selections from a list of choices. This component is meant to consume the radio and checkbox components, either styled or unstyled, then allow for customizing an option list very quickly.
3
4
  <!-- Auto Generated Below -->
4
5
 
5
6
 
@@ -1,8 +1,8 @@
1
1
  # xpl-data-card
2
2
 
3
- The `icon` and `smallStatIcon` properties accept icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list.
3
+ Data Cards display snippets of information and can be linked to larger data sets. Data Cards give users "at a glance" information about their data.
4
4
 
5
- ---
5
+ The `icon` and `smallStatIcon` properties accept icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list.
6
6
 
7
7
  <!-- Auto Generated Below -->
8
8
 
@@ -1,6 +1,6 @@
1
1
  # xpl-divider
2
2
 
3
-
3
+ Allows for easy separation and titling of sections within forms or other content.
4
4
 
5
5
  <!-- Auto Generated Below -->
6
6
 
@@ -10,17 +10,17 @@ A selection within a dropdown does not change the parent trigger.
10
10
 
11
11
  ## Properties
12
12
 
13
- | Property | Attribute | Description | Type | Default |
14
- | ----------------- | ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------- | ----------- |
15
- | `anchorToTrigger` | `anchor-to-trigger` | whether to anchor the dropdown to the trigger element, requires triggerId to be set | `boolean` | `false` |
16
- | `closeOnSelect` | `close-on-select` | options that are listed | `boolean` | `true` |
17
- | `isOpen` | `open` | text to display as heading | `boolean` | `false` |
18
- | `mode` | `mode` | constant representing number of options that can be selected | `"multi" \| "single"` | `'single'` |
19
- | `options` | -- | options that are listed | `Partial<DropdownOption & DropdownOptionGroup>[]` | `undefined` |
20
- | `selectOnFocus` | `select-on-focus` | whether selection should be made when focusing on interactive element | `boolean` | `false` |
21
- | `selectedValues` | `selected-values` | The currently selected value(s) in the dropdown. | `string \| string[]` | `undefined` |
22
- | `triggerId` | `trigger-id` | the id for the element that triggers the open state | `string` | `undefined` |
23
- | `update` | -- | call back function invoked when a selection is made | `(e: any, { component }: { component: XplDropdown; }) => void` | `undefined` |
13
+ | Property | Attribute | Description | Type | Default |
14
+ | ----------------- | ------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------- | ----------- |
15
+ | `anchorToTrigger` | `anchor-to-trigger` | whether to anchor the dropdown to the trigger element, requires triggerId to be set | `boolean` | `false` |
16
+ | `closeOnSelect` | `close-on-select` | options that are listed | `boolean` | `true` |
17
+ | `isOpen` | `open` | text to display as heading | `boolean` | `false` |
18
+ | `mode` | `mode` | constant representing number of options that can be selected | `"multi" \| "single"` | `'single'` |
19
+ | `options` | -- | options that are listed | `Partial<DropdownOption & DropdownOptionGroup>[]` | `undefined` |
20
+ | `selectOnFocus` | `select-on-focus` | whether selection should be made when focusing on interactive element | `boolean` | `false` |
21
+ | `selectedValues` | `selected-values` | The currently selected value(s) in the dropdown. | `string \| string[]` | `undefined` |
22
+ | `triggerId` | `trigger-id` | the id for the element that triggers the open state | `string` | `undefined` |
23
+ | `update` | -- | call back function invoked when a selection is made | `(e: any, { component }: { component: Dropdown; }) => void` | `undefined` |
24
24
 
25
25
 
26
26
  ## Events
@@ -54,6 +54,7 @@ Type: `Promise<void>`
54
54
 
55
55
  ### Used by
56
56
 
57
+ - [xpl-input-phone](../xpl-input/xpl-input-phone)
57
58
  - [xpl-input-time](../xpl-input/xpl-input-time)
58
59
  - [xpl-select](../xpl-select)
59
60
 
@@ -70,6 +71,8 @@ graph TD;
70
71
  xpl-dropdown-group --> xpl-dropdown-group
71
72
  xpl-dropdown-group --> xpl-dropdown-option
72
73
  xpl-dropdown-group --> xpl-dropdown-heading
74
+ xpl-dropdown-option --> xpl-icon
75
+ xpl-input-phone --> xpl-dropdown
73
76
  xpl-input-time --> xpl-dropdown
74
77
  xpl-select --> xpl-dropdown
75
78
  style xpl-dropdown fill:#f9f,stroke:#333,stroke-width:4px
@@ -30,6 +30,7 @@
30
30
  ```mermaid
31
31
  graph TD;
32
32
  xpl-dropdown-group --> xpl-dropdown-group
33
+ xpl-dropdown-option --> xpl-icon
33
34
  xpl-dropdown --> xpl-dropdown-group
34
35
  style xpl-dropdown-group fill:#f9f,stroke:#333,stroke-width:4px
35
36
  ```
@@ -9,6 +9,7 @@
9
9
 
10
10
  | Property | Attribute | Description | Type | Default |
11
11
  | ------------ | ---------- | ----------------------------------------------------------------------------------------- | --------- | ----------- |
12
+ | `icon` | `icon` | optional icon name to display before the label (uses xpl-icon) | `string` | `undefined` |
12
13
  | `isDisabled` | `disabled` | whether option is disabled | `boolean` | `undefined` |
13
14
  | `isSelected` | `selected` | whether option is selected | `boolean` | `undefined` |
14
15
  | `label` | `label` | text to display for option | `string` | `undefined` |
@@ -23,9 +24,14 @@
23
24
  - [xpl-dropdown](..)
24
25
  - [xpl-dropdown-group](../xpl-dropdown-group)
25
26
 
27
+ ### Depends on
28
+
29
+ - [xpl-icon](../../xpl-icon)
30
+
26
31
  ### Graph
27
32
  ```mermaid
28
33
  graph TD;
34
+ xpl-dropdown-option --> xpl-icon
29
35
  xpl-dropdown --> xpl-dropdown-option
30
36
  xpl-dropdown-group --> xpl-dropdown-option
31
37
  style xpl-dropdown-option fill:#f9f,stroke:#333,stroke-width:4px
@@ -33,18 +33,24 @@ The `icon` property accepts any icon name as a string. See the links above for t
33
33
  ### Used by
34
34
 
35
35
  - [xpl-accordion](../xpl-accordion)
36
+ - [xpl-banner](../xpl-banner)
37
+ - [xpl-button](../xpl-button)
36
38
  - [xpl-data-card](../xpl-data-card)
39
+ - [xpl-dropdown-option](../xpl-dropdown/xpl-dropdown-option)
37
40
  - [xpl-header-accordion](../xpl-header-accordion)
38
41
  - [xpl-input](../xpl-input)
39
42
  - [xpl-input-color](../xpl-input/xpl-input-color)
40
43
  - [xpl-input-date](../xpl-input/xpl-input-date)
41
44
  - [xpl-input-file](../xpl-input/xpl-input-file)
45
+ - [xpl-input-phone](../xpl-input/xpl-input-phone)
42
46
  - [xpl-input-time](../xpl-input/xpl-input-time)
43
47
  - [xpl-large-card](../xpl-large-card)
44
48
  - [xpl-list](../xpl-list)
45
49
  - [xpl-modal](../xpl-modal)
46
50
  - [xpl-pagination](../xpl-pagination)
51
+ - [xpl-progress-bar](../xpl-progress-bar)
47
52
  - [xpl-select](../xpl-select)
53
+ - [xpl-side-nav-item](../xpl-side-nav/xpl-side-nav-item)
48
54
  - [xpl-slideout](../xpl-slideout)
49
55
  - [xpl-table](../xpl-table)
50
56
  - [xpl-table-header-cell](../xpl-table-header-cell)
@@ -55,18 +61,24 @@ The `icon` property accepts any icon name as a string. See the links above for t
55
61
  ```mermaid
56
62
  graph TD;
57
63
  xpl-accordion --> xpl-icon
64
+ xpl-banner --> xpl-icon
65
+ xpl-button --> xpl-icon
58
66
  xpl-data-card --> xpl-icon
67
+ xpl-dropdown-option --> xpl-icon
59
68
  xpl-header-accordion --> xpl-icon
60
69
  xpl-input --> xpl-icon
61
70
  xpl-input-color --> xpl-icon
62
71
  xpl-input-date --> xpl-icon
63
72
  xpl-input-file --> xpl-icon
73
+ xpl-input-phone --> xpl-icon
64
74
  xpl-input-time --> xpl-icon
65
75
  xpl-large-card --> xpl-icon
66
76
  xpl-list --> xpl-icon
67
77
  xpl-modal --> xpl-icon
68
78
  xpl-pagination --> xpl-icon
79
+ xpl-progress-bar --> xpl-icon
69
80
  xpl-select --> xpl-icon
81
+ xpl-side-nav-item --> xpl-icon
70
82
  xpl-slideout --> xpl-icon
71
83
  xpl-table --> xpl-icon
72
84
  xpl-table-header-cell --> xpl-icon
@@ -1,43 +1,48 @@
1
1
  # xpl-input
2
2
 
3
+ A flexible form input that supports multiple `type` values: `text`, `number`, `password`, `date`, `time`, `file`, `color`, and `phone`. Each type delegates to a dedicated sub-component (`xpl-input-date`, `xpl-input-time`, `xpl-input-phone`, etc.) while sharing a common label, description, and error-message wrapper.
3
4
 
5
+ For `type="phone"`, the value is always emitted in **E.164** format (e.g. `+14155551234`). See [`xpl-input-phone`](xpl-input-phone) for full phone-input documentation.
4
6
 
5
7
  <!-- Auto Generated Below -->
6
8
 
7
9
 
8
10
  ## Properties
9
11
 
10
- | Property | Attribute | Description | Type | Default |
11
- | --------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------- |
12
- | `_id` | `_id` | Because `id` is a reserved HTMLElement attribute, we prefix it with an underscore here so that it doesn't get automatically applied to the outer container. Applies to all input types. | `string` | `undefined` |
13
- | `accept` | `accept` | The accepted file types for the file input. Corresponds to the `accept` attribute on the input element. Example: 'image/*' for all image types, '.pdf' for PDF files, etc. Applies to file inputs. | `string` | `''` |
14
- | `allowCustomOption` | `allow-custom-option` | For time inputs, whether to allow custom option in the input even if not available in the dropdown. Example: A step of 30 minutes will allow 15:03, 15:37, etc. Applies to time inputs. | `boolean` | `false` |
15
- | `autocomplete` | `autocomplete` | Hint for form autofill feature Applies to text, password, number. | `string` | `undefined` |
16
- | `dateFormat` | `date-format` | The date format to use for the datepicker input. This is used by flatpickr to format the date. Default is 'Y-m-d' (e.g., 2023-10-01). See https://flatpickr.js.org/formatting/ for more details. Applies to date inputs. | `string` | `'Y-m-d'` |
17
- | `description` | `description` | Optional text that appears below the input label. Applies to all input types. | `string` | `undefined` |
18
- | `disabled` | `disabled` | Whether the field is disabled Applies to all input types. | `boolean` | `undefined` |
19
- | `error` | `error` | If an empty string (attribute present with no value), will display visually as an error. If a string is included, will display visually as an error and include the value as an error message. Applies to all input types. | `string` | `undefined` |
20
- | `hideAcceptText` | `hide-accept-text` | Hides the "Accept" text that indicates the accepted file types This is useful for cases where you want to hide the "Accept" text. Applies to file inputs. | `boolean` | `false` |
21
- | `hideEyeDropper` | `hide-eye-dropper` | Hide eye dropper Applies to color inputs. | `boolean` | `undefined` |
22
- | `hideFileNames` | `hide-file-names` | Hides the file names in the file upload component This is useful for cases where you want to hide the file names after selection. Applies to file inputs. | `boolean` | `false` |
23
- | `hideTriggerOnSelect` | `hide-trigger-on-select` | Hides the trigger element when a file is selected. This is useful for cases where you want to hide the trigger after a file is selected. Applies to file inputs. | `boolean` | `false` |
24
- | `label` | `label` | Label text for the field Applies to all input types. | `string` | `undefined` |
25
- | `max` | `max` | Maximum value for the input. Applies to number, time, and date inputs. If the input is a time input, the value must be in 24 hour format, ex: 18:25 for 6:25 PM | `number \| string` | `undefined` |
26
- | `maxCharacterCount` | `max-character-count` | For multiline inputs, a max. character count will display along with the current character count, and will automatically render as an error if the character count exceeds the max. This is only applicable if `multiline` is `true`. | `number` | `undefined` |
27
- | `min` | `min` | The minimum value for the input. Applies to number, time, and date inputs. If the input is a time input, the value must be in 24 hour format, ex: 05:25 for 5:25 AM | `number \| string` | `undefined` |
28
- | `mode` | `mode` | For datepicker inputs, whether to allow only a single date or a range of dates. (Multiple non-consecutive dates planned to be supported in the future.) Applies to date inputs. | `"range" \| "single"` | `'single'` |
29
- | `multiline` | `multiline` | Whether to render as a singleline text input or as a multiline textarea. (If `true`, `pre` and `post` values will be ignored, if present.) Applies to text inputs. | `boolean` | `false` |
30
- | `multiple` | `multiple` | Whether the user can select multiple files at once. Corresponds to the `multiple` attribute on the input element. Applies to file inputs. | `boolean` | `false` |
31
- | `name` | `name` | Most inputs are used in forms, and should have a `name` associated with the input for handling form data. Applies to all input types. | `string` | `undefined` |
32
- | `placeholder` | `placeholder` | Placeholder text that appears when the field has no value Applies to text, password, number, and date inputs. | `string` | `undefined` |
33
- | `post` | `post` | A string (recommended max 3 characters) that gets shown visually to the left of (before) the input. Applies to text, password, number, and date inputs. Note: This will be ignored if `multiline` is `true`. | `string` | `undefined` |
34
- | `pre` | `pre` | A string (recommended max 8 characters) that gets shown visually to the right of (after) the input. Applies to text, password, number, and date inputs. Note: This will be ignored if `multiline` is `true`. | `string` | `undefined` |
35
- | `readonly` | `readonly` | Whether the input is editable Applies to text, password, number, and date inputs. | `boolean` | `undefined` |
36
- | `required` | `required` | Whether the input is required Applies to all input types. | `boolean` | `undefined` |
37
- | `step` | `step` | The granularity that the value in a `number` input must adhere to when incrementing or decrementing. The default stepping value for number inputs is 1 Applies to number and time inputs. | `number` | `undefined` |
38
- | `timeFormat` | `time-format` | The time format to display for the input. Applies to time inputs. If 12h is selected, the value will be displayed in 12 hour format, ex: 05:25 PM for 17:25 If 24h is selected, the value will be displayed in 24 hour format, ex: 17:25 for 17:25 | `"12h" \| "24h"` | `'24h'` |
39
- | `type` | `type` | The type of form control | `"color" \| "date" \| "file" \| "number" \| "password" \| "text" \| "time"` | `'text'` |
40
- | `value` | `value` | Including a `value` will pre-populate the input with the given string. Applies to text, password, number, and date inputs. | `string` | `undefined` |
12
+ | Property | Attribute | Description | Type | Default |
13
+ | --------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------- |
14
+ | `_id` | `_id` | Because `id` is a reserved HTMLElement attribute, we prefix it with an underscore here so that it doesn't get automatically applied to the outer container. Applies to all input types. | `string` | `undefined` |
15
+ | `accept` | `accept` | The accepted file types for the file input. Corresponds to the `accept` attribute on the input element. Example: 'image/*' for all image types, '.pdf' for PDF files, etc. Applies to file inputs. | `string` | `''` |
16
+ | `allowCustomOption` | `allow-custom-option` | For time inputs, whether to allow custom option in the input even if not available in the dropdown. Example: A step of 30 minutes will allow 15:03, 15:37, etc. Applies to time inputs. | `boolean` | `false` |
17
+ | `autocomplete` | `autocomplete` | Hint for form autofill feature Applies to text, password, number. | `string` | `undefined` |
18
+ | `dateFormat` | `date-format` | The date format to use for the datepicker input. This is used by flatpickr to format the date. Default is 'Y-m-d' (e.g., 2023-10-01). See https://flatpickr.js.org/formatting/ for more details. Applies to date inputs. | `string` | `'Y-m-d'` |
19
+ | `defaultCountry` | `default-country` | Default country code (ISO 3166-1 alpha-2) when value is empty, e.g. "US". Applies to phone inputs. | `string` | `'US'` |
20
+ | `description` | `description` | Optional text that appears below the input label. Applies to all input types. | `string` | `undefined` |
21
+ | `disabled` | `disabled` | Whether the field is disabled Applies to all input types. | `boolean` | `undefined` |
22
+ | `error` | `error` | If an empty string (attribute present with no value), will display visually as an error. If a string is included, will display visually as an error and include the value as an error message. Applies to all input types. | `string` | `undefined` |
23
+ | `hideAcceptText` | `hide-accept-text` | Hides the "Accept" text that indicates the accepted file types This is useful for cases where you want to hide the "Accept" text. Applies to file inputs. | `boolean` | `false` |
24
+ | `hideEyeDropper` | `hide-eye-dropper` | Hide eye dropper Applies to color inputs. | `boolean` | `undefined` |
25
+ | `hideFileNames` | `hide-file-names` | Hides the file names in the file upload component This is useful for cases where you want to hide the file names after selection. Applies to file inputs. | `boolean` | `false` |
26
+ | `hideTriggerOnSelect` | `hide-trigger-on-select` | Hides the trigger element when a file is selected. This is useful for cases where you want to hide the trigger after a file is selected. Applies to file inputs. | `boolean` | `false` |
27
+ | `isInternational` | `is-international` | Enables international mode with country selector for phone inputs. When false, the phone input is locked to defaultCountry with no country picker. | `boolean` | `true` |
28
+ | `label` | `label` | Label text for the field Applies to all input types. | `string` | `undefined` |
29
+ | `max` | `max` | Maximum value for the input. Applies to number, time, and date inputs. If the input is a time input, the value must be in 24 hour format, ex: 18:25 for 6:25 PM | `number \| string` | `undefined` |
30
+ | `maxCharacterCount` | `max-character-count` | For multiline inputs, a max. character count will display along with the current character count, and will automatically render as an error if the character count exceeds the max. This is only applicable if `multiline` is `true`. | `number` | `undefined` |
31
+ | `min` | `min` | The minimum value for the input. Applies to number, time, and date inputs. If the input is a time input, the value must be in 24 hour format, ex: 05:25 for 5:25 AM | `number \| string` | `undefined` |
32
+ | `mode` | `mode` | For datepicker inputs, whether to allow only a single date or a range of dates. (Multiple non-consecutive dates planned to be supported in the future.) Applies to date inputs. | `"range" \| "single"` | `'single'` |
33
+ | `multiline` | `multiline` | Whether to render as a singleline text input or as a multiline textarea. (If `true`, `pre` and `post` values will be ignored, if present.) Applies to text inputs. | `boolean` | `false` |
34
+ | `multiple` | `multiple` | Whether the user can select multiple files at once. Corresponds to the `multiple` attribute on the input element. Applies to file inputs. | `boolean` | `false` |
35
+ | `name` | `name` | Most inputs are used in forms, and should have a `name` associated with the input for handling form data. Applies to all input types. | `string` | `undefined` |
36
+ | `placeholder` | `placeholder` | Placeholder text that appears when the field has no value Applies to text, password, number, and date inputs. | `string` | `undefined` |
37
+ | `post` | `post` | A string (recommended max 3 characters) that gets shown visually to the left of (before) the input. Applies to text, password, number, and date inputs. Note: This will be ignored if `multiline` is `true`. | `string` | `undefined` |
38
+ | `pre` | `pre` | A string (recommended max 8 characters) that gets shown visually to the right of (after) the input. Applies to text, password, number, and date inputs. Note: This will be ignored if `multiline` is `true`. | `string` | `undefined` |
39
+ | `preferredCountries` | -- | Country codes to show at the top of the country list, e.g. ["US", "CA", "GB"]. Applies to phone inputs. | `string[]` | `undefined` |
40
+ | `readonly` | `readonly` | Whether the input is editable Applies to text, password, number, and date inputs. | `boolean` | `undefined` |
41
+ | `required` | `required` | Whether the input is required Applies to all input types. | `boolean` | `undefined` |
42
+ | `step` | `step` | The granularity that the value in a `number` input must adhere to when incrementing or decrementing. The default stepping value for number inputs is 1 Applies to number and time inputs. | `number` | `undefined` |
43
+ | `timeFormat` | `time-format` | The time format to display for the input. Applies to time inputs. If 12h is selected, the value will be displayed in 12 hour format, ex: 05:25 PM for 17:25 If 24h is selected, the value will be displayed in 24 hour format, ex: 17:25 for 17:25 | `"12h" \| "24h"` | `'24h'` |
44
+ | `type` | `type` | The type of form control | `"color" \| "date" \| "file" \| "number" \| "password" \| "phone" \| "text" \| "time"` | `'text'` |
45
+ | `value` | `value` | Including a `value` will pre-populate the input with the given string. Applies to text, password, number, and date inputs. | `string` | `undefined` |
41
46
 
42
47
 
43
48
  ## Events
@@ -55,6 +60,7 @@
55
60
  ### Used by
56
61
 
57
62
  - [xpl-input-color](xpl-input-color)
63
+ - [xpl-input-phone](xpl-input-phone)
58
64
  - [xpl-input-time](xpl-input-time)
59
65
 
60
66
  ### Depends on
@@ -63,6 +69,7 @@
63
69
  - [xpl-input-color](xpl-input-color)
64
70
  - [xpl-input-date](xpl-input-date)
65
71
  - [xpl-input-time](xpl-input-time)
72
+ - [xpl-input-phone](xpl-input-phone)
66
73
  - [xpl-icon](../xpl-icon)
67
74
 
68
75
  ### Graph
@@ -72,6 +79,7 @@ graph TD;
72
79
  xpl-input --> xpl-input-color
73
80
  xpl-input --> xpl-input-date
74
81
  xpl-input --> xpl-input-time
82
+ xpl-input --> xpl-input-phone
75
83
  xpl-input --> xpl-icon
76
84
  xpl-input-file --> xpl-icon
77
85
  xpl-input-color --> xpl-input
@@ -82,6 +90,8 @@ graph TD;
82
90
  xpl-dropdown-group --> xpl-dropdown-group
83
91
  xpl-dropdown-group --> xpl-dropdown-option
84
92
  xpl-dropdown-group --> xpl-dropdown-heading
93
+ xpl-dropdown-option --> xpl-icon
94
+ xpl-input-phone --> xpl-input
85
95
  style xpl-input fill:#f9f,stroke:#333,stroke-width:4px
86
96
  ```
87
97
 
@@ -53,6 +53,10 @@ graph TD;
53
53
  xpl-dropdown-group --> xpl-dropdown-group
54
54
  xpl-dropdown-group --> xpl-dropdown-option
55
55
  xpl-dropdown-group --> xpl-dropdown-heading
56
+ xpl-dropdown-option --> xpl-icon
57
+ xpl-input-phone --> xpl-icon
58
+ xpl-input-phone --> xpl-dropdown
59
+ xpl-input-phone --> xpl-input
56
60
  style xpl-input-color fill:#f9f,stroke:#333,stroke-width:4px
57
61
  ```
58
62