@carbon/web-components 2.0.2-rc.0 → 2.1.0-rc.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 (438) hide show
  1. package/custom-elements.json +78 -2
  2. package/dist/16-01ebcb7f.js +50 -0
  3. package/dist/16-08c7b6ab.js +50 -0
  4. package/dist/16-1664e172.js +50 -0
  5. package/dist/16-1c0007f3.js +50 -0
  6. package/dist/16-20c5edc1.js +50 -0
  7. package/dist/16-220724e0.js +50 -0
  8. package/dist/16-228e7358.js +50 -0
  9. package/dist/16-291af4c1.js +50 -0
  10. package/dist/16-36ae18bf.js +50 -0
  11. package/dist/16-3b37b4ba.js +50 -0
  12. package/dist/16-46b03826.js +50 -0
  13. package/dist/16-5aefc3c2.js +50 -0
  14. package/dist/16-60b422c4.js +50 -0
  15. package/dist/16-6791071b.js +50 -0
  16. package/dist/16-6ceb5b82.js +50 -0
  17. package/dist/16-758bd5d3.js +50 -0
  18. package/dist/16-99afca88.js +50 -0
  19. package/dist/16-9e41b122.js +50 -0
  20. package/dist/16-9f0fa955.js +50 -0
  21. package/dist/16-a89c399c.js +50 -0
  22. package/dist/16-ae0e9a56.js +50 -0
  23. package/dist/16-c0c1a32f.js +50 -0
  24. package/dist/16-c18899be.js +50 -0
  25. package/dist/16-c56d8c15.js +50 -0
  26. package/dist/16-d814df5b.js +50 -0
  27. package/dist/16-d9457893.js +50 -0
  28. package/dist/16-d9a15472.js +50 -0
  29. package/dist/16-f1e0111b.js +50 -0
  30. package/dist/16-f62d4131.js +50 -0
  31. package/dist/16-f7a9dffe.js +50 -0
  32. package/dist/16-fbf142c7.js +50 -0
  33. package/dist/16-fd11e4ec.js +50 -0
  34. package/dist/20-1dd5ae57.js +50 -0
  35. package/dist/20-b7ed64f4.js +50 -0
  36. package/dist/20-d7cf1679.js +50 -0
  37. package/dist/20-e51c1f39.js +50 -0
  38. package/dist/accordion.min.js +103 -0
  39. package/dist/accordion.rtl.min.js +103 -0
  40. package/dist/breadcrumb.min.js +64 -0
  41. package/dist/breadcrumb.rtl.min.js +64 -0
  42. package/dist/button-3dafe360.js +114 -0
  43. package/dist/button-582a2f3a.js +114 -0
  44. package/dist/button-8d4316cb.js +114 -0
  45. package/dist/button-e33e1c4a.js +114 -0
  46. package/dist/button-set-04f29086.js +50 -0
  47. package/dist/button-set-49c4279d.js +50 -0
  48. package/dist/button-set-5ee221b2.js +50 -0
  49. package/dist/button-set-c9335535.js +50 -0
  50. package/dist/button-skeleton-00620289.js +70 -0
  51. package/dist/button-skeleton-b2facaf2.js +70 -0
  52. package/dist/button-skeleton-d68066fe.js +70 -0
  53. package/dist/button-skeleton-f9f83011.js +70 -0
  54. package/dist/button.min.js +50 -0
  55. package/dist/button.rtl.min.js +50 -0
  56. package/dist/carbon-element-4ca9803f.js +58 -0
  57. package/dist/checkbox-1ca3f18c.js +72 -0
  58. package/dist/checkbox-1e621c4d.js +72 -0
  59. package/dist/checkbox-440be135.js +72 -0
  60. package/dist/checkbox-fa74151f.js +72 -0
  61. package/dist/checkbox.min.js +56 -0
  62. package/dist/checkbox.rtl.min.js +56 -0
  63. package/dist/class-map-0ae732f6.js +55 -0
  64. package/dist/class-map-ff7e8fde.js +55 -0
  65. package/dist/code-snippet.min.js +115 -0
  66. package/dist/code-snippet.rtl.min.js +115 -0
  67. package/dist/collection-helpers-4e32fe16.js +58 -0
  68. package/dist/combo-box.min.js +72 -0
  69. package/dist/combo-box.rtl.min.js +72 -0
  70. package/dist/content-switcher-item-55b2adca.js +84 -0
  71. package/dist/content-switcher-item-6d9b81cf.js +84 -0
  72. package/dist/content-switcher-item-bee4ce7e.js +84 -0
  73. package/dist/content-switcher-item-f758c238.js +84 -0
  74. package/dist/content-switcher.min.js +50 -0
  75. package/dist/content-switcher.rtl.min.js +50 -0
  76. package/dist/copy-button-0404162f.js +63 -0
  77. package/dist/copy-button-1d23e1bd.js +63 -0
  78. package/dist/copy-button-cf261260.js +63 -0
  79. package/dist/copy-button-d35b2079.js +63 -0
  80. package/dist/copy-button.min.js +50 -0
  81. package/dist/copy-button.rtl.min.js +50 -0
  82. package/dist/custom-element-975be15f.js +55 -0
  83. package/dist/data-table.min.js +169 -0
  84. package/dist/data-table.rtl.min.js +169 -0
  85. package/dist/date-picker.min.js +169 -0
  86. package/dist/date-picker.rtl.min.js +169 -0
  87. package/dist/directive-e2d48b9c.js +55 -0
  88. package/dist/dropdown-item-2ae1dc7f.js +128 -0
  89. package/dist/dropdown-item-64bf0a4f.js +128 -0
  90. package/dist/dropdown-item-7273edb2.js +128 -0
  91. package/dist/dropdown-item-cdd1a116.js +128 -0
  92. package/dist/dropdown.min.js +57 -0
  93. package/dist/dropdown.rtl.min.js +57 -0
  94. package/dist/file-uploader.min.js +128 -0
  95. package/dist/file-uploader.rtl.min.js +128 -0
  96. package/dist/floating-menu-1795f0f3.js +58 -0
  97. package/dist/floating-menu-26d746d4.js +58 -0
  98. package/dist/floating-menu.min.js +50 -0
  99. package/dist/floating-menu.rtl.min.js +50 -0
  100. package/dist/focus-4a59e420.js +58 -0
  101. package/dist/focus-e79b2a40.js +58 -0
  102. package/dist/form-54a62766.js +50 -0
  103. package/dist/form-f6607c5c.js +50 -0
  104. package/dist/form-group.min.js +61 -0
  105. package/dist/form-group.rtl.min.js +61 -0
  106. package/dist/form.min.js +50 -0
  107. package/dist/form.rtl.min.js +50 -0
  108. package/dist/get-d229c408.js +50 -0
  109. package/dist/host-listener-0e75581e.js +58 -0
  110. package/dist/host-listener-42fdb22d.js +58 -0
  111. package/dist/icon-button-32eafa9f.js +71 -0
  112. package/dist/icon-button-334ed010.js +71 -0
  113. package/dist/icon-button-6974bc9a.js +71 -0
  114. package/dist/icon-button-8f6cac1e.js +71 -0
  115. package/dist/icon-button.min.js +50 -0
  116. package/dist/icon-button.rtl.min.js +50 -0
  117. package/dist/if-defined-2063a6b2.js +55 -0
  118. package/dist/if-defined-5b102a7a.js +55 -0
  119. package/dist/if-non-empty-3cac5484.js +58 -0
  120. package/dist/if-non-empty-f97d9ca3.js +58 -0
  121. package/dist/inline-loading.min.js +69 -0
  122. package/dist/inline-loading.rtl.min.js +69 -0
  123. package/dist/layer.min.js +50 -0
  124. package/dist/layer.rtl.min.js +50 -0
  125. package/dist/link-40eed54e.js +74 -0
  126. package/dist/link-42b684df.js +74 -0
  127. package/dist/link.min.js +50 -0
  128. package/dist/link.rtl.min.js +50 -0
  129. package/dist/list.min.js +65 -0
  130. package/dist/list.rtl.min.js +65 -0
  131. package/dist/loading-38056720.js +50 -0
  132. package/dist/loading-3aa24148.js +50 -0
  133. package/dist/loading-638b469c.js +50 -0
  134. package/dist/loading-dadfb60c.js +50 -0
  135. package/dist/loading-icon-5f6382df.js +82 -0
  136. package/dist/loading-icon-64a5114e.js +82 -0
  137. package/dist/loading.min.js +50 -0
  138. package/dist/loading.rtl.min.js +50 -0
  139. package/dist/modal.min.js +87 -0
  140. package/dist/modal.rtl.min.js +87 -0
  141. package/dist/multi-select.min.js +119 -0
  142. package/dist/multi-select.rtl.min.js +119 -0
  143. package/dist/notification.min.js +119 -0
  144. package/dist/notification.rtl.min.js +119 -0
  145. package/dist/number-input.min.js +130 -0
  146. package/dist/number-input.rtl.min.js +130 -0
  147. package/dist/objectSpread2-8208d45c.js +50 -0
  148. package/dist/objectSpread2-ea408269.js +50 -0
  149. package/dist/on-6c264d49.js +50 -0
  150. package/dist/overflow-menu.min.js +77 -0
  151. package/dist/overflow-menu.rtl.min.js +77 -0
  152. package/dist/pagination.min.js +142 -0
  153. package/dist/pagination.rtl.min.js +142 -0
  154. package/dist/popover-content-091b39e0.js +61 -0
  155. package/dist/popover-content-9e3bbe49.js +61 -0
  156. package/dist/popover-content-b376ac06.js +61 -0
  157. package/dist/popover-content-f183f37a.js +61 -0
  158. package/dist/popover.min.js +50 -0
  159. package/dist/popover.rtl.min.js +50 -0
  160. package/dist/progress-bar.min.js +79 -0
  161. package/dist/progress-bar.rtl.min.js +79 -0
  162. package/dist/progress-indicator.min.js +87 -0
  163. package/dist/progress-indicator.rtl.min.js +87 -0
  164. package/dist/query-6ca5e414.js +55 -0
  165. package/dist/query-assigned-elements-8e88277c.js +60 -0
  166. package/dist/radio-button.min.js +95 -0
  167. package/dist/radio-button.rtl.min.js +95 -0
  168. package/dist/radio-group-manager-3a681292.js +58 -0
  169. package/dist/radio-group-manager-f79f750e.js +58 -0
  170. package/dist/search-28dbefa9.js +79 -0
  171. package/dist/search-45d09092.js +79 -0
  172. package/dist/search-63dc2971.js +79 -0
  173. package/dist/search-f633f8c0.js +79 -0
  174. package/dist/search.min.js +53 -0
  175. package/dist/search.rtl.min.js +53 -0
  176. package/dist/select-item-355b65a2.js +50 -0
  177. package/dist/select-item-ac48969e.js +50 -0
  178. package/dist/select.min.js +121 -0
  179. package/dist/select.rtl.min.js +121 -0
  180. package/dist/settings-a675998f.js +80 -0
  181. package/dist/settings-daf72103.js +80 -0
  182. package/dist/shared-enums-c6fe8c39.js +58 -0
  183. package/dist/skeleton-placeholder.min.js +50 -0
  184. package/dist/skeleton-placeholder.rtl.min.js +50 -0
  185. package/dist/skeleton-text-3f580931.js +58 -0
  186. package/dist/skeleton-text-5cfb8d17.js +58 -0
  187. package/dist/skeleton-text-bb615714.js +58 -0
  188. package/dist/skeleton-text-e6700c4b.js +58 -0
  189. package/dist/skeleton-text.min.js +50 -0
  190. package/dist/skeleton-text.rtl.min.js +50 -0
  191. package/dist/skip-to-content.min.js +54 -0
  192. package/dist/skip-to-content.rtl.min.js +54 -0
  193. package/dist/slider.min.js +125 -0
  194. package/dist/slider.rtl.min.js +125 -0
  195. package/dist/slug.min.js +84 -0
  196. package/dist/slug.rtl.min.js +84 -0
  197. package/dist/spread-6bfe3826.js +58 -0
  198. package/dist/spread-eaa3f2b9.js +58 -0
  199. package/dist/stack.min.js +59 -0
  200. package/dist/stack.rtl.min.js +59 -0
  201. package/dist/state-63312e74.js +55 -0
  202. package/dist/structured-list.min.js +68 -0
  203. package/dist/structured-list.rtl.min.js +68 -0
  204. package/dist/tabs.min.js +114 -0
  205. package/dist/tabs.rtl.min.js +114 -0
  206. package/dist/tag.min.js +71 -0
  207. package/dist/tag.rtl.min.js +71 -0
  208. package/dist/text-input-08a8a922.js +119 -0
  209. package/dist/text-input-45ea7bf7.js +119 -0
  210. package/dist/text-input-4616af44.js +119 -0
  211. package/dist/text-input-6d08528b.js +119 -0
  212. package/dist/text-input.min.js +53 -0
  213. package/dist/text-input.rtl.min.js +53 -0
  214. package/dist/textarea.min.js +95 -0
  215. package/dist/textarea.rtl.min.js +95 -0
  216. package/dist/tile.min.js +120 -0
  217. package/dist/tile.rtl.min.js +120 -0
  218. package/dist/toggle-tip.min.js +50 -0
  219. package/dist/toggle-tip.rtl.min.js +50 -0
  220. package/dist/toggle.min.js +92 -0
  221. package/dist/toggle.rtl.min.js +92 -0
  222. package/dist/toggletip-0aa429db.js +90 -0
  223. package/dist/toggletip-0c43069a.js +90 -0
  224. package/dist/toggletip-6a368ecf.js +90 -0
  225. package/dist/toggletip-f3e84381.js +90 -0
  226. package/dist/tooltip-content-2470a2af.js +52 -0
  227. package/dist/tooltip-content-267c3eb7.js +52 -0
  228. package/dist/tooltip-content-3096d302.js +52 -0
  229. package/dist/tooltip-content-a38f2e85.js +52 -0
  230. package/dist/tooltip.min.js +50 -0
  231. package/dist/tooltip.rtl.min.js +50 -0
  232. package/dist/ui-shell.min.js +186 -0
  233. package/dist/ui-shell.rtl.min.js +186 -0
  234. package/dist/validity-d86ffa4f.js +58 -0
  235. package/es/components/accordion/accordion-item.js.map +1 -1
  236. package/es/components/multi-select/multi-select.js +0 -1
  237. package/es/components/multi-select/multi-select.js.map +1 -1
  238. package/es/components/radio-button/radio-button-group.d.ts +13 -3
  239. package/es/components/radio-button/radio-button-group.js +45 -4
  240. package/es/components/radio-button/radio-button-group.js.map +1 -1
  241. package/es/components/radio-button/radio-button.css.js +1 -1
  242. package/es/components/radio-button/radio-button.d.ts +12 -0
  243. package/es/components/radio-button/radio-button.js +102 -65
  244. package/es/components/radio-button/radio-button.js.map +1 -1
  245. package/es/components/radio-button/radio-button.rtl.css.js +1 -1
  246. package/es/components/slug/slug.css.js +1 -1
  247. package/es/components/slug/slug.js +1 -1
  248. package/es/components/slug/slug.js.map +1 -1
  249. package/es/components/slug/slug.rtl.css.js +1 -1
  250. package/es/components/tile/clickable-tile.d.ts +14 -0
  251. package/es/components/tile/clickable-tile.js +72 -2
  252. package/es/components/tile/clickable-tile.js.map +1 -1
  253. package/es/components/tile/expandable-tile.d.ts +18 -0
  254. package/es/components/tile/expandable-tile.js +71 -5
  255. package/es/components/tile/expandable-tile.js.map +1 -1
  256. package/es/components/tile/selectable-tile.d.ts +19 -3
  257. package/es/components/tile/selectable-tile.js +78 -8
  258. package/es/components/tile/selectable-tile.js.map +1 -1
  259. package/es/components/tile/tile.css.js +1 -1
  260. package/es/components/tile/tile.d.ts +17 -0
  261. package/es/components/tile/tile.js +61 -3
  262. package/es/components/tile/tile.js.map +1 -1
  263. package/es/components/tile/tile.rtl.css.js +1 -1
  264. package/package.json +3 -3
  265. package/scss/components/notification/inline-notification.scss +1 -1
  266. package/scss/components/radio-button/radio-button.scss +27 -1
  267. package/scss/components/slug/slug.scss +2 -2
  268. package/scss/components/tile/tile.scss +101 -0
  269. package/es/icons/app-switcher/16.d.ts +0 -17
  270. package/es/icons/app-switcher/16.js +0 -15
  271. package/es/icons/app-switcher/20.d.ts +0 -17
  272. package/es/icons/app-switcher/20.js +0 -15
  273. package/es/icons/app-switcher/24.d.ts +0 -17
  274. package/es/icons/app-switcher/24.js +0 -15
  275. package/es/icons/app-switcher/32.d.ts +0 -17
  276. package/es/icons/app-switcher/32.js +0 -15
  277. package/es/icons/arrows/16.d.ts +0 -17
  278. package/es/icons/arrows/16.js +0 -15
  279. package/es/icons/arrows/20.d.ts +0 -17
  280. package/es/icons/arrows/20.js +0 -15
  281. package/es/icons/arrows/24.d.ts +0 -17
  282. package/es/icons/arrows/24.js +0 -15
  283. package/es/icons/arrows/32.d.ts +0 -17
  284. package/es/icons/arrows/32.js +0 -15
  285. package/es/icons/back-to-top/16.d.ts +0 -17
  286. package/es/icons/back-to-top/16.js +0 -15
  287. package/es/icons/back-to-top/20.d.ts +0 -17
  288. package/es/icons/back-to-top/20.js +0 -15
  289. package/es/icons/back-to-top/24.d.ts +0 -17
  290. package/es/icons/back-to-top/24.js +0 -15
  291. package/es/icons/back-to-top/32.d.ts +0 -17
  292. package/es/icons/back-to-top/32.js +0 -15
  293. package/es/icons/checkbox--undeterminate/16.d.ts +0 -17
  294. package/es/icons/checkbox--undeterminate/16.js +0 -15
  295. package/es/icons/checkbox--undeterminate/20.d.ts +0 -17
  296. package/es/icons/checkbox--undeterminate/20.js +0 -15
  297. package/es/icons/checkbox--undeterminate/24.d.ts +0 -17
  298. package/es/icons/checkbox--undeterminate/24.js +0 -15
  299. package/es/icons/checkbox--undeterminate/32.d.ts +0 -17
  300. package/es/icons/checkbox--undeterminate/32.js +0 -15
  301. package/es/icons/checkbox--undeterminate--filled/16.d.ts +0 -17
  302. package/es/icons/checkbox--undeterminate--filled/16.js +0 -15
  303. package/es/icons/checkbox--undeterminate--filled/20.d.ts +0 -17
  304. package/es/icons/checkbox--undeterminate--filled/20.js +0 -15
  305. package/es/icons/checkbox--undeterminate--filled/24.d.ts +0 -17
  306. package/es/icons/checkbox--undeterminate--filled/24.js +0 -15
  307. package/es/icons/checkbox--undeterminate--filled/32.d.ts +0 -17
  308. package/es/icons/checkbox--undeterminate--filled/32.js +0 -15
  309. package/es/icons/cloud--lightning/16.d.ts +0 -17
  310. package/es/icons/cloud--lightning/16.js +0 -15
  311. package/es/icons/cloud--lightning/20.d.ts +0 -17
  312. package/es/icons/cloud--lightning/20.js +0 -15
  313. package/es/icons/cloud--lightning/24.d.ts +0 -17
  314. package/es/icons/cloud--lightning/24.js +0 -15
  315. package/es/icons/cloud--lightning/32.d.ts +0 -17
  316. package/es/icons/cloud--lightning/32.js +0 -15
  317. package/es/icons/cloud--rain/16.d.ts +0 -17
  318. package/es/icons/cloud--rain/16.js +0 -15
  319. package/es/icons/cloud--rain/20.d.ts +0 -17
  320. package/es/icons/cloud--rain/20.js +0 -15
  321. package/es/icons/cloud--rain/24.d.ts +0 -17
  322. package/es/icons/cloud--rain/24.js +0 -15
  323. package/es/icons/cloud--rain/32.d.ts +0 -17
  324. package/es/icons/cloud--rain/32.js +0 -15
  325. package/es/icons/cloud--snow/16.d.ts +0 -17
  326. package/es/icons/cloud--snow/16.js +0 -15
  327. package/es/icons/cloud--snow/20.d.ts +0 -17
  328. package/es/icons/cloud--snow/20.js +0 -15
  329. package/es/icons/cloud--snow/24.d.ts +0 -17
  330. package/es/icons/cloud--snow/24.js +0 -15
  331. package/es/icons/cloud--snow/32.d.ts +0 -17
  332. package/es/icons/cloud--snow/32.js +0 -15
  333. package/es/icons/glyph--caution/index.d.ts +0 -17
  334. package/es/icons/glyph--caution/index.js +0 -15
  335. package/es/icons/glyph--caution-inverted/index.d.ts +0 -17
  336. package/es/icons/glyph--caution-inverted/index.js +0 -15
  337. package/es/icons/glyph--circle-fill/index.d.ts +0 -17
  338. package/es/icons/glyph--circle-fill/index.js +0 -15
  339. package/es/icons/glyph--circle-stroke/index.d.ts +0 -17
  340. package/es/icons/glyph--circle-stroke/index.js +0 -15
  341. package/es/icons/glyph--critical/index.d.ts +0 -17
  342. package/es/icons/glyph--critical/index.js +0 -15
  343. package/es/icons/glyph--incomplete/index.d.ts +0 -17
  344. package/es/icons/glyph--incomplete/index.js +0 -15
  345. package/es/icons/glyph--square-fill/index.d.ts +0 -17
  346. package/es/icons/glyph--square-fill/index.js +0 -15
  347. package/es/icons/glyph--undefined/index.d.ts +0 -17
  348. package/es/icons/glyph--undefined/index.js +0 -15
  349. package/es/icons/letter--Aa--large/16.d.ts +0 -17
  350. package/es/icons/letter--Aa--large/16.js +0 -15
  351. package/es/icons/letter--Aa--large/20.d.ts +0 -17
  352. package/es/icons/letter--Aa--large/20.js +0 -15
  353. package/es/icons/letter--Aa--large/24.d.ts +0 -17
  354. package/es/icons/letter--Aa--large/24.js +0 -15
  355. package/es/icons/letter--Aa--large/32.d.ts +0 -17
  356. package/es/icons/letter--Aa--large/32.js +0 -15
  357. package/es/icons/logo--delicious/16.d.ts +0 -17
  358. package/es/icons/logo--delicious/16.js +0 -15
  359. package/es/icons/logo--delicious/20.d.ts +0 -17
  360. package/es/icons/logo--delicious/20.js +0 -15
  361. package/es/icons/logo--delicious/24.d.ts +0 -17
  362. package/es/icons/logo--delicious/24.js +0 -15
  363. package/es/icons/logo--delicious/32.d.ts +0 -17
  364. package/es/icons/logo--delicious/32.js +0 -15
  365. package/es/icons/logo--google/16.d.ts +0 -17
  366. package/es/icons/logo--google/16.js +0 -15
  367. package/es/icons/logo--google/20.d.ts +0 -17
  368. package/es/icons/logo--google/20.js +0 -15
  369. package/es/icons/logo--google/24.d.ts +0 -17
  370. package/es/icons/logo--google/24.js +0 -15
  371. package/es/icons/logo--google/32.d.ts +0 -17
  372. package/es/icons/logo--google/32.js +0 -15
  373. package/es/icons/logo--stumbleupon/16.d.ts +0 -17
  374. package/es/icons/logo--stumbleupon/16.js +0 -15
  375. package/es/icons/logo--stumbleupon/20.d.ts +0 -17
  376. package/es/icons/logo--stumbleupon/20.js +0 -15
  377. package/es/icons/logo--stumbleupon/24.d.ts +0 -17
  378. package/es/icons/logo--stumbleupon/24.js +0 -15
  379. package/es/icons/logo--stumbleupon/32.d.ts +0 -17
  380. package/es/icons/logo--stumbleupon/32.js +0 -15
  381. package/es/icons/mammogram--stacked/16.d.ts +0 -17
  382. package/es/icons/mammogram--stacked/16.js +0 -15
  383. package/es/icons/mammogram--stacked/20.d.ts +0 -17
  384. package/es/icons/mammogram--stacked/20.js +0 -15
  385. package/es/icons/mammogram--stacked/24.d.ts +0 -17
  386. package/es/icons/mammogram--stacked/24.js +0 -15
  387. package/es/icons/mammogram--stacked/32.d.ts +0 -17
  388. package/es/icons/mammogram--stacked/32.js +0 -15
  389. package/es/icons/misuse--alt/16.d.ts +0 -17
  390. package/es/icons/misuse--alt/16.js +0 -15
  391. package/es/icons/misuse--alt/20.d.ts +0 -17
  392. package/es/icons/misuse--alt/20.js +0 -15
  393. package/es/icons/misuse--alt/24.d.ts +0 -17
  394. package/es/icons/misuse--alt/24.js +0 -15
  395. package/es/icons/misuse--alt/32.d.ts +0 -17
  396. package/es/icons/misuse--alt/32.js +0 -15
  397. package/es/icons/research--bloch-sphere/16.d.ts +0 -17
  398. package/es/icons/research--bloch-sphere/16.js +0 -15
  399. package/es/icons/research--bloch-sphere/20.d.ts +0 -17
  400. package/es/icons/research--bloch-sphere/20.js +0 -15
  401. package/es/icons/research--bloch-sphere/24.d.ts +0 -17
  402. package/es/icons/research--bloch-sphere/24.js +0 -15
  403. package/es/icons/research--bloch-sphere/32.d.ts +0 -17
  404. package/es/icons/research--bloch-sphere/32.js +0 -15
  405. package/es/icons/research--hinton-plot/16.d.ts +0 -17
  406. package/es/icons/research--hinton-plot/16.js +0 -15
  407. package/es/icons/research--hinton-plot/20.d.ts +0 -17
  408. package/es/icons/research--hinton-plot/20.js +0 -15
  409. package/es/icons/research--hinton-plot/24.d.ts +0 -17
  410. package/es/icons/research--hinton-plot/24.js +0 -15
  411. package/es/icons/research--hinton-plot/32.d.ts +0 -17
  412. package/es/icons/research--hinton-plot/32.js +0 -15
  413. package/es/icons/research--matrix/16.d.ts +0 -17
  414. package/es/icons/research--matrix/16.js +0 -15
  415. package/es/icons/research--matrix/20.d.ts +0 -17
  416. package/es/icons/research--matrix/20.js +0 -15
  417. package/es/icons/research--matrix/24.d.ts +0 -17
  418. package/es/icons/research--matrix/24.js +0 -15
  419. package/es/icons/research--matrix/32.d.ts +0 -17
  420. package/es/icons/research--matrix/32.js +0 -15
  421. package/es/icons/sunny/16.d.ts +0 -17
  422. package/es/icons/sunny/16.js +0 -15
  423. package/es/icons/sunny/20.d.ts +0 -17
  424. package/es/icons/sunny/20.js +0 -15
  425. package/es/icons/sunny/24.d.ts +0 -17
  426. package/es/icons/sunny/24.js +0 -15
  427. package/es/icons/sunny/32.d.ts +0 -17
  428. package/es/icons/sunny/32.js +0 -15
  429. package/es/icons/undefined/index.d.ts +0 -17
  430. package/es/icons/undefined/index.js +0 -15
  431. package/es/icons/watson-health/edit-filter/16.d.ts +0 -17
  432. package/es/icons/watson-health/edit-filter/16.js +0 -15
  433. package/es/icons/watson-health/edit-filter/20.d.ts +0 -17
  434. package/es/icons/watson-health/edit-filter/20.js +0 -15
  435. package/es/icons/watson-health/edit-filter/24.d.ts +0 -17
  436. package/es/icons/watson-health/edit-filter/24.js +0 -15
  437. package/es/icons/watson-health/edit-filter/32.d.ts +0 -17
  438. package/es/icons/watson-health/edit-filter/32.js +0 -15
@@ -1,4 +1,9 @@
1
1
  import _decorate from "@babel/runtime/helpers/esm/decorate";
2
+ import _get from "@babel/runtime/helpers/esm/get";
3
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
4
+ let _ = t => t,
5
+ _t,
6
+ _t2;
2
7
  /**
3
8
  * @license
4
9
  *
@@ -8,6 +13,7 @@ import _decorate from "@babel/runtime/helpers/esm/decorate";
8
13
  * LICENSE file in the root directory of this source tree.
9
14
  */
10
15
 
16
+ import { html } from 'lit';
11
17
  import { classMap } from 'lit/directives/class-map.js';
12
18
  import { property } from 'lit/decorators.js';
13
19
  import { prefix } from '../../globals/settings';
@@ -16,6 +22,20 @@ import { TILE_COLOR_SCHEME } from './defs';
16
22
  import styles from "././tile.css.js";
17
23
  import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
18
24
 
25
+ // To Do: Replace with an an icon from `@carbon/icons`
26
+ // since the hollow slug in `ClickableTile` is not interactive
27
+ const hollowSlugIcon = html(_t || (_t = _` <svg
28
+ class="${0}--tile--slug-icon"
29
+ width="24"
30
+ height="24"
31
+ viewBox="0 0 24 24"
32
+ fill="none"
33
+ xmlns="http://www.w3.org/2000/svg">
34
+ <rect x="0.5" y="0.5" width="23" height="23" />
35
+ <path
36
+ d="M13.2436 16H11.5996L10.9276 13.864H7.95164L7.29164 16H5.68364L8.49164 7.624H10.4596L13.2436 16ZM10.5436 12.508L9.46364 9.064H9.40364L8.33564 12.508H10.5436ZM17.9341 16H14.1301V14.728H15.2341V8.896H14.1301V7.624H17.9341V8.896H16.8181V14.728H17.9341V16Z"
37
+ fill="#161616" />
38
+ </svg>`), prefix);
19
39
  /**
20
40
  * Clickable tile.
21
41
  *
@@ -36,14 +56,17 @@ let CDSClickableTile = _decorate([customElement(`${prefix}-clickable-tile`)], fu
36
56
  value: function _classes() {
37
57
  const {
38
58
  colorScheme,
39
- disabled
59
+ disabled,
60
+ hasRoundedCorners,
61
+ slug
40
62
  } = this;
41
63
  return classMap({
42
64
  [`${prefix}--link`]: true,
43
65
  [`${prefix}--link--disabled`]: disabled,
44
66
  [`${prefix}--tile`]: true,
45
67
  [`${prefix}--tile--clickable`]: true,
46
- [`${prefix}--tile--${colorScheme}`]: colorScheme
68
+ [`${prefix}--tile--${colorScheme}`]: colorScheme,
69
+ [`${prefix}--tile--slug-rounded`]: slug && hasRoundedCorners
47
70
  });
48
71
  }
49
72
 
@@ -69,6 +92,53 @@ let CDSClickableTile = _decorate([customElement(`${prefix}-clickable-tile`)], fu
69
92
  value() {
70
93
  return 'button';
71
94
  }
95
+ }, {
96
+ kind: "field",
97
+ decorators: [property({
98
+ type: Boolean,
99
+ attribute: 'has-rounded-corners'
100
+ })],
101
+ key: "hasRoundedCorners",
102
+ value() {
103
+ return false;
104
+ }
105
+ }, {
106
+ kind: "field",
107
+ decorators: [property({
108
+ type: Boolean
109
+ })],
110
+ key: "slug",
111
+ value() {
112
+ return false;
113
+ }
114
+ }, {
115
+ kind: "method",
116
+ key: "_renderInner",
117
+ value:
118
+ /**
119
+ * The a11y role for `<a>`.
120
+ */
121
+ /**
122
+ * Specify if the `ClickableTile` component should be rendered with rounded corners.
123
+ * Only valid when `slug` prop is present
124
+ */
125
+ /**
126
+ * @returns The inner content.
127
+ */
128
+ function _renderInner() {
129
+ return html(_t2 || (_t2 = _` ${0} ${0} `), _get(_getPrototypeOf(CDSClickableTile.prototype), "_renderInner", this).call(this), this.slug ? hollowSlugIcon : '');
130
+ }
131
+
132
+ /**
133
+ * A selector that will return the slug item.
134
+ */
135
+ }, {
136
+ kind: "get",
137
+ static: true,
138
+ key: "slugItem",
139
+ value: function slugItem() {
140
+ return `${prefix}-slug`;
141
+ }
72
142
  }, {
73
143
  kind: "field",
74
144
  static: true,
@@ -1 +1 @@
1
- {"version":3,"file":"clickable-tile.js","names":["classMap","property","prefix","CDSLink","TILE_COLOR_SCHEME","styles","carbonElement","customElement","CDSClickableTile","_decorate","_initialize","_CDSLink","constructor","args","F","d","kind","key","value","_classes","colorScheme","disabled","decorators","attribute","reflect","REGULAR","static"],"sources":["components/tile/clickable-tile.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 { classMap } from 'lit/directives/class-map.js';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport CDSLink from '../link/link';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Clickable tile.\n *\n * @element cds-clickable-tile\n */\n@customElement(`${prefix}-clickable-tile`)\nclass CDSClickableTile extends CDSLink {\n protected get _classes() {\n const { colorScheme, disabled } = this;\n return classMap({\n [`${prefix}--link`]: true,\n [`${prefix}--link--disabled`]: disabled,\n [`${prefix}--tile`]: true,\n [`${prefix}--tile--clickable`]: true,\n [`${prefix}--tile--${colorScheme}`]: colorScheme,\n });\n }\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * The a11y role for `<a>`.\n */\n @property({ attribute: 'link-role' })\n linkRole = 'button';\n\n static styles = styles;\n}\n\nexport default CDSClickableTile;\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,6BAA6B;AACtD,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,OAAO,MAAM,cAAc;AAClC,SAASC,iBAAiB,QAAQ,QAAQ;AAC1C,OAAOC,MAAM,MAAM,iBAAa;AAChC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;;AAExF;AACA;AACA;AACA;AACA;AAJA,IAMMC,gBAAgB,GAAAC,SAAA,EADrBF,aAAa,CAAE,GAAEL,MAAO,iBAAgB,CAAC,aAAAQ,WAAA,EAAAC,QAAA;EAA1C,MACMH,gBAAgB,SAAAG,QAAA,CAAiB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAyBvC;EAAC;IAAAI,CAAA,EAzBKN,gBAAgB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EACpB,SAAAC,SAAA,EAAyB;QACvB,MAAM;UAAEC,WAAW;UAAEC;QAAS,CAAC,GAAG,IAAI;QACtC,OAAOrB,QAAQ,CAAC;UACd,CAAE,GAAEE,MAAO,QAAO,GAAG,IAAI;UACzB,CAAE,GAAEA,MAAO,kBAAiB,GAAGmB,QAAQ;UACvC,CAAE,GAAEnB,MAAO,QAAO,GAAG,IAAI;UACzB,CAAE,GAAEA,MAAO,mBAAkB,GAAG,IAAI;UACpC,CAAE,GAAEA,MAAO,WAAUkB,WAAY,EAAC,GAAGA;QACvC,CAAC,CAAC;MACJ;;MAEA;AACF;AACA;IAFE;MAAAJ,IAAA;MAAAM,UAAA,GAGCrB,QAAQ,CAAC;QAAEsB,SAAS,EAAE,cAAc;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAP,GAAA;MAAAC,MAAA;QAAA,OACzCd,iBAAiB,CAACqB,OAAO;MAAA;IAAA;MAAAT,IAAA;MAAAM,UAAA,GAKtCrB,QAAQ,CAAC;QAAEsB,SAAS,EAAE;MAAY,CAAC,CAAC;MAAAN,GAAA;MAAAC,MAAA;QAAA,OAC1B,QAAQ;MAAA;IAAA;MAAAF,IAAA;MAAAU,MAAA;MAAAT,GAAA;MAAAC,MAAA;QAAA,OAEHb,MAAM;MAAA;IAAA;EAAA;AAAA,GAxBOF,OAAO;AA2BtC,eAAeK,gBAAgB"}
1
+ {"version":3,"file":"clickable-tile.js","names":["html","classMap","property","prefix","CDSLink","TILE_COLOR_SCHEME","styles","carbonElement","customElement","hollowSlugIcon","_t","_","CDSClickableTile","_decorate","_initialize","_CDSLink","constructor","args","F","d","kind","key","value","_classes","colorScheme","disabled","hasRoundedCorners","slug","decorators","attribute","reflect","REGULAR","type","Boolean","_renderInner","_t2","_get","_getPrototypeOf","prototype","call","static","slugItem"],"sources":["components/tile/clickable-tile.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 { html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport CDSLink from '../link/link';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n// To Do: Replace with an an icon from `@carbon/icons`\n// since the hollow slug in `ClickableTile` is not interactive\nconst hollowSlugIcon = html` <svg\n class=\"${prefix}--tile--slug-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"23\" height=\"23\" />\n <path\n d=\"M13.2436 16H11.5996L10.9276 13.864H7.95164L7.29164 16H5.68364L8.49164 7.624H10.4596L13.2436 16ZM10.5436 12.508L9.46364 9.064H9.40364L8.33564 12.508H10.5436ZM17.9341 16H14.1301V14.728H15.2341V8.896H14.1301V7.624H17.9341V8.896H16.8181V14.728H17.9341V16Z\"\n fill=\"#161616\" />\n</svg>`;\n/**\n * Clickable tile.\n *\n * @element cds-clickable-tile\n */\n@customElement(`${prefix}-clickable-tile`)\nclass CDSClickableTile extends CDSLink {\n protected get _classes() {\n const { colorScheme, disabled, hasRoundedCorners, slug } = this;\n return classMap({\n [`${prefix}--link`]: true,\n [`${prefix}--link--disabled`]: disabled,\n [`${prefix}--tile`]: true,\n [`${prefix}--tile--clickable`]: true,\n [`${prefix}--tile--${colorScheme}`]: colorScheme,\n [`${prefix}--tile--slug-rounded`]: slug && hasRoundedCorners,\n });\n }\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * The a11y role for `<a>`.\n */\n @property({ attribute: 'link-role' })\n linkRole = 'button';\n\n /**\n * Specify if the `ClickableTile` component should be rendered with rounded corners.\n * Only valid when `slug` prop is present\n */\n @property({ type: Boolean, attribute: 'has-rounded-corners' })\n hasRoundedCorners = false;\n\n @property({ type: Boolean })\n slug = false;\n\n /**\n * @returns The inner content.\n */\n protected _renderInner() {\n return html` ${super._renderInner()} ${this.slug ? hollowSlugIcon : ''} `;\n }\n\n /**\n * A selector that will return the slug item.\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n static styles = styles;\n}\n\nexport default CDSClickableTile;\n"],"mappings":"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"}
@@ -683,6 +683,14 @@ declare class CDSExpandableTile extends CDSExpandableTile_base {
683
683
  * The computed height of the below-the-fold content.
684
684
  */
685
685
  private _belowTheContentHeight;
686
+ /**
687
+ * `true` if there is a slug.
688
+ */
689
+ protected _hasSlug: boolean;
690
+ /**
691
+ * Handles `slotchange` event.
692
+ */
693
+ protected _handleSlotChange({ target }: Event): void;
686
694
  /**
687
695
  * Handles `slotchange` event on the below-the-fold content.
688
696
  *
@@ -699,11 +707,21 @@ declare class CDSExpandableTile extends CDSExpandableTile_base {
699
707
  * `true` to expand this expandable tile.
700
708
  */
701
709
  expanded: boolean;
710
+ /**
711
+ * Specify if the `ExpandableTile` component should be rendered with rounded corners.
712
+ * Only valid when `slug` prop is present
713
+ */
714
+ hasRoundedCorners: boolean;
702
715
  /**
703
716
  * `true` to expand this expandable tile.
704
717
  */
705
718
  withInteractive: boolean;
719
+ updated(): void;
706
720
  render(): import("lit-html").TemplateResult<1>;
721
+ /**
722
+ * A selector that will return the slug item.
723
+ */
724
+ static get slugItem(): string;
707
725
  /**
708
726
  * The name of the custom event fired before the expanded state is changed upon a user gesture.
709
727
  * Cancellation of this event stops changing the user-initiated change in expanded state.
@@ -48,20 +48,50 @@ let CDSExpandableTile = _decorate([customElement(`${prefix}-expandable-tile`)],
48
48
  value() {
49
49
  return 0;
50
50
  }
51
+ }, {
52
+ kind: "field",
53
+ key: "_hasSlug",
54
+ value() {
55
+ return false;
56
+ }
51
57
  }, {
52
58
  kind: "method",
53
- key: "_handleSlotChangeBelowTheFoldContent",
59
+ key: "_handleSlotChange",
54
60
  value:
55
61
  /**
56
62
  * The computed height of the below-the-fold content.
57
63
  */
58
64
 
65
+ /**
66
+ * `true` if there is a slug.
67
+ */
68
+
69
+ /**
70
+ * Handles `slotchange` event.
71
+ */
72
+ function _handleSlotChange({
73
+ target
74
+ }) {
75
+ const hasContent = target.assignedNodes().filter(elem => {
76
+ var _this$constructor;
77
+ return elem.matches !== undefined ? elem.matches((_this$constructor = this.constructor) === null || _this$constructor === void 0 ? void 0 : _this$constructor.slugItem) : false;
78
+ });
79
+ if (hasContent.length > 0) {
80
+ this._hasSlug = Boolean(hasContent);
81
+ hasContent[0].setAttribute('size', 'xs');
82
+ }
83
+ this.requestUpdate();
84
+ }
85
+
59
86
  /**
60
87
  * Handles `slotchange` event on the below-the-fold content.
61
88
  *
62
89
  * @param event The event.
63
90
  */
64
- function _handleSlotChangeBelowTheFoldContent(event) {
91
+ }, {
92
+ kind: "method",
93
+ key: "_handleSlotChangeBelowTheFoldContent",
94
+ value: function _handleSlotChangeBelowTheFoldContent(event) {
65
95
  this._belowTheContentHeight = event.target.assignedNodes().reduce((acc, item) => {
66
96
  var _offsetHeight;
67
97
  return acc + ((_offsetHeight = item.offsetHeight) !== null && _offsetHeight !== void 0 ? _offsetHeight : 0);
@@ -126,6 +156,16 @@ let CDSExpandableTile = _decorate([customElement(`${prefix}-expandable-tile`)],
126
156
  value() {
127
157
  return false;
128
158
  }
159
+ }, {
160
+ kind: "field",
161
+ decorators: [property({
162
+ type: Boolean,
163
+ attribute: 'has-rounded-corners'
164
+ })],
165
+ key: "hasRoundedCorners",
166
+ value() {
167
+ return false;
168
+ }
129
169
  }, {
130
170
  kind: "field",
131
171
  decorators: [property({
@@ -139,7 +179,7 @@ let CDSExpandableTile = _decorate([customElement(`${prefix}-expandable-tile`)],
139
179
  }
140
180
  }, {
141
181
  kind: "method",
142
- key: "render",
182
+ key: "updated",
143
183
  value:
144
184
  /**
145
185
  * The color scheme.
@@ -147,10 +187,24 @@ let CDSExpandableTile = _decorate([customElement(`${prefix}-expandable-tile`)],
147
187
  /**
148
188
  * `true` to expand this expandable tile.
149
189
  */
190
+ /**
191
+ * Specify if the `ExpandableTile` component should be rendered with rounded corners.
192
+ * Only valid when `slug` prop is present
193
+ */
150
194
  /**
151
195
  * `true` to expand this expandable tile.
152
196
  */
153
- function render() {
197
+ function updated() {
198
+ if (this._hasSlug) {
199
+ this.setAttribute('slug', '');
200
+ } else {
201
+ this.removeAttribute('slug');
202
+ }
203
+ }
204
+ }, {
205
+ kind: "method",
206
+ key: "render",
207
+ value: function render() {
154
208
  const {
155
209
  expanded,
156
210
  withInteractive,
@@ -171,6 +225,7 @@ let CDSExpandableTile = _decorate([customElement(`${prefix}-expandable-tile`)],
171
225
  aria-expanded="${0}">
172
226
  ${0}
173
227
  </button>
228
+ <slot name="slug" @slotchange="${0}"></slot>
174
229
  <div id="content" class="${0}--tile-content">
175
230
  <div><slot name="above-the-fold-content"></slot></div>
176
231
  <div
@@ -181,7 +236,18 @@ let CDSExpandableTile = _decorate([customElement(`${prefix}-expandable-tile`)],
181
236
  </div>
182
237
  `), classes, withInteractive ? this._handleExpand : '', String(Boolean(expanded)), ChevronDown16({
183
238
  id: 'icon'
184
- }), prefix, prefix, ifDefined(!expanded ? undefined : `max-height: ${belowTheContentHeight}px`), handleSlotChangeBelowTheFoldContent);
239
+ }), this._handleSlotChange, prefix, prefix, ifDefined(!expanded ? undefined : `max-height: ${belowTheContentHeight}px`), handleSlotChangeBelowTheFoldContent);
240
+ }
241
+
242
+ /**
243
+ * A selector that will return the slug item.
244
+ */
245
+ }, {
246
+ kind: "get",
247
+ static: true,
248
+ key: "slugItem",
249
+ value: function slugItem() {
250
+ return `${prefix}-slug`;
185
251
  }
186
252
 
187
253
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-tile.js","names":["LitElement","html","property","ifDefined","ChevronDown16","prefix","HostListener","FocusMixin","HostListenerMixin","TILE_COLOR_SCHEME","styles","classMap","carbonElement","customElement","CDSExpandableTile","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleSlotChangeBelowTheFoldContent","event","_belowTheContentHeight","target","assignedNodes","reduce","acc","item","_offsetHeight","offsetHeight","element","getComputedStyle","querySelector","parseInt","height","requestUpdate","_handleExpand","expanded","focus","init","bubbles","composed","detail","beforeChangeEvent","CustomEvent","eventBeforeToggle","_objectSpread","cancelable","dispatchEvent","afterChangeEvent","eventToggle","decorators","withInteractive","attribute","reflect","REGULAR","type","Boolean","render","belowTheContentHeight","handleSlotChangeBelowTheFoldContent","classes","_t","_","String","id","undefined","static"],"sources":["components/tile/expandable-tile.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 } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport ChevronDown16 from '@carbon/icons/lib/chevron--down/16';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Expandable tile.\n *\n * @element cds-expandable-tile\n * @fires cds-expandable-tile-beingtoggled\n * The custom event fired before the expanded state is changed upon a user gesture.\n * Cancellation of this event stops changing the user-initiated change in expanded state.\n * @fires cds-expandable-tile-toggled - The custom event fired after a the expanded state is changed upon a user gesture.\n */\n@customElement(`${prefix}-expandable-tile`)\nclass CDSExpandableTile extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * The computed height of the below-the-fold content.\n */\n private _belowTheContentHeight = 0;\n\n /**\n * Handles `slotchange` event on the below-the-fold content.\n *\n * @param event The event.\n */\n private _handleSlotChangeBelowTheFoldContent(event: Event) {\n this._belowTheContentHeight = (event.target as HTMLSlotElement)\n .assignedNodes()\n .reduce(\n (acc, item) => acc + ((item as HTMLElement).offsetHeight ?? 0),\n 0\n );\n\n if (!this._belowTheContentHeight) {\n const element = getComputedStyle(\n this.querySelector('cds-tile-below-the-fold-content') as any\n );\n this._belowTheContentHeight = parseInt(element.height, 10);\n }\n this.requestUpdate();\n }\n\n private _handleExpand() {\n const expanded = !this.expanded;\n this.focus();\n const init = {\n bubbles: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n const constructor = this.constructor as typeof CDSExpandableTile;\n const beforeChangeEvent = new CustomEvent(constructor.eventBeforeToggle, {\n ...init,\n cancelable: true,\n });\n if (this.dispatchEvent(beforeChangeEvent)) {\n this.expanded = expanded;\n const afterChangeEvent = new CustomEvent(constructor.eventToggle, init);\n this.dispatchEvent(afterChangeEvent);\n }\n }\n\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = () => {\n if (!this.withInteractive) {\n this._handleExpand();\n }\n };\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` to expand this expandable tile.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` to expand this expandable tile.\n */\n @property({ type: Boolean, reflect: true, attribute: 'with-interactive' })\n withInteractive = false;\n\n render() {\n const {\n expanded,\n withInteractive,\n _belowTheContentHeight: belowTheContentHeight,\n _handleSlotChangeBelowTheFoldContent: handleSlotChangeBelowTheFoldContent,\n } = this;\n\n const classes = classMap({\n [`${prefix}--tile__chevron`]: true,\n [`${prefix}--tile__chevron--interactive`]: withInteractive,\n });\n return html`\n <button\n class=\"${classes}\"\n aria-labelledby=\"above-the-fold-content\"\n aria-controls=\"below-the-fold-content\"\n tabindex=\"0\"\n @click=\"${withInteractive ? this._handleExpand : ''}\"\n aria-expanded=\"${String(Boolean(expanded))}\">\n ${ChevronDown16({\n id: 'icon',\n })}\n </button>\n <div id=\"content\" class=\"${prefix}--tile-content\">\n <div><slot name=\"above-the-fold-content\"></slot></div>\n <div\n class=\"${prefix}-ce--expandable-tile--below-the-fold-content\"\n style=\"${ifDefined(\n !expanded ? undefined : `max-height: ${belowTheContentHeight}px`\n )}\">\n <slot @slotchange=\"${handleSlotChangeBelowTheFoldContent}\"></slot>\n </div>\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired before the expanded state is changed upon a user gesture.\n * Cancellation of this event stops changing the user-initiated change in expanded state.\n */\n static get eventBeforeToggle() {\n return `${prefix}-expandable-tile-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after a the expanded state is changed upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-expandable-tile-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSExpandableTile;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,IAAI,QAAQ,KAAK;AACtC,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,SAAS,QAAQ,8BAA8B;AACxD,OAAOC,aAAa,MAAM,8BAAoC;AAC9D,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,UAAU,MAAM,4BAA4B;AACnD,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,SAASC,iBAAiB,QAAQ,QAAQ;AAC1C,OAAOC,MAAM,MAAM,iBAAa;AAChC,SAASC,QAAQ,QAAQ,6BAA6B;AACtD,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;;AAExF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IAUMC,iBAAiB,GAAAC,SAAA,EADtBF,aAAa,CAAE,GAAER,MAAO,kBAAiB,CAAC,aAAAW,WAAA,EAAAC,kBAAA;EAA3C,MACMH,iBAAiB,SAAAG,kBAAA,CAAmD;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAiI1E;EAAC;IAAAI,CAAA,EAjIKN,iBAAiB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAIY,CAAC;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAHlC;AACF;AACA;;MAGE;AACF;AACA;AACA;AACA;MACE,SAAAC,qCAA6CC,KAAY,EAAE;QACzD,IAAI,CAACC,sBAAsB,GAAID,KAAK,CAACE,MAAM,CACxCC,aAAa,CAAC,CAAC,CACfC,MAAM,CACL,CAACC,GAAG,EAAEC,IAAI;UAAA,IAAAC,aAAA;UAAA,OAAKF,GAAG,KAAAE,aAAA,GAAKD,IAAI,CAAiBE,YAAY,cAAAD,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;QAAA,GAC9D,CACF,CAAC;QAEH,IAAI,CAAC,IAAI,CAACN,sBAAsB,EAAE;UAChC,MAAMQ,OAAO,GAAGC,gBAAgB,CAC9B,IAAI,CAACC,aAAa,CAAC,iCAAiC,CACtD,CAAC;UACD,IAAI,CAACV,sBAAsB,GAAGW,QAAQ,CAACH,OAAO,CAACI,MAAM,EAAE,EAAE,CAAC;QAC5D;QACA,IAAI,CAACC,aAAa,CAAC,CAAC;MACtB;IAAC;MAAAlB,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAiB,cAAA,EAAwB;QACtB,MAAMC,QAAQ,GAAG,CAAC,IAAI,CAACA,QAAQ;QAC/B,IAAI,CAACC,KAAK,CAAC,CAAC;QACZ,MAAMC,IAAI,GAAG;UACXC,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE,IAAI;UACdC,MAAM,EAAE;YACNL;UACF;QACF,CAAC;QACD,MAAMxB,WAAW,GAAG,IAAI,CAACA,WAAuC;QAChE,MAAM8B,iBAAiB,GAAG,IAAIC,WAAW,CAAC/B,WAAW,CAACgC,iBAAiB,EAAAC,aAAA,CAAAA,aAAA,KAClEP,IAAI;UACPQ,UAAU,EAAE;QAAI,EACjB,CAAC;QACF,IAAI,IAAI,CAACC,aAAa,CAACL,iBAAiB,CAAC,EAAE;UACzC,IAAI,CAACN,QAAQ,GAAGA,QAAQ;UACxB,MAAMY,gBAAgB,GAAG,IAAIL,WAAW,CAAC/B,WAAW,CAACqC,WAAW,EAAEX,IAAI,CAAC;UACvE,IAAI,CAACS,aAAa,CAACC,gBAAgB,CAAC;QACtC;MACF;IAAC;MAAAhC,IAAA;MAAAkC,UAAA,GAEAlD,YAAY,CAAC,OAAO,CAAC;MAAAiB,GAAA;MAAAC,MAAA;QAAA,OAEC,MAAM;UAC3B,IAAI,CAAC,IAAI,CAACiC,eAAe,EAAE;YACzB,IAAI,CAAChB,aAAa,CAAC,CAAC;UACtB;QACF,CAAC;MAAA;IAAA;MAAAnB,IAAA;MAAAkC,UAAA,GAKAtD,QAAQ,CAAC;QAAEwD,SAAS,EAAE,cAAc;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAApC,GAAA;MAAAC,MAAA;QAAA,OACzCf,iBAAiB,CAACmD,OAAO;MAAA;IAAA;MAAAtC,IAAA;MAAAkC,UAAA,GAKtCtD,QAAQ,CAAC;QAAE2D,IAAI,EAAEC,OAAO;QAAEH,OAAO,EAAE;MAAK,CAAC,CAAC;MAAApC,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAkC,UAAA,GAKftD,QAAQ,CAAC;QAAE2D,IAAI,EAAEC,OAAO;QAAEH,OAAO,EAAE,IAAI;QAAED,SAAS,EAAE;MAAmB,CAAC,CAAC;MAAAnC,GAAA;MAAAC,MAAA;QAAA,OACxD,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAhBvB;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE,SAAAuC,OAAA,EAAS;QACP,MAAM;UACJrB,QAAQ;UACRe,eAAe;UACf9B,sBAAsB,EAAEqC,qBAAqB;UAC7CvC,oCAAoC,EAAEwC;QACxC,CAAC,GAAG,IAAI;QAER,MAAMC,OAAO,GAAGvD,QAAQ,CAAC;UACvB,CAAE,GAAEN,MAAO,iBAAgB,GAAG,IAAI;UAClC,CAAE,GAAEA,MAAO,8BAA6B,GAAGoD;QAC7C,CAAC,CAAC;QACF,OAAOxD,IAAI,CAAAkE,EAAA,KAAAA,EAAA,GAAAC,CAAC;AAChB;AACA,iBAAe,CAAU;AACzB;AACA;AACA;AACA,kBAAgB,CAA4C;AAC5D,yBAAuB,CAA4B;AACnD,UAAQ,CAEG;AACX;AACA,iCAA+B,CAAS;AACxC;AACA;AACA,mBAAiB,CAAS;AAC1B,mBAAiB,CAEL;AACZ,+BAA6B,CAAsC;AACnE;AACA;AACA,KAAI,GApBaF,OAAO,EAINT,eAAe,GAAG,IAAI,CAAChB,aAAa,GAAG,EAAE,EAClC4B,MAAM,CAACP,OAAO,CAACpB,QAAQ,CAAC,CAAC,EACxCtC,aAAa,CAAC;UACdkE,EAAE,EAAE;QACN,CAAC,CAAC,EAEuBjE,MAAM,EAGpBA,MAAM,EACNF,SAAS,CAChB,CAACuC,QAAQ,GAAG6B,SAAS,GAAI,eAAcP,qBAAsB,IAC/D,CAAC,EACoBC,mCAAmC;MAIhE;;MAEA;AACF;AACA;AACA;IAHE;MAAA3C,IAAA;MAAAkD,MAAA;MAAAjD,GAAA;MAAAC,KAAA,EAIA,SAAA0B,kBAAA,EAA+B;QAC7B,OAAQ,GAAE7C,MAAO,+BAA8B;MACjD;;MAEA;AACF;AACA;IAFE;MAAAiB,IAAA;MAAAkD,MAAA;MAAAjD,GAAA;MAAAC,KAAA,EAGA,SAAA+B,YAAA,EAAyB;QACvB,OAAQ,GAAElD,MAAO,0BAAyB;MAC5C;IAAC;MAAAiB,IAAA;MAAAkD,MAAA;MAAAjD,GAAA;MAAAC,MAAA;QAAA,OAEed,MAAM;MAAA;IAAA;EAAA;AAAA,GAhIQF,iBAAiB,CAACD,UAAU,CAACP,UAAU,CAAC,CAAC;AAmIzE,eAAec,iBAAiB"}
1
+ {"version":3,"file":"expandable-tile.js","names":["LitElement","html","property","ifDefined","ChevronDown16","prefix","HostListener","FocusMixin","HostListenerMixin","TILE_COLOR_SCHEME","styles","classMap","carbonElement","customElement","CDSExpandableTile","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleSlotChange","target","hasContent","assignedNodes","filter","elem","_this$constructor","matches","undefined","slugItem","length","_hasSlug","Boolean","setAttribute","requestUpdate","_handleSlotChangeBelowTheFoldContent","event","_belowTheContentHeight","reduce","acc","item","_offsetHeight","offsetHeight","element","getComputedStyle","querySelector","parseInt","height","_handleExpand","expanded","focus","init","bubbles","composed","detail","beforeChangeEvent","CustomEvent","eventBeforeToggle","_objectSpread","cancelable","dispatchEvent","afterChangeEvent","eventToggle","decorators","withInteractive","attribute","reflect","REGULAR","type","updated","removeAttribute","render","belowTheContentHeight","handleSlotChangeBelowTheFoldContent","classes","_t","_","String","id","static"],"sources":["components/tile/expandable-tile.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 } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport ChevronDown16 from '@carbon/icons/lib/chevron--down/16';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Expandable tile.\n *\n * @element cds-expandable-tile\n * @fires cds-expandable-tile-beingtoggled\n * The custom event fired before the expanded state is changed upon a user gesture.\n * Cancellation of this event stops changing the user-initiated change in expanded state.\n * @fires cds-expandable-tile-toggled - The custom event fired after a the expanded state is changed upon a user gesture.\n */\n@customElement(`${prefix}-expandable-tile`)\nclass CDSExpandableTile extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * The computed height of the below-the-fold content.\n */\n private _belowTheContentHeight = 0;\n\n /**\n * `true` if there is a slug.\n */\n protected _hasSlug = false;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSExpandableTile)?.slugItem\n )\n : false\n );\n\n if (hasContent.length > 0) {\n this._hasSlug = Boolean(hasContent);\n (hasContent[0] as HTMLElement).setAttribute('size', 'xs');\n }\n this.requestUpdate();\n }\n\n /**\n * Handles `slotchange` event on the below-the-fold content.\n *\n * @param event The event.\n */\n private _handleSlotChangeBelowTheFoldContent(event: Event) {\n this._belowTheContentHeight = (event.target as HTMLSlotElement)\n .assignedNodes()\n .reduce(\n (acc, item) => acc + ((item as HTMLElement).offsetHeight ?? 0),\n 0\n );\n\n if (!this._belowTheContentHeight) {\n const element = getComputedStyle(\n this.querySelector('cds-tile-below-the-fold-content') as any\n );\n this._belowTheContentHeight = parseInt(element.height, 10);\n }\n this.requestUpdate();\n }\n\n private _handleExpand() {\n const expanded = !this.expanded;\n this.focus();\n const init = {\n bubbles: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n const constructor = this.constructor as typeof CDSExpandableTile;\n const beforeChangeEvent = new CustomEvent(constructor.eventBeforeToggle, {\n ...init,\n cancelable: true,\n });\n if (this.dispatchEvent(beforeChangeEvent)) {\n this.expanded = expanded;\n const afterChangeEvent = new CustomEvent(constructor.eventToggle, init);\n this.dispatchEvent(afterChangeEvent);\n }\n }\n\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = () => {\n if (!this.withInteractive) {\n this._handleExpand();\n }\n };\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` to expand this expandable tile.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Specify if the `ExpandableTile` component should be rendered with rounded corners.\n * Only valid when `slug` prop is present\n */\n @property({ type: Boolean, attribute: 'has-rounded-corners' })\n hasRoundedCorners = false;\n\n /**\n * `true` to expand this expandable tile.\n */\n @property({ type: Boolean, reflect: true, attribute: 'with-interactive' })\n withInteractive = false;\n\n updated() {\n if (this._hasSlug) {\n this.setAttribute('slug', '');\n } else {\n this.removeAttribute('slug');\n }\n }\n\n render() {\n const {\n expanded,\n withInteractive,\n _belowTheContentHeight: belowTheContentHeight,\n _handleSlotChangeBelowTheFoldContent: handleSlotChangeBelowTheFoldContent,\n } = this;\n\n const classes = classMap({\n [`${prefix}--tile__chevron`]: true,\n [`${prefix}--tile__chevron--interactive`]: withInteractive,\n });\n return html`\n <button\n class=\"${classes}\"\n aria-labelledby=\"above-the-fold-content\"\n aria-controls=\"below-the-fold-content\"\n tabindex=\"0\"\n @click=\"${withInteractive ? this._handleExpand : ''}\"\n aria-expanded=\"${String(Boolean(expanded))}\">\n ${ChevronDown16({\n id: 'icon',\n })}\n </button>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <div id=\"content\" class=\"${prefix}--tile-content\">\n <div><slot name=\"above-the-fold-content\"></slot></div>\n <div\n class=\"${prefix}-ce--expandable-tile--below-the-fold-content\"\n style=\"${ifDefined(\n !expanded ? undefined : `max-height: ${belowTheContentHeight}px`\n )}\">\n <slot @slotchange=\"${handleSlotChangeBelowTheFoldContent}\"></slot>\n </div>\n </div>\n `;\n }\n\n /**\n * A selector that will return the slug item.\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * The name of the custom event fired before the expanded state is changed upon a user gesture.\n * Cancellation of this event stops changing the user-initiated change in expanded state.\n */\n static get eventBeforeToggle() {\n return `${prefix}-expandable-tile-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after a the expanded state is changed upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-expandable-tile-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSExpandableTile;\n"],"mappings":"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"}
@@ -339,9 +339,7 @@ declare const CDSSelectableTile_base: {
339
339
  _hostListeners: {
340
340
  [listenerName: string]: {
341
341
  [type: string]: {
342
- options?: boolean | AddEventListenerOptions | undefined; /**
343
- * The color scheme.
344
- */
342
+ options?: boolean | AddEventListenerOptions | undefined;
345
343
  };
346
344
  };
347
345
  };
@@ -683,6 +681,14 @@ declare class CDSSelectableTile extends CDSSelectableTile_base {
683
681
  * The `type` attribute of the `<input>`.
684
682
  */
685
683
  protected _inputType: string;
684
+ /**
685
+ * `true` if there is a slug.
686
+ */
687
+ protected _hasSlug: boolean;
688
+ /**
689
+ * Handles `slotchange` event.
690
+ */
691
+ protected _handleSlotChange({ target }: Event): void;
686
692
  /**
687
693
  * Handles `change` event on the `<input>` in the shadow DOM.
688
694
  */
@@ -705,6 +711,11 @@ declare class CDSSelectableTile extends CDSSelectableTile_base {
705
711
  * The color scheme.
706
712
  */
707
713
  colorScheme: TILE_COLOR_SCHEME;
714
+ /**
715
+ * Specify if the `SeletableTile` component should be rendered with rounded corners.
716
+ * Only valid when `slug` prop is present
717
+ */
718
+ hasRoundedCorners: boolean;
708
719
  /**
709
720
  * The form name.
710
721
  */
@@ -717,7 +728,12 @@ declare class CDSSelectableTile extends CDSSelectableTile_base {
717
728
  * The form value.
718
729
  */
719
730
  value: string;
731
+ updated(): void;
720
732
  render(): import("lit-html").TemplateResult<1>;
733
+ /**
734
+ * A selector that will return the slug item.
735
+ */
736
+ static get slugItem(): string;
721
737
  /**
722
738
  * The name of the custom event fired after this selectable tile changes its selected state.
723
739
  */
@@ -54,18 +54,48 @@ let CDSSelectableTile = _decorate([customElement(`${prefix}-selectable-tile`)],
54
54
  value() {
55
55
  return 'checkbox';
56
56
  }
57
+ }, {
58
+ kind: "field",
59
+ key: "_hasSlug",
60
+ value() {
61
+ return false;
62
+ }
57
63
  }, {
58
64
  kind: "method",
59
- key: "_handleChange",
65
+ key: "_handleSlotChange",
60
66
  value:
61
67
  /**
62
68
  * The `type` attribute of the `<input>`.
63
69
  */
64
70
 
71
+ /**
72
+ * `true` if there is a slug.
73
+ */
74
+
75
+ /**
76
+ * Handles `slotchange` event.
77
+ */
78
+ function _handleSlotChange({
79
+ target
80
+ }) {
81
+ const hasContent = target.assignedNodes().filter(elem => {
82
+ var _this$constructor;
83
+ return elem.matches !== undefined ? elem.matches((_this$constructor = this.constructor) === null || _this$constructor === void 0 ? void 0 : _this$constructor.slugItem) : false;
84
+ });
85
+ if (hasContent.length > 0) {
86
+ this._hasSlug = Boolean(hasContent);
87
+ hasContent[0].setAttribute('size', 'xs');
88
+ }
89
+ this.requestUpdate();
90
+ }
91
+
65
92
  /**
66
93
  * Handles `change` event on the `<input>` in the shadow DOM.
67
94
  */
68
- function _handleChange() {
95
+ }, {
96
+ kind: "method",
97
+ key: "_handleChange",
98
+ value: function _handleChange() {
69
99
  this.selected = this._inputNode.checked;
70
100
  const selected = this.selected;
71
101
  const {
@@ -109,10 +139,11 @@ let CDSSelectableTile = _decorate([customElement(`${prefix}-selectable-tile`)],
109
139
  key: "_handleKeydown",
110
140
  value() {
111
141
  return event => {
142
+ var _event$target;
112
143
  const {
113
144
  key
114
145
  } = event;
115
- if (key === ' ' || key === 'Enter') {
146
+ if (key === ' ' || key === 'Enter' && !((_event$target = event.target) !== null && _event$target !== void 0 && _event$target.matches(this.constructor.slugItem))) {
116
147
  this.selected = !this.selected;
117
148
  }
118
149
  };
@@ -134,6 +165,16 @@ let CDSSelectableTile = _decorate([customElement(`${prefix}-selectable-tile`)],
134
165
  value() {
135
166
  return TILE_COLOR_SCHEME.REGULAR;
136
167
  }
168
+ }, {
169
+ kind: "field",
170
+ decorators: [property({
171
+ type: Boolean,
172
+ attribute: 'has-rounded-corners'
173
+ })],
174
+ key: "hasRoundedCorners",
175
+ value() {
176
+ return false;
177
+ }
137
178
  }, {
138
179
  kind: "field",
139
180
  decorators: [property()],
@@ -156,7 +197,7 @@ let CDSSelectableTile = _decorate([customElement(`${prefix}-selectable-tile`)],
156
197
  value: void 0
157
198
  }, {
158
199
  kind: "method",
159
- key: "render",
200
+ key: "updated",
160
201
  value:
161
202
  /**
162
203
  * The a11y text for the checkmark icon of the selected state.
@@ -164,6 +205,10 @@ let CDSSelectableTile = _decorate([customElement(`${prefix}-selectable-tile`)],
164
205
  /**
165
206
  * The color scheme.
166
207
  */
208
+ /**
209
+ * Specify if the `SeletableTile` component should be rendered with rounded corners.
210
+ * Only valid when `slug` prop is present
211
+ */
167
212
  /**
168
213
  * The form name.
169
214
  */
@@ -173,20 +218,33 @@ let CDSSelectableTile = _decorate([customElement(`${prefix}-selectable-tile`)],
173
218
  /**
174
219
  * The form value.
175
220
  */
176
- function render() {
221
+ function updated() {
222
+ if (this._hasSlug) {
223
+ this.setAttribute('slug', '');
224
+ } else {
225
+ this.removeAttribute('slug');
226
+ }
227
+ }
228
+ }, {
229
+ kind: "method",
230
+ key: "render",
231
+ value: function render() {
177
232
  const {
178
233
  colorScheme,
234
+ hasRoundedCorners: hasRoundedCorners,
179
235
  name,
180
236
  selected,
181
237
  value,
182
238
  _inputType: inputType,
183
- _handleChange: handleChange
239
+ _handleChange: handleChange,
240
+ _hasSlug: hasSlug
184
241
  } = this;
185
242
  const classes = classMap({
186
243
  [`${prefix}--tile`]: true,
187
244
  [`${prefix}--tile--selectable`]: true,
188
245
  [`${prefix}--tile--is-selected`]: selected,
189
- [`${prefix}--tile--${colorScheme}`]: colorScheme
246
+ [`${prefix}--tile--${colorScheme}`]: colorScheme,
247
+ [`${prefix}--tile--slug-rounded`]: hasSlug && hasRoundedCorners
190
248
  });
191
249
  return html(_t4 || (_t4 = _`
192
250
  <input
@@ -205,7 +263,19 @@ let CDSSelectableTile = _decorate([customElement(`${prefix}-selectable-tile`)],
205
263
  </div>
206
264
  <div class="${0}--tile-content"><slot></slot></div>
207
265
  </label>
208
- `), inputType, prefix, ifDefined(name), ifDefined(value), selected, handleChange, classes, prefix, prefix, this._renderIcon(), prefix);
266
+ <slot name="slug" @slotchange="${0}"></slot>
267
+ `), inputType, prefix, ifDefined(name), ifDefined(value), selected, handleChange, classes, prefix, prefix, this._renderIcon(), prefix, this._handleSlotChange);
268
+ }
269
+
270
+ /**
271
+ * A selector that will return the slug item.
272
+ */
273
+ }, {
274
+ kind: "get",
275
+ static: true,
276
+ key: "slugItem",
277
+ value: function slugItem() {
278
+ return `${prefix}-slug`;
209
279
  }
210
280
 
211
281
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"selectable-tile.js","names":["classMap","LitElement","html","svg","property","query","ifDefined","Checkbox16","CheckboxCheckedFilled16","prefix","FocusMixin","HostListenerMixin","TILE_COLOR_SCHEME","styles","HostListener","carbonElement","customElement","CDSSelectableTile","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","key","value","_handleChange","selected","_inputNode","checked","eventChange","dispatchEvent","CustomEvent","bubbles","composed","detail","_renderIcon","checkmarkLabel","_t","_","children","undefined","_t2","_t3","event","attribute","reflect","REGULAR","type","Boolean","render","colorScheme","name","_inputType","inputType","handleChange","classes","_t4","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/tile/selectable-tile.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 { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html, svg } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport Checkbox16 from '@carbon/icons/lib/checkbox/16';\nimport CheckboxCheckedFilled16 from '@carbon/icons/lib/checkbox--checked--filled/16';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Multi-selectable tile.\n *\n * @element cds-selectable-tile\n * @fires cds-selectable-tile-changed - The custom event fired after this selectable tile changes its selected state.\n */\n@customElement(`${prefix}-selectable-tile`)\nclass CDSSelectableTile extends HostListenerMixin(FocusMixin(LitElement)) {\n @query('input')\n protected _inputNode!: HTMLInputElement;\n\n /**\n * The `type` attribute of the `<input>`.\n */\n protected _inputType = 'checkbox';\n\n /**\n * Handles `change` event on the `<input>` in the shadow DOM.\n */\n protected _handleChange() {\n this.selected = this._inputNode.checked;\n\n const selected = this.selected;\n const { eventChange } = this.constructor as typeof CDSSelectableTile;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n selected,\n },\n })\n );\n }\n\n /**\n * Handles the rendering of the icon.\n */\n protected _renderIcon() {\n const { selected, checkmarkLabel } = this;\n\n return html` ${selected\n ? CheckboxCheckedFilled16({\n children: !checkmarkLabel\n ? undefined\n : svg`<title>${checkmarkLabel}</title>`,\n })\n : Checkbox16({\n children: !checkmarkLabel\n ? undefined\n : svg`<title>${checkmarkLabel}</title>`,\n })}`;\n }\n\n /**\n * Listener function for keyboard interaction.\n *\n * @param event to get the key pressed\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = (event: KeyboardEvent) => {\n const { key } = event;\n\n if (key === ' ' || key === 'Enter') {\n this.selected = !this.selected;\n }\n };\n\n /**\n * The a11y text for the checkmark icon of the selected state.\n */\n @property({ attribute: 'checkmark-label' })\n checkmarkLabel!: string;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * `true` to show the selected state.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The form value.\n */\n @property()\n value!: string;\n\n render() {\n const {\n colorScheme,\n name,\n selected,\n value,\n _inputType: inputType,\n _handleChange: handleChange,\n } = this;\n const classes = classMap({\n [`${prefix}--tile`]: true,\n [`${prefix}--tile--selectable`]: true,\n [`${prefix}--tile--is-selected`]: selected,\n [`${prefix}--tile--${colorScheme}`]: colorScheme,\n });\n return html`\n <input\n type=\"${inputType}\"\n id=\"input\"\n class=\"${prefix}--tile-input\"\n tabindex=\"-1\"\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n .checked=${selected}\n @change=${handleChange} />\n <label for=\"input\" class=\"${classes}\" tabindex=\"0\">\n <div\n class=\"${prefix}--tile__checkmark ${prefix}--tile__checkmark--persistent\">\n ${this._renderIcon()}\n </div>\n <div class=\"${prefix}--tile-content\"><slot></slot></div>\n </label>\n `;\n }\n\n /**\n * The name of the custom event fired after this selectable tile changes its selected state.\n */\n static get eventChange() {\n return `${prefix}-selectable-tile-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSSelectableTile;\n"],"mappings":"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"}
1
+ {"version":3,"file":"selectable-tile.js","names":["classMap","LitElement","html","svg","property","query","ifDefined","Checkbox16","CheckboxCheckedFilled16","prefix","FocusMixin","HostListenerMixin","TILE_COLOR_SCHEME","styles","HostListener","carbonElement","customElement","CDSSelectableTile","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","key","value","_handleSlotChange","target","hasContent","assignedNodes","filter","elem","_this$constructor","matches","undefined","slugItem","length","_hasSlug","Boolean","setAttribute","requestUpdate","_handleChange","selected","_inputNode","checked","eventChange","dispatchEvent","CustomEvent","bubbles","composed","detail","_renderIcon","checkmarkLabel","_t","_","children","_t2","_t3","event","_event$target","attribute","reflect","REGULAR","type","updated","removeAttribute","render","colorScheme","hasRoundedCorners","name","_inputType","inputType","handleChange","hasSlug","classes","_t4","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/tile/selectable-tile.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 { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html, svg } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport Checkbox16 from '@carbon/icons/lib/checkbox/16';\nimport CheckboxCheckedFilled16 from '@carbon/icons/lib/checkbox--checked--filled/16';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Multi-selectable tile.\n *\n * @element cds-selectable-tile\n * @fires cds-selectable-tile-changed - The custom event fired after this selectable tile changes its selected state.\n */\n@customElement(`${prefix}-selectable-tile`)\nclass CDSSelectableTile extends HostListenerMixin(FocusMixin(LitElement)) {\n @query('input')\n protected _inputNode!: HTMLInputElement;\n\n /**\n * The `type` attribute of the `<input>`.\n */\n protected _inputType = 'checkbox';\n\n /**\n * `true` if there is a slug.\n */\n protected _hasSlug = false;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSSelectableTile)?.slugItem\n )\n : false\n );\n if (hasContent.length > 0) {\n this._hasSlug = Boolean(hasContent);\n (hasContent[0] as HTMLElement).setAttribute('size', 'xs');\n }\n this.requestUpdate();\n }\n\n /**\n * Handles `change` event on the `<input>` in the shadow DOM.\n */\n protected _handleChange() {\n this.selected = this._inputNode.checked;\n\n const selected = this.selected;\n const { eventChange } = this.constructor as typeof CDSSelectableTile;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n selected,\n },\n })\n );\n }\n\n /**\n * Handles the rendering of the icon.\n */\n protected _renderIcon() {\n const { selected, checkmarkLabel } = this;\n\n return html` ${selected\n ? CheckboxCheckedFilled16({\n children: !checkmarkLabel\n ? undefined\n : svg`<title>${checkmarkLabel}</title>`,\n })\n : Checkbox16({\n children: !checkmarkLabel\n ? undefined\n : svg`<title>${checkmarkLabel}</title>`,\n })}`;\n }\n\n /**\n * Listener function for keyboard interaction.\n *\n * @param event to get the key pressed\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = (event: KeyboardEvent) => {\n const { key } = event;\n\n if (\n key === ' ' ||\n (key === 'Enter' &&\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSSelectableTile).slugItem\n ))\n ) {\n this.selected = !this.selected;\n }\n };\n\n /**\n * The a11y text for the checkmark icon of the selected state.\n */\n @property({ attribute: 'checkmark-label' })\n checkmarkLabel!: string;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * Specify if the `SeletableTile` component should be rendered with rounded corners.\n * Only valid when `slug` prop is present\n */\n @property({ type: Boolean, attribute: 'has-rounded-corners' })\n hasRoundedCorners = false;\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * `true` to show the selected state.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The form value.\n */\n @property()\n value!: string;\n\n updated() {\n if (this._hasSlug) {\n this.setAttribute('slug', '');\n } else {\n this.removeAttribute('slug');\n }\n }\n\n render() {\n const {\n colorScheme,\n hasRoundedCorners: hasRoundedCorners,\n name,\n selected,\n value,\n _inputType: inputType,\n _handleChange: handleChange,\n _hasSlug: hasSlug,\n } = this;\n const classes = classMap({\n [`${prefix}--tile`]: true,\n [`${prefix}--tile--selectable`]: true,\n [`${prefix}--tile--is-selected`]: selected,\n [`${prefix}--tile--${colorScheme}`]: colorScheme,\n [`${prefix}--tile--slug-rounded`]: hasSlug && hasRoundedCorners,\n });\n return html`\n <input\n type=\"${inputType}\"\n id=\"input\"\n class=\"${prefix}--tile-input\"\n tabindex=\"-1\"\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n .checked=${selected}\n @change=${handleChange} />\n <label for=\"input\" class=\"${classes}\" tabindex=\"0\">\n <div\n class=\"${prefix}--tile__checkmark ${prefix}--tile__checkmark--persistent\">\n ${this._renderIcon()}\n </div>\n <div class=\"${prefix}--tile-content\"><slot></slot></div>\n </label>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n `;\n }\n\n /**\n * A selector that will return the slug item.\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * The name of the custom event fired after this selectable tile changes its selected state.\n */\n static get eventChange() {\n return `${prefix}-selectable-tile-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSSelectableTile;\n"],"mappings":"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"}