@carbon/web-components 2.0.0-beta.2 → 2.0.0-beta.4

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 (615) hide show
  1. package/README.md +9 -9
  2. package/custom-elements.json +4026 -1801
  3. package/es/components/breadcrumb/breadcrumb.css.js +1 -1
  4. package/es/components/breadcrumb/breadcrumb.rtl.css.js +1 -1
  5. package/es/components/button/button.css.js +1 -1
  6. package/es/components/button/button.d.ts +12 -4
  7. package/es/components/button/button.d.ts.map +1 -1
  8. package/es/components/button/button.js +57 -19
  9. package/es/components/button/button.js.map +1 -1
  10. package/es/components/button/button.rtl.css.js +1 -1
  11. package/es/components/checkbox/checkbox.css.js +1 -1
  12. package/es/components/checkbox/checkbox.d.ts +9 -0
  13. package/es/components/checkbox/checkbox.d.ts.map +1 -1
  14. package/es/components/checkbox/checkbox.js +32 -1
  15. package/es/components/checkbox/checkbox.js.map +1 -1
  16. package/es/components/checkbox/checkbox.rtl.css.js +1 -1
  17. package/es/components/code-snippet/code-snippet-skeleton.d.ts +2 -2
  18. package/es/components/code-snippet/code-snippet-skeleton.d.ts.map +1 -1
  19. package/es/components/code-snippet/code-snippet-skeleton.js +4 -4
  20. package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  21. package/es/components/code-snippet/code-snippet.css.js +1 -1
  22. package/es/components/code-snippet/code-snippet.d.ts +75 -29
  23. package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
  24. package/es/components/code-snippet/code-snippet.js +370 -164
  25. package/es/components/code-snippet/code-snippet.js.map +1 -1
  26. package/es/components/code-snippet/code-snippet.rtl.css.js +1 -1
  27. package/es/components/copy/copy.d.ts +1 -2
  28. package/es/components/copy/copy.d.ts.map +1 -1
  29. package/es/components/copy/copy.js +6 -13
  30. package/es/components/copy/copy.js.map +1 -1
  31. package/es/components/copy-button/copy-button.css.js +1 -1
  32. package/es/components/copy-button/copy-button.d.ts +8 -0
  33. package/es/components/copy-button/copy-button.d.ts.map +1 -1
  34. package/es/components/copy-button/copy-button.js +38 -2
  35. package/es/components/copy-button/copy-button.js.map +1 -1
  36. package/es/components/copy-button/copy-button.rtl.css.js +1 -1
  37. package/es/components/data-table/data-table.css.js +1 -1
  38. package/es/components/data-table/data-table.rtl.css.js +1 -1
  39. package/es/components/data-table/defs.d.ts +0 -13
  40. package/es/components/data-table/defs.d.ts.map +1 -1
  41. package/es/components/data-table/defs.js +0 -9
  42. package/es/components/data-table/defs.js.map +1 -1
  43. package/es/components/data-table/index.d.ts +6 -5
  44. package/es/components/data-table/index.d.ts.map +1 -1
  45. package/es/components/data-table/index.js +6 -5
  46. package/es/components/data-table/index.js.map +1 -1
  47. package/es/components/data-table/table-batch-actions.d.ts +7 -2
  48. package/es/components/data-table/table-batch-actions.d.ts.map +1 -1
  49. package/es/components/data-table/table-batch-actions.js +25 -6
  50. package/es/components/data-table/table-batch-actions.js.map +1 -1
  51. package/es/components/data-table/table-body.d.ts +8 -4
  52. package/es/components/data-table/table-body.d.ts.map +1 -1
  53. package/es/components/data-table/table-body.js +21 -14
  54. package/es/components/data-table/table-body.js.map +1 -1
  55. package/es/components/data-table/table-cell-content.d.ts +21 -0
  56. package/es/components/data-table/table-cell-content.d.ts.map +1 -0
  57. package/es/components/data-table/table-cell-content.js +53 -0
  58. package/es/components/data-table/table-cell-content.js.map +1 -0
  59. package/es/components/data-table/table-cell.d.ts +15 -2
  60. package/es/components/data-table/table-cell.d.ts.map +1 -1
  61. package/es/components/data-table/table-cell.js +43 -8
  62. package/es/components/data-table/table-cell.js.map +1 -1
  63. package/es/components/data-table/table-expanded-row.d.ts +336 -2
  64. package/es/components/data-table/table-expanded-row.d.ts.map +1 -1
  65. package/es/components/data-table/table-expanded-row.js +69 -16
  66. package/es/components/data-table/table-expanded-row.js.map +1 -1
  67. package/es/components/data-table/table-head.d.ts +7 -2
  68. package/es/components/data-table/table-head.d.ts.map +1 -1
  69. package/es/components/data-table/table-head.js +15 -6
  70. package/es/components/data-table/table-head.js.map +1 -1
  71. package/es/components/data-table/table-header-cell.d.ts +21 -3
  72. package/es/components/data-table/table-header-cell.d.ts.map +1 -1
  73. package/es/components/data-table/table-header-cell.js +67 -10
  74. package/es/components/data-table/table-header-cell.js.map +1 -1
  75. package/es/components/data-table/table-header-description.d.ts +21 -0
  76. package/es/components/data-table/table-header-description.d.ts.map +1 -0
  77. package/es/components/data-table/table-header-description.js +53 -0
  78. package/es/components/data-table/table-header-description.js.map +1 -0
  79. package/es/components/data-table/table-header-row.d.ts +3 -3
  80. package/es/components/data-table/table-header-row.d.ts.map +1 -1
  81. package/es/components/data-table/table-header-row.js +6 -6
  82. package/es/components/data-table/table-header-row.js.map +1 -1
  83. package/es/components/data-table/table-header-title.d.ts +21 -0
  84. package/es/components/data-table/table-header-title.d.ts.map +1 -0
  85. package/es/components/data-table/table-header-title.js +53 -0
  86. package/es/components/data-table/table-header-title.js.map +1 -0
  87. package/es/components/data-table/table-row.d.ts +413 -5
  88. package/es/components/data-table/table-row.d.ts.map +1 -1
  89. package/es/components/data-table/table-row.js +386 -45
  90. package/es/components/data-table/table-row.js.map +1 -1
  91. package/es/components/data-table/table-skeleton.d.ts +59 -0
  92. package/es/components/data-table/table-skeleton.d.ts.map +1 -0
  93. package/es/components/data-table/table-skeleton.js +259 -0
  94. package/es/components/data-table/table-skeleton.js.map +1 -0
  95. package/es/components/data-table/table-toolbar-content.d.ts +6 -2
  96. package/es/components/data-table/table-toolbar-content.d.ts.map +1 -1
  97. package/es/components/data-table/table-toolbar-content.js +21 -4
  98. package/es/components/data-table/table-toolbar-content.js.map +1 -1
  99. package/es/components/data-table/table-toolbar-search.d.ts +7 -3
  100. package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
  101. package/es/components/data-table/table-toolbar-search.js +25 -8
  102. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  103. package/es/components/data-table/table-toolbar.d.ts +19 -2
  104. package/es/components/data-table/table-toolbar.d.ts.map +1 -1
  105. package/es/components/data-table/table-toolbar.js +68 -13
  106. package/es/components/data-table/table-toolbar.js.map +1 -1
  107. package/es/components/data-table/table.d.ts +556 -6
  108. package/es/components/data-table/table.d.ts.map +1 -1
  109. package/es/components/data-table/table.js +1012 -15
  110. package/es/components/data-table/table.js.map +1 -1
  111. package/es/components/dropdown/defs.d.ts +6 -6
  112. package/es/components/dropdown/defs.d.ts.map +1 -1
  113. package/es/components/dropdown/defs.js +2 -2
  114. package/es/components/dropdown/defs.js.map +1 -1
  115. package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
  116. package/es/components/dropdown/dropdown-item.js +1 -1
  117. package/es/components/dropdown/dropdown-item.js.map +1 -1
  118. package/es/components/dropdown/dropdown.d.ts +9 -2
  119. package/es/components/dropdown/dropdown.d.ts.map +1 -1
  120. package/es/components/dropdown/dropdown.js +83 -62
  121. package/es/components/dropdown/dropdown.js.map +1 -1
  122. package/es/components/file-uploader/demo-file-uploader.d.ts +1 -1
  123. package/es/components/file-uploader/demo-file-uploader.d.ts.map +1 -1
  124. package/es/components/file-uploader/demo-file-uploader.js +38 -4
  125. package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
  126. package/es/components/floating-menu/defs.d.ts +1 -39
  127. package/es/components/floating-menu/defs.d.ts.map +1 -1
  128. package/es/components/floating-menu/defs.js +2 -23
  129. package/es/components/floating-menu/defs.js.map +1 -1
  130. package/es/components/floating-menu/floating-menu-trigger.d.ts +3 -3
  131. package/es/components/floating-menu/floating-menu-trigger.d.ts.map +1 -1
  132. package/es/components/floating-menu/floating-menu.d.ts +11 -13
  133. package/es/components/floating-menu/floating-menu.d.ts.map +1 -1
  134. package/es/components/floating-menu/floating-menu.js +44 -54
  135. package/es/components/floating-menu/floating-menu.js.map +1 -1
  136. package/es/components/form/form-item.d.ts +2 -2
  137. package/es/components/form/form-item.d.ts.map +1 -1
  138. package/es/components/form/form-item.js +4 -4
  139. package/es/components/form/form-item.js.map +1 -1
  140. package/es/components/form-group/form-group.css.js +12 -0
  141. package/es/components/form-group/form-group.d.ts +44 -0
  142. package/es/components/form-group/form-group.d.ts.map +1 -0
  143. package/es/components/form-group/form-group.js +141 -0
  144. package/es/components/form-group/form-group.js.map +1 -0
  145. package/es/components/form-group/form-group.rtl.css.js +12 -0
  146. package/es/components/form-group/index.d.ts +11 -0
  147. package/es/components/form-group/index.d.ts.map +1 -0
  148. package/es/components/form-group/index.js +11 -0
  149. package/es/components/form-group/index.js.map +1 -0
  150. package/es/components/icon-button/icon-button.css.js +1 -1
  151. package/es/components/icon-button/icon-button.d.ts +1 -1
  152. package/es/components/icon-button/icon-button.d.ts.map +1 -1
  153. package/es/components/icon-button/icon-button.js +5 -3
  154. package/es/components/icon-button/icon-button.js.map +1 -1
  155. package/es/components/icon-button/icon-button.rtl.css.js +1 -1
  156. package/es/components/list/list.css.js +1 -1
  157. package/es/components/list/list.rtl.css.js +1 -1
  158. package/es/components/modal/defs.d.ts +3 -3
  159. package/es/components/modal/defs.d.ts.map +1 -1
  160. package/es/components/modal/defs.js +2 -2
  161. package/es/components/modal/defs.js.map +1 -1
  162. package/es/components/modal/index.d.ts +2 -1
  163. package/es/components/modal/index.d.ts.map +1 -1
  164. package/es/components/modal/index.js +2 -1
  165. package/es/components/modal/index.js.map +1 -1
  166. package/es/components/modal/modal-body-content.d.ts +21 -0
  167. package/es/components/modal/modal-body-content.d.ts.map +1 -0
  168. package/es/components/modal/modal-body-content.js +53 -0
  169. package/es/components/modal/modal-body-content.js.map +1 -0
  170. package/es/components/modal/modal-body.d.ts +2 -2
  171. package/es/components/modal/modal-body.d.ts.map +1 -1
  172. package/es/components/modal/modal-body.js +4 -4
  173. package/es/components/modal/modal-body.js.map +1 -1
  174. package/es/components/modal/modal-close-button.d.ts +5 -5
  175. package/es/components/modal/modal-close-button.d.ts.map +1 -1
  176. package/es/components/modal/modal-close-button.js +9 -9
  177. package/es/components/modal/modal-close-button.js.map +1 -1
  178. package/es/components/modal/modal-footer.d.ts +3 -3
  179. package/es/components/modal/modal-footer.d.ts.map +1 -1
  180. package/es/components/modal/modal-footer.js +13 -21
  181. package/es/components/modal/modal-footer.js.map +1 -1
  182. package/es/components/modal/modal-header.d.ts +2 -2
  183. package/es/components/modal/modal-header.d.ts.map +1 -1
  184. package/es/components/modal/modal-header.js +4 -4
  185. package/es/components/modal/modal-header.js.map +1 -1
  186. package/es/components/modal/modal-heading.d.ts +2 -2
  187. package/es/components/modal/modal-heading.d.ts.map +1 -1
  188. package/es/components/modal/modal-heading.js +4 -4
  189. package/es/components/modal/modal-heading.js.map +1 -1
  190. package/es/components/modal/modal-label.d.ts +2 -2
  191. package/es/components/modal/modal-label.d.ts.map +1 -1
  192. package/es/components/modal/modal-label.js +4 -4
  193. package/es/components/modal/modal-label.js.map +1 -1
  194. package/es/components/modal/modal.css.js +1 -1
  195. package/es/components/modal/modal.d.ts +33 -3
  196. package/es/components/modal/modal.d.ts.map +1 -1
  197. package/es/components/modal/modal.js +121 -14
  198. package/es/components/modal/modal.js.map +1 -1
  199. package/es/components/modal/modal.rtl.css.js +1 -1
  200. package/es/components/multi-select/defs.d.ts +27 -0
  201. package/es/components/multi-select/defs.d.ts.map +1 -0
  202. package/es/components/multi-select/defs.js +19 -0
  203. package/es/components/multi-select/defs.js.map +1 -0
  204. package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
  205. package/es/components/multi-select/multi-select-item.js +9 -14
  206. package/es/components/multi-select/multi-select-item.js.map +1 -1
  207. package/es/components/multi-select/multi-select.css.js +1 -1
  208. package/es/components/multi-select/multi-select.d.ts +44 -5
  209. package/es/components/multi-select/multi-select.d.ts.map +1 -1
  210. package/es/components/multi-select/multi-select.js +250 -32
  211. package/es/components/multi-select/multi-select.js.map +1 -1
  212. package/es/components/multi-select/multi-select.rtl.css.js +1 -1
  213. package/es/components/number-input/number-input.css.js +1 -1
  214. package/es/components/number-input/number-input.d.ts.map +1 -1
  215. package/es/components/number-input/number-input.js +1 -1
  216. package/es/components/number-input/number-input.js.map +1 -1
  217. package/es/components/number-input/number-input.rtl.css.js +1 -1
  218. package/es/components/overflow-menu/defs.d.ts +4 -9
  219. package/es/components/overflow-menu/defs.d.ts.map +1 -1
  220. package/es/components/overflow-menu/defs.js +1 -4
  221. package/es/components/overflow-menu/defs.js.map +1 -1
  222. package/es/components/overflow-menu/overflow-menu-body.d.ts +16 -15
  223. package/es/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
  224. package/es/components/overflow-menu/overflow-menu-body.js +49 -28
  225. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  226. package/es/components/overflow-menu/overflow-menu-item.d.ts +12 -3
  227. package/es/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  228. package/es/components/overflow-menu/overflow-menu-item.js +44 -12
  229. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  230. package/es/components/overflow-menu/overflow-menu.css.js +1 -1
  231. package/es/components/overflow-menu/overflow-menu.d.ts +22 -10
  232. package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
  233. package/es/components/overflow-menu/overflow-menu.js +89 -40
  234. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  235. package/es/components/overflow-menu/overflow-menu.rtl.css.js +1 -1
  236. package/es/components/pagination/defs.d.ts +27 -0
  237. package/es/components/pagination/defs.d.ts.map +1 -0
  238. package/es/components/pagination/defs.js +19 -0
  239. package/es/components/pagination/defs.js.map +1 -0
  240. package/es/components/pagination/index.d.ts +1 -3
  241. package/es/components/pagination/index.d.ts.map +1 -1
  242. package/es/components/pagination/index.js +1 -3
  243. package/es/components/pagination/index.js.map +1 -1
  244. package/es/components/pagination/pagination.css.js +1 -1
  245. package/es/components/pagination/pagination.d.ts +55 -20
  246. package/es/components/pagination/pagination.d.ts.map +1 -1
  247. package/es/components/pagination/pagination.js +303 -123
  248. package/es/components/pagination/pagination.js.map +1 -1
  249. package/es/components/pagination/pagination.rtl.css.js +1 -1
  250. package/es/components/progress-indicator/progress-indicator-skeleton.d.ts +1 -2
  251. package/es/components/progress-indicator/progress-indicator-skeleton.d.ts.map +1 -1
  252. package/es/components/progress-indicator/progress-indicator-skeleton.js +5 -5
  253. package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  254. package/es/components/progress-indicator/progress-indicator.css.js +1 -1
  255. package/es/components/progress-indicator/progress-indicator.d.ts +8 -3
  256. package/es/components/progress-indicator/progress-indicator.d.ts.map +1 -1
  257. package/es/components/progress-indicator/progress-indicator.js +35 -8
  258. package/es/components/progress-indicator/progress-indicator.js.map +1 -1
  259. package/es/components/progress-indicator/progress-indicator.rtl.css.js +1 -1
  260. package/es/components/progress-indicator/progress-step-skeleton.d.ts +2 -2
  261. package/es/components/progress-indicator/progress-step-skeleton.d.ts.map +1 -1
  262. package/es/components/progress-indicator/progress-step-skeleton.js +12 -12
  263. package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  264. package/es/components/progress-indicator/progress-step.d.ts +11 -3
  265. package/es/components/progress-indicator/progress-step.d.ts.map +1 -1
  266. package/es/components/progress-indicator/progress-step.js +65 -24
  267. package/es/components/progress-indicator/progress-step.js.map +1 -1
  268. package/es/components/radio-button/radio-button.css.js +1 -1
  269. package/es/components/radio-button/radio-button.d.ts +4 -0
  270. package/es/components/radio-button/radio-button.d.ts.map +1 -1
  271. package/es/components/radio-button/radio-button.js +22 -0
  272. package/es/components/radio-button/radio-button.js.map +1 -1
  273. package/es/components/radio-button/radio-button.rtl.css.js +1 -1
  274. package/es/components/select/select.css.js +1 -1
  275. package/es/components/select/select.d.ts.map +1 -1
  276. package/es/components/select/select.js +3 -1
  277. package/es/components/select/select.js.map +1 -1
  278. package/es/components/select/select.rtl.css.js +1 -1
  279. package/es/components/slider/slider.css.js +1 -1
  280. package/es/components/slider/slider.rtl.css.js +1 -1
  281. package/es/components/stack/defs.d.ts +29 -0
  282. package/es/components/stack/defs.d.ts.map +1 -0
  283. package/es/components/stack/defs.js +31 -0
  284. package/es/components/stack/defs.js.map +1 -0
  285. package/es/components/stack/index.d.ts +11 -0
  286. package/es/components/stack/index.d.ts.map +1 -0
  287. package/es/components/stack/index.js +11 -0
  288. package/es/components/stack/index.js.map +1 -0
  289. package/es/components/stack/stack.css.js +12 -0
  290. package/es/components/stack/stack.d.ts +46 -0
  291. package/es/components/stack/stack.d.ts.map +1 -0
  292. package/es/components/stack/stack.js +116 -0
  293. package/es/components/stack/stack.js.map +1 -0
  294. package/es/components/stack/stack.rtl.css.js +12 -0
  295. package/es/components/structured-list/structured-list.css.js +1 -1
  296. package/es/components/structured-list/structured-list.d.ts +9 -0
  297. package/es/components/structured-list/structured-list.d.ts.map +1 -1
  298. package/es/components/structured-list/structured-list.js +47 -1
  299. package/es/components/structured-list/structured-list.js.map +1 -1
  300. package/es/components/structured-list/structured-list.rtl.css.js +1 -1
  301. package/es/components/tabs/tabs.css.js +1 -1
  302. package/es/components/tabs/tabs.rtl.css.js +1 -1
  303. package/es/components/text-input/defs.d.ts +38 -0
  304. package/es/components/text-input/defs.d.ts.map +1 -1
  305. package/es/components/text-input/defs.js +24 -3
  306. package/es/components/text-input/defs.js.map +1 -1
  307. package/es/components/text-input/text-input.d.ts +4 -5
  308. package/es/components/text-input/text-input.d.ts.map +1 -1
  309. package/es/components/text-input/text-input.js +5 -6
  310. package/es/components/text-input/text-input.js.map +1 -1
  311. package/es/components/textarea/textarea.d.ts.map +1 -1
  312. package/es/components/textarea/textarea.js +1 -1
  313. package/es/components/textarea/textarea.js.map +1 -1
  314. package/es/components/tile/expandable-tile.d.ts +1 -3
  315. package/es/components/tile/expandable-tile.d.ts.map +1 -1
  316. package/es/components/tile/expandable-tile.js +1 -1
  317. package/es/components/tile/expandable-tile.js.map +1 -1
  318. package/es/components/tile/radio-tile.d.ts.map +1 -1
  319. package/es/components/tile/radio-tile.js +2 -2
  320. package/es/components/tile/radio-tile.js.map +1 -1
  321. package/es/components/toggle-tip/toggletip.d.ts +1 -1
  322. package/es/components/toggle-tip/toggletip.d.ts.map +1 -1
  323. package/es/components/toggle-tip/toggletip.js +28 -3
  324. package/es/components/toggle-tip/toggletip.js.map +1 -1
  325. package/es/components/tooltip/tooltip.css.js +1 -1
  326. package/es/components/tooltip/tooltip.d.ts +12 -1
  327. package/es/components/tooltip/tooltip.d.ts.map +1 -1
  328. package/es/components/tooltip/tooltip.js +47 -1
  329. package/es/components/tooltip/tooltip.js.map +1 -1
  330. package/es/components/tooltip/tooltip.rtl.css.js +1 -1
  331. package/es/components/ui-shell/header-global-action.d.ts +31 -0
  332. package/es/components/ui-shell/header-global-action.d.ts.map +1 -0
  333. package/es/components/ui-shell/header-global-action.js +88 -0
  334. package/es/components/ui-shell/header-global-action.js.map +1 -0
  335. package/es/components/ui-shell/header-menu-button.d.ts +6 -6
  336. package/es/components/ui-shell/header-menu-button.d.ts.map +1 -1
  337. package/es/components/ui-shell/header-menu-button.js +10 -10
  338. package/es/components/ui-shell/header-menu-button.js.map +1 -1
  339. package/es/components/ui-shell/header-menu-item.d.ts +3 -3
  340. package/es/components/ui-shell/header-menu-item.d.ts.map +1 -1
  341. package/es/components/ui-shell/header-menu-item.js +6 -6
  342. package/es/components/ui-shell/header-menu-item.js.map +1 -1
  343. package/es/components/ui-shell/header-menu.d.ts +11 -3
  344. package/es/components/ui-shell/header-menu.d.ts.map +1 -1
  345. package/es/components/ui-shell/header-menu.js +47 -7
  346. package/es/components/ui-shell/header-menu.js.map +1 -1
  347. package/es/components/ui-shell/header-name.d.ts +3 -3
  348. package/es/components/ui-shell/header-name.d.ts.map +1 -1
  349. package/es/components/ui-shell/header-name.js +4 -4
  350. package/es/components/ui-shell/header-name.js.map +1 -1
  351. package/es/components/ui-shell/header-nav-item.d.ts +11 -3
  352. package/es/components/ui-shell/header-nav-item.d.ts.map +1 -1
  353. package/es/components/ui-shell/header-nav-item.js +39 -6
  354. package/es/components/ui-shell/header-nav-item.js.map +1 -1
  355. package/es/components/ui-shell/header-nav.d.ts +2 -2
  356. package/es/components/ui-shell/header-nav.d.ts.map +1 -1
  357. package/es/components/ui-shell/header-nav.js +5 -5
  358. package/es/components/ui-shell/header-nav.js.map +1 -1
  359. package/es/components/ui-shell/header-panel.d.ts +30 -0
  360. package/es/components/ui-shell/header-panel.d.ts.map +1 -0
  361. package/es/components/ui-shell/header-panel.js +72 -0
  362. package/es/components/ui-shell/header-panel.js.map +1 -0
  363. package/es/components/ui-shell/header-side-nav-items.d.ts +27 -0
  364. package/es/components/ui-shell/header-side-nav-items.d.ts.map +1 -0
  365. package/es/components/ui-shell/header-side-nav-items.js +80 -0
  366. package/es/components/ui-shell/header-side-nav-items.js.map +1 -0
  367. package/es/components/ui-shell/header.css.js +1 -1
  368. package/es/components/ui-shell/header.d.ts +2 -2
  369. package/es/components/ui-shell/header.d.ts.map +1 -1
  370. package/es/components/ui-shell/header.js +5 -5
  371. package/es/components/ui-shell/header.js.map +1 -1
  372. package/es/components/ui-shell/header.rtl.css.js +1 -1
  373. package/es/components/ui-shell/index.d.ts +5 -0
  374. package/es/components/ui-shell/index.d.ts.map +1 -1
  375. package/es/components/ui-shell/index.js +5 -0
  376. package/es/components/ui-shell/index.js.map +1 -1
  377. package/es/components/ui-shell/side-nav-divider.d.ts +2 -2
  378. package/es/components/ui-shell/side-nav-divider.d.ts.map +1 -1
  379. package/es/components/ui-shell/side-nav-divider.js +5 -5
  380. package/es/components/ui-shell/side-nav-divider.js.map +1 -1
  381. package/es/components/ui-shell/side-nav-items.d.ts +2 -2
  382. package/es/components/ui-shell/side-nav-items.d.ts.map +1 -1
  383. package/es/components/ui-shell/side-nav-items.js +6 -6
  384. package/es/components/ui-shell/side-nav-items.js.map +1 -1
  385. package/es/components/ui-shell/side-nav-link.d.ts +7 -3
  386. package/es/components/ui-shell/side-nav-link.d.ts.map +1 -1
  387. package/es/components/ui-shell/side-nav-link.js +18 -5
  388. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  389. package/es/components/ui-shell/side-nav-menu-item.d.ts +3 -3
  390. package/es/components/ui-shell/side-nav-menu-item.d.ts.map +1 -1
  391. package/es/components/ui-shell/side-nav-menu-item.js +4 -4
  392. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  393. package/es/components/ui-shell/side-nav-menu.d.ts +7 -3
  394. package/es/components/ui-shell/side-nav-menu.d.ts.map +1 -1
  395. package/es/components/ui-shell/side-nav-menu.js +18 -5
  396. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  397. package/es/components/ui-shell/side-nav.css.js +1 -1
  398. package/es/components/ui-shell/side-nav.d.ts +35 -13
  399. package/es/components/ui-shell/side-nav.d.ts.map +1 -1
  400. package/es/components/ui-shell/side-nav.js +142 -48
  401. package/es/components/ui-shell/side-nav.js.map +1 -1
  402. package/es/components/ui-shell/side-nav.rtl.css.js +1 -1
  403. package/es/components/ui-shell/switcher-divider.d.ts +21 -0
  404. package/es/components/ui-shell/switcher-divider.d.ts.map +1 -0
  405. package/es/components/ui-shell/switcher-divider.js +56 -0
  406. package/es/components/ui-shell/switcher-divider.js.map +1 -0
  407. package/es/components/{pagination/page-sizes-select.d.ts → ui-shell/switcher-item.d.ts} +18 -22
  408. package/es/components/ui-shell/switcher-item.d.ts.map +1 -0
  409. package/es/components/ui-shell/switcher-item.js +162 -0
  410. package/es/components/ui-shell/switcher-item.js.map +1 -0
  411. package/es/components/ui-shell/switcher.d.ts +35 -0
  412. package/es/components/ui-shell/switcher.d.ts.map +1 -0
  413. package/es/components/ui-shell/switcher.js +95 -0
  414. package/es/components/ui-shell/switcher.js.map +1 -0
  415. package/es/components-react/code-snippet/code-snippet-skeleton.d.ts +2 -2
  416. package/es/components-react/code-snippet/code-snippet.d.ts +2 -2
  417. package/es/components-react/data-table/table-batch-actions.d.ts +2 -2
  418. package/es/components-react/data-table/table-body.d.ts +2 -2
  419. package/es/components-react/{pagination/pages-select.d.ts → data-table/table-cell-content.d.ts} +2 -6
  420. package/es/components-react/{pagination/pages-select.js → data-table/table-cell-content.js} +4 -10
  421. package/es/components-react/data-table/table-cell.d.ts +2 -2
  422. package/es/components-react/data-table/table-expanded-row.d.ts +2 -2
  423. package/es/components-react/data-table/table-head.d.ts +2 -2
  424. package/es/components-react/data-table/table-header-cell.d.ts +2 -2
  425. package/es/components-react/{pagination/page-sizes-select.d.ts → data-table/table-header-description.d.ts} +2 -6
  426. package/es/components-react/{pagination/page-sizes-select.js → data-table/table-header-description.js} +4 -10
  427. package/es/components-react/data-table/table-header-row.d.ts +2 -2
  428. package/es/components-react/data-table/table-header-title.d.ts +15 -0
  429. package/es/components-react/data-table/{table-header-cell-skeleton.js → table-header-title.js} +4 -6
  430. package/es/components-react/data-table/table-row.d.ts +19 -2
  431. package/es/components-react/data-table/table-row.js +16 -0
  432. package/es/components-react/data-table/table-skeleton.d.ts +15 -0
  433. package/es/components-react/data-table/table-skeleton.js +21 -0
  434. package/es/components-react/data-table/table-toolbar-content.d.ts +2 -2
  435. package/es/components-react/data-table/table-toolbar-search.d.ts +2 -2
  436. package/es/components-react/data-table/table-toolbar.d.ts +2 -2
  437. package/es/components-react/data-table/table.d.ts +44 -2
  438. package/es/components-react/data-table/table.js +45 -3
  439. package/es/components-react/file-uploader/demo-file-uploader.d.ts +0 -49
  440. package/es/components-react/file-uploader/demo-file-uploader.js +3 -51
  441. package/es/components-react/floating-menu/floating-menu.d.ts +2 -2
  442. package/es/components-react/floating-menu/floating-menu.js +0 -2
  443. package/es/components-react/form/form-item.d.ts +2 -2
  444. package/es/components-react/form-group/form-group.d.ts +15 -0
  445. package/es/components-react/form-group/form-group.js +21 -0
  446. package/es/components-react/form-group/index.d.ts +14 -0
  447. package/es/components-react/form-group/index.js +8 -0
  448. package/es/components-react/modal/modal-body-content.d.ts +15 -0
  449. package/es/components-react/modal/modal-body-content.js +21 -0
  450. package/es/components-react/modal/modal-body.d.ts +2 -2
  451. package/es/components-react/modal/modal-close-button.d.ts +2 -2
  452. package/es/components-react/modal/modal-footer.d.ts +2 -2
  453. package/es/components-react/modal/modal-header.d.ts +2 -2
  454. package/es/components-react/modal/modal-heading.d.ts +2 -2
  455. package/es/components-react/modal/modal-label.d.ts +2 -2
  456. package/es/components-react/modal/modal.d.ts +2 -2
  457. package/es/components-react/multi-select/defs.d.ts +14 -0
  458. package/es/components-react/multi-select/defs.js +9 -0
  459. package/es/components-react/multi-select/multi-select.js +6 -1
  460. package/es/components-react/overflow-menu/overflow-menu-body.d.ts +2 -2
  461. package/es/components-react/overflow-menu/overflow-menu-item.d.ts +2 -2
  462. package/es/components-react/overflow-menu/overflow-menu.d.ts +4 -5
  463. package/es/components-react/overflow-menu/overflow-menu.js +5 -3
  464. package/es/components-react/pagination/defs.d.ts +14 -0
  465. package/es/components-react/pagination/defs.js +9 -0
  466. package/es/components-react/pagination/pagination.d.ts +3 -7
  467. package/es/components-react/pagination/pagination.js +3 -7
  468. package/es/components-react/progress-indicator/progress-indicator-skeleton.d.ts +2 -3
  469. package/es/components-react/progress-indicator/progress-indicator.d.ts +2 -3
  470. package/es/components-react/progress-indicator/progress-step-skeleton.d.ts +2 -3
  471. package/es/components-react/progress-indicator/progress-step.d.ts +2 -3
  472. package/es/components-react/stack/defs.d.ts +14 -0
  473. package/es/components-react/stack/defs.js +9 -0
  474. package/es/components-react/stack/index.d.ts +14 -0
  475. package/es/components-react/stack/index.js +8 -0
  476. package/es/components-react/stack/stack.d.ts +15 -0
  477. package/es/components-react/stack/stack.js +22 -0
  478. package/es/components-react/text-input/text-input.js +7 -1
  479. package/es/components-react/toggle-tip/toggletip.d.ts +0 -5
  480. package/es/components-react/toggle-tip/toggletip.js +3 -13
  481. package/es/components-react/{data-table/table-cell-skeleton.d.ts → ui-shell/header-global-action.d.ts} +3 -3
  482. package/es/components-react/{data-table/table-cell-skeleton.js → ui-shell/header-global-action.js} +4 -4
  483. package/es/components-react/ui-shell/header-menu-button.d.ts +2 -2
  484. package/es/components-react/ui-shell/header-menu-item.d.ts +2 -2
  485. package/es/components-react/ui-shell/header-menu.d.ts +2 -2
  486. package/es/components-react/ui-shell/header-name.d.ts +2 -2
  487. package/es/components-react/ui-shell/header-nav-item.d.ts +2 -2
  488. package/es/components-react/ui-shell/header-nav.d.ts +2 -2
  489. package/es/components-react/ui-shell/header-panel.d.ts +15 -0
  490. package/es/components-react/ui-shell/header-panel.js +21 -0
  491. package/es/components-react/ui-shell/header-side-nav-items.d.ts +15 -0
  492. package/es/components-react/ui-shell/header-side-nav-items.js +21 -0
  493. package/es/components-react/ui-shell/header.d.ts +2 -2
  494. package/es/components-react/ui-shell/side-nav-divider.d.ts +2 -2
  495. package/es/components-react/ui-shell/side-nav-items.d.ts +2 -2
  496. package/es/components-react/ui-shell/side-nav-link.d.ts +2 -2
  497. package/es/components-react/ui-shell/side-nav-menu-item.d.ts +2 -2
  498. package/es/components-react/ui-shell/side-nav-menu.d.ts +2 -2
  499. package/es/components-react/ui-shell/side-nav.d.ts +2 -2
  500. package/es/components-react/ui-shell/switcher-divider.d.ts +15 -0
  501. package/es/components-react/ui-shell/switcher-divider.js +21 -0
  502. package/es/components-react/ui-shell/switcher-item.d.ts +15 -0
  503. package/es/components-react/ui-shell/switcher-item.js +21 -0
  504. package/es/components-react/ui-shell/switcher.d.ts +15 -0
  505. package/es/components-react/ui-shell/switcher.js +21 -0
  506. package/es/icons/arrow--down/16.js +1 -1
  507. package/es/icons/arrow--down/32.js +1 -1
  508. package/es/icons/arrows--vertical/16.js +1 -1
  509. package/es/icons/arrows--vertical/32.js +1 -1
  510. package/es/icons/overflow-menu--vertical/16.js +1 -1
  511. package/es/index.d.ts +12 -2
  512. package/es/index.d.ts.map +1 -1
  513. package/es/index.js +12 -2
  514. package/es/index.js.map +1 -1
  515. package/lib/components/data-table/defs.js +1 -10
  516. package/lib/components/data-table/defs.js.map +1 -1
  517. package/lib/components/dropdown/defs.js +2 -2
  518. package/lib/components/dropdown/defs.js.map +1 -1
  519. package/lib/components/floating-menu/defs.js +3 -24
  520. package/lib/components/floating-menu/defs.js.map +1 -1
  521. package/lib/components/modal/defs.js +2 -2
  522. package/lib/components/modal/defs.js.map +1 -1
  523. package/lib/components/multi-select/defs.js +25 -0
  524. package/lib/components/multi-select/defs.js.map +1 -0
  525. package/lib/components/overflow-menu/defs.js +2 -11
  526. package/lib/components/overflow-menu/defs.js.map +1 -1
  527. package/lib/components/pagination/defs.js +25 -0
  528. package/lib/components/pagination/defs.js.map +1 -0
  529. package/lib/components/stack/defs.js +36 -0
  530. package/lib/components/stack/defs.js.map +1 -0
  531. package/lib/components/text-input/defs.js +25 -4
  532. package/lib/components/text-input/defs.js.map +1 -1
  533. package/lib/components-react-node/{pagination/pages-select.js → data-table/table-cell-content.js} +3 -9
  534. package/lib/components-react-node/{pagination/page-sizes-select.js → data-table/table-header-description.js} +3 -9
  535. package/lib/components-react-node/data-table/{table-cell-skeleton.js → table-header-title.js} +3 -4
  536. package/lib/components-react-node/data-table/table-row.js +16 -0
  537. package/lib/components-react-node/data-table/{table-header-cell-skeleton.js → table-skeleton.js} +3 -4
  538. package/lib/components-react-node/data-table/table.js +44 -8
  539. package/lib/components-react-node/file-uploader/demo-file-uploader.js +3 -89
  540. package/lib/components-react-node/floating-menu/floating-menu.js +0 -12
  541. package/lib/components-react-node/form-group/form-group.js +36 -0
  542. package/lib/components-react-node/form-group/index.js +9 -0
  543. package/lib/components-react-node/modal/modal-body-content.js +36 -0
  544. package/lib/components-react-node/multi-select/defs.js +24 -0
  545. package/lib/components-react-node/multi-select/multi-select.js +13 -0
  546. package/lib/components-react-node/overflow-menu/overflow-menu.js +3 -8
  547. package/lib/components-react-node/pagination/defs.js +24 -0
  548. package/lib/components-react-node/pagination/pagination.js +3 -7
  549. package/lib/components-react-node/stack/defs.js +24 -0
  550. package/lib/components-react-node/stack/index.js +9 -0
  551. package/lib/components-react-node/stack/stack.js +49 -0
  552. package/lib/components-react-node/text-input/text-input.js +12 -0
  553. package/lib/components-react-node/toggle-tip/toggletip.js +3 -51
  554. package/lib/components-react-node/ui-shell/header-global-action.js +37 -0
  555. package/lib/components-react-node/ui-shell/header-panel.js +36 -0
  556. package/lib/components-react-node/ui-shell/header-side-nav-items.js +36 -0
  557. package/lib/components-react-node/ui-shell/switcher-divider.js +36 -0
  558. package/lib/components-react-node/ui-shell/switcher-item.js +36 -0
  559. package/lib/components-react-node/ui-shell/switcher.js +36 -0
  560. package/package.json +6 -7
  561. package/scss/components/button/button.scss +48 -1
  562. package/scss/components/checkbox/checkbox.scss +16 -0
  563. package/scss/components/code-snippet/code-snippet.scss +82 -101
  564. package/scss/components/copy-button/copy-button.scss +17 -0
  565. package/scss/components/data-table/_table-action.scss +50 -32
  566. package/scss/components/data-table/_table-core.scss +253 -29
  567. package/scss/components/data-table/_table-expandable.scss +25 -32
  568. package/scss/components/data-table/_table-selection.scss +36 -20
  569. package/scss/components/data-table/_table-sizes.scss +162 -20
  570. package/scss/components/data-table/_table-sort.scss +5 -21
  571. package/scss/components/data-table/data-table.scss +4 -3
  572. package/scss/components/form-group/form-group.scss +23 -0
  573. package/scss/components/modal/modal.scss +61 -87
  574. package/scss/components/multi-select/multi-select.scss +54 -19
  575. package/scss/components/overflow-menu/overflow-menu.scss +21 -9
  576. package/scss/components/pagination/pagination.scss +0 -66
  577. package/scss/components/progress-indicator/progress-indicator.scss +11 -10
  578. package/scss/components/radio-button/radio-button.scss +11 -1
  579. package/scss/components/select/select.scss +28 -1
  580. package/scss/components/stack/stack.scss +33 -0
  581. package/scss/components/structured-list/structured-list.scss +90 -20
  582. package/scss/components/tooltip/tooltip.scss +26 -0
  583. package/scss/components/ui-shell/header.scss +69 -0
  584. package/scss/components/ui-shell/side-nav.scss +27 -49
  585. package/es/components/data-table/table-cell-skeleton.d.ts +0 -20
  586. package/es/components/data-table/table-cell-skeleton.d.ts.map +0 -1
  587. package/es/components/data-table/table-cell-skeleton.js +0 -42
  588. package/es/components/data-table/table-cell-skeleton.js.map +0 -1
  589. package/es/components/data-table/table-expand-row.d.ts +0 -371
  590. package/es/components/data-table/table-expand-row.d.ts.map +0 -1
  591. package/es/components/data-table/table-expand-row.js +0 -192
  592. package/es/components/data-table/table-expand-row.js.map +0 -1
  593. package/es/components/data-table/table-header-cell-skeleton.d.ts +0 -19
  594. package/es/components/data-table/table-header-cell-skeleton.d.ts.map +0 -1
  595. package/es/components/data-table/table-header-cell-skeleton.js +0 -33
  596. package/es/components/data-table/table-header-cell-skeleton.js.map +0 -1
  597. package/es/components/data-table/table-header-expand-row.d.ts +0 -33
  598. package/es/components/data-table/table-header-expand-row.d.ts.map +0 -1
  599. package/es/components/data-table/table-header-expand-row.js +0 -68
  600. package/es/components/data-table/table-header-expand-row.js.map +0 -1
  601. package/es/components/pagination/page-sizes-select.d.ts.map +0 -1
  602. package/es/components/pagination/page-sizes-select.js +0 -172
  603. package/es/components/pagination/page-sizes-select.js.map +0 -1
  604. package/es/components/pagination/pages-select.d.ts +0 -362
  605. package/es/components/pagination/pages-select.d.ts.map +0 -1
  606. package/es/components/pagination/pages-select.js +0 -185
  607. package/es/components/pagination/pages-select.js.map +0 -1
  608. package/es/components-react/data-table/table-expand-row.d.ts +0 -24
  609. package/es/components-react/data-table/table-expand-row.js +0 -33
  610. package/es/components-react/data-table/table-header-cell-skeleton.d.ts +0 -14
  611. package/es/components-react/data-table/table-header-expand-row.d.ts +0 -29
  612. package/es/components-react/data-table/table-header-expand-row.js +0 -37
  613. package/lib/components-react-node/data-table/table-expand-row.js +0 -47
  614. package/lib/components-react-node/data-table/table-header-expand-row.js +0 -51
  615. package/scss/components/data-table/_table-skeleton.scss +0 -27
@@ -4,7 +4,9 @@ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
4
4
  let _ = t => t,
5
5
  _t,
6
6
  _t2,
7
- _t3;
7
+ _t3,
8
+ _t4,
9
+ _t5;
8
10
  /**
9
11
  * @license
10
12
  *
@@ -17,9 +19,11 @@ let _ = t => t,
17
19
  import { LitElement, html } from 'lit';
18
20
  import { property, customElement } from 'lit/decorators.js';
19
21
  import { prefix } from '../../globals/settings';
22
+ import ChevronRight16 from '@carbon/web-components/es/icons/chevron--right/16';
20
23
  import FocusMixin from '../../globals/mixins/focus';
21
24
  import styles from "././data-table.css.js";
22
-
25
+ import HostListener from '../../globals/decorators/host-listener';
26
+ import HostListenerMixin from '../../globals/mixins/host-listener';
23
27
  /**
24
28
  * Data table row.
25
29
  *
@@ -29,36 +33,66 @@ import styles from "././data-table.css.js";
29
33
  * @fires cds-table-row-change-selection
30
34
  * The custom event fired before this row is selected/unselected upon a user gesture.
31
35
  * Cancellation of this event stops the user-initiated change in selection.
32
- */ /**
33
- * Data table row.
34
- *
35
- * @element cds-table-row
36
- * @csspart selection-container The container of the checkbox.
37
- * @csspart selection The checkbox.
38
- * @fires cds-table-row-change-selection
39
- * The custom event fired before this row is selected/unselected upon a user gesture.
40
- * Cancellation of this event stops the user-initiated change in selection.
41
- */
42
- let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_initialize, _FocusMixin) {
43
- class BXTableRow extends _FocusMixin {
36
+ */
37
+ let CDSTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_initialize, _HostListenerMixin) {
38
+ class CDSTableRow extends _HostListenerMixin {
44
39
  constructor(...args) {
45
40
  super(...args);
46
41
  _initialize(this);
47
42
  }
48
43
  }
49
44
  return {
50
- F: BXTableRow,
45
+ F: CDSTableRow,
51
46
  d: [{
52
47
  kind: "method",
53
- key: "_handleClickSelectionCheckbox",
48
+ decorators: [HostListener('eventRadioChange')],
49
+ key: "_handleClickSelectionRadio",
54
50
  value:
51
+ /**
52
+ * Handles `click` event on the radio button.
53
+ *
54
+ * @param event The event.
55
+ */
56
+ function _handleClickSelectionRadio(event) {
57
+ const {
58
+ detail
59
+ } = event;
60
+ const selected = detail.checked;
61
+ const init = {
62
+ bubbles: true,
63
+ cancelable: true,
64
+ composed: true,
65
+ detail: {
66
+ selected
67
+ }
68
+ };
69
+ const constructor = this.constructor;
70
+ if (this.dispatchEvent(new CustomEvent(constructor.eventBeforeChangeSelection, init))) {
71
+ var _this$nextElementSibl;
72
+ this.selected = selected;
73
+ const {
74
+ selectorExpandedRow
75
+ } = this.constructor;
76
+ if ((_this$nextElementSibl = this.nextElementSibling) !== null && _this$nextElementSibl !== void 0 && _this$nextElementSibl.matches(selectorExpandedRow)) {
77
+ this.nextElementSibling.selected = selected;
78
+ }
79
+ }
80
+ }
81
+
55
82
  /**
56
83
  * Handles `click` event on the check box.
57
84
  *
58
85
  * @param event The event.
59
86
  */
60
- function _handleClickSelectionCheckbox(event) {
61
- const selected = event.target.checked;
87
+ }, {
88
+ kind: "method",
89
+ decorators: [HostListener('eventCheckboxChange')],
90
+ key: "_handleClickSelectionCheckbox",
91
+ value: function _handleClickSelectionCheckbox(event) {
92
+ const {
93
+ detail
94
+ } = event;
95
+ const selected = detail.checked;
62
96
  const init = {
63
97
  bubbles: true,
64
98
  cancelable: true,
@@ -69,10 +103,100 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
69
103
  };
70
104
  const constructor = this.constructor;
71
105
  if (this.dispatchEvent(new CustomEvent(constructor.eventBeforeChangeSelection, init))) {
106
+ var _this$nextElementSibl2;
72
107
  this.selected = selected;
108
+ const {
109
+ selectorExpandedRow
110
+ } = this.constructor;
111
+ if ((_this$nextElementSibl2 = this.nextElementSibling) !== null && _this$nextElementSibl2 !== void 0 && _this$nextElementSibl2.matches(selectorExpandedRow)) {
112
+ this.nextElementSibling.selected = selected;
113
+ }
73
114
  }
74
115
  }
75
116
 
117
+ /**
118
+ * Handles `click` event on the expando button.
119
+ */
120
+ }, {
121
+ kind: "method",
122
+ key: "_handleClickExpando",
123
+ value: function _handleClickExpando() {
124
+ this._handleUserInitiatedToggleExpando();
125
+ }
126
+
127
+ /**
128
+ * Handles `mouseover`/`mouseout` event handler on this element.
129
+ *
130
+ * @param event The event.
131
+ */
132
+ }, {
133
+ kind: "method",
134
+ decorators: [HostListener('mouseover'), HostListener('mouseout')],
135
+ key: "_handleMouseOverOut",
136
+ value: function _handleMouseOverOut(event) {
137
+ const {
138
+ selectorExpandedRow,
139
+ selectorTableCellOverflowMenu
140
+ } = this.constructor;
141
+ const {
142
+ nextElementSibling
143
+ } = this;
144
+ if (nextElementSibling !== null && nextElementSibling !== void 0 && nextElementSibling.matches(selectorExpandedRow)) {
145
+ nextElementSibling.highlighted = event.type === 'mouseover';
146
+ }
147
+ if (this.overflowMenuOnHover) {
148
+ const overflowMenu = this.querySelector(selectorTableCellOverflowMenu);
149
+ const parentCell = overflowMenu === null || overflowMenu === void 0 ? void 0 : overflowMenu.parentElement;
150
+ if (event.type === 'mouseout') {
151
+ parentCell.overflowMenuOnHover = true;
152
+ } else {
153
+ parentCell.overflowMenuOnHover = false;
154
+ }
155
+ }
156
+ }
157
+
158
+ /**
159
+ * Handles user-initiated toggle request of the expando button in this table row.
160
+ *
161
+ * @param expanded The new expanded state.
162
+ */
163
+ }, {
164
+ kind: "method",
165
+ key: "_handleUserInitiatedToggleExpando",
166
+ value: function _handleUserInitiatedToggleExpando(expanded = !this.expanded) {
167
+ const init = {
168
+ bubbles: true,
169
+ cancelable: true,
170
+ composed: true,
171
+ detail: {
172
+ expanded
173
+ }
174
+ };
175
+ if (this.dispatchEvent(new CustomEvent(this.constructor.eventBeforeExpandoToggle, init))) {
176
+ this.expanded = expanded;
177
+ this.dispatchEvent(new CustomEvent(this.constructor.eventExpandoToggle, init));
178
+ }
179
+ }
180
+ }, {
181
+ kind: "method",
182
+ key: "_renderExpandButton",
183
+ value: function _renderExpandButton() {
184
+ const {
185
+ _handleClickExpando: handleClickExpando
186
+ } = this;
187
+ return html(_t || (_t = _`
188
+ <div class="${0}--table-expand">
189
+ <button
190
+ class="${0}--table-expand__button"
191
+ @click="${0}">
192
+ ${0}
193
+ </button>
194
+ </div>
195
+ `), prefix, prefix, handleClickExpando, ChevronRight16({
196
+ class: `${prefix}--table-expand__svg`
197
+ }));
198
+ }
199
+
76
200
  /**
77
201
  * @returns The first set of table cells.
78
202
  */
@@ -82,39 +206,42 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
82
206
  value: function _renderFirstCells() {
83
207
  const {
84
208
  disabled,
209
+ hideCheckbox,
210
+ radio,
85
211
  selected,
86
212
  selectionLabel,
87
213
  selectionName,
88
214
  selectionValue
89
215
  } = this;
90
- // Using `@click` instead of `@change` to support `.preventDefault()`
91
- return !selectionName ? undefined : html(_t || (_t = _`
92
- <div
93
- part="selection-container"
94
- class="${0}--table-column-checkbox">
216
+ return !selectionName ? undefined : html(_t2 || (_t2 = _`
217
+ <div class="${0}--table-column-checkbox">
95
218
  ${0}
96
219
  </div>
97
- `), prefix, html(_t2 || (_t2 = _`
98
- <input
99
- id="selection"
100
- part="selection"
101
- class="${0}--checkbox"
102
- type="checkbox"
103
- value="${0}"
104
- name="${0}"
105
- ?disabled="${0}"
106
- .checked=${0}
107
- @click=${0} />
108
- <label
109
- for="selection"
110
- class="${0}--checkbox-label"
111
- aria-label="${0}"></label>
112
- `), prefix, selectionValue, selectionName, disabled, selected, this._handleClickSelectionCheckbox, prefix, selectionLabel));
220
+ `), prefix, radio ? html(_t3 || (_t3 = _`<cds-radio-button data-table></cds-radio-button>`)) : html(_t4 || (_t4 = _`<cds-checkbox
221
+ hide-label
222
+ ?hide-checkbox="${0}"
223
+ label-text="${0}"
224
+ name=${0}
225
+ data-table
226
+ ?disabled=${0}
227
+ ?checked=${0}
228
+ value=${0}></cds-checkbox> `), hideCheckbox, selectionLabel, selectionName, disabled, selected, selectionValue));
113
229
  }
114
230
 
115
231
  /**
116
- * `true` if this table row should be disabled.
232
+ * `true` if this table should support batch expansion
117
233
  */
234
+ }, {
235
+ kind: "field",
236
+ decorators: [property({
237
+ type: Boolean,
238
+ reflect: true,
239
+ attribute: 'batch-expansion'
240
+ })],
241
+ key: "batchExpansion",
242
+ value() {
243
+ return false;
244
+ }
118
245
  }, {
119
246
  kind: "field",
120
247
  decorators: [property({
@@ -135,6 +262,57 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
135
262
  value() {
136
263
  return false;
137
264
  }
265
+ }, {
266
+ kind: "field",
267
+ decorators: [property({
268
+ type: Boolean,
269
+ reflect: true
270
+ })],
271
+ key: "expandable",
272
+ value() {
273
+ return false;
274
+ }
275
+ }, {
276
+ kind: "field",
277
+ decorators: [property({
278
+ type: Boolean,
279
+ reflect: true
280
+ })],
281
+ key: "expanded",
282
+ value() {
283
+ return false;
284
+ }
285
+ }, {
286
+ kind: "field",
287
+ decorators: [property({
288
+ type: Boolean,
289
+ reflect: true
290
+ })],
291
+ key: "filtered",
292
+ value() {
293
+ return false;
294
+ }
295
+ }, {
296
+ kind: "field",
297
+ decorators: [property({
298
+ type: Boolean,
299
+ reflect: true,
300
+ attribute: 'hide-checkbox'
301
+ })],
302
+ key: "hideCheckbox",
303
+ value() {
304
+ return false;
305
+ }
306
+ }, {
307
+ kind: "field",
308
+ decorators: [property({
309
+ type: Boolean,
310
+ reflect: true
311
+ })],
312
+ key: "highlighted",
313
+ value() {
314
+ return false;
315
+ }
138
316
  }, {
139
317
  kind: "field",
140
318
  decorators: [property({
@@ -145,6 +323,27 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
145
323
  value() {
146
324
  return false;
147
325
  }
326
+ }, {
327
+ kind: "field",
328
+ decorators: [property({
329
+ type: Boolean,
330
+ reflect: true,
331
+ attribute: 'overflow-menu-on-hover'
332
+ })],
333
+ key: "overflowMenuOnHover",
334
+ value() {
335
+ return false;
336
+ }
337
+ }, {
338
+ kind: "field",
339
+ decorators: [property({
340
+ type: Boolean,
341
+ reflect: true
342
+ })],
343
+ key: "radio",
344
+ value() {
345
+ return false;
346
+ }
148
347
  }, {
149
348
  kind: "field",
150
349
  decorators: [property({
@@ -186,18 +385,49 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
186
385
  kind: "method",
187
386
  key: "connectedCallback",
188
387
  value:
388
+ /**
389
+ * `true` if this table row should be disabled.
390
+ */
189
391
  /**
190
392
  * `true` if this table row is placed at an even position in parent `<cds-table-body>`.
191
393
  * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.
192
394
  *
193
395
  * @private
194
396
  */
397
+ /**
398
+ * `true` if this table row can be expanded to show content underneath
399
+ *
400
+ * @private
401
+ */
402
+ /**
403
+ * `true` when the table row expanded is showing
404
+ *
405
+ * @private
406
+ */
407
+ /**
408
+ * `true` if this table row should be filtered out.
409
+ */
410
+ /**
411
+ * Specify whether the checkbox should be present in the DOM,
412
+ * but invisible and uninteractable.
413
+ */
414
+ /**
415
+ * `true` if the table row should be highlighted.
416
+ */
195
417
  /**
196
418
  * `true` if this table row is placed at an odd position in parent `<cds-table-body>`.
197
419
  * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.
198
420
  *
199
421
  * @private
200
422
  */
423
+ /**
424
+ * Specify whether the overflow menu (if it exists) should be shown always, or only on hover
425
+ */
426
+ /**
427
+ * Specify whether the control should be a radio button or inline checkbox
428
+ *
429
+ * @private
430
+ */
201
431
  /**
202
432
  * `true` if this table row should be selected.
203
433
  */
@@ -211,17 +441,83 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
211
441
  /**
212
442
  * The `value` attribute for the `<input>` for selection.
213
443
  */
444
+ /**
445
+ * TODO: Uncomment when Carbon fully implements sticky header
446
+ * Specify whether the header should be sticky.
447
+ * Still experimental: may not work with every combination of table props
448
+ */
449
+ // @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })
450
+ // stickyHeader = false;
214
451
  function connectedCallback() {
215
452
  if (!this.hasAttribute('role')) {
216
453
  this.setAttribute('role', 'row');
217
454
  }
218
- _get(_getPrototypeOf(BXTableRow.prototype), "connectedCallback", this).call(this);
455
+ _get(_getPrototypeOf(CDSTableRow.prototype), "connectedCallback", this).call(this);
456
+ }
457
+ }, {
458
+ kind: "method",
459
+ key: "updated",
460
+ value: function updated(changedProperties) {
461
+ if (changedProperties.has('expanded')) {
462
+ const {
463
+ selectorExpandedRow
464
+ } = this.constructor;
465
+ const {
466
+ expanded,
467
+ nextElementSibling
468
+ } = this;
469
+ if (nextElementSibling !== null && nextElementSibling !== void 0 && nextElementSibling.matches(selectorExpandedRow)) {
470
+ nextElementSibling.expanded = expanded;
471
+ }
472
+ }
473
+ if (changedProperties.has('highlighted')) {
474
+ const {
475
+ selectorExpandedRow
476
+ } = this.constructor;
477
+ const {
478
+ highlighted,
479
+ nextElementSibling
480
+ } = this;
481
+ if (nextElementSibling !== null && nextElementSibling !== void 0 && nextElementSibling.matches(selectorExpandedRow)) {
482
+ nextElementSibling.highlighted = highlighted;
483
+ }
484
+ }
219
485
  }
220
486
  }, {
221
487
  kind: "method",
222
488
  key: "render",
223
489
  value: function render() {
224
- return html(_t3 || (_t3 = _` ${0}<slot></slot> `), this._renderFirstCells());
490
+ if (this.selectionName) {
491
+ var _this$closest;
492
+ (_this$closest = this.closest(this.constructor.selectorTable)) === null || _this$closest === void 0 ? void 0 : _this$closest.setAttribute('is-selectable', '');
493
+ }
494
+ return html(_t5 || (_t5 = _`
495
+ ${0}
496
+ ${0}
497
+ <slot></slot>
498
+ `), this.expandable ? this._renderExpandButton() : '', this._renderFirstCells());
499
+ }
500
+
501
+ /**
502
+ * The name of the custom event fired after this radio button changes its checked state.
503
+ */
504
+ }, {
505
+ kind: "get",
506
+ static: true,
507
+ key: "eventRadioChange",
508
+ value: function eventRadioChange() {
509
+ return `${prefix}-radio-button-changed`;
510
+ }
511
+
512
+ /**
513
+ * The name of the custom event fired after this radio button changes its checked state.
514
+ */
515
+ }, {
516
+ kind: "get",
517
+ static: true,
518
+ key: "eventCheckboxChange",
519
+ value: function eventCheckboxChange() {
520
+ return `${prefix}-checkbox-changed`;
225
521
  }
226
522
 
227
523
  /**
@@ -237,7 +533,7 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
237
533
  }
238
534
 
239
535
  /**
240
- * The CSS selector to find the table.
536
+ * A selector that will return the parent table
241
537
  */
242
538
  }, {
243
539
  kind: "get",
@@ -246,6 +542,51 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
246
542
  value: function selectorTable() {
247
543
  return `${prefix}-table`;
248
544
  }
545
+
546
+ /**
547
+ * The CSS selector to find the overflow menu on the table cell
548
+ */
549
+ }, {
550
+ kind: "get",
551
+ static: true,
552
+ key: "selectorTableCellOverflowMenu",
553
+ value: function selectorTableCellOverflowMenu() {
554
+ return `${prefix}-table-cell ${prefix}-overflow-menu`;
555
+ }
556
+
557
+ /**
558
+ * A selector that will return the corresponding expanded row.
559
+ */
560
+ }, {
561
+ kind: "get",
562
+ static: true,
563
+ key: "selectorExpandedRow",
564
+ value: function selectorExpandedRow() {
565
+ return `${prefix}-table-expanded-row`;
566
+ }
567
+
568
+ /**
569
+ * The name of the custom event fired before the expanded state this row is being toggled upon a user gesture.
570
+ * Cancellation of this event stops the user-initiated action of toggling the expanded state.
571
+ */
572
+ }, {
573
+ kind: "get",
574
+ static: true,
575
+ key: "eventBeforeExpandoToggle",
576
+ value: function eventBeforeExpandoToggle() {
577
+ return `${prefix}-table-row-expando-beingtoggled`;
578
+ }
579
+
580
+ /**
581
+ * The name of the custom event fired after the expanded state this row is toggled upon a user gesture.
582
+ */
583
+ }, {
584
+ kind: "get",
585
+ static: true,
586
+ key: "eventExpandoToggle",
587
+ value: function eventExpandoToggle() {
588
+ return `${prefix}-table-row-expando-toggled`;
589
+ }
249
590
  }, {
250
591
  kind: "field",
251
592
  static: true,
@@ -255,6 +596,6 @@ let BXTableRow = _decorate([customElement(`${prefix}-table-row`)], function (_in
255
596
  }
256
597
  }]
257
598
  };
258
- }, FocusMixin(LitElement));
259
- export default BXTableRow;
599
+ }, HostListenerMixin(FocusMixin(LitElement)));
600
+ export default CDSTableRow;
260
601
  //# sourceMappingURL=table-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-row.js","names":["LitElement","html","property","customElement","prefix","FocusMixin","styles","BXTableRow","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","_handleClickSelectionCheckbox","event","selected","target","checked","init","bubbles","cancelable","composed","detail","dispatchEvent","CustomEvent","eventBeforeChangeSelection","_renderFirstCells","disabled","selectionLabel","selectionName","selectionValue","undefined","_t","_","_t2","decorators","type","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","_t3","static","selectorTable"],"sources":["components/data-table/table-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\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 { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './data-table.scss';\n\n/**\n * Data table row.\n *\n * @element cds-table-row\n * @csspart selection-container The container of the checkbox.\n * @csspart selection The checkbox.\n * @fires cds-table-row-change-selection\n * The custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n@customElement(`${prefix}-table-row`)\nclass BXTableRow extends FocusMixin(LitElement) {\n /**\n * Handles `click` event on the check box.\n *\n * @param event The event.\n */\n private _handleClickSelectionCheckbox(event: Event) {\n const selected = (event.target as HTMLInputElement).checked;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n selected,\n },\n };\n const constructor = this.constructor as typeof BXTableRow;\n if (\n this.dispatchEvent(\n new CustomEvent(constructor.eventBeforeChangeSelection, init)\n )\n ) {\n this.selected = selected;\n }\n }\n\n /**\n * @returns The first set of table cells.\n */\n protected _renderFirstCells() {\n const {\n disabled,\n selected,\n selectionLabel,\n selectionName,\n selectionValue,\n } = this;\n // Using `@click` instead of `@change` to support `.preventDefault()`\n return !selectionName\n ? undefined\n : html`\n <div\n part=\"selection-container\"\n class=\"${prefix}--table-column-checkbox\">\n ${html`\n <input\n id=\"selection\"\n part=\"selection\"\n class=\"${prefix}--checkbox\"\n type=\"checkbox\"\n value=\"${selectionValue}\"\n name=\"${selectionName}\"\n ?disabled=\"${disabled}\"\n .checked=${selected}\n @click=${this._handleClickSelectionCheckbox} />\n <label\n for=\"selection\"\n class=\"${prefix}--checkbox-label\"\n aria-label=\"${selectionLabel}\"></label>\n `}\n </div>\n `;\n }\n\n /**\n * `true` if this table row should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this table row is placed at an even position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n even = false;\n\n /**\n * `true` if this table row is placed at an odd position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n odd = false;\n\n /**\n * `true` if this table row should be selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `aria-label` attribute for the `<label>` for selection.\n */\n @property({ attribute: 'selection-label' })\n selectionLabel = '';\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this table row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n }\n\n render() {\n return html` ${this._renderFirstCells()}<slot></slot> `;\n }\n\n /**\n * The name of the custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n static get eventBeforeChangeSelection() {\n return `${prefix}-table-row-change-selection`;\n }\n\n /**\n * The CSS selector to find the table.\n */\n static get selectorTable() {\n return `${prefix}-table`;\n }\n\n static styles = styles;\n}\n\nexport default BXTableRow;\n"],"mappings":"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"}
1
+ {"version":3,"file":"table-row.js","names":["LitElement","html","property","customElement","prefix","ChevronRight16","FocusMixin","styles","HostListener","HostListenerMixin","CDSTableRow","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","key","value","_handleClickSelectionRadio","event","detail","selected","checked","init","bubbles","cancelable","composed","dispatchEvent","CustomEvent","eventBeforeChangeSelection","_this$nextElementSibl","selectorExpandedRow","nextElementSibling","matches","_handleClickSelectionCheckbox","_this$nextElementSibl2","_handleClickExpando","_handleUserInitiatedToggleExpando","_handleMouseOverOut","selectorTableCellOverflowMenu","highlighted","type","overflowMenuOnHover","overflowMenu","querySelector","parentCell","parentElement","expanded","eventBeforeExpandoToggle","eventExpandoToggle","_renderExpandButton","handleClickExpando","_t","_","class","_renderFirstCells","disabled","hideCheckbox","radio","selectionLabel","selectionName","selectionValue","undefined","_t2","_t3","_t4","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","render","_this$closest","closest","selectorTable","_t5","expandable","static","eventRadioChange","eventCheckboxChange"],"sources":["components/data-table/table-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\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 { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronRight16 from '@carbon/web-components/es/icons/chevron--right/16';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './data-table.scss';\n\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSTableExpandedRow from './table-expanded-row';\nimport CDSTableCell from './table-cell';\n\n/**\n * Data table row.\n *\n * @element cds-table-row\n * @csspart selection-container The container of the checkbox.\n * @csspart selection The checkbox.\n * @fires cds-table-row-change-selection\n * The custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n@customElement(`${prefix}-table-row`)\nclass CDSTableRow extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Handles `click` event on the radio button.\n *\n * @param event The event.\n */\n @HostListener('eventRadioChange')\n // @ts-ignore\n private _handleClickSelectionRadio(event: CustomEvent) {\n const { detail } = event;\n const selected = detail.checked;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n selected,\n },\n };\n const constructor = this.constructor as typeof CDSTableRow;\n if (\n this.dispatchEvent(\n new CustomEvent(constructor.eventBeforeChangeSelection, init)\n )\n ) {\n this.selected = selected;\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n\n if (this.nextElementSibling?.matches(selectorExpandedRow)) {\n (this.nextElementSibling as CDSTableExpandedRow).selected = selected;\n }\n }\n }\n\n /**\n * Handles `click` event on the check box.\n *\n * @param event The event.\n */\n @HostListener('eventCheckboxChange')\n // @ts-ignore\n private _handleClickSelectionCheckbox(event: CustomEvent) {\n const { detail } = event;\n const selected = detail.checked;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n selected,\n },\n };\n const constructor = this.constructor as typeof CDSTableRow;\n if (\n this.dispatchEvent(\n new CustomEvent(constructor.eventBeforeChangeSelection, init)\n )\n ) {\n this.selected = selected;\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n\n if (this.nextElementSibling?.matches(selectorExpandedRow)) {\n (this.nextElementSibling as CDSTableExpandedRow).selected = selected;\n }\n }\n }\n\n /**\n * Handles `click` event on the expando button.\n */\n private _handleClickExpando() {\n this._handleUserInitiatedToggleExpando();\n }\n\n /**\n * Handles `mouseover`/`mouseout` event handler on this element.\n *\n * @param event The event.\n */\n @HostListener('mouseover')\n @HostListener('mouseout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseOverOut(event: MouseEvent) {\n const { selectorExpandedRow, selectorTableCellOverflowMenu } = this\n .constructor as typeof CDSTableRow;\n const { nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).highlighted =\n event.type === 'mouseover';\n }\n if (this.overflowMenuOnHover) {\n const overflowMenu = this.querySelector(selectorTableCellOverflowMenu);\n const parentCell = overflowMenu?.parentElement;\n\n if (event.type === 'mouseout') {\n (parentCell as CDSTableCell).overflowMenuOnHover = true;\n } else {\n (parentCell as CDSTableCell).overflowMenuOnHover = false;\n }\n }\n }\n\n /**\n * Handles user-initiated toggle request of the expando button in this table row.\n *\n * @param expanded The new expanded state.\n */\n _handleUserInitiatedToggleExpando(expanded = !this.expanded) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTableRow).eventBeforeExpandoToggle,\n init\n )\n )\n ) {\n this.expanded = expanded;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTableRow).eventExpandoToggle,\n init\n )\n );\n }\n }\n\n protected _renderExpandButton() {\n const { _handleClickExpando: handleClickExpando } = this;\n return html`\n <div class=\"${prefix}--table-expand\">\n <button\n class=\"${prefix}--table-expand__button\"\n @click=\"${handleClickExpando}\">\n ${ChevronRight16({ class: `${prefix}--table-expand__svg` })}\n </button>\n </div>\n `;\n }\n\n /**\n * @returns The first set of table cells.\n */\n protected _renderFirstCells() {\n const {\n disabled,\n hideCheckbox,\n radio,\n selected,\n selectionLabel,\n selectionName,\n selectionValue,\n } = this;\n return !selectionName\n ? undefined\n : html`\n <div class=\"${prefix}--table-column-checkbox\">\n ${radio\n ? html`<cds-radio-button data-table></cds-radio-button>`\n : html`<cds-checkbox\n hide-label\n ?hide-checkbox=\"${hideCheckbox}\"\n label-text=\"${selectionLabel}\"\n name=${selectionName}\n data-table\n ?disabled=${disabled}\n ?checked=${selected}\n value=${selectionValue}></cds-checkbox> `}\n </div>\n `;\n }\n\n /**\n * `true` if this table should support batch expansion\n */\n @property({ type: Boolean, reflect: true, attribute: 'batch-expansion' })\n batchExpansion = false;\n\n /**\n * `true` if this table row should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if this table row is placed at an even position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n even = false;\n\n /**\n * `true` if this table row can be expanded to show content underneath\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n expandable = false;\n\n /**\n * `true` when the table row expanded is showing\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` if this table row should be filtered out.\n */\n @property({ type: Boolean, reflect: true })\n filtered = false;\n\n /**\n * Specify whether the checkbox should be present in the DOM,\n * but invisible and uninteractable.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-checkbox' })\n hideCheckbox = false;\n\n /**\n * `true` if the table row should be highlighted.\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * `true` if this table row is placed at an odd position in parent `<cds-table-body>`.\n * `<cds-table-body>` sets this property, _only_ in zebra stripe mode.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n odd = false;\n\n /**\n * Specify whether the overflow menu (if it exists) should be shown always, or only on hover\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'overflow-menu-on-hover',\n })\n overflowMenuOnHover = false;\n\n /**\n * Specify whether the control should be a radio button or inline checkbox\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n radio = false;\n\n /**\n * `true` if this table row should be selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `aria-label` attribute for the `<label>` for selection.\n */\n @property({ attribute: 'selection-label' })\n selectionLabel = '';\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this table row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n /**\n * TODO: Uncomment when Carbon fully implements sticky header\n * Specify whether the header should be sticky.\n * Still experimental: may not work with every combination of table props\n */\n // @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })\n // stickyHeader = false;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n const { expanded, nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).expanded = expanded;\n }\n }\n\n if (changedProperties.has('highlighted')) {\n const { selectorExpandedRow } = this.constructor as typeof CDSTableRow;\n const { highlighted, nextElementSibling } = this;\n if (nextElementSibling?.matches(selectorExpandedRow)) {\n (nextElementSibling as CDSTableExpandedRow).highlighted = highlighted;\n }\n }\n }\n\n render() {\n if (this.selectionName) {\n this.closest(\n (this.constructor as typeof CDSTableRow).selectorTable\n )?.setAttribute('is-selectable', '');\n }\n return html`\n ${this.expandable ? this._renderExpandButton() : ''}\n ${this._renderFirstCells()}\n <slot></slot>\n `;\n }\n\n /**\n * The name of the custom event fired after this radio button changes its checked state.\n */\n static get eventRadioChange() {\n return `${prefix}-radio-button-changed`;\n }\n\n /**\n * The name of the custom event fired after this radio button changes its checked state.\n */\n static get eventCheckboxChange() {\n return `${prefix}-checkbox-changed`;\n }\n\n /**\n * The name of the custom event fired before this row is selected/unselected upon a user gesture.\n * Cancellation of this event stops the user-initiated change in selection.\n */\n static get eventBeforeChangeSelection() {\n return `${prefix}-table-row-change-selection`;\n }\n\n /**\n * A selector that will return the parent table\n */\n static get selectorTable() {\n return `${prefix}-table`;\n }\n\n /**\n * The CSS selector to find the overflow menu on the table cell\n */\n static get selectorTableCellOverflowMenu() {\n return `${prefix}-table-cell ${prefix}-overflow-menu`;\n }\n\n /**\n * A selector that will return the corresponding expanded row.\n */\n static get selectorExpandedRow() {\n return `${prefix}-table-expanded-row`;\n }\n\n /**\n * The name of the custom event fired before the expanded state this row is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling the expanded state.\n */\n static get eventBeforeExpandoToggle() {\n return `${prefix}-table-row-expando-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after the expanded state this row is toggled upon a user gesture.\n */\n static get eventExpandoToggle() {\n return `${prefix}-table-row-expando-toggled`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTableRow;\n"],"mappings":"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"}