@carbon/web-components 2.62.0 → 2.63.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 (955) hide show
  1. package/README.md +26 -0
  2. package/bin/create-prefixed-build.js +157 -0
  3. package/custom-elements.json +2074 -360
  4. package/es/components/accordion/accordion.scss.js +1 -1
  5. package/es/components/action-set/action-set.scss.js +1 -1
  6. package/es/components/ai-label/ai-label-action-button.d.ts +1 -1
  7. package/es/components/ai-label/ai-label-action-button.d.ts.map +1 -1
  8. package/es/components/ai-label/ai-label-action-button.js +4 -3
  9. package/es/components/ai-label/ai-label-action-button.js.map +1 -1
  10. package/es/components/ai-label/ai-label.scss.js +1 -1
  11. package/es/components/ai-label/ai-label.scss.js.map +1 -1
  12. package/es/components/ai-label/index.d.ts +1 -0
  13. package/es/components/ai-label/index.d.ts.map +1 -1
  14. package/es/components/ai-label/index.js +1 -0
  15. package/es/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  16. package/es/components/big-number/big-number-skeleton.d.ts +21 -0
  17. package/es/components/big-number/big-number-skeleton.d.ts.map +1 -0
  18. package/es/components/big-number/big-number-skeleton.js +62 -0
  19. package/es/components/big-number/big-number-skeleton.js.map +1 -0
  20. package/es/components/big-number/big-number-skeleton.scss.js +14 -0
  21. package/es/components/big-number/big-number-skeleton.scss.js.map +1 -0
  22. package/es/components/big-number/big-number.d.ts +35 -0
  23. package/es/components/big-number/big-number.d.ts.map +1 -0
  24. package/es/components/big-number/big-number.js +171 -0
  25. package/es/components/big-number/big-number.js.map +1 -0
  26. package/es/components/big-number/big-number.scss.js +14 -0
  27. package/es/components/big-number/big-number.scss.js.map +1 -0
  28. package/es/components/big-number/constants.d.ts +20 -0
  29. package/es/components/big-number/constants.d.ts.map +1 -0
  30. package/es/components/big-number/constants.js +32 -0
  31. package/es/components/big-number/constants.js.map +1 -0
  32. package/es/components/big-number/index.d.ts +8 -0
  33. package/es/components/big-number/index.d.ts.map +1 -0
  34. package/es/components/big-number/index.js +8 -0
  35. package/es/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  36. package/es/components/breadcrumb/breadcrumb-item.js +2 -1
  37. package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
  38. package/es/components/breadcrumb/breadcrumb.d.ts +1 -1
  39. package/es/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  40. package/es/components/breadcrumb/breadcrumb.js +2 -2
  41. package/es/components/breadcrumb/breadcrumb.js.map +1 -1
  42. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  43. package/es/components/button/button.d.ts.map +1 -1
  44. package/es/components/button/button.js +1 -1
  45. package/es/components/button/button.js.map +1 -1
  46. package/es/components/button/button.scss.js +1 -1
  47. package/es/components/card/card-action.d.ts +27 -0
  48. package/es/components/card/card-action.d.ts.map +1 -0
  49. package/es/components/card/card-action.js +52 -0
  50. package/es/components/card/card-action.js.map +1 -0
  51. package/es/components/card/card-actions.d.ts +36 -0
  52. package/es/components/card/card-actions.d.ts.map +1 -0
  53. package/es/components/card/card-actions.js +171 -0
  54. package/es/components/card/card-actions.js.map +1 -0
  55. package/es/components/card/card-body.d.ts +23 -0
  56. package/es/components/card/card-body.d.ts.map +1 -0
  57. package/es/components/card/card-body.js +54 -0
  58. package/es/components/card/card-body.js.map +1 -0
  59. package/es/components/card/card-context.d.ts +20 -0
  60. package/es/components/card/card-context.d.ts.map +1 -0
  61. package/es/components/card/card-context.js +29 -0
  62. package/es/components/card/card-context.js.map +1 -0
  63. package/es/components/card/card-footer.d.ts +34 -0
  64. package/es/components/card/card-footer.d.ts.map +1 -0
  65. package/es/components/card/card-footer.js +75 -0
  66. package/es/components/card/card-footer.js.map +1 -0
  67. package/es/components/card/card-header-media.d.ts +19 -0
  68. package/es/components/card/card-header-media.d.ts.map +1 -0
  69. package/es/components/card/card-header-media.js +39 -0
  70. package/es/components/card/card-header-media.js.map +1 -0
  71. package/es/components/card/card-header.d.ts +23 -0
  72. package/es/components/card/card-header.d.ts.map +1 -0
  73. package/es/components/card/card-header.js +70 -0
  74. package/es/components/card/card-header.js.map +1 -0
  75. package/es/components/card/card-media.d.ts +37 -0
  76. package/es/components/card/card-media.d.ts.map +1 -0
  77. package/es/components/card/card-media.js +79 -0
  78. package/es/components/card/card-media.js.map +1 -0
  79. package/es/components/card/card-title-media.d.ts +19 -0
  80. package/es/components/card/card-title-media.d.ts.map +1 -0
  81. package/es/components/card/card-title-media.js +39 -0
  82. package/es/components/card/card-title-media.js.map +1 -0
  83. package/es/components/card/card-title.d.ts +52 -0
  84. package/es/components/card/card-title.d.ts.map +1 -0
  85. package/es/components/card/card-title.js +144 -0
  86. package/es/components/card/card-title.js.map +1 -0
  87. package/es/components/card/card.d.ts +69 -0
  88. package/es/components/card/card.d.ts.map +1 -0
  89. package/es/components/card/card.js +185 -0
  90. package/es/components/card/card.js.map +1 -0
  91. package/es/components/card/card.scss.js +14 -0
  92. package/es/components/card/card.scss.js.map +1 -0
  93. package/es/components/card/defs.d.ts +33 -0
  94. package/es/components/card/defs.d.ts.map +1 -0
  95. package/es/components/card/defs.js +46 -0
  96. package/es/components/card/defs.js.map +1 -0
  97. package/es/components/card/index.d.ts +17 -0
  98. package/es/components/card/index.d.ts.map +1 -0
  99. package/es/components/card/index.js +17 -0
  100. package/es/components/checkbox/checkbox.scss.js +1 -1
  101. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +67 -0
  102. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -0
  103. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.js +120 -0
  104. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.js.map +1 -0
  105. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js +14 -0
  106. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js.map +1 -0
  107. package/es/components/coachmark/coachmark-beacon/defs.d.ts +13 -0
  108. package/es/components/coachmark/coachmark-beacon/defs.d.ts.map +1 -0
  109. package/es/components/coachmark/coachmark-beacon/defs.js +25 -0
  110. package/es/components/coachmark/coachmark-beacon/defs.js.map +1 -0
  111. package/es/components/coachmark/coachmark-beacon/index.d.ts +8 -0
  112. package/es/components/coachmark/coachmark-beacon/index.d.ts.map +1 -0
  113. package/es/components/coachmark/coachmark-beacon/index.js +8 -0
  114. package/es/components/coachmark/coachmark-body.d.ts +31 -0
  115. package/es/components/coachmark/coachmark-body.d.ts.map +1 -0
  116. package/es/components/coachmark/coachmark-body.js +39 -0
  117. package/es/components/coachmark/coachmark-body.js.map +1 -0
  118. package/es/components/coachmark/coachmark-body.scss.js +14 -0
  119. package/es/components/coachmark/coachmark-body.scss.js.map +1 -0
  120. package/es/components/coachmark/coachmark-context.d.ts +12 -0
  121. package/es/components/coachmark/coachmark-context.d.ts.map +1 -0
  122. package/es/components/coachmark/coachmark-context.js +39 -0
  123. package/es/components/coachmark/coachmark-context.js.map +1 -0
  124. package/es/components/coachmark/coachmark-header.d.ts +41 -0
  125. package/es/components/coachmark/coachmark-header.d.ts.map +1 -0
  126. package/es/components/coachmark/coachmark-header.js +95 -0
  127. package/es/components/coachmark/coachmark-header.js.map +1 -0
  128. package/es/components/coachmark/coachmark-header.scss.js +14 -0
  129. package/es/components/coachmark/coachmark-header.scss.js.map +1 -0
  130. package/es/components/coachmark/coachmark-helpers.d.ts +10 -0
  131. package/es/components/coachmark/coachmark-helpers.d.ts.map +1 -0
  132. package/es/components/coachmark/coachmark-helpers.js +33 -0
  133. package/es/components/coachmark/coachmark-helpers.js.map +1 -0
  134. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +72 -0
  135. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -0
  136. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.js +130 -0
  137. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -0
  138. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js +14 -0
  139. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js.map +1 -0
  140. package/es/components/coachmark/coachmark-tagline/index.d.ts +8 -0
  141. package/es/components/coachmark/coachmark-tagline/index.d.ts.map +1 -0
  142. package/es/components/coachmark/coachmark-tagline/index.js +8 -0
  143. package/es/components/coachmark/coachmark.d.ts +97 -0
  144. package/es/components/coachmark/coachmark.d.ts.map +1 -0
  145. package/es/components/coachmark/coachmark.js +290 -0
  146. package/es/components/coachmark/coachmark.js.map +1 -0
  147. package/es/components/coachmark/coachmark.scss.js +14 -0
  148. package/es/components/coachmark/coachmark.scss.js.map +1 -0
  149. package/es/components/coachmark/index.d.ts +10 -0
  150. package/es/components/coachmark/index.d.ts.map +1 -0
  151. package/es/components/coachmark/index.js +10 -0
  152. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  153. package/es/components/combo-box/combo-box.d.ts.map +1 -1
  154. package/es/components/combo-box/combo-box.js +5 -12
  155. package/es/components/combo-box/combo-box.js.map +1 -1
  156. package/es/components/combo-box/combo-box.scss.js +1 -1
  157. package/es/components/combo-box/combo-box.scss.js.map +1 -1
  158. package/es/components/combo-button/combo-button.scss.js +1 -1
  159. package/es/components/contained-list/contained-list.scss.js +1 -1
  160. package/es/components/content-switcher/content-switcher.scss.js +1 -1
  161. package/es/components/copy/index.d.ts +9 -0
  162. package/es/components/copy/index.d.ts.map +1 -0
  163. package/es/components/copy/index.js +9 -0
  164. package/es/components/copy-button/copy-button.scss.js +1 -1
  165. package/es/components/data-table/data-table.scss.js +1 -1
  166. package/es/components/date-picker/date-picker.scss.js +1 -1
  167. package/es/components/date-picker/date-picker.scss.js.map +1 -1
  168. package/es/components/date-picker/next/components/date-picker.scss.js +1 -1
  169. package/es/components/date-picker/next/components/date-picker.scss.js.map +1 -1
  170. package/es/components/dialog/dialog.scss.js +1 -1
  171. package/es/components/dropdown/dropdown.d.ts +2 -1
  172. package/es/components/dropdown/dropdown.d.ts.map +1 -1
  173. package/es/components/dropdown/dropdown.js +13 -15
  174. package/es/components/dropdown/dropdown.js.map +1 -1
  175. package/es/components/dropdown/dropdown.scss.js +1 -1
  176. package/es/components/dropdown/dropdown.scss.js.map +1 -1
  177. package/es/components/edit-in-place/defs.d.ts +30 -0
  178. package/es/components/edit-in-place/defs.d.ts.map +1 -0
  179. package/es/components/edit-in-place/defs.js +43 -0
  180. package/es/components/edit-in-place/defs.js.map +1 -0
  181. package/es/components/edit-in-place/edit-in-place-helpers.d.ts +47 -0
  182. package/es/components/edit-in-place/edit-in-place-helpers.d.ts.map +1 -0
  183. package/es/components/edit-in-place/edit-in-place-helpers.js +59 -0
  184. package/es/components/edit-in-place/edit-in-place-helpers.js.map +1 -0
  185. package/es/components/edit-in-place/edit-in-place.d.ts +214 -0
  186. package/es/components/edit-in-place/edit-in-place.d.ts.map +1 -0
  187. package/es/components/edit-in-place/edit-in-place.js +453 -0
  188. package/es/components/edit-in-place/edit-in-place.js.map +1 -0
  189. package/es/components/edit-in-place/edit-in-place.scss.js +14 -0
  190. package/es/components/edit-in-place/edit-in-place.scss.js.map +1 -0
  191. package/es/components/edit-in-place/index.d.ts +10 -0
  192. package/es/components/edit-in-place/index.d.ts.map +1 -0
  193. package/es/components/edit-in-place/index.js +20 -0
  194. package/es/components/edit-in-place/index.js.map +1 -0
  195. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  196. package/es/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
  197. package/es/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -1
  198. package/es/components/fluid-date-picker/fluid-date-picker.d.ts +5 -1
  199. package/es/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -1
  200. package/es/components/fluid-date-picker/fluid-date-picker.js +27 -1
  201. package/es/components/fluid-date-picker/fluid-date-picker.js.map +1 -1
  202. package/es/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  203. package/es/components/fluid-date-picker/fluid-date-picker.scss.js.map +1 -1
  204. package/es/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
  205. package/es/components/fluid-dropdown/fluid-dropdown.scss.js.map +1 -1
  206. package/es/components/fluid-form/fluid-form.scss.js +1 -1
  207. package/es/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
  208. package/es/components/fluid-multi-select/fluid-multi-select.scss.js.map +1 -1
  209. package/es/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  210. package/es/components/fluid-number-input/fluid-number-input.scss.js.map +1 -1
  211. package/es/components/fluid-password-input/fluid-password-input.scss.js +1 -1
  212. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  213. package/es/components/fluid-search/fluid-search.scss.js.map +1 -1
  214. package/es/components/fluid-select/fluid-select.scss.js +1 -1
  215. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  216. package/es/components/fluid-textarea/fluid-textarea.scss.js +1 -1
  217. package/es/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
  218. package/es/components/form/form-item.scss.js +1 -1
  219. package/es/components/form/form.scss.js +1 -1
  220. package/es/components/form-group/form-group.scss.js +1 -1
  221. package/es/components/grid/column-hang.scss.js +1 -1
  222. package/es/components/grid/grid.scss.js +1 -1
  223. package/es/components/icon-button/icon-button.d.ts +1 -1
  224. package/es/components/icon-button/icon-button.js +1 -1
  225. package/es/components/icon-button/icon-button.js.map +1 -1
  226. package/es/components/inline-loading/inline-loading.scss.js +1 -1
  227. package/es/components/layer/layer.scss.js +1 -1
  228. package/es/components/layout/layout.scss.js +1 -1
  229. package/es/components/link/link.d.ts +2 -1
  230. package/es/components/link/link.d.ts.map +1 -1
  231. package/es/components/link/link.js +1 -1
  232. package/es/components/link/link.js.map +1 -1
  233. package/es/components/loading/loading.scss.js +1 -1
  234. package/es/components/menu/menu-item.d.ts.map +1 -1
  235. package/es/components/menu/menu-item.js +2 -6
  236. package/es/components/menu/menu-item.js.map +1 -1
  237. package/es/components/menu/menu-item.scss.js +1 -1
  238. package/es/components/menu/menu-item.scss.js.map +1 -1
  239. package/es/components/menu/menu.d.ts +10 -0
  240. package/es/components/menu/menu.d.ts.map +1 -1
  241. package/es/components/menu/menu.js +17 -11
  242. package/es/components/menu/menu.js.map +1 -1
  243. package/es/components/menu/menu.scss.js +1 -1
  244. package/es/components/menu/menu.scss.js.map +1 -1
  245. package/es/components/menu-button/menu-button.scss.js +1 -1
  246. package/es/components/modal/modal.scss.js +1 -1
  247. package/es/components/multi-select/multi-select-item.d.ts +1 -1
  248. package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
  249. package/es/components/multi-select/multi-select-item.js +5 -1
  250. package/es/components/multi-select/multi-select-item.js.map +1 -1
  251. package/es/components/multi-select/multi-select.d.ts +2 -1
  252. package/es/components/multi-select/multi-select.d.ts.map +1 -1
  253. package/es/components/multi-select/multi-select.js +15 -14
  254. package/es/components/multi-select/multi-select.js.map +1 -1
  255. package/es/components/multi-select/multi-select.scss.js +1 -1
  256. package/es/components/multi-select/multi-select.scss.js.map +1 -1
  257. package/es/components/notification/actionable-notification-button.d.ts +1 -1
  258. package/es/components/notification/actionable-notification-button.d.ts.map +1 -1
  259. package/es/components/notification/actionable-notification-button.js +2 -2
  260. package/es/components/notification/actionable-notification-button.js.map +1 -1
  261. package/es/components/notification/actionable-notification.d.ts.map +1 -1
  262. package/es/components/notification/actionable-notification.js +4 -4
  263. package/es/components/notification/actionable-notification.js.map +1 -1
  264. package/es/components/notification/actionable-notification.scss.js +1 -1
  265. package/es/components/notification/inline-notification.scss.js +1 -1
  266. package/es/components/notification/toast-notification.scss.js +1 -1
  267. package/es/components/number-input/number-input.scss.js +1 -1
  268. package/es/components/number-input/number-input.scss.js.map +1 -1
  269. package/es/components/options-tile/index.d.ts +8 -0
  270. package/es/components/options-tile/index.d.ts.map +1 -0
  271. package/es/components/options-tile/index.js +8 -0
  272. package/es/components/options-tile/option-tile-helpers.d.ts +16 -0
  273. package/es/components/options-tile/option-tile-helpers.d.ts.map +1 -0
  274. package/es/components/options-tile/option-tile-helpers.js +163 -0
  275. package/es/components/options-tile/option-tile-helpers.js.map +1 -0
  276. package/es/components/options-tile/options-tile.d.ts +91 -0
  277. package/es/components/options-tile/options-tile.d.ts.map +1 -0
  278. package/es/components/options-tile/options-tile.js +208 -0
  279. package/es/components/options-tile/options-tile.js.map +1 -0
  280. package/es/components/options-tile/options-tile.scss.js +14 -0
  281. package/es/components/options-tile/options-tile.scss.js.map +1 -0
  282. package/es/components/overflow-menu/overflow-menu.js +1 -1
  283. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  284. package/es/components/page-header/index.d.ts +1 -0
  285. package/es/components/page-header/index.d.ts.map +1 -1
  286. package/es/components/page-header/index.js +1 -0
  287. package/es/components/page-header/page-header-tabs.d.ts +1 -1
  288. package/es/components/page-header/page-header-tabs.d.ts.map +1 -1
  289. package/es/components/page-header/page-header-tabs.js +1 -2
  290. package/es/components/page-header/page-header-tabs.js.map +1 -1
  291. package/es/components/page-header/page-header.d.ts +1 -1
  292. package/es/components/page-header/page-header.d.ts.map +1 -1
  293. package/es/components/page-header/page-header.js +1 -2
  294. package/es/components/page-header/page-header.js.map +1 -1
  295. package/es/components/page-header/page-header.scss.js +1 -1
  296. package/es/components/pagination/pagination.scss.js +1 -1
  297. package/es/components/pagination-nav/pagination-nav.scss.js +1 -1
  298. package/es/components/password-input/password-input.scss.js +1 -1
  299. package/es/components/popover/popover.scss.js +1 -1
  300. package/es/components/progress-bar/progress-bar.scss.js +1 -1
  301. package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
  302. package/es/components/radio-button/radio-button.scss.js +1 -1
  303. package/es/components/resizer/resizer-handle-pivot.scss.js +1 -1
  304. package/es/components/search/search.d.ts.map +1 -1
  305. package/es/components/search/search.js +2 -0
  306. package/es/components/search/search.js.map +1 -1
  307. package/es/components/search/search.scss.js +1 -1
  308. package/es/components/search/search.scss.js.map +1 -1
  309. package/es/components/select/select.scss.js +1 -1
  310. package/es/components/select/select.scss.js.map +1 -1
  311. package/es/components/side-panel/side-panel.js +2 -2
  312. package/es/components/side-panel/side-panel.js.map +1 -1
  313. package/es/components/side-panel/side-panel.scss.js +1 -1
  314. package/es/components/skeleton-icon/skeleton-icon.scss.js +1 -1
  315. package/es/components/skeleton-placeholder/skeleton-placeholder.scss.js +1 -1
  316. package/es/components/skeleton-text/skeleton-text.scss.js +1 -1
  317. package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
  318. package/es/components/slider/slider.scss.js +1 -1
  319. package/es/components/slider/slider.scss.js.map +1 -1
  320. package/es/components/slug/index.d.ts +1 -0
  321. package/es/components/slug/index.d.ts.map +1 -1
  322. package/es/components/slug/index.js +1 -0
  323. package/es/components/slug/slug.scss.js +1 -1
  324. package/es/components/structured-list/structured-list.scss.js +1 -1
  325. package/es/components/tabs/tabs.scss.js +1 -1
  326. package/es/components/tabs/tabs.scss.js.map +1 -1
  327. package/es/components/tag/dismissible-tag.d.ts +1 -1
  328. package/es/components/tag/dismissible-tag.d.ts.map +1 -1
  329. package/es/components/tag/dismissible-tag.js +24 -15
  330. package/es/components/tag/dismissible-tag.js.map +1 -1
  331. package/es/components/tag/tag.d.ts.map +1 -1
  332. package/es/components/tag/tag.js +1 -1
  333. package/es/components/tag/tag.js.map +1 -1
  334. package/es/components/tag/tag.scss.js +1 -1
  335. package/es/components/tag/tag.scss.js.map +1 -1
  336. package/es/components/text-input/text-input.scss.js +1 -1
  337. package/es/components/text-input/text-input.scss.js.map +1 -1
  338. package/es/components/textarea/textarea.scss.js +1 -1
  339. package/es/components/tile/clickable-tile.d.ts +2 -1
  340. package/es/components/tile/clickable-tile.d.ts.map +1 -1
  341. package/es/components/tile/clickable-tile.js +1 -1
  342. package/es/components/tile/clickable-tile.js.map +1 -1
  343. package/es/components/tile/tile.scss.js +1 -1
  344. package/es/components/time-picker/time-picker.scss.js +1 -1
  345. package/es/components/toggle-tip/toggletip.scss.js +1 -1
  346. package/es/components/tooltip/tooltip.scss.js +1 -1
  347. package/es/components/tree-view/tree-view.scss.js +1 -1
  348. package/es/components/ui-shell/header.scss.js +1 -1
  349. package/es/components/ui-shell/side-nav.scss.js +1 -1
  350. package/es/components/user-avatar/index.d.ts +8 -0
  351. package/es/components/user-avatar/index.d.ts.map +1 -0
  352. package/es/components/user-avatar/index.js +8 -0
  353. package/es/components/user-avatar/user-avatar.d.ts +84 -0
  354. package/es/components/user-avatar/user-avatar.d.ts.map +1 -0
  355. package/es/components/user-avatar/user-avatar.js +151 -0
  356. package/es/components/user-avatar/user-avatar.js.map +1 -0
  357. package/es/components/user-avatar/user-avatar.scss.js +14 -0
  358. package/es/components/user-avatar/user-avatar.scss.js.map +1 -0
  359. package/es/globals/controllers/floating-controller.d.ts.map +1 -1
  360. package/es/globals/controllers/floating-controller.js.map +1 -1
  361. package/es/globals/decorators/carbon-element.d.ts +8 -0
  362. package/es/globals/decorators/carbon-element.d.ts.map +1 -1
  363. package/es/globals/decorators/carbon-element.js +8 -0
  364. package/es/globals/decorators/carbon-element.js.map +1 -1
  365. package/es/globals/internal/collection-helpers.d.ts +5 -5
  366. package/es/globals/internal/collection-helpers.d.ts.map +1 -1
  367. package/es/globals/internal/collection-helpers.js +1 -1
  368. package/es/globals/internal/collection-helpers.js.map +1 -1
  369. package/es/globals/internal/getSupportedLocale.d.ts +12 -0
  370. package/es/globals/internal/getSupportedLocale.d.ts.map +1 -0
  371. package/es/globals/internal/getSupportedLocale.js +29 -0
  372. package/es/globals/internal/getSupportedLocale.js.map +1 -0
  373. package/es/globals/mixins/on.d.ts +2 -2
  374. package/es/globals/mixins/on.d.ts.map +1 -1
  375. package/es/globals/mixins/on.js +4 -4
  376. package/es/globals/mixins/on.js.map +1 -1
  377. package/es/globals/register.d.ts +89 -0
  378. package/es/globals/register.d.ts.map +1 -0
  379. package/es/globals/register.js +56 -0
  380. package/es/globals/register.js.map +1 -0
  381. package/es/globals/settings.d.ts +1 -1
  382. package/es/globals/settings.d.ts.map +1 -1
  383. package/es/globals/settings.js +1 -0
  384. package/es/globals/settings.js.map +1 -1
  385. package/es/index.d.ts +10 -0
  386. package/es/index.d.ts.map +1 -1
  387. package/es/index.js +13 -3
  388. package/es-custom/components/accordion/accordion.scss.js +1 -1
  389. package/es-custom/components/action-set/action-set.scss.js +1 -1
  390. package/es-custom/components/ai-label/ai-label-action-button.d.ts +1 -1
  391. package/es-custom/components/ai-label/ai-label-action-button.d.ts.map +1 -1
  392. package/es-custom/components/ai-label/ai-label-action-button.js +4 -3
  393. package/es-custom/components/ai-label/ai-label-action-button.js.map +1 -1
  394. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  395. package/es-custom/components/ai-label/ai-label.scss.js.map +1 -1
  396. package/es-custom/components/ai-label/index.d.ts +1 -0
  397. package/es-custom/components/ai-label/index.d.ts.map +1 -1
  398. package/es-custom/components/ai-label/index.js +1 -0
  399. package/es-custom/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  400. package/es-custom/components/big-number/big-number-skeleton.d.ts +21 -0
  401. package/es-custom/components/big-number/big-number-skeleton.d.ts.map +1 -0
  402. package/es-custom/components/big-number/big-number-skeleton.js +62 -0
  403. package/es-custom/components/big-number/big-number-skeleton.js.map +1 -0
  404. package/es-custom/components/big-number/big-number-skeleton.scss.js +14 -0
  405. package/es-custom/components/big-number/big-number-skeleton.scss.js.map +1 -0
  406. package/es-custom/components/big-number/big-number.d.ts +35 -0
  407. package/es-custom/components/big-number/big-number.d.ts.map +1 -0
  408. package/es-custom/components/big-number/big-number.js +171 -0
  409. package/es-custom/components/big-number/big-number.js.map +1 -0
  410. package/es-custom/components/big-number/big-number.scss.js +14 -0
  411. package/es-custom/components/big-number/big-number.scss.js.map +1 -0
  412. package/es-custom/components/big-number/constants.d.ts +20 -0
  413. package/es-custom/components/big-number/constants.d.ts.map +1 -0
  414. package/es-custom/components/big-number/constants.js +32 -0
  415. package/es-custom/components/big-number/constants.js.map +1 -0
  416. package/es-custom/components/big-number/index.d.ts +8 -0
  417. package/es-custom/components/big-number/index.d.ts.map +1 -0
  418. package/es-custom/components/big-number/index.js +8 -0
  419. package/es-custom/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  420. package/es-custom/components/breadcrumb/breadcrumb-item.js +2 -1
  421. package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
  422. package/es-custom/components/breadcrumb/breadcrumb.d.ts +1 -1
  423. package/es-custom/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  424. package/es-custom/components/breadcrumb/breadcrumb.js +2 -2
  425. package/es-custom/components/breadcrumb/breadcrumb.js.map +1 -1
  426. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  427. package/es-custom/components/button/button.d.ts.map +1 -1
  428. package/es-custom/components/button/button.js +1 -1
  429. package/es-custom/components/button/button.js.map +1 -1
  430. package/es-custom/components/button/button.scss.js +1 -1
  431. package/es-custom/components/card/card-action.d.ts +27 -0
  432. package/es-custom/components/card/card-action.d.ts.map +1 -0
  433. package/es-custom/components/card/card-action.js +52 -0
  434. package/es-custom/components/card/card-action.js.map +1 -0
  435. package/es-custom/components/card/card-actions.d.ts +36 -0
  436. package/es-custom/components/card/card-actions.d.ts.map +1 -0
  437. package/es-custom/components/card/card-actions.js +171 -0
  438. package/es-custom/components/card/card-actions.js.map +1 -0
  439. package/es-custom/components/card/card-body.d.ts +23 -0
  440. package/es-custom/components/card/card-body.d.ts.map +1 -0
  441. package/es-custom/components/card/card-body.js +54 -0
  442. package/es-custom/components/card/card-body.js.map +1 -0
  443. package/es-custom/components/card/card-context.d.ts +20 -0
  444. package/es-custom/components/card/card-context.d.ts.map +1 -0
  445. package/es-custom/components/card/card-context.js +29 -0
  446. package/es-custom/components/card/card-context.js.map +1 -0
  447. package/es-custom/components/card/card-footer.d.ts +34 -0
  448. package/es-custom/components/card/card-footer.d.ts.map +1 -0
  449. package/es-custom/components/card/card-footer.js +75 -0
  450. package/es-custom/components/card/card-footer.js.map +1 -0
  451. package/es-custom/components/card/card-header-media.d.ts +19 -0
  452. package/es-custom/components/card/card-header-media.d.ts.map +1 -0
  453. package/es-custom/components/card/card-header-media.js +39 -0
  454. package/es-custom/components/card/card-header-media.js.map +1 -0
  455. package/es-custom/components/card/card-header.d.ts +23 -0
  456. package/es-custom/components/card/card-header.d.ts.map +1 -0
  457. package/es-custom/components/card/card-header.js +70 -0
  458. package/es-custom/components/card/card-header.js.map +1 -0
  459. package/es-custom/components/card/card-media.d.ts +37 -0
  460. package/es-custom/components/card/card-media.d.ts.map +1 -0
  461. package/es-custom/components/card/card-media.js +79 -0
  462. package/es-custom/components/card/card-media.js.map +1 -0
  463. package/es-custom/components/card/card-title-media.d.ts +19 -0
  464. package/es-custom/components/card/card-title-media.d.ts.map +1 -0
  465. package/es-custom/components/card/card-title-media.js +39 -0
  466. package/es-custom/components/card/card-title-media.js.map +1 -0
  467. package/es-custom/components/card/card-title.d.ts +52 -0
  468. package/es-custom/components/card/card-title.d.ts.map +1 -0
  469. package/es-custom/components/card/card-title.js +144 -0
  470. package/es-custom/components/card/card-title.js.map +1 -0
  471. package/es-custom/components/card/card.d.ts +69 -0
  472. package/es-custom/components/card/card.d.ts.map +1 -0
  473. package/es-custom/components/card/card.js +185 -0
  474. package/es-custom/components/card/card.js.map +1 -0
  475. package/es-custom/components/card/card.scss.js +14 -0
  476. package/es-custom/components/card/card.scss.js.map +1 -0
  477. package/es-custom/components/card/defs.d.ts +33 -0
  478. package/es-custom/components/card/defs.d.ts.map +1 -0
  479. package/es-custom/components/card/defs.js +46 -0
  480. package/es-custom/components/card/defs.js.map +1 -0
  481. package/es-custom/components/card/index.d.ts +17 -0
  482. package/es-custom/components/card/index.d.ts.map +1 -0
  483. package/es-custom/components/card/index.js +17 -0
  484. package/es-custom/components/checkbox/checkbox.scss.js +1 -1
  485. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +67 -0
  486. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -0
  487. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.js +120 -0
  488. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.js.map +1 -0
  489. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js +14 -0
  490. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js.map +1 -0
  491. package/es-custom/components/coachmark/coachmark-beacon/defs.d.ts +13 -0
  492. package/es-custom/components/coachmark/coachmark-beacon/defs.d.ts.map +1 -0
  493. package/es-custom/components/coachmark/coachmark-beacon/defs.js +25 -0
  494. package/es-custom/components/coachmark/coachmark-beacon/defs.js.map +1 -0
  495. package/es-custom/components/coachmark/coachmark-beacon/index.d.ts +8 -0
  496. package/es-custom/components/coachmark/coachmark-beacon/index.d.ts.map +1 -0
  497. package/es-custom/components/coachmark/coachmark-beacon/index.js +8 -0
  498. package/es-custom/components/coachmark/coachmark-body.d.ts +31 -0
  499. package/es-custom/components/coachmark/coachmark-body.d.ts.map +1 -0
  500. package/es-custom/components/coachmark/coachmark-body.js +39 -0
  501. package/es-custom/components/coachmark/coachmark-body.js.map +1 -0
  502. package/es-custom/components/coachmark/coachmark-body.scss.js +14 -0
  503. package/es-custom/components/coachmark/coachmark-body.scss.js.map +1 -0
  504. package/es-custom/components/coachmark/coachmark-context.d.ts +12 -0
  505. package/es-custom/components/coachmark/coachmark-context.d.ts.map +1 -0
  506. package/es-custom/components/coachmark/coachmark-context.js +39 -0
  507. package/es-custom/components/coachmark/coachmark-context.js.map +1 -0
  508. package/es-custom/components/coachmark/coachmark-header.d.ts +41 -0
  509. package/es-custom/components/coachmark/coachmark-header.d.ts.map +1 -0
  510. package/es-custom/components/coachmark/coachmark-header.js +95 -0
  511. package/es-custom/components/coachmark/coachmark-header.js.map +1 -0
  512. package/es-custom/components/coachmark/coachmark-header.scss.js +14 -0
  513. package/es-custom/components/coachmark/coachmark-header.scss.js.map +1 -0
  514. package/es-custom/components/coachmark/coachmark-helpers.d.ts +10 -0
  515. package/es-custom/components/coachmark/coachmark-helpers.d.ts.map +1 -0
  516. package/es-custom/components/coachmark/coachmark-helpers.js +33 -0
  517. package/es-custom/components/coachmark/coachmark-helpers.js.map +1 -0
  518. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +72 -0
  519. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -0
  520. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.js +130 -0
  521. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -0
  522. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js +14 -0
  523. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js.map +1 -0
  524. package/es-custom/components/coachmark/coachmark-tagline/index.d.ts +8 -0
  525. package/es-custom/components/coachmark/coachmark-tagline/index.d.ts.map +1 -0
  526. package/es-custom/components/coachmark/coachmark-tagline/index.js +8 -0
  527. package/es-custom/components/coachmark/coachmark.d.ts +97 -0
  528. package/es-custom/components/coachmark/coachmark.d.ts.map +1 -0
  529. package/es-custom/components/coachmark/coachmark.js +290 -0
  530. package/es-custom/components/coachmark/coachmark.js.map +1 -0
  531. package/es-custom/components/coachmark/coachmark.scss.js +14 -0
  532. package/es-custom/components/coachmark/coachmark.scss.js.map +1 -0
  533. package/es-custom/components/coachmark/index.d.ts +10 -0
  534. package/es-custom/components/coachmark/index.d.ts.map +1 -0
  535. package/es-custom/components/coachmark/index.js +10 -0
  536. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  537. package/es-custom/components/combo-box/combo-box.d.ts.map +1 -1
  538. package/es-custom/components/combo-box/combo-box.js +5 -12
  539. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  540. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  541. package/es-custom/components/combo-box/combo-box.scss.js.map +1 -1
  542. package/es-custom/components/combo-button/combo-button.scss.js +1 -1
  543. package/es-custom/components/contained-list/contained-list.scss.js +1 -1
  544. package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
  545. package/es-custom/components/copy/index.d.ts +9 -0
  546. package/es-custom/components/copy/index.d.ts.map +1 -0
  547. package/es-custom/components/copy/index.js +9 -0
  548. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  549. package/es-custom/components/data-table/data-table.scss.js +1 -1
  550. package/es-custom/components/date-picker/date-picker.scss.js +1 -1
  551. package/es-custom/components/date-picker/date-picker.scss.js.map +1 -1
  552. package/es-custom/components/date-picker/next/components/date-picker.scss.js +1 -1
  553. package/es-custom/components/date-picker/next/components/date-picker.scss.js.map +1 -1
  554. package/es-custom/components/dialog/dialog.scss.js +1 -1
  555. package/es-custom/components/dropdown/dropdown.d.ts +2 -1
  556. package/es-custom/components/dropdown/dropdown.d.ts.map +1 -1
  557. package/es-custom/components/dropdown/dropdown.js +13 -15
  558. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  559. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  560. package/es-custom/components/dropdown/dropdown.scss.js.map +1 -1
  561. package/es-custom/components/edit-in-place/defs.d.ts +30 -0
  562. package/es-custom/components/edit-in-place/defs.d.ts.map +1 -0
  563. package/es-custom/components/edit-in-place/defs.js +43 -0
  564. package/es-custom/components/edit-in-place/defs.js.map +1 -0
  565. package/es-custom/components/edit-in-place/edit-in-place-helpers.d.ts +47 -0
  566. package/es-custom/components/edit-in-place/edit-in-place-helpers.d.ts.map +1 -0
  567. package/es-custom/components/edit-in-place/edit-in-place-helpers.js +59 -0
  568. package/es-custom/components/edit-in-place/edit-in-place-helpers.js.map +1 -0
  569. package/es-custom/components/edit-in-place/edit-in-place.d.ts +214 -0
  570. package/es-custom/components/edit-in-place/edit-in-place.d.ts.map +1 -0
  571. package/es-custom/components/edit-in-place/edit-in-place.js +453 -0
  572. package/es-custom/components/edit-in-place/edit-in-place.js.map +1 -0
  573. package/es-custom/components/edit-in-place/edit-in-place.scss.js +14 -0
  574. package/es-custom/components/edit-in-place/edit-in-place.scss.js.map +1 -0
  575. package/es-custom/components/edit-in-place/index.d.ts +10 -0
  576. package/es-custom/components/edit-in-place/index.d.ts.map +1 -0
  577. package/es-custom/components/edit-in-place/index.js +20 -0
  578. package/es-custom/components/edit-in-place/index.js.map +1 -0
  579. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  580. package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
  581. package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -1
  582. package/es-custom/components/fluid-date-picker/fluid-date-picker.d.ts +5 -1
  583. package/es-custom/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -1
  584. package/es-custom/components/fluid-date-picker/fluid-date-picker.js +27 -1
  585. package/es-custom/components/fluid-date-picker/fluid-date-picker.js.map +1 -1
  586. package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  587. package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js.map +1 -1
  588. package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
  589. package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js.map +1 -1
  590. package/es-custom/components/fluid-form/fluid-form.scss.js +1 -1
  591. package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
  592. package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js.map +1 -1
  593. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  594. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js.map +1 -1
  595. package/es-custom/components/fluid-password-input/fluid-password-input.scss.js +1 -1
  596. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  597. package/es-custom/components/fluid-search/fluid-search.scss.js.map +1 -1
  598. package/es-custom/components/fluid-select/fluid-select.scss.js +1 -1
  599. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  600. package/es-custom/components/fluid-textarea/fluid-textarea.scss.js +1 -1
  601. package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
  602. package/es-custom/components/form/form-item.scss.js +1 -1
  603. package/es-custom/components/form/form.scss.js +1 -1
  604. package/es-custom/components/form-group/form-group.scss.js +1 -1
  605. package/es-custom/components/grid/column-hang.scss.js +1 -1
  606. package/es-custom/components/grid/grid.scss.js +1 -1
  607. package/es-custom/components/icon-button/icon-button.d.ts +1 -1
  608. package/es-custom/components/icon-button/icon-button.js +1 -1
  609. package/es-custom/components/icon-button/icon-button.js.map +1 -1
  610. package/es-custom/components/inline-loading/inline-loading.scss.js +1 -1
  611. package/es-custom/components/layer/layer.scss.js +1 -1
  612. package/es-custom/components/layout/layout.scss.js +1 -1
  613. package/es-custom/components/link/link.d.ts +2 -1
  614. package/es-custom/components/link/link.d.ts.map +1 -1
  615. package/es-custom/components/link/link.js +1 -1
  616. package/es-custom/components/link/link.js.map +1 -1
  617. package/es-custom/components/loading/loading.scss.js +1 -1
  618. package/es-custom/components/menu/menu-item.d.ts.map +1 -1
  619. package/es-custom/components/menu/menu-item.js +2 -6
  620. package/es-custom/components/menu/menu-item.js.map +1 -1
  621. package/es-custom/components/menu/menu-item.scss.js +1 -1
  622. package/es-custom/components/menu/menu-item.scss.js.map +1 -1
  623. package/es-custom/components/menu/menu.d.ts +10 -0
  624. package/es-custom/components/menu/menu.d.ts.map +1 -1
  625. package/es-custom/components/menu/menu.js +17 -11
  626. package/es-custom/components/menu/menu.js.map +1 -1
  627. package/es-custom/components/menu/menu.scss.js +1 -1
  628. package/es-custom/components/menu/menu.scss.js.map +1 -1
  629. package/es-custom/components/menu-button/menu-button.scss.js +1 -1
  630. package/es-custom/components/modal/modal.scss.js +1 -1
  631. package/es-custom/components/multi-select/multi-select-item.d.ts +1 -1
  632. package/es-custom/components/multi-select/multi-select-item.d.ts.map +1 -1
  633. package/es-custom/components/multi-select/multi-select-item.js +5 -1
  634. package/es-custom/components/multi-select/multi-select-item.js.map +1 -1
  635. package/es-custom/components/multi-select/multi-select.d.ts +2 -1
  636. package/es-custom/components/multi-select/multi-select.d.ts.map +1 -1
  637. package/es-custom/components/multi-select/multi-select.js +15 -14
  638. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  639. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  640. package/es-custom/components/multi-select/multi-select.scss.js.map +1 -1
  641. package/es-custom/components/notification/actionable-notification-button.d.ts +1 -1
  642. package/es-custom/components/notification/actionable-notification-button.d.ts.map +1 -1
  643. package/es-custom/components/notification/actionable-notification-button.js +2 -2
  644. package/es-custom/components/notification/actionable-notification-button.js.map +1 -1
  645. package/es-custom/components/notification/actionable-notification.d.ts.map +1 -1
  646. package/es-custom/components/notification/actionable-notification.js +4 -4
  647. package/es-custom/components/notification/actionable-notification.js.map +1 -1
  648. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  649. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  650. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  651. package/es-custom/components/number-input/number-input.scss.js +1 -1
  652. package/es-custom/components/number-input/number-input.scss.js.map +1 -1
  653. package/es-custom/components/options-tile/index.d.ts +8 -0
  654. package/es-custom/components/options-tile/index.d.ts.map +1 -0
  655. package/es-custom/components/options-tile/index.js +8 -0
  656. package/es-custom/components/options-tile/option-tile-helpers.d.ts +16 -0
  657. package/es-custom/components/options-tile/option-tile-helpers.d.ts.map +1 -0
  658. package/es-custom/components/options-tile/option-tile-helpers.js +163 -0
  659. package/es-custom/components/options-tile/option-tile-helpers.js.map +1 -0
  660. package/es-custom/components/options-tile/options-tile.d.ts +91 -0
  661. package/es-custom/components/options-tile/options-tile.d.ts.map +1 -0
  662. package/es-custom/components/options-tile/options-tile.js +208 -0
  663. package/es-custom/components/options-tile/options-tile.js.map +1 -0
  664. package/es-custom/components/options-tile/options-tile.scss.js +14 -0
  665. package/es-custom/components/options-tile/options-tile.scss.js.map +1 -0
  666. package/es-custom/components/overflow-menu/overflow-menu.js +1 -1
  667. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  668. package/es-custom/components/page-header/index.d.ts +1 -0
  669. package/es-custom/components/page-header/index.d.ts.map +1 -1
  670. package/es-custom/components/page-header/index.js +1 -0
  671. package/es-custom/components/page-header/page-header-tabs.d.ts +1 -1
  672. package/es-custom/components/page-header/page-header-tabs.d.ts.map +1 -1
  673. package/es-custom/components/page-header/page-header-tabs.js +1 -2
  674. package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
  675. package/es-custom/components/page-header/page-header.d.ts +1 -1
  676. package/es-custom/components/page-header/page-header.d.ts.map +1 -1
  677. package/es-custom/components/page-header/page-header.js +1 -2
  678. package/es-custom/components/page-header/page-header.js.map +1 -1
  679. package/es-custom/components/page-header/page-header.scss.js +1 -1
  680. package/es-custom/components/pagination/pagination.scss.js +1 -1
  681. package/es-custom/components/pagination-nav/pagination-nav.scss.js +1 -1
  682. package/es-custom/components/password-input/password-input.scss.js +1 -1
  683. package/es-custom/components/popover/popover.scss.js +1 -1
  684. package/es-custom/components/progress-bar/progress-bar.scss.js +1 -1
  685. package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
  686. package/es-custom/components/radio-button/radio-button.scss.js +1 -1
  687. package/es-custom/components/resizer/resizer-handle-pivot.scss.js +1 -1
  688. package/es-custom/components/search/search.d.ts.map +1 -1
  689. package/es-custom/components/search/search.js +2 -0
  690. package/es-custom/components/search/search.js.map +1 -1
  691. package/es-custom/components/search/search.scss.js +1 -1
  692. package/es-custom/components/search/search.scss.js.map +1 -1
  693. package/es-custom/components/select/select.scss.js +1 -1
  694. package/es-custom/components/select/select.scss.js.map +1 -1
  695. package/es-custom/components/side-panel/side-panel.js +2 -2
  696. package/es-custom/components/side-panel/side-panel.js.map +1 -1
  697. package/es-custom/components/side-panel/side-panel.scss.js +1 -1
  698. package/es-custom/components/skeleton-icon/skeleton-icon.scss.js +1 -1
  699. package/es-custom/components/skeleton-placeholder/skeleton-placeholder.scss.js +1 -1
  700. package/es-custom/components/skeleton-text/skeleton-text.scss.js +1 -1
  701. package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
  702. package/es-custom/components/slider/slider.scss.js +1 -1
  703. package/es-custom/components/slider/slider.scss.js.map +1 -1
  704. package/es-custom/components/slug/index.d.ts +1 -0
  705. package/es-custom/components/slug/index.d.ts.map +1 -1
  706. package/es-custom/components/slug/index.js +1 -0
  707. package/es-custom/components/slug/slug.scss.js +1 -1
  708. package/es-custom/components/structured-list/structured-list.scss.js +1 -1
  709. package/es-custom/components/tabs/tabs.scss.js +1 -1
  710. package/es-custom/components/tabs/tabs.scss.js.map +1 -1
  711. package/es-custom/components/tag/dismissible-tag.d.ts +1 -1
  712. package/es-custom/components/tag/dismissible-tag.d.ts.map +1 -1
  713. package/es-custom/components/tag/dismissible-tag.js +24 -15
  714. package/es-custom/components/tag/dismissible-tag.js.map +1 -1
  715. package/es-custom/components/tag/tag.d.ts.map +1 -1
  716. package/es-custom/components/tag/tag.js +1 -1
  717. package/es-custom/components/tag/tag.js.map +1 -1
  718. package/es-custom/components/tag/tag.scss.js +1 -1
  719. package/es-custom/components/tag/tag.scss.js.map +1 -1
  720. package/es-custom/components/text-input/text-input.scss.js +1 -1
  721. package/es-custom/components/text-input/text-input.scss.js.map +1 -1
  722. package/es-custom/components/textarea/textarea.scss.js +1 -1
  723. package/es-custom/components/tile/clickable-tile.d.ts +2 -1
  724. package/es-custom/components/tile/clickable-tile.d.ts.map +1 -1
  725. package/es-custom/components/tile/clickable-tile.js +1 -1
  726. package/es-custom/components/tile/clickable-tile.js.map +1 -1
  727. package/es-custom/components/tile/tile.scss.js +1 -1
  728. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  729. package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
  730. package/es-custom/components/tooltip/tooltip.scss.js +1 -1
  731. package/es-custom/components/tree-view/tree-view.scss.js +1 -1
  732. package/es-custom/components/ui-shell/header.scss.js +1 -1
  733. package/es-custom/components/ui-shell/side-nav.scss.js +1 -1
  734. package/es-custom/components/user-avatar/index.d.ts +8 -0
  735. package/es-custom/components/user-avatar/index.d.ts.map +1 -0
  736. package/es-custom/components/user-avatar/index.js +8 -0
  737. package/es-custom/components/user-avatar/user-avatar.d.ts +84 -0
  738. package/es-custom/components/user-avatar/user-avatar.d.ts.map +1 -0
  739. package/es-custom/components/user-avatar/user-avatar.js +151 -0
  740. package/es-custom/components/user-avatar/user-avatar.js.map +1 -0
  741. package/es-custom/components/user-avatar/user-avatar.scss.js +14 -0
  742. package/es-custom/components/user-avatar/user-avatar.scss.js.map +1 -0
  743. package/es-custom/globals/controllers/floating-controller.d.ts.map +1 -1
  744. package/es-custom/globals/controllers/floating-controller.js.map +1 -1
  745. package/es-custom/globals/decorators/carbon-element.d.ts +8 -0
  746. package/es-custom/globals/decorators/carbon-element.d.ts.map +1 -1
  747. package/es-custom/globals/decorators/carbon-element.js +18 -1
  748. package/es-custom/globals/decorators/carbon-element.js.map +1 -1
  749. package/es-custom/globals/internal/collection-helpers.d.ts +5 -5
  750. package/es-custom/globals/internal/collection-helpers.d.ts.map +1 -1
  751. package/es-custom/globals/internal/collection-helpers.js +1 -1
  752. package/es-custom/globals/internal/collection-helpers.js.map +1 -1
  753. package/es-custom/globals/internal/getSupportedLocale.d.ts +12 -0
  754. package/es-custom/globals/internal/getSupportedLocale.d.ts.map +1 -0
  755. package/es-custom/globals/internal/getSupportedLocale.js +29 -0
  756. package/es-custom/globals/internal/getSupportedLocale.js.map +1 -0
  757. package/es-custom/globals/mixins/on.d.ts +2 -2
  758. package/es-custom/globals/mixins/on.d.ts.map +1 -1
  759. package/es-custom/globals/mixins/on.js +4 -4
  760. package/es-custom/globals/mixins/on.js.map +1 -1
  761. package/es-custom/globals/register.d.ts +89 -0
  762. package/es-custom/globals/register.d.ts.map +1 -0
  763. package/es-custom/globals/register.js +56 -0
  764. package/es-custom/globals/register.js.map +1 -0
  765. package/es-custom/globals/settings.d.ts +1 -1
  766. package/es-custom/globals/settings.d.ts.map +1 -1
  767. package/es-custom/globals/settings.js +1 -0
  768. package/es-custom/globals/settings.js.map +1 -1
  769. package/es-custom/index.d.ts +10 -0
  770. package/es-custom/index.d.ts.map +1 -1
  771. package/es-custom/index.js +13 -3
  772. package/lib/components/ai-label/ai-label-action-button.d.ts +1 -1
  773. package/lib/components/ai-label/ai-label-action-button.d.ts.map +1 -1
  774. package/lib/components/ai-label/index.d.ts +1 -0
  775. package/lib/components/ai-label/index.d.ts.map +1 -1
  776. package/lib/components/big-number/big-number-skeleton.d.ts +21 -0
  777. package/lib/components/big-number/big-number-skeleton.d.ts.map +1 -0
  778. package/lib/components/big-number/big-number.d.ts +35 -0
  779. package/lib/components/big-number/big-number.d.ts.map +1 -0
  780. package/lib/components/big-number/constants.d.ts +20 -0
  781. package/lib/components/big-number/constants.d.ts.map +1 -0
  782. package/lib/components/big-number/index.d.ts +8 -0
  783. package/lib/components/big-number/index.d.ts.map +1 -0
  784. package/lib/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  785. package/lib/components/breadcrumb/breadcrumb.d.ts +1 -1
  786. package/lib/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  787. package/lib/components/button/button.d.ts.map +1 -1
  788. package/lib/components/card/card-action.d.ts +27 -0
  789. package/lib/components/card/card-action.d.ts.map +1 -0
  790. package/lib/components/card/card-actions.d.ts +36 -0
  791. package/lib/components/card/card-actions.d.ts.map +1 -0
  792. package/lib/components/card/card-body.d.ts +23 -0
  793. package/lib/components/card/card-body.d.ts.map +1 -0
  794. package/lib/components/card/card-context.d.ts +20 -0
  795. package/lib/components/card/card-context.d.ts.map +1 -0
  796. package/lib/components/card/card-footer.d.ts +34 -0
  797. package/lib/components/card/card-footer.d.ts.map +1 -0
  798. package/lib/components/card/card-header-media.d.ts +19 -0
  799. package/lib/components/card/card-header-media.d.ts.map +1 -0
  800. package/lib/components/card/card-header.d.ts +23 -0
  801. package/lib/components/card/card-header.d.ts.map +1 -0
  802. package/lib/components/card/card-media.d.ts +37 -0
  803. package/lib/components/card/card-media.d.ts.map +1 -0
  804. package/lib/components/card/card-title-media.d.ts +19 -0
  805. package/lib/components/card/card-title-media.d.ts.map +1 -0
  806. package/lib/components/card/card-title.d.ts +52 -0
  807. package/lib/components/card/card-title.d.ts.map +1 -0
  808. package/lib/components/card/card.d.ts +69 -0
  809. package/lib/components/card/card.d.ts.map +1 -0
  810. package/lib/components/card/defs.d.ts +33 -0
  811. package/lib/components/card/defs.d.ts.map +1 -0
  812. package/lib/components/card/defs.js +48 -0
  813. package/lib/components/card/defs.js.map +1 -0
  814. package/lib/components/card/index.d.ts +17 -0
  815. package/lib/components/card/index.d.ts.map +1 -0
  816. package/lib/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +67 -0
  817. package/lib/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -0
  818. package/lib/components/coachmark/coachmark-beacon/defs.d.ts +13 -0
  819. package/lib/components/coachmark/coachmark-beacon/defs.d.ts.map +1 -0
  820. package/lib/components/coachmark/coachmark-beacon/defs.js +26 -0
  821. package/lib/components/coachmark/coachmark-beacon/defs.js.map +1 -0
  822. package/lib/components/coachmark/coachmark-beacon/index.d.ts +8 -0
  823. package/lib/components/coachmark/coachmark-beacon/index.d.ts.map +1 -0
  824. package/lib/components/coachmark/coachmark-body.d.ts +31 -0
  825. package/lib/components/coachmark/coachmark-body.d.ts.map +1 -0
  826. package/lib/components/coachmark/coachmark-context.d.ts +12 -0
  827. package/lib/components/coachmark/coachmark-context.d.ts.map +1 -0
  828. package/lib/components/coachmark/coachmark-header.d.ts +41 -0
  829. package/lib/components/coachmark/coachmark-header.d.ts.map +1 -0
  830. package/lib/components/coachmark/coachmark-helpers.d.ts +10 -0
  831. package/lib/components/coachmark/coachmark-helpers.d.ts.map +1 -0
  832. package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +72 -0
  833. package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -0
  834. package/lib/components/coachmark/coachmark-tagline/index.d.ts +8 -0
  835. package/lib/components/coachmark/coachmark-tagline/index.d.ts.map +1 -0
  836. package/lib/components/coachmark/coachmark.d.ts +97 -0
  837. package/lib/components/coachmark/coachmark.d.ts.map +1 -0
  838. package/lib/components/coachmark/index.d.ts +10 -0
  839. package/lib/components/coachmark/index.d.ts.map +1 -0
  840. package/lib/components/combo-box/combo-box.d.ts.map +1 -1
  841. package/lib/components/copy/index.d.ts +9 -0
  842. package/lib/components/copy/index.d.ts.map +1 -0
  843. package/lib/components/dropdown/dropdown.d.ts +2 -1
  844. package/lib/components/dropdown/dropdown.d.ts.map +1 -1
  845. package/lib/components/edit-in-place/defs.d.ts +30 -0
  846. package/lib/components/edit-in-place/defs.d.ts.map +1 -0
  847. package/lib/components/edit-in-place/defs.js +45 -0
  848. package/lib/components/edit-in-place/defs.js.map +1 -0
  849. package/lib/components/edit-in-place/edit-in-place-helpers.d.ts +47 -0
  850. package/lib/components/edit-in-place/edit-in-place-helpers.d.ts.map +1 -0
  851. package/lib/components/edit-in-place/edit-in-place.d.ts +214 -0
  852. package/lib/components/edit-in-place/edit-in-place.d.ts.map +1 -0
  853. package/lib/components/edit-in-place/index.d.ts +10 -0
  854. package/lib/components/edit-in-place/index.d.ts.map +1 -0
  855. package/lib/components/fluid-date-picker/fluid-date-picker.d.ts +5 -1
  856. package/lib/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -1
  857. package/lib/components/icon-button/icon-button.d.ts +1 -1
  858. package/lib/components/link/link.d.ts +2 -1
  859. package/lib/components/link/link.d.ts.map +1 -1
  860. package/lib/components/menu/menu-item.d.ts.map +1 -1
  861. package/lib/components/menu/menu.d.ts +10 -0
  862. package/lib/components/menu/menu.d.ts.map +1 -1
  863. package/lib/components/multi-select/multi-select-item.d.ts +1 -1
  864. package/lib/components/multi-select/multi-select-item.d.ts.map +1 -1
  865. package/lib/components/multi-select/multi-select.d.ts +2 -1
  866. package/lib/components/multi-select/multi-select.d.ts.map +1 -1
  867. package/lib/components/notification/actionable-notification-button.d.ts +1 -1
  868. package/lib/components/notification/actionable-notification-button.d.ts.map +1 -1
  869. package/lib/components/notification/actionable-notification.d.ts.map +1 -1
  870. package/lib/components/options-tile/index.d.ts +8 -0
  871. package/lib/components/options-tile/index.d.ts.map +1 -0
  872. package/lib/components/options-tile/option-tile-helpers.d.ts +16 -0
  873. package/lib/components/options-tile/option-tile-helpers.d.ts.map +1 -0
  874. package/lib/components/options-tile/options-tile.d.ts +91 -0
  875. package/lib/components/options-tile/options-tile.d.ts.map +1 -0
  876. package/lib/components/page-header/index.d.ts +1 -0
  877. package/lib/components/page-header/index.d.ts.map +1 -1
  878. package/lib/components/page-header/page-header-tabs.d.ts +1 -1
  879. package/lib/components/page-header/page-header-tabs.d.ts.map +1 -1
  880. package/lib/components/page-header/page-header.d.ts +1 -1
  881. package/lib/components/page-header/page-header.d.ts.map +1 -1
  882. package/lib/components/search/search.d.ts.map +1 -1
  883. package/lib/components/slug/index.d.ts +1 -0
  884. package/lib/components/slug/index.d.ts.map +1 -1
  885. package/lib/components/tag/dismissible-tag.d.ts +1 -1
  886. package/lib/components/tag/dismissible-tag.d.ts.map +1 -1
  887. package/lib/components/tag/tag.d.ts.map +1 -1
  888. package/lib/components/tile/clickable-tile.d.ts +2 -1
  889. package/lib/components/tile/clickable-tile.d.ts.map +1 -1
  890. package/lib/components/user-avatar/index.d.ts +8 -0
  891. package/lib/components/user-avatar/index.d.ts.map +1 -0
  892. package/lib/components/user-avatar/user-avatar.d.ts +84 -0
  893. package/lib/components/user-avatar/user-avatar.d.ts.map +1 -0
  894. package/lib/globals/controllers/floating-controller.d.ts.map +1 -1
  895. package/lib/globals/controllers/floating-controller.js.map +1 -1
  896. package/lib/globals/decorators/carbon-element.d.ts +8 -0
  897. package/lib/globals/decorators/carbon-element.d.ts.map +1 -1
  898. package/lib/globals/internal/collection-helpers.d.ts +5 -5
  899. package/lib/globals/internal/collection-helpers.d.ts.map +1 -1
  900. package/lib/globals/internal/getSupportedLocale.d.ts +12 -0
  901. package/lib/globals/internal/getSupportedLocale.d.ts.map +1 -0
  902. package/lib/globals/mixins/on.d.ts +2 -2
  903. package/lib/globals/mixins/on.d.ts.map +1 -1
  904. package/lib/globals/register.d.ts +89 -0
  905. package/lib/globals/register.d.ts.map +1 -0
  906. package/lib/globals/register.js +61 -0
  907. package/lib/globals/register.js.map +1 -0
  908. package/lib/globals/settings.d.ts +1 -1
  909. package/lib/globals/settings.d.ts.map +1 -1
  910. package/lib/globals/settings.js +1 -0
  911. package/lib/globals/settings.js.map +1 -1
  912. package/lib/index.d.ts +10 -0
  913. package/lib/index.d.ts.map +1 -1
  914. package/package.json +16 -10
  915. package/scss/components/ai-label/ai-label.scss +24 -33
  916. package/scss/components/big-number/big-number-skeleton.scss +58 -0
  917. package/scss/components/big-number/big-number.scss +29 -0
  918. package/scss/components/big-number/story-styles.scss +48 -0
  919. package/scss/components/card/card-story.scss +29 -0
  920. package/scss/components/card/card.scss +212 -0
  921. package/scss/components/coachmark/coachmark-beacon/coachmark-beacon.scss +89 -0
  922. package/scss/components/coachmark/coachmark-body.scss +16 -0
  923. package/scss/components/coachmark/coachmark-header.scss +28 -0
  924. package/scss/components/coachmark/coachmark-tagline/coachmark-tagline.scss +42 -0
  925. package/scss/components/coachmark/coachmark.scss +42 -0
  926. package/scss/components/coachmark/story-styles.scss +37 -0
  927. package/scss/components/combo-box/combo-box.scss +63 -6
  928. package/scss/components/data-table/_table-action.scss +5 -3
  929. package/scss/components/date-picker/date-picker.scss +70 -2
  930. package/scss/components/date-picker/next/components/date-picker.scss +28 -2
  931. package/scss/components/dropdown/dropdown.scss +39 -4
  932. package/scss/components/edit-in-place/edit-in-place.scss +127 -0
  933. package/scss/components/edit-in-place/story-styles.scss +61 -0
  934. package/scss/components/fluid-combo-box/fluid-combo-box.scss +68 -5
  935. package/scss/components/fluid-date-picker/fluid-date-picker.scss +109 -12
  936. package/scss/components/fluid-dropdown/fluid-dropdown.scss +56 -6
  937. package/scss/components/fluid-multi-select/fluid-multi-select.scss +75 -2
  938. package/scss/components/fluid-number-input/fluid-number-input.scss +32 -1
  939. package/scss/components/fluid-search/fluid-search.scss +6 -3
  940. package/scss/components/menu/menu-item.scss +9 -1
  941. package/scss/components/menu/menu.scss +32 -1
  942. package/scss/components/multi-select/multi-select.scss +130 -28
  943. package/scss/components/number-input/number-input.scss +35 -1
  944. package/scss/components/options-tile/options-tile.scss +157 -0
  945. package/scss/components/options-tile/story-styles.scss +32 -0
  946. package/scss/components/search/search.scss +7 -0
  947. package/scss/components/select/select.scss +7 -3
  948. package/scss/components/slider/slider.scss +9 -2
  949. package/scss/components/tabs/tabs.scss +9 -2
  950. package/scss/components/tag/tag-story.scss +19 -0
  951. package/scss/components/tag/tag.scss +15 -11
  952. package/scss/components/text-input/text-input.scss +22 -0
  953. package/scss/components/user-avatar/story-styles.scss +53 -0
  954. package/scss/components/user-avatar/user-avatar.scss +113 -0
  955. package/telemetry.yml +67 -0
@@ -1 +1 @@
1
- {"version":3,"file":"combo-box.js","names":["CDSDropdown","ifNonEmpty","styles","customElement"],"sources":["../../../src/components/combo-box/combo-box.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { TemplateResult, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, { DROPDOWN_KEYBOARD_ACTION } from '../dropdown/dropdown';\nimport CDSComboBoxItem from './combo-box-item';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './combo-box.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport spread from '../../globals/directives/spread';\n\nexport { DROPDOWN_DIRECTION, DROPDOWN_SIZE } from '../dropdown/dropdown';\n\ntype ShouldFilterItem = (input: {\n item: CDSComboBoxItem;\n itemToString: (item: CDSComboBoxItem) => string;\n inputValue: string | null;\n}) => boolean;\n\n/**\n * Combo box.\n *\n * @element cds-combo-box\n * @fires cds-combo-box-beingselected\n * The custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-combo-box-beingtoggled\n * The custom event fired before the open state of this combo box is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-combo-box-selected - The custom event fired after a combo box item is selected upon a user gesture.\n * @fires cds-combo-box-toggled - The custom event fired after the open state of this combo box is toggled upon a user gesture.\n */\n@customElement(`${prefix}-combo-box`)\nclass CDSComboBox extends CDSDropdown {\n /**\n * The text content that should be set to the `<input>` for filtering.\n */\n protected _filterInputValue = '';\n\n protected _shouldTriggerBeFocusable = false;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The menu containing all selectable items.\n */\n @query('#menu-body')\n private _itemMenu!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * @param item A combo box item.\n * @returns `true` if the given combo box item matches the query text user types.\n */\n protected _testItemWithQueryText(item) {\n return (this.itemMatches || this._defaultItemMatches)(\n item,\n this._filterInputNode.value\n );\n }\n\n /**\n * The default item matching callback.\n *\n * @param item The combo box item.\n * @param queryText The query text user types.\n * @returns `true` if the given combo box item matches the given query text.\n */\n protected _defaultItemMatches(\n item: CDSComboBoxItem,\n queryText: string\n ): boolean {\n return (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n item.textContent!.toLowerCase().indexOf(queryText.toLowerCase()) >= 0\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (this.typeahead) {\n this.shouldFilterItem = true;\n this.setAttribute('should-filter-item', '');\n }\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput(event: InputEvent) {\n const rawQueryText = this._filterInputNode.value;\n const queryText = rawQueryText.trim().toLowerCase();\n\n if (rawQueryText.length !== 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n\n const firstMatchIndex = this._filterItems(items, queryText, rawQueryText);\n if (firstMatchIndex !== -1) {\n const highlightedItem = items[firstMatchIndex];\n if (highlightedItem) {\n this._scrollItemIntoView(highlightedItem as HTMLElement);\n }\n if (this.typeahead && event?.inputType?.startsWith('insert')) {\n const suggestedItem = highlightedItem.textContent?.trim() ?? '';\n if (\n suggestedItem.toLowerCase().startsWith(rawQueryText.toLowerCase()) &&\n suggestedItem.length > rawQueryText.length\n ) {\n const suggestionText =\n rawQueryText + suggestedItem.slice(rawQueryText.length);\n\n this._filterInputNode.value = suggestionText;\n this._filterInputNode.setSelectionRange(\n rawQueryText.length,\n suggestionText.length\n );\n\n this._filterInputValue = suggestionText;\n this.open = true;\n this.requestUpdate();\n return;\n }\n }\n }\n\n this._filterInputValue = rawQueryText;\n\n if (this.allowCustomValue) {\n const selected = this._getSelectedItem();\n const selectedDisplayText = selected?.textContent ?? '';\n const isDisplayingSelectedItem =\n selected !== null && selectedDisplayText === rawQueryText;\n\n if (!isDisplayingSelectedItem) {\n const previousValue = this.value;\n this.value = rawQueryText;\n\n if (previousValue !== this.value) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSComboBox).eventSelect,\n {\n bubbles: true,\n composed: true,\n detail: {\n item: null,\n value: this.value,\n },\n }\n )\n );\n }\n }\n }\n this.open = true;\n this.requestUpdate();\n }\n\n // removes the autocomplete suggestion\n protected _removeAutoCompleteSuggestion() {\n if (!this._filterInputNode) return;\n const { selectionStart, selectionEnd, value } = this._filterInputNode;\n if (selectionStart && selectionEnd && selectionEnd > selectionStart) {\n const cleanInput = value.slice(0, selectionStart);\n this._filterInputNode.value = cleanInput;\n this._filterInputNode.setSelectionRange(\n cleanInput.length,\n cleanInput.length\n );\n return;\n }\n }\n\n // Applies filtering/highlighting to all slotted items.\n protected _filterItems(\n items: NodeListOf<Element>,\n queryText: string,\n rawQueryText: string\n ): number {\n let firstMatchIndex = -1;\n const hasQuery = Boolean(queryText);\n forEach(items, (item, i) => {\n const comboItem = item as CDSComboBoxItem;\n const index = i ?? -1;\n if (!hasQuery) {\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n return;\n }\n const matches = this.typeahead\n ? (comboItem.textContent || '').toLowerCase().startsWith(queryText)\n : (comboItem.textContent || '').toLowerCase().includes(queryText);\n const filterFunction =\n typeof this.shouldFilterItem === 'function'\n ? this.shouldFilterItem\n : null;\n const shouldApplyBuiltInFilter =\n filterFunction === null && hasQuery && this.shouldFilterItem === true;\n const itemToString = (value: CDSComboBoxItem) => value.textContent || '';\n const filterInputValue = rawQueryText.length === 0 ? null : rawQueryText;\n const passesFilter = filterFunction\n ? filterFunction({\n item: comboItem,\n itemToString,\n inputValue: filterInputValue,\n })\n : shouldApplyBuiltInFilter\n ? matches\n : true;\n const highlightMatch = filterFunction !== null ? passesFilter : matches;\n if (highlightMatch && firstMatchIndex === -1) {\n firstMatchIndex = index;\n }\n if (filterFunction || shouldApplyBuiltInFilter) {\n (comboItem as HTMLElement).style.display = passesFilter ? '' : 'none';\n } else {\n (comboItem as HTMLElement).style.display = '';\n }\n comboItem.highlighted = index === firstMatchIndex;\n });\n return firstMatchIndex;\n }\n\n protected _scrollItemIntoView(item: HTMLElement) {\n if (!this._itemMenu) {\n return;\n }\n const menuRect = this._itemMenu.getBoundingClientRect();\n const itemRect = item.getBoundingClientRect();\n if (!menuRect || !itemRect) {\n return;\n }\n const menuBottom = menuRect.top + this._itemMenu.clientHeight;\n const isWithinViewport =\n menuRect.top <= itemRect.top && itemRect.bottom <= menuBottom;\n if (isWithinViewport) {\n return;\n }\n const scrollTop = itemRect.top - menuRect.top;\n const scrollBottom = itemRect.bottom - menuRect.bottom;\n this._itemMenu.scrollTop +=\n Math.abs(scrollTop) < Math.abs(scrollBottom) ? scrollTop : scrollBottom;\n }\n\n protected _getSelectedItem(): CDSComboBoxItem | null {\n if (!this.value) return null;\n const items = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItem\n )\n ) as CDSComboBoxItem[];\n return items.find((it) => String(it.value) === String(this.value)) ?? null;\n }\n\n protected _revertInputToSelected(focus = true) {\n const selected = this._getSelectedItem();\n\n let text = selected?.textContent ?? '';\n if (this.allowCustomValue && !selected && this.value) {\n text = this.value as string;\n }\n\n this._filterInputValue = text;\n\n if (this._filterInputNode) {\n this._filterInputNode.value = text;\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n const len = text.length;\n this._filterInputNode.setSelectionRange(len, len);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n protected _handleInputKeydown(event: KeyboardEvent) {\n // remove the autocomplete suggestion when navigating away from the suggested item\n if (\n this.typeahead &&\n (event.key === 'ArrowDown' || event.key === 'ArrowUp')\n ) {\n this._removeAutoCompleteSuggestion();\n }\n if (event.key !== 'Escape') {\n return;\n }\n if (!this._filterInputNode) {\n return;\n }\n\n if (this.open) {\n this._handleUserInitiatedToggle(false);\n } else {\n if (this.value) {\n this._revertInputToSelected(true);\n } else if (this._filterInputNode.value) {\n this._clearInputWithoutSelecting(true);\n }\n\n if (this.value || this._filterInputNode.value) {\n this._handleUserInitiatedClearInput();\n }\n }\n }\n\n protected _handleClickInner(event: MouseEvent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n const { target } = event as any;\n if (this._selectionButtonNode?.contains(target)) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleClickInner(event);\n }\n }\n\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n this._handleUserInitiatedSelectItem();\n if (this.value) {\n this._revertInputToSelected(true);\n } else {\n this._clearInputWithoutSelecting(true);\n }\n this.requestUpdate();\n }\n\n protected _handleUserInitiatedSelectItem(item?: CDSComboBoxItem) {\n if (item && !this._selectionShouldChange(item)) {\n // Escape hatch for `shouldUpdate()` logic that updates `._filterInputValue()` when selection changes,\n // given we want to update the `<input>` and close the dropdown even if selection doesn't update.\n // Use case:\n // 1. Select the 2nd item in combo box drop down\n // 2. Type some text in the `<input>`\n // 3. Re-select the 2nd item in combo box drop down,\n // the `<input>` has to updated with the 2nd item and the dropdown should be closed,\n // even if there is no change in the selected value\n this._filterInputValue = item.textContent || '';\n this.open = false;\n this.requestUpdate();\n }\n super._handleUserInitiatedSelectItem(item);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSComboBoxItem) {\n this.value = !itemToSelect ? '' : itemToSelect.value;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItemSelected\n ),\n (item) => {\n (item as CDSComboBoxItem).selected = false;\n item.setAttribute('aria-selected', 'false');\n }\n );\n if (itemToSelect) {\n itemToSelect.selected = true;\n itemToSelect.setAttribute('aria-selected', 'true');\n }\n\n this._handleUserInitiatedToggle(false);\n\n if (this._filterInputNode) {\n try {\n this._filterInputNode.focus();\n const val = this._filterInputNode.value || '';\n this._filterInputNode.setSelectionRange(val.length, val.length);\n } catch {\n /* ignore browsers that prevent setSelectionRange */\n }\n }\n }\n\n protected _renderLabel(): TemplateResult {\n const {\n disabled,\n inputLabel,\n label,\n open,\n readOnly,\n value,\n inputProps,\n _activeDescendant: activeDescendant,\n _filterInputValue: filterInputValue,\n _handleInput: handleInput,\n _handleInputKeydown: handleInputKeydown,\n } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n let activeDescendantFallback: string | undefined;\n if (open && !activeDescendant) {\n const constructor = this.constructor as typeof CDSDropdown;\n const items = this.querySelectorAll(constructor.selectorItem);\n activeDescendantFallback = items[0]?.id;\n }\n\n return html`\n <input\n id=\"trigger-button\"\n class=\"${inputClasses}\"\n ?disabled=${disabled}\n placeholder=\"${label}\"\n .value=${filterInputValue}\n role=\"combobox\"\n aria-label=\"${ifNonEmpty(inputLabel)}\"\n aria-labelledby=\"dropdown-label\"\n aria-controls=\"menu-body\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n aria-expanded=\"${String(open)}\"\n aria-activedescendant=\"${ifDefined(\n open ? (activeDescendant ?? activeDescendantFallback) : ''\n )}\"\n ?readonly=${readOnly}\n @input=${handleInput}\n @keydown=${handleInputKeydown}\n ...=\"${spread(this._normalizeInputProps(inputProps))}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputValue: filterInputValue } = this;\n\n if (filterInputValue.length != 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n return filterInputValue.length === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"-1\"\n title=\"${clearSelectionLabel}\">\n ${iconLoader(Close16, { 'aria-label': clearSelectionLabel })}\n </div>\n `;\n }\n\n protected _renderTitleLabel(): TemplateResult {\n const {\n disabled,\n hideLabel,\n titleText,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n id=\"dropdown-label\"\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n </label>\n `;\n }\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = 'Clear selection';\n\n /**\n * The `aria-label` attribute for the `<input>` for filtering.\n */\n @property({ attribute: 'input-label' })\n inputLabel = '';\n\n /**\n * The custom item matching callback.\n */\n @property({ attribute: false })\n itemMatches!: (item: CDSComboBoxItem, queryText: string) => boolean;\n\n /**\n * Provide custom filtering behavior. This attribute will be ignored if\n * `typeahead` is enabled and will default to `true`\n */\n @property({\n attribute: 'should-filter-item',\n converter: {\n fromAttribute: (value) => value !== null,\n },\n })\n shouldFilterItem: boolean | ShouldFilterItem = false;\n\n /**\n * **Experimental**: will enable autocomplete and typeahead for the input field.\n */\n @property({ type: Boolean, reflect: true })\n typeahead = false;\n\n /**\n * `true` to allow custom values that do not match any item in the list.\n */\n @property({ type: Boolean, attribute: 'allow-custom-value' })\n allowCustomValue = false;\n\n /**\n * Additional input attributes to apply to the internal input element.\n * Allows passing native HTML input attributes like `maxlength`, `pattern`,\n * `autocomplete`, etc.\n */\n @property({ type: Object, attribute: false })\n inputProps?: Record<string, string | number | boolean>;\n\n private _normalizeInputProps(\n inputProps?: Record<string, string | number | boolean>\n ) {\n const normalizedInputProps: Record<string, string> = {};\n\n Object.entries(inputProps ?? {}).forEach(([key, value]) => {\n if (value === undefined || value === null || value === false) {\n return;\n }\n normalizedInputProps[key] = value === true ? '' : String(value);\n });\n\n return normalizedInputProps;\n }\n\n shouldUpdate(changedProperties) {\n super.shouldUpdate(changedProperties);\n if (!changedProperties.has('value')) {\n return true;\n }\n if (this._selectedItemContent) {\n this._filterInputValue = this._selectedItemContent.textContent || '';\n return true;\n }\n if (this.allowCustomValue && this.value) {\n this._filterInputValue = String(this.value);\n return true;\n }\n if (this.value === '') {\n this._filterInputValue = '';\n }\n return true;\n }\n\n protected _clearInputWithoutSelecting(focus = true) {\n this._filterInputValue = '';\n if (this._filterInputNode) {\n this._filterInputNode.value = '';\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n this._filterInputNode.setSelectionRange(0, 0);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('open')) {\n if (this.open && this._filterInputNode) {\n this._handleInput(changedProperties);\n } else if (!this.open) {\n // remove the autocomplete suggestion when closing the combobox\n this._removeAutoCompleteSuggestion();\n this._resetFilteredItems();\n if (this._filterInputNode.value == '') {\n this.value = '';\n }\n if (this.value) {\n this._revertInputToSelected(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else if (\n this._filterInputValue &&\n this._filterInputValue.length > 0 &&\n !this.allowCustomValue\n ) {\n this._clearInputWithoutSelecting(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else {\n // nothing typed and no selection, ensure no extra changes\n }\n }\n }\n const { _listBoxNode: listBoxNode } = this;\n if (listBoxNode) {\n listBoxNode.classList.add(`${prefix}--combo-box`);\n }\n }\n\n // Restores the full list when the query is cleared or the menu closes.\n protected _resetFilteredItems() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n forEach(items, (item) => {\n const comboItem = item as CDSComboBoxItem;\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n });\n }\n\n // For combo box, open/selection with space key is disabled given the input box should take it over\n static TRIGGER_KEYS = new Set(['Enter']);\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-combo-box-item[highlighted]`;\n }\n\n /**\n * A selector that will return combo box items.\n */\n static get selectorItem() {\n return `${prefix}-combo-box-item`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-combo-box-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this combo box item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this combo box item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-combo-box-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this combo box item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-combo-box-toggled`;\n }\n\n /**\n * The name of the custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-combo-box-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a combo box item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-combo-box-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSComboBox;\n"],"mappings":"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"}
1
+ {"version":3,"file":"combo-box.js","names":["CDSDropdown","ifNonEmpty","styles","customElement"],"sources":["../../../src/components/combo-box/combo-box.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { TemplateResult, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, { DROPDOWN_KEYBOARD_ACTION } from '../dropdown/dropdown';\nimport CDSComboBoxItem from './combo-box-item';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './combo-box.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport spread from '../../globals/directives/spread';\n\nexport { DROPDOWN_DIRECTION, DROPDOWN_SIZE } from '../dropdown/dropdown';\n\ntype ShouldFilterItem = (input: {\n item: CDSComboBoxItem;\n itemToString: (item: CDSComboBoxItem) => string;\n inputValue: string | null;\n}) => boolean;\n\n/**\n * Combo box.\n *\n * @element cds-combo-box\n * @fires cds-combo-box-beingselected\n * The custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-combo-box-beingtoggled\n * The custom event fired before the open state of this combo box is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-combo-box-selected - The custom event fired after a combo box item is selected upon a user gesture.\n * @fires cds-combo-box-toggled - The custom event fired after the open state of this combo box is toggled upon a user gesture.\n */\n@customElement(`${prefix}-combo-box`)\nclass CDSComboBox extends CDSDropdown {\n /**\n * The text content that should be set to the `<input>` for filtering.\n */\n protected _filterInputValue = '';\n\n protected _shouldTriggerBeFocusable = false;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The menu containing all selectable items.\n */\n @query('#menu-body')\n private _itemMenu!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * @param item A combo box item.\n * @returns `true` if the given combo box item matches the query text user types.\n */\n protected _testItemWithQueryText(item) {\n return (this.itemMatches || this._defaultItemMatches)(\n item,\n this._filterInputNode.value\n );\n }\n\n /**\n * The default item matching callback.\n *\n * @param item The combo box item.\n * @param queryText The query text user types.\n * @returns `true` if the given combo box item matches the given query text.\n */\n protected _defaultItemMatches(\n item: CDSComboBoxItem,\n queryText: string\n ): boolean {\n return (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n item.textContent!.toLowerCase().indexOf(queryText.toLowerCase()) >= 0\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (this.typeahead) {\n this.shouldFilterItem = true;\n this.setAttribute('should-filter-item', '');\n }\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput(event: InputEvent) {\n const rawQueryText = this._filterInputNode.value;\n const queryText = rawQueryText.trim().toLowerCase();\n\n if (rawQueryText.length !== 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n\n const firstMatchIndex = this._filterItems(items, queryText, rawQueryText);\n if (firstMatchIndex !== -1) {\n const highlightedItem = items[firstMatchIndex];\n if (highlightedItem) {\n this._scrollItemIntoView(highlightedItem as HTMLElement);\n }\n if (this.typeahead && event?.inputType?.startsWith('insert')) {\n const suggestedItem = highlightedItem.textContent?.trim() ?? '';\n if (\n suggestedItem.toLowerCase().startsWith(rawQueryText.toLowerCase()) &&\n suggestedItem.length > rawQueryText.length\n ) {\n const suggestionText =\n rawQueryText + suggestedItem.slice(rawQueryText.length);\n\n this._filterInputNode.value = suggestionText;\n this._filterInputNode.setSelectionRange(\n rawQueryText.length,\n suggestionText.length\n );\n\n this._filterInputValue = suggestionText;\n this.open = true;\n this.requestUpdate();\n return;\n }\n }\n }\n\n this._filterInputValue = rawQueryText;\n\n if (this.allowCustomValue) {\n const selected = this._getSelectedItem();\n const selectedDisplayText = selected?.textContent ?? '';\n const isDisplayingSelectedItem =\n selected !== null && selectedDisplayText === rawQueryText;\n\n if (!isDisplayingSelectedItem) {\n const previousValue = this.value;\n this.value = rawQueryText;\n\n if (previousValue !== this.value) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSComboBox).eventSelect,\n {\n bubbles: true,\n composed: true,\n detail: {\n item: null,\n value: this.value,\n },\n }\n )\n );\n }\n }\n }\n this.open = true;\n this.requestUpdate();\n }\n\n // removes the autocomplete suggestion\n protected _removeAutoCompleteSuggestion() {\n if (!this._filterInputNode) return;\n const { selectionStart, selectionEnd, value } = this._filterInputNode;\n if (selectionStart && selectionEnd && selectionEnd > selectionStart) {\n const cleanInput = value.slice(0, selectionStart);\n this._filterInputNode.value = cleanInput;\n this._filterInputNode.setSelectionRange(\n cleanInput.length,\n cleanInput.length\n );\n return;\n }\n }\n\n // Applies filtering/highlighting to all slotted items.\n protected _filterItems(\n items: NodeListOf<Element>,\n queryText: string,\n rawQueryText: string\n ): number {\n let firstMatchIndex = -1;\n const hasQuery = Boolean(queryText);\n forEach(items, (item, i) => {\n const comboItem = item as CDSComboBoxItem;\n const index = i ?? -1;\n if (!hasQuery) {\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n return;\n }\n const matches = this.typeahead\n ? (comboItem.textContent || '').toLowerCase().startsWith(queryText)\n : (comboItem.textContent || '').toLowerCase().includes(queryText);\n const filterFunction =\n typeof this.shouldFilterItem === 'function'\n ? this.shouldFilterItem\n : null;\n const shouldApplyBuiltInFilter =\n filterFunction === null && hasQuery && this.shouldFilterItem === true;\n const itemToString = (value: CDSComboBoxItem) => value.textContent || '';\n const filterInputValue = rawQueryText.length === 0 ? null : rawQueryText;\n const passesFilter = filterFunction\n ? filterFunction({\n item: comboItem,\n itemToString,\n inputValue: filterInputValue,\n })\n : shouldApplyBuiltInFilter\n ? matches\n : true;\n const highlightMatch = filterFunction !== null ? passesFilter : matches;\n if (highlightMatch && firstMatchIndex === -1) {\n firstMatchIndex = index;\n }\n if (filterFunction || shouldApplyBuiltInFilter) {\n (comboItem as HTMLElement).style.display = passesFilter ? '' : 'none';\n } else {\n (comboItem as HTMLElement).style.display = '';\n }\n comboItem.highlighted = index === firstMatchIndex;\n });\n return firstMatchIndex;\n }\n\n protected _scrollItemIntoView(item: HTMLElement) {\n if (!this._itemMenu) {\n return;\n }\n const menuRect = this._itemMenu.getBoundingClientRect();\n const itemRect = item.getBoundingClientRect();\n if (!menuRect || !itemRect) {\n return;\n }\n const menuBottom = menuRect.top + this._itemMenu.clientHeight;\n const isWithinViewport =\n menuRect.top <= itemRect.top && itemRect.bottom <= menuBottom;\n if (isWithinViewport) {\n return;\n }\n const scrollTop = itemRect.top - menuRect.top;\n const scrollBottom = itemRect.bottom - menuRect.bottom;\n this._itemMenu.scrollTop +=\n Math.abs(scrollTop) < Math.abs(scrollBottom) ? scrollTop : scrollBottom;\n }\n\n protected _getSelectedItem(): CDSComboBoxItem | null {\n if (!this.value) return null;\n const items = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItem\n )\n ) as CDSComboBoxItem[];\n return items.find((it) => String(it.value) === String(this.value)) ?? null;\n }\n\n protected _revertInputToSelected(focus = true) {\n const selected = this._getSelectedItem();\n\n let text = selected?.textContent ?? '';\n if (this.allowCustomValue && !selected && this.value) {\n text = this.value as string;\n }\n\n this._filterInputValue = text;\n\n if (this._filterInputNode) {\n this._filterInputNode.value = text;\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n const len = text.length;\n this._filterInputNode.setSelectionRange(len, len);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n protected _handleInputKeydown(event: KeyboardEvent) {\n // remove the autocomplete suggestion when navigating away from the suggested item\n if (\n this.typeahead &&\n (event.key === 'ArrowDown' || event.key === 'ArrowUp')\n ) {\n this._removeAutoCompleteSuggestion();\n }\n if (event.key !== 'Escape') {\n return;\n }\n if (!this._filterInputNode) {\n return;\n }\n\n if (this.open) {\n this._handleUserInitiatedToggle(false);\n } else {\n if (this.value) {\n this._revertInputToSelected(true);\n } else if (this._filterInputNode.value) {\n this._clearInputWithoutSelecting(true);\n }\n\n if (this.value || this._filterInputNode.value) {\n this._handleUserInitiatedClearInput();\n }\n }\n }\n\n protected _handleClickInner(event: MouseEvent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n const { target } = event as any;\n if (this._selectionButtonNode?.contains(target)) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleClickInner(event);\n }\n }\n\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n this._handleUserInitiatedSelectItem();\n if (this.value) {\n this._revertInputToSelected(true);\n } else {\n this._clearInputWithoutSelecting(true);\n }\n this.requestUpdate();\n }\n\n protected _handleUserInitiatedSelectItem(item?: CDSComboBoxItem) {\n if (item && !this._selectionShouldChange(item)) {\n // Escape hatch for `shouldUpdate()` logic that updates `._filterInputValue()` when selection changes,\n // given we want to update the `<input>` and close the dropdown even if selection doesn't update.\n // Use case:\n // 1. Select the 2nd item in combo box drop down\n // 2. Type some text in the `<input>`\n // 3. Re-select the 2nd item in combo box drop down,\n // the `<input>` has to updated with the 2nd item and the dropdown should be closed,\n // even if there is no change in the selected value\n this._filterInputValue = item.textContent || '';\n this.open = false;\n this.requestUpdate();\n }\n super._handleUserInitiatedSelectItem(item);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSComboBoxItem) {\n this.value = !itemToSelect ? '' : itemToSelect.value;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItemSelected\n ),\n (item) => {\n (item as CDSComboBoxItem).selected = false;\n item.setAttribute('aria-selected', 'false');\n }\n );\n if (itemToSelect) {\n itemToSelect.selected = true;\n itemToSelect.setAttribute('aria-selected', 'true');\n }\n\n this._handleUserInitiatedToggle(false);\n\n if (this._filterInputNode) {\n try {\n this._filterInputNode.focus();\n const val = this._filterInputNode.value || '';\n this._filterInputNode.setSelectionRange(val.length, val.length);\n } catch {\n /* ignore browsers that prevent setSelectionRange */\n }\n }\n }\n\n protected _renderLabel(): TemplateResult {\n const {\n disabled,\n inputLabel,\n label,\n open,\n readOnly,\n value,\n inputProps,\n _activeDescendant: activeDescendant,\n _filterInputValue: filterInputValue,\n _handleInput: handleInput,\n _handleInputKeydown: handleInputKeydown,\n } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n return html`\n <input\n id=\"trigger-button\"\n class=\"${inputClasses}\"\n ?disabled=${disabled}\n placeholder=\"${label}\"\n .value=${filterInputValue}\n role=\"combobox\"\n aria-label=\"${ifNonEmpty(inputLabel)}\"\n aria-labelledby=\"dropdown-label\"\n aria-controls=\"menu-body\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n aria-expanded=\"${String(open)}\"\n aria-activedescendant=\"${open ? (activeDescendant ?? '') : ''}\"\n ?readonly=${readOnly}\n @input=${handleInput}\n @keydown=${handleInputKeydown}\n ...=\"${spread(this._normalizeInputProps(inputProps))}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputValue: filterInputValue } = this;\n\n if (filterInputValue.length != 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n return filterInputValue.length === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"-1\"\n title=\"${clearSelectionLabel}\">\n ${iconLoader(Close16, { 'aria-label': clearSelectionLabel })}\n </div>\n `;\n }\n\n protected _renderTitleLabel(): TemplateResult {\n const {\n disabled,\n hideLabel,\n titleText,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n id=\"dropdown-label\"\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n </label>\n `;\n }\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = 'Clear selection';\n\n /**\n * The `aria-label` attribute for the `<input>` for filtering.\n */\n @property({ attribute: 'input-label' })\n inputLabel = '';\n\n /**\n * The custom item matching callback.\n */\n @property({ attribute: false })\n itemMatches!: (item: CDSComboBoxItem, queryText: string) => boolean;\n\n /**\n * Provide custom filtering behavior. This attribute will be ignored if\n * `typeahead` is enabled and will default to `true`\n */\n @property({\n attribute: 'should-filter-item',\n converter: {\n fromAttribute: (value) => value !== null,\n },\n })\n shouldFilterItem: boolean | ShouldFilterItem = false;\n\n /**\n * **Experimental**: will enable autocomplete and typeahead for the input field.\n */\n @property({ type: Boolean, reflect: true })\n typeahead = false;\n\n /**\n * `true` to allow custom values that do not match any item in the list.\n */\n @property({ type: Boolean, attribute: 'allow-custom-value' })\n allowCustomValue = false;\n\n /**\n * Additional input attributes to apply to the internal input element.\n * Allows passing native HTML input attributes like `maxlength`, `pattern`,\n * `autocomplete`, etc.\n */\n @property({ type: Object, attribute: false })\n inputProps?: Record<string, string | number | boolean>;\n\n private _normalizeInputProps(\n inputProps?: Record<string, string | number | boolean>\n ) {\n const normalizedInputProps: Record<string, string> = {};\n\n Object.entries(inputProps ?? {}).forEach(([key, value]) => {\n if (value === undefined || value === null || value === false) {\n return;\n }\n normalizedInputProps[key] = value === true ? '' : String(value);\n });\n\n return normalizedInputProps;\n }\n\n shouldUpdate(changedProperties) {\n super.shouldUpdate(changedProperties);\n if (!changedProperties.has('value')) {\n return true;\n }\n if (this._selectedItemContent) {\n this._filterInputValue = this._selectedItemContent.textContent || '';\n return true;\n }\n if (this.allowCustomValue && this.value) {\n this._filterInputValue = String(this.value);\n return true;\n }\n if (this.value === '') {\n this._filterInputValue = '';\n }\n return true;\n }\n\n protected _clearInputWithoutSelecting(focus = true) {\n this._filterInputValue = '';\n if (this._filterInputNode) {\n this._filterInputNode.value = '';\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n this._filterInputNode.setSelectionRange(0, 0);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('open')) {\n if (this.open && this._filterInputNode) {\n this._handleInput(changedProperties);\n } else if (!this.open) {\n // remove the autocomplete suggestion when closing the combobox\n this._removeAutoCompleteSuggestion();\n this._resetFilteredItems();\n if (this._filterInputNode.value == '') {\n this.value = '';\n }\n if (this.value) {\n this._revertInputToSelected(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else if (\n this._filterInputValue &&\n this._filterInputValue.length > 0 &&\n !this.allowCustomValue\n ) {\n this._clearInputWithoutSelecting(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else {\n // nothing typed and no selection, ensure no extra changes\n }\n }\n }\n const { _listBoxNode: listBoxNode } = this;\n if (listBoxNode) {\n listBoxNode.classList.add(`${prefix}--combo-box`);\n }\n }\n\n // Restores the full list when the query is cleared or the menu closes.\n protected _resetFilteredItems() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n forEach(items, (item) => {\n const comboItem = item as CDSComboBoxItem;\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n });\n }\n\n // For combo box, open/selection with space key is disabled given the input box should take it over\n static TRIGGER_KEYS = new Set(['Enter']);\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-combo-box-item[highlighted]`;\n }\n\n /**\n * A selector that will return combo box items.\n */\n static get selectorItem() {\n return `${prefix}-combo-box-item`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-combo-box-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this combo box item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this combo box item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-combo-box-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this combo box item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-combo-box-toggled`;\n }\n\n /**\n * The name of the custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-combo-box-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a combo box item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-combo-box-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSComboBox;\n"],"mappings":"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"}