@carbon/web-components 2.47.0 → 2.48.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 (431) hide show
  1. package/custom-elements.json +963 -145
  2. package/es/components/accordion/accordion-item.d.ts +28 -12
  3. package/es/components/accordion/accordion-item.js +7 -5
  4. package/es/components/accordion/accordion-item.js.map +1 -1
  5. package/es/components/accordion/accordion-skeleton.d.ts +1 -1
  6. package/es/components/accordion/accordion-skeleton.js +7 -5
  7. package/es/components/accordion/accordion-skeleton.js.map +1 -1
  8. package/es/components/accordion/accordion.d.ts +1 -1
  9. package/es/components/accordion/accordion.js +7 -5
  10. package/es/components/accordion/accordion.js.map +1 -1
  11. package/es/components/ai-label/ai-label.d.ts +1 -1
  12. package/es/components/ai-label/ai-label.js +6 -5
  13. package/es/components/ai-label/ai-label.js.map +1 -1
  14. package/es/components/button/button.d.ts +56 -22
  15. package/es/components/checkbox/checkbox-group.d.ts +2 -0
  16. package/es/components/checkbox/checkbox.d.ts +57 -23
  17. package/es/components/checkbox/checkbox.js +7 -5
  18. package/es/components/checkbox/checkbox.js.map +1 -1
  19. package/es/components/code-snippet/code-snippet.d.ts +29 -11
  20. package/es/components/code-snippet/code-snippet.js +15 -14
  21. package/es/components/code-snippet/code-snippet.js.map +1 -1
  22. package/es/components/combo-box/combo-box.scss.js +1 -1
  23. package/es/components/combo-button/combo-button.d.ts +27 -11
  24. package/es/components/content-switcher/content-switcher-item.d.ts +29 -11
  25. package/es/components/copy-button/copy-button.d.ts +27 -11
  26. package/es/components/data-table/table-expanded-row.d.ts +28 -12
  27. package/es/components/data-table/table-expanded-row.js +7 -5
  28. package/es/components/data-table/table-expanded-row.js.map +1 -1
  29. package/es/components/data-table/table-header-cell.d.ts +29 -11
  30. package/es/components/data-table/table-row.d.ts +54 -22
  31. package/es/components/data-table/table-toolbar-search.d.ts +29 -11
  32. package/es/components/data-table/table.d.ts +28 -12
  33. package/es/components/data-table/table.js +9 -8
  34. package/es/components/data-table/table.js.map +1 -1
  35. package/es/components/date-picker/date-picker-input.d.ts +29 -11
  36. package/es/components/date-picker/date-picker.d.ts +54 -22
  37. package/es/components/dropdown/dropdown.d.ts +110 -44
  38. package/es/components/dropdown/dropdown.js +8 -6
  39. package/es/components/dropdown/dropdown.js.map +1 -1
  40. package/es/components/file-uploader/file-uploader-button.d.ts +27 -11
  41. package/es/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  42. package/es/components/floating-menu/floating-menu.d.ts +56 -22
  43. package/es/components/fluid-select/fluid-select.d.ts +5 -0
  44. package/es/components/fluid-select/fluid-select.js +50 -1
  45. package/es/components/fluid-select/fluid-select.js.map +1 -1
  46. package/es/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
  47. package/es/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
  48. package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  49. package/es/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
  50. package/es/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
  51. package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
  52. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
  53. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
  54. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
  55. package/es/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
  56. package/es/components/fluid-time-picker/fluid-time-picker.js +239 -0
  57. package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
  58. package/es/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
  59. package/es/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
  60. package/es/components/fluid-time-picker/index.d.ts +9 -0
  61. package/es/components/fluid-time-picker/index.js +11 -0
  62. package/es/components/fluid-time-picker/index.js.map +1 -0
  63. package/es/components/grid/column.d.ts +3 -1
  64. package/es/components/grid/column.js +6 -0
  65. package/es/components/grid/column.js.map +1 -1
  66. package/es/components/icon-button/icon-button.d.ts +1 -1
  67. package/es/components/icon-button/icon-button.js +6 -5
  68. package/es/components/icon-button/icon-button.js.map +1 -1
  69. package/es/components/link/link.d.ts +29 -11
  70. package/es/components/menu/menu-item-selectable.d.ts +5 -3
  71. package/es/components/menu/menu-item-selectable.js +3 -3
  72. package/es/components/menu/menu-item-selectable.js.map +1 -1
  73. package/es/components/menu/menu-item.d.ts +68 -23
  74. package/es/components/menu/menu-item.js +37 -2
  75. package/es/components/menu/menu-item.js.map +1 -1
  76. package/es/components/menu/menu.d.ts +27 -11
  77. package/es/components/menu-button/menu-button.d.ts +27 -11
  78. package/es/components/modal/modal-close-button.d.ts +29 -11
  79. package/es/components/modal/modal.d.ts +27 -11
  80. package/es/components/modal/modal.js +6 -4
  81. package/es/components/modal/modal.js.map +1 -1
  82. package/es/components/multi-select/multi-select.js +12 -8
  83. package/es/components/multi-select/multi-select.js.map +1 -1
  84. package/es/components/notification/actionable-notification.d.ts +27 -11
  85. package/es/components/notification/actionable-notification.scss.js +1 -1
  86. package/es/components/notification/inline-notification.d.ts +27 -11
  87. package/es/components/notification/inline-notification.scss.js +1 -1
  88. package/es/components/notification/toast-notification.scss.js +1 -1
  89. package/es/components/number-input/number-input.d.ts +2 -0
  90. package/es/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  91. package/es/components/overflow-menu/overflow-menu.d.ts +54 -22
  92. package/es/components/pagination/pagination.d.ts +56 -22
  93. package/es/components/pagination-nav/defs.d.ts +61 -0
  94. package/es/components/pagination-nav/defs.js +74 -0
  95. package/es/components/pagination-nav/defs.js.map +1 -0
  96. package/es/components/pagination-nav/index.d.ts +7 -0
  97. package/es/components/pagination-nav/index.js +9 -0
  98. package/es/components/pagination-nav/index.js.map +1 -0
  99. package/es/components/pagination-nav/pagination-nav.d.ts +109 -0
  100. package/es/components/pagination-nav/pagination-nav.js +427 -0
  101. package/es/components/pagination-nav/pagination-nav.js.map +1 -0
  102. package/es/components/pagination-nav/pagination-nav.scss.js +13 -0
  103. package/es/components/pagination-nav/pagination-nav.scss.js.map +1 -0
  104. package/es/components/password-input/password-input.d.ts +2 -0
  105. package/es/components/popover/popover.d.ts +27 -11
  106. package/es/components/popover/popover.js +1 -1
  107. package/es/components/popover/popover.js.map +1 -1
  108. package/es/components/progress-indicator/progress-step.d.ts +29 -11
  109. package/es/components/radio-button/radio-button-group.d.ts +54 -22
  110. package/es/components/radio-button/radio-button.d.ts +57 -23
  111. package/es/components/radio-button/radio-button.js +7 -5
  112. package/es/components/radio-button/radio-button.js.map +1 -1
  113. package/es/components/search/search.d.ts +83 -33
  114. package/es/components/select/select.d.ts +29 -11
  115. package/es/components/side-panel/side-panel.d.ts +27 -11
  116. package/es/components/skip-to-content/skip-to-content.d.ts +29 -11
  117. package/es/components/slider/slider-input.d.ts +29 -11
  118. package/es/components/slider/slider.d.ts +84 -34
  119. package/es/components/slider/slider.js +9 -7
  120. package/es/components/slider/slider.js.map +1 -1
  121. package/es/components/slug/slug.d.ts +1 -1
  122. package/es/components/slug/slug.js +6 -4
  123. package/es/components/slug/slug.js.map +1 -1
  124. package/es/components/structured-list/structured-list-row.d.ts +27 -11
  125. package/es/components/structured-list/structured-list.d.ts +30 -12
  126. package/es/components/structured-list/structured-list.js +7 -5
  127. package/es/components/structured-list/structured-list.js.map +1 -1
  128. package/es/components/tabs/tabs.d.ts +27 -11
  129. package/es/components/tag/dismissible-tag.d.ts +54 -22
  130. package/es/components/tag/operational-tag.d.ts +54 -22
  131. package/es/components/tag/selectable-tag.d.ts +54 -22
  132. package/es/components/tag/tag.d.ts +54 -22
  133. package/es/components/tearsheet/tearsheet.d.ts +27 -11
  134. package/es/components/text-input/text-input.d.ts +56 -22
  135. package/es/components/textarea/textarea.d.ts +2 -0
  136. package/es/components/tile/expandable-tile.d.ts +54 -22
  137. package/es/components/tile/selectable-tile.d.ts +56 -22
  138. package/es/components/tile/tile-group.d.ts +27 -11
  139. package/es/components/time-picker/time-picker-select.d.ts +29 -11
  140. package/es/components/time-picker/time-picker.d.ts +56 -22
  141. package/es/components/toggle/toggle.d.ts +27 -11
  142. package/es/components/toggle-tip/toggletip.d.ts +57 -23
  143. package/es/components/toggle-tip/toggletip.js +7 -5
  144. package/es/components/toggle-tip/toggletip.js.map +1 -1
  145. package/es/components/tooltip/tooltip.d.ts +28 -12
  146. package/es/components/tooltip/tooltip.js +7 -5
  147. package/es/components/tooltip/tooltip.js.map +1 -1
  148. package/es/components/tree-view/tree-view.d.ts +28 -12
  149. package/es/components/tree-view/tree-view.js +7 -5
  150. package/es/components/tree-view/tree-view.js.map +1 -1
  151. package/es/components/ui-shell/header-global-action.d.ts +2 -0
  152. package/es/components/ui-shell/header-menu-button.d.ts +29 -11
  153. package/es/components/ui-shell/header-menu.d.ts +56 -22
  154. package/es/components/ui-shell/header-name.d.ts +29 -11
  155. package/es/components/ui-shell/header-nav-item.d.ts +29 -11
  156. package/es/components/ui-shell/header-panel.d.ts +2 -0
  157. package/es/components/ui-shell/side-nav-link.d.ts +29 -11
  158. package/es/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  159. package/es/components/ui-shell/side-nav-menu.d.ts +29 -11
  160. package/es/components/ui-shell/side-nav.d.ts +27 -11
  161. package/es/components/ui-shell/switcher-item.d.ts +29 -11
  162. package/es/components/ui-shell/switcher.d.ts +2 -0
  163. package/es/globals/mixins/focus.d.ts +27 -11
  164. package/es/globals/mixins/form.d.ts +27 -11
  165. package/es/globals/mixins/host-listener.d.ts +27 -11
  166. package/es/globals/mixins/validity.d.ts +27 -11
  167. package/es-custom/components/accordion/accordion-item.d.ts +28 -12
  168. package/es-custom/components/accordion/accordion-item.js +7 -5
  169. package/es-custom/components/accordion/accordion-item.js.map +1 -1
  170. package/es-custom/components/accordion/accordion-skeleton.d.ts +1 -1
  171. package/es-custom/components/accordion/accordion-skeleton.js +7 -5
  172. package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
  173. package/es-custom/components/accordion/accordion.d.ts +1 -1
  174. package/es-custom/components/accordion/accordion.js +7 -5
  175. package/es-custom/components/accordion/accordion.js.map +1 -1
  176. package/es-custom/components/ai-label/ai-label.d.ts +1 -1
  177. package/es-custom/components/ai-label/ai-label.js +6 -5
  178. package/es-custom/components/ai-label/ai-label.js.map +1 -1
  179. package/es-custom/components/button/button.d.ts +56 -22
  180. package/es-custom/components/checkbox/checkbox-group.d.ts +2 -0
  181. package/es-custom/components/checkbox/checkbox.d.ts +57 -23
  182. package/es-custom/components/checkbox/checkbox.js +7 -5
  183. package/es-custom/components/checkbox/checkbox.js.map +1 -1
  184. package/es-custom/components/code-snippet/code-snippet.d.ts +29 -11
  185. package/es-custom/components/code-snippet/code-snippet.js +15 -14
  186. package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
  187. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  188. package/es-custom/components/combo-button/combo-button.d.ts +27 -11
  189. package/es-custom/components/content-switcher/content-switcher-item.d.ts +29 -11
  190. package/es-custom/components/copy-button/copy-button.d.ts +27 -11
  191. package/es-custom/components/data-table/table-expanded-row.d.ts +28 -12
  192. package/es-custom/components/data-table/table-expanded-row.js +7 -5
  193. package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
  194. package/es-custom/components/data-table/table-header-cell.d.ts +29 -11
  195. package/es-custom/components/data-table/table-row.d.ts +54 -22
  196. package/es-custom/components/data-table/table-toolbar-search.d.ts +29 -11
  197. package/es-custom/components/data-table/table.d.ts +28 -12
  198. package/es-custom/components/data-table/table.js +9 -8
  199. package/es-custom/components/data-table/table.js.map +1 -1
  200. package/es-custom/components/date-picker/date-picker-input.d.ts +29 -11
  201. package/es-custom/components/date-picker/date-picker.d.ts +54 -22
  202. package/es-custom/components/dropdown/dropdown.d.ts +110 -44
  203. package/es-custom/components/dropdown/dropdown.js +8 -6
  204. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  205. package/es-custom/components/file-uploader/file-uploader-button.d.ts +27 -11
  206. package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  207. package/es-custom/components/floating-menu/floating-menu.d.ts +56 -22
  208. package/es-custom/components/fluid-select/fluid-select.d.ts +5 -0
  209. package/es-custom/components/fluid-select/fluid-select.js +50 -1
  210. package/es-custom/components/fluid-select/fluid-select.js.map +1 -1
  211. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
  212. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
  213. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  214. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
  215. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
  216. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
  217. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
  218. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
  219. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
  220. package/es-custom/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
  221. package/es-custom/components/fluid-time-picker/fluid-time-picker.js +239 -0
  222. package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
  223. package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
  224. package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
  225. package/es-custom/components/fluid-time-picker/index.d.ts +9 -0
  226. package/es-custom/components/fluid-time-picker/index.js +11 -0
  227. package/es-custom/components/fluid-time-picker/index.js.map +1 -0
  228. package/es-custom/components/grid/column.d.ts +3 -1
  229. package/es-custom/components/grid/column.js +6 -0
  230. package/es-custom/components/grid/column.js.map +1 -1
  231. package/es-custom/components/icon-button/icon-button.d.ts +1 -1
  232. package/es-custom/components/icon-button/icon-button.js +6 -5
  233. package/es-custom/components/icon-button/icon-button.js.map +1 -1
  234. package/es-custom/components/link/link.d.ts +29 -11
  235. package/es-custom/components/menu/menu-item-selectable.d.ts +5 -3
  236. package/es-custom/components/menu/menu-item-selectable.js +3 -3
  237. package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
  238. package/es-custom/components/menu/menu-item.d.ts +68 -23
  239. package/es-custom/components/menu/menu-item.js +37 -2
  240. package/es-custom/components/menu/menu-item.js.map +1 -1
  241. package/es-custom/components/menu/menu.d.ts +27 -11
  242. package/es-custom/components/menu-button/menu-button.d.ts +27 -11
  243. package/es-custom/components/modal/modal-close-button.d.ts +29 -11
  244. package/es-custom/components/modal/modal.d.ts +27 -11
  245. package/es-custom/components/modal/modal.js +6 -4
  246. package/es-custom/components/modal/modal.js.map +1 -1
  247. package/es-custom/components/multi-select/multi-select.js +12 -8
  248. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  249. package/es-custom/components/notification/actionable-notification.d.ts +27 -11
  250. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  251. package/es-custom/components/notification/inline-notification.d.ts +27 -11
  252. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  253. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  254. package/es-custom/components/number-input/number-input.d.ts +2 -0
  255. package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  256. package/es-custom/components/overflow-menu/overflow-menu.d.ts +54 -22
  257. package/es-custom/components/pagination/pagination.d.ts +56 -22
  258. package/es-custom/components/pagination-nav/defs.d.ts +61 -0
  259. package/es-custom/components/pagination-nav/defs.js +74 -0
  260. package/es-custom/components/pagination-nav/defs.js.map +1 -0
  261. package/es-custom/components/pagination-nav/index.d.ts +7 -0
  262. package/es-custom/components/pagination-nav/index.js +9 -0
  263. package/es-custom/components/pagination-nav/index.js.map +1 -0
  264. package/es-custom/components/pagination-nav/pagination-nav.d.ts +109 -0
  265. package/es-custom/components/pagination-nav/pagination-nav.js +427 -0
  266. package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -0
  267. package/es-custom/components/pagination-nav/pagination-nav.scss.js +13 -0
  268. package/es-custom/components/pagination-nav/pagination-nav.scss.js.map +1 -0
  269. package/es-custom/components/password-input/password-input.d.ts +2 -0
  270. package/es-custom/components/popover/popover.d.ts +27 -11
  271. package/es-custom/components/popover/popover.js +1 -1
  272. package/es-custom/components/popover/popover.js.map +1 -1
  273. package/es-custom/components/progress-indicator/progress-step.d.ts +29 -11
  274. package/es-custom/components/radio-button/radio-button-group.d.ts +54 -22
  275. package/es-custom/components/radio-button/radio-button.d.ts +57 -23
  276. package/es-custom/components/radio-button/radio-button.js +7 -5
  277. package/es-custom/components/radio-button/radio-button.js.map +1 -1
  278. package/es-custom/components/search/search.d.ts +83 -33
  279. package/es-custom/components/select/select.d.ts +29 -11
  280. package/es-custom/components/side-panel/side-panel.d.ts +27 -11
  281. package/es-custom/components/skip-to-content/skip-to-content.d.ts +29 -11
  282. package/es-custom/components/slider/slider-input.d.ts +29 -11
  283. package/es-custom/components/slider/slider.d.ts +84 -34
  284. package/es-custom/components/slider/slider.js +9 -7
  285. package/es-custom/components/slider/slider.js.map +1 -1
  286. package/es-custom/components/slug/slug.d.ts +1 -1
  287. package/es-custom/components/slug/slug.js +6 -4
  288. package/es-custom/components/slug/slug.js.map +1 -1
  289. package/es-custom/components/structured-list/structured-list-row.d.ts +27 -11
  290. package/es-custom/components/structured-list/structured-list.d.ts +30 -12
  291. package/es-custom/components/structured-list/structured-list.js +7 -5
  292. package/es-custom/components/structured-list/structured-list.js.map +1 -1
  293. package/es-custom/components/tabs/tabs.d.ts +27 -11
  294. package/es-custom/components/tag/dismissible-tag.d.ts +54 -22
  295. package/es-custom/components/tag/operational-tag.d.ts +54 -22
  296. package/es-custom/components/tag/selectable-tag.d.ts +54 -22
  297. package/es-custom/components/tag/tag.d.ts +54 -22
  298. package/es-custom/components/tearsheet/tearsheet.d.ts +27 -11
  299. package/es-custom/components/text-input/text-input.d.ts +56 -22
  300. package/es-custom/components/textarea/textarea.d.ts +2 -0
  301. package/es-custom/components/tile/expandable-tile.d.ts +54 -22
  302. package/es-custom/components/tile/selectable-tile.d.ts +56 -22
  303. package/es-custom/components/tile/tile-group.d.ts +27 -11
  304. package/es-custom/components/time-picker/time-picker-select.d.ts +29 -11
  305. package/es-custom/components/time-picker/time-picker.d.ts +56 -22
  306. package/es-custom/components/toggle/toggle.d.ts +27 -11
  307. package/es-custom/components/toggle-tip/toggletip.d.ts +57 -23
  308. package/es-custom/components/toggle-tip/toggletip.js +7 -5
  309. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  310. package/es-custom/components/tooltip/tooltip.d.ts +28 -12
  311. package/es-custom/components/tooltip/tooltip.js +7 -5
  312. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  313. package/es-custom/components/tree-view/tree-view.d.ts +28 -12
  314. package/es-custom/components/tree-view/tree-view.js +7 -5
  315. package/es-custom/components/tree-view/tree-view.js.map +1 -1
  316. package/es-custom/components/ui-shell/header-global-action.d.ts +2 -0
  317. package/es-custom/components/ui-shell/header-menu-button.d.ts +29 -11
  318. package/es-custom/components/ui-shell/header-menu.d.ts +56 -22
  319. package/es-custom/components/ui-shell/header-name.d.ts +29 -11
  320. package/es-custom/components/ui-shell/header-nav-item.d.ts +29 -11
  321. package/es-custom/components/ui-shell/header-panel.d.ts +2 -0
  322. package/es-custom/components/ui-shell/side-nav-link.d.ts +29 -11
  323. package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  324. package/es-custom/components/ui-shell/side-nav-menu.d.ts +29 -11
  325. package/es-custom/components/ui-shell/side-nav.d.ts +27 -11
  326. package/es-custom/components/ui-shell/switcher-item.d.ts +29 -11
  327. package/es-custom/components/ui-shell/switcher.d.ts +2 -0
  328. package/es-custom/globals/mixins/focus.d.ts +27 -11
  329. package/es-custom/globals/mixins/form.d.ts +27 -11
  330. package/es-custom/globals/mixins/host-listener.d.ts +27 -11
  331. package/es-custom/globals/mixins/validity.d.ts +27 -11
  332. package/lib/components/accordion/accordion-item.d.ts +28 -12
  333. package/lib/components/accordion/accordion-skeleton.d.ts +1 -1
  334. package/lib/components/accordion/accordion.d.ts +1 -1
  335. package/lib/components/ai-label/ai-label.d.ts +1 -1
  336. package/lib/components/button/button.d.ts +56 -22
  337. package/lib/components/checkbox/checkbox-group.d.ts +2 -0
  338. package/lib/components/checkbox/checkbox.d.ts +57 -23
  339. package/lib/components/code-snippet/code-snippet.d.ts +29 -11
  340. package/lib/components/combo-button/combo-button.d.ts +27 -11
  341. package/lib/components/content-switcher/content-switcher-item.d.ts +29 -11
  342. package/lib/components/copy-button/copy-button.d.ts +27 -11
  343. package/lib/components/data-table/table-expanded-row.d.ts +28 -12
  344. package/lib/components/data-table/table-header-cell.d.ts +29 -11
  345. package/lib/components/data-table/table-row.d.ts +54 -22
  346. package/lib/components/data-table/table-toolbar-search.d.ts +29 -11
  347. package/lib/components/data-table/table.d.ts +28 -12
  348. package/lib/components/date-picker/date-picker-input.d.ts +29 -11
  349. package/lib/components/date-picker/date-picker.d.ts +54 -22
  350. package/lib/components/dropdown/dropdown.d.ts +110 -44
  351. package/lib/components/file-uploader/file-uploader-button.d.ts +27 -11
  352. package/lib/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  353. package/lib/components/floating-menu/floating-menu.d.ts +56 -22
  354. package/lib/components/fluid-select/fluid-select.d.ts +5 -0
  355. package/lib/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
  356. package/lib/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
  357. package/lib/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
  358. package/lib/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
  359. package/lib/components/fluid-time-picker/index.d.ts +9 -0
  360. package/lib/components/grid/column.d.ts +3 -1
  361. package/lib/components/icon-button/icon-button.d.ts +1 -1
  362. package/lib/components/link/link.d.ts +29 -11
  363. package/lib/components/menu/menu-item-selectable.d.ts +5 -3
  364. package/lib/components/menu/menu-item.d.ts +68 -23
  365. package/lib/components/menu/menu.d.ts +27 -11
  366. package/lib/components/menu-button/menu-button.d.ts +27 -11
  367. package/lib/components/modal/modal-close-button.d.ts +29 -11
  368. package/lib/components/modal/modal.d.ts +27 -11
  369. package/lib/components/notification/actionable-notification.d.ts +27 -11
  370. package/lib/components/notification/inline-notification.d.ts +27 -11
  371. package/lib/components/number-input/number-input.d.ts +2 -0
  372. package/lib/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  373. package/lib/components/overflow-menu/overflow-menu.d.ts +54 -22
  374. package/lib/components/pagination/pagination.d.ts +56 -22
  375. package/lib/components/pagination-nav/defs.d.ts +61 -0
  376. package/lib/components/pagination-nav/defs.js +74 -0
  377. package/lib/components/pagination-nav/defs.js.map +1 -0
  378. package/lib/components/pagination-nav/index.d.ts +7 -0
  379. package/lib/components/pagination-nav/pagination-nav.d.ts +109 -0
  380. package/lib/components/password-input/password-input.d.ts +2 -0
  381. package/lib/components/popover/popover.d.ts +27 -11
  382. package/lib/components/progress-indicator/progress-step.d.ts +29 -11
  383. package/lib/components/radio-button/radio-button-group.d.ts +54 -22
  384. package/lib/components/radio-button/radio-button.d.ts +57 -23
  385. package/lib/components/search/search.d.ts +83 -33
  386. package/lib/components/select/select.d.ts +29 -11
  387. package/lib/components/side-panel/side-panel.d.ts +27 -11
  388. package/lib/components/skip-to-content/skip-to-content.d.ts +29 -11
  389. package/lib/components/slider/slider-input.d.ts +29 -11
  390. package/lib/components/slider/slider.d.ts +84 -34
  391. package/lib/components/slug/slug.d.ts +1 -1
  392. package/lib/components/structured-list/structured-list-row.d.ts +27 -11
  393. package/lib/components/structured-list/structured-list.d.ts +30 -12
  394. package/lib/components/tabs/tabs.d.ts +27 -11
  395. package/lib/components/tag/dismissible-tag.d.ts +54 -22
  396. package/lib/components/tag/operational-tag.d.ts +54 -22
  397. package/lib/components/tag/selectable-tag.d.ts +54 -22
  398. package/lib/components/tag/tag.d.ts +54 -22
  399. package/lib/components/tearsheet/tearsheet.d.ts +27 -11
  400. package/lib/components/text-input/text-input.d.ts +56 -22
  401. package/lib/components/textarea/textarea.d.ts +2 -0
  402. package/lib/components/tile/expandable-tile.d.ts +54 -22
  403. package/lib/components/tile/selectable-tile.d.ts +56 -22
  404. package/lib/components/tile/tile-group.d.ts +27 -11
  405. package/lib/components/time-picker/time-picker-select.d.ts +29 -11
  406. package/lib/components/time-picker/time-picker.d.ts +56 -22
  407. package/lib/components/toggle/toggle.d.ts +27 -11
  408. package/lib/components/toggle-tip/toggletip.d.ts +57 -23
  409. package/lib/components/tooltip/tooltip.d.ts +28 -12
  410. package/lib/components/tree-view/tree-view.d.ts +28 -12
  411. package/lib/components/ui-shell/header-global-action.d.ts +2 -0
  412. package/lib/components/ui-shell/header-menu-button.d.ts +29 -11
  413. package/lib/components/ui-shell/header-menu.d.ts +56 -22
  414. package/lib/components/ui-shell/header-name.d.ts +29 -11
  415. package/lib/components/ui-shell/header-nav-item.d.ts +29 -11
  416. package/lib/components/ui-shell/header-panel.d.ts +2 -0
  417. package/lib/components/ui-shell/side-nav-link.d.ts +29 -11
  418. package/lib/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  419. package/lib/components/ui-shell/side-nav-menu.d.ts +29 -11
  420. package/lib/components/ui-shell/side-nav.d.ts +27 -11
  421. package/lib/components/ui-shell/switcher-item.d.ts +29 -11
  422. package/lib/components/ui-shell/switcher.d.ts +2 -0
  423. package/lib/globals/mixins/focus.d.ts +27 -11
  424. package/lib/globals/mixins/form.d.ts +27 -11
  425. package/lib/globals/mixins/host-listener.d.ts +27 -11
  426. package/lib/globals/mixins/validity.d.ts +27 -11
  427. package/package.json +7 -7
  428. package/scss/components/combo-box/combo-box.scss +1 -1
  429. package/scss/components/fluid-time-picker/fluid-time-picker.scss +198 -0
  430. package/scss/components/pagination-nav/pagination-nav.scss +29 -0
  431. package/telemetry.yml +16 -8
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../src/components/checkbox/checkbox.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\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 { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport styles from './checkbox.scss?lit';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Check box.\n *\n * @element cds-checkbox\n * @fires cds-checkbox-changed - The custom event fired after this changebox changes its checked state.\n * @csspart input The checkbox.\n * @csspart label The label.\n */\n@customElement(`${prefix}-checkbox`)\nclass CDSCheckbox extends FocusMixin(FormMixin(LitElement)) {\n @query('input')\n protected _checkboxNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on the `<input>` in the shadow DOM.\n */\n protected _handleChange() {\n const { checked, indeterminate } = this._checkboxNode;\n this.checked = checked;\n this.indeterminate = indeterminate;\n const { eventChange } = this.constructor as typeof CDSCheckbox;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n checked,\n indeterminate,\n },\n })\n );\n }\n\n /**\n * Prevent checkbox state from updating when readonly\n */\n private _handleClick(event: MouseEvent) {\n if (this.readonly) {\n event.preventDefault();\n }\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\n const { checked, disabled, name, value = 'on' } = this;\n if (!disabled && checked) {\n formData.append(name, value);\n }\n }\n\n /**\n * Specify whether the underlying input should be checked\n */\n @property({ type: Boolean, reflect: true, attribute: 'checked' })\n checked = false;\n\n /**\n * Specify if checkbox is being used in a data table\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the Checkbox should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Provide text for the form group for additional help\n */\n @property({ type: String, reflect: true, attribute: 'helper-text' })\n helperText;\n\n /**\n * Specify whether the checkbox should be present in the DOM,\n * but invisible and uninteractable. Used for data-table purposes.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-checkbox' })\n hideCheckbox = false;\n\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Specify a custom id for the checkbox\n */\n @property({ reflect: true })\n id = 'checkbox';\n\n /**\n * Specify whether the Checkbox is in an indeterminate state\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Provide a label to provide a description of the Checkbox input that you are\n * exposing to the user\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * Specify whether the Checkbox is read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Specify whether the Checkbox is currently invalid\n */\n @property({ type: Boolean })\n invalid = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in an invalid state\n */\n @property({ type: String, attribute: 'invalid-text' })\n invalidText;\n\n /**\n * Specify a title for the node for the Checkbox\n */\n @property({ attribute: 'title' })\n title = '';\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n /**\n * Specify whether the Checkbox is in a warn state\n */\n @property({ type: Boolean })\n warn = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in a warn state\n */\n @property({ type: String, attribute: 'warn-text' })\n warnText = false;\n\n /**\n * Specify whether the underlying input should be checked by default\n */\n @property({ type: Boolean, attribute: 'default-checked' })\n defaultChecked;\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 CDSCheckbox).aiLabelItem\n ) ||\n // remove slug reference in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckbox).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n const type = (hasContent[0] as HTMLElement).getAttribute('kind');\n (hasContent[0] as HTMLElement).setAttribute(\n 'size',\n type === 'inline' ? 'md' : 'mini'\n );\n this.requestUpdate();\n }\n\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n updated() {\n const { _hasAILabel: hasAILabel } = this;\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hasAILabel\n ? this.setAttribute('ai-label', '')\n : this.removeAttribute('ai-label');\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultChecked) {\n this.checked = this.defaultChecked;\n }\n }\n\n render() {\n const {\n checked,\n disabled,\n helperText,\n hideLabel,\n id,\n indeterminate,\n invalid,\n invalidText,\n labelText,\n name,\n readonly,\n title,\n value,\n warn,\n warnText,\n defaultChecked,\n _handleChange: handleChange,\n _handleClick: handleClick,\n } = this;\n\n const showWarning = !readonly && !invalid && warn;\n const showHelper = !invalid && !warn;\n\n const helper = helperText\n ? html` <div class=\"${prefix}--form__helper-text\">${helperText}</div>`\n : null;\n\n const labelClasses = classMap({\n [`${prefix}--checkbox-label`]: true,\n });\n const labelTextClasses = classMap({\n [`${prefix}--checkbox-label-text`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n return html`\n <input\n id=\"${ifDefined(id)}\"\n type=\"checkbox\"\n part=\"input\"\n class=\"${`${prefix}--checkbox`}\"\n aria-readonly=\"${String(Boolean(readonly))}\"\n .checked=\"${checked}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n ?defaultChecked=\"${defaultChecked}\"\n .indeterminate=\"${indeterminate}\"\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n @change=\"${handleChange}\"\n @click=\"${handleClick}\" />\n <label\n for=\"${ifDefined(id)}\"\n part=\"label\"\n class=\"${labelClasses}\"\n title=\"${ifDefined(title)}\">\n <span class=\"${labelTextClasses}\"\n >${labelText ? labelText : html`<slot></slot>`}</span\n >\n </label>\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"decorator\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <div class=\"${prefix}--checkbox__validation-msg\">\n ${!readonly && invalid\n ? html`\n ${iconLoader(WarningFilled16, {\n class: `${prefix}--checkbox__invalid-icon`,\n })}\n <div class=\"${prefix}--form-requirement\">${invalidText}</div>\n `\n : null}\n ${showWarning\n ? html`\n ${iconLoader(WarningAltFilled16, {\n class: `${prefix}--checkbox__invalid-icon ${prefix}--checkbox__invalid-icon--warning`,\n })}\n <div class=\"${prefix}--form-requirement\">${warnText}</div>\n `\n : null}\n </div>\n ${showHelper ? helper : null}\n `;\n }\n\n /**\n * The name of the custom event fired after this changebox changes its checked state.\n */\n static get eventChange() {\n return `${prefix}-checkbox-changed`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * Remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the ai-label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCheckbox;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../src/components/checkbox/checkbox.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport styles from './checkbox.scss?lit';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Check box.\n *\n * @element cds-checkbox\n * @fires cds-checkbox-changed - The custom event fired after this changebox changes its checked state.\n * @csspart input The checkbox.\n * @csspart label The label.\n */\n@customElement(`${prefix}-checkbox`)\nclass CDSCheckbox extends FocusMixin(FormMixin(LitElement)) {\n @query('input')\n protected _checkboxNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on the `<input>` in the shadow DOM.\n */\n protected _handleChange() {\n const { checked, indeterminate } = this._checkboxNode;\n this.checked = checked;\n this.indeterminate = indeterminate;\n const { eventChange } = this.constructor as typeof CDSCheckbox;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n checked,\n indeterminate,\n },\n })\n );\n }\n\n /**\n * Prevent checkbox state from updating when readonly\n */\n private _handleClick(event: MouseEvent) {\n if (this.readonly) {\n event.preventDefault();\n }\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\n const { checked, disabled, name, value = 'on' } = this;\n if (!disabled && checked) {\n formData.append(name, value);\n }\n }\n\n /**\n * Specify whether the underlying input should be checked\n */\n @property({ type: Boolean, reflect: true, attribute: 'checked' })\n checked = false;\n\n /**\n * Specify if checkbox is being used in a data table\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the Checkbox should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Provide text for the form group for additional help\n */\n @property({ type: String, reflect: true, attribute: 'helper-text' })\n helperText;\n\n /**\n * Specify whether the checkbox should be present in the DOM,\n * but invisible and uninteractable. Used for data-table purposes.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-checkbox' })\n hideCheckbox = false;\n\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Specify a custom id for the checkbox\n */\n @property({ reflect: true })\n id = 'checkbox';\n\n /**\n * Specify whether the Checkbox is in an indeterminate state\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Provide a label to provide a description of the Checkbox input that you are\n * exposing to the user\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * Specify whether the Checkbox is read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Specify whether the Checkbox is currently invalid\n */\n @property({ type: Boolean })\n invalid = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in an invalid state\n */\n @property({ type: String, attribute: 'invalid-text' })\n invalidText;\n\n /**\n * Specify a title for the node for the Checkbox\n */\n @property({ attribute: 'title' })\n title = '';\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n /**\n * Specify whether the Checkbox is in a warn state\n */\n @property({ type: Boolean })\n warn = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in a warn state\n */\n @property({ type: String, attribute: 'warn-text' })\n warnText = false;\n\n /**\n * Specify whether the underlying input should be checked by default\n */\n @property({ type: Boolean, attribute: 'default-checked' })\n defaultChecked;\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 CDSCheckbox).aiLabelItem\n ) ||\n // remove slug reference in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckbox).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n const type = (hasContent[0] as HTMLElement).getAttribute('kind');\n (hasContent[0] as HTMLElement).setAttribute(\n 'size',\n type === 'inline' ? 'md' : 'mini'\n );\n this.requestUpdate();\n }\n\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n updated() {\n const { _hasAILabel: hasAILabel } = this;\n if (hasAILabel) {\n this.setAttribute('ai-label', '');\n } else {\n this.removeAttribute('ai-label');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultChecked) {\n this.checked = this.defaultChecked;\n }\n }\n\n render() {\n const {\n checked,\n disabled,\n helperText,\n hideLabel,\n id,\n indeterminate,\n invalid,\n invalidText,\n labelText,\n name,\n readonly,\n title,\n value,\n warn,\n warnText,\n defaultChecked,\n _handleChange: handleChange,\n _handleClick: handleClick,\n } = this;\n\n const showWarning = !readonly && !invalid && warn;\n const showHelper = !invalid && !warn;\n\n const helper = helperText\n ? html` <div class=\"${prefix}--form__helper-text\">${helperText}</div>`\n : null;\n\n const labelClasses = classMap({\n [`${prefix}--checkbox-label`]: true,\n });\n const labelTextClasses = classMap({\n [`${prefix}--checkbox-label-text`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n return html`\n <input\n id=\"${ifDefined(id)}\"\n type=\"checkbox\"\n part=\"input\"\n class=\"${`${prefix}--checkbox`}\"\n aria-readonly=\"${String(Boolean(readonly))}\"\n .checked=\"${checked}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n ?defaultChecked=\"${defaultChecked}\"\n .indeterminate=\"${indeterminate}\"\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n @change=\"${handleChange}\"\n @click=\"${handleClick}\" />\n <label\n for=\"${ifDefined(id)}\"\n part=\"label\"\n class=\"${labelClasses}\"\n title=\"${ifDefined(title)}\">\n <span class=\"${labelTextClasses}\"\n >${labelText ? labelText : html`<slot></slot>`}</span\n >\n </label>\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"decorator\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <div class=\"${prefix}--checkbox__validation-msg\">\n ${!readonly && invalid\n ? html`\n ${iconLoader(WarningFilled16, {\n class: `${prefix}--checkbox__invalid-icon`,\n })}\n <div class=\"${prefix}--form-requirement\">${invalidText}</div>\n `\n : null}\n ${showWarning\n ? html`\n ${iconLoader(WarningAltFilled16, {\n class: `${prefix}--checkbox__invalid-icon ${prefix}--checkbox__invalid-icon--warning`,\n })}\n <div class=\"${prefix}--form-requirement\">${warnText}</div>\n `\n : null}\n </div>\n ${showHelper ? helper : null}\n `;\n }\n\n /**\n * The name of the custom event fired after this changebox changes its checked state.\n */\n static get eventChange() {\n return `${prefix}-checkbox-changed`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * Remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the ai-label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCheckbox;\n"],"names":["customElement"],"mappings":"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"}
@@ -10,6 +10,7 @@ declare const CDSCodeSnippet_base: {
10
10
  accessKey: string;
11
11
  readonly accessKeyLabel: string;
12
12
  autocapitalize: string;
13
+ autocorrect: boolean;
13
14
  dir: string;
14
15
  draggable: boolean;
15
16
  hidden: boolean;
@@ -31,13 +32,14 @@ declare const CDSCodeSnippet_base: {
31
32
  click(): void;
32
33
  hidePopover(): void;
33
34
  showPopover(): void;
34
- togglePopover(force?: boolean): boolean;
35
+ togglePopover(options?: boolean): boolean;
35
36
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
36
37
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
37
38
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
38
39
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
39
40
  readonly attributes: NamedNodeMap;
40
- readonly classList: DOMTokenList;
41
+ get classList(): DOMTokenList;
42
+ set classList(value: string);
41
43
  className: string;
42
44
  readonly clientHeight: number;
43
45
  readonly clientLeft: number;
@@ -52,7 +54,8 @@ declare const CDSCodeSnippet_base: {
52
54
  onfullscreenerror: ((this: Element, ev: Event) => any) | null;
53
55
  outerHTML: string;
54
56
  readonly ownerDocument: Document;
55
- readonly part: DOMTokenList;
57
+ get part(): DOMTokenList;
58
+ set part(value: string);
56
59
  readonly prefix: string | null;
57
60
  readonly scrollHeight: number;
58
61
  scrollLeft: number;
@@ -115,6 +118,8 @@ declare const CDSCodeSnippet_base: {
115
118
  setPointerCapture(pointerId: number): void;
116
119
  toggleAttribute(qualifiedName: string, force?: boolean): boolean;
117
120
  webkitMatchesSelector(selectors: string): boolean;
121
+ get textContent(): string;
122
+ set textContent(value: string | null);
118
123
  readonly baseURI: string;
119
124
  readonly childNodes: NodeListOf<ChildNode>;
120
125
  readonly firstChild: ChildNode | null;
@@ -127,9 +132,8 @@ declare const CDSCodeSnippet_base: {
127
132
  readonly parentElement: HTMLElement | null;
128
133
  readonly parentNode: ParentNode | null;
129
134
  readonly previousSibling: ChildNode | null;
130
- textContent: string | null;
131
135
  appendChild<T extends Node>(node: T): T;
132
- cloneNode(deep?: boolean): Node;
136
+ cloneNode(subtree?: boolean): Node;
133
137
  compareDocumentPosition(other: Node): number;
134
138
  contains(other: Node | null): boolean;
135
139
  getRootNode(options?: GetRootNodeOptions): Node;
@@ -162,6 +166,7 @@ declare const CDSCodeSnippet_base: {
162
166
  readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
163
167
  readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
164
168
  dispatchEvent(event: Event): boolean;
169
+ ariaActiveDescendantElement: Element | null;
165
170
  ariaAtomic: string | null;
166
171
  ariaAutoComplete: string | null;
167
172
  ariaBrailleLabel: string | null;
@@ -172,25 +177,33 @@ declare const CDSCodeSnippet_base: {
172
177
  ariaColIndex: string | null;
173
178
  ariaColIndexText: string | null;
174
179
  ariaColSpan: string | null;
180
+ ariaControlsElements: ReadonlyArray<Element> | null;
175
181
  ariaCurrent: string | null;
182
+ ariaDescribedByElements: ReadonlyArray<Element> | null;
176
183
  ariaDescription: string | null;
184
+ ariaDetailsElements: ReadonlyArray<Element> | null;
177
185
  ariaDisabled: string | null;
186
+ ariaErrorMessageElements: ReadonlyArray<Element> | null;
178
187
  ariaExpanded: string | null;
188
+ ariaFlowToElements: ReadonlyArray<Element> | null;
179
189
  ariaHasPopup: string | null;
180
190
  ariaHidden: string | null;
181
191
  ariaInvalid: string | null;
182
192
  ariaKeyShortcuts: string | null;
183
193
  ariaLabel: string | null;
194
+ ariaLabelledByElements: ReadonlyArray<Element> | null;
184
195
  ariaLevel: string | null;
185
196
  ariaLive: string | null;
186
197
  ariaModal: string | null;
187
198
  ariaMultiLine: string | null;
188
199
  ariaMultiSelectable: string | null;
189
200
  ariaOrientation: string | null;
201
+ ariaOwnsElements: ReadonlyArray<Element> | null;
190
202
  ariaPlaceholder: string | null;
191
203
  ariaPosInSet: string | null;
192
204
  ariaPressed: string | null;
193
205
  ariaReadOnly: string | null;
206
+ ariaRelevant: string | null;
194
207
  ariaRequired: string | null;
195
208
  ariaRoleDescription: string | null;
196
209
  ariaRowCount: string | null;
@@ -232,7 +245,8 @@ declare const CDSCodeSnippet_base: {
232
245
  replaceChildren(...nodes: (Node | string)[]): void;
233
246
  readonly assignedSlot: HTMLSlotElement | null;
234
247
  readonly attributeStyleMap: StylePropertyMap;
235
- readonly style: CSSStyleDeclaration;
248
+ get style(): CSSStyleDeclaration;
249
+ set style(cssText: string);
236
250
  contentEditable: string;
237
251
  enterKeyHint: string;
238
252
  inputMode: string;
@@ -242,18 +256,19 @@ declare const CDSCodeSnippet_base: {
242
256
  onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
243
257
  onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
244
258
  onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
245
- onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
259
+ onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
246
260
  onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
247
- onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
261
+ onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
262
+ onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
248
263
  onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
249
264
  oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
250
265
  oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
251
266
  oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
252
267
  onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
253
- onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
268
+ onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
254
269
  onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
255
270
  oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
256
- oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
271
+ oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
257
272
  oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
258
273
  oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
259
274
  oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -301,6 +316,7 @@ declare const CDSCodeSnippet_base: {
301
316
  onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
302
317
  onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
303
318
  onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
319
+ onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
304
320
  onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
305
321
  onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
306
322
  onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -319,7 +335,7 @@ declare const CDSCodeSnippet_base: {
319
335
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
320
336
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
321
337
  ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
322
- ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
338
+ ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
323
339
  ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
324
340
  ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
325
341
  ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
@@ -454,6 +470,8 @@ declare class CDSCodeSnippet extends CDSCodeSnippet_base {
454
470
  render(): import("lit-html").TemplateResult<1>;
455
471
  static shadowRootOptions: {
456
472
  delegatesFocus: boolean;
473
+ clonable?: boolean;
474
+ customElementRegistry?: CustomElementRegistry;
457
475
  mode: ShadowRootMode;
458
476
  serializable?: boolean;
459
477
  slotAssignment?: SlotAssignmentMode;
@@ -259,20 +259,21 @@ let CDSCodeSnippet = class CDSCodeSnippet extends FocusMixin(LitElement) {
259
259
  render() {
260
260
  const { disabled, feedback, feedbackTimeout, hideCopyButton, maxExpandedNumberOfRows, minExpandedNumberOfRows, maxCollapsedNumberOfRows, minCollapsedNumberOfRows, type, wrapText, tooltipContent, showMoreText, showLessText, _expandedCode: expandedCode, _handleCopyClick: handleCopyClick, _handleScroll: handleScroll, _hasRightOverflow: hasRightOverflow, _hasLeftOverflow: hasLeftOverflow, _rowHeightInPixels: rowHeightInPixels, _shouldShowMoreLessBtn: shouldShowMoreLessBtn, } = this;
261
261
  let classes = `${prefix}--snippet`;
262
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452
263
- type ? (classes += ` ${prefix}--snippet--${type}`) : '';
264
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452
265
- type !== 'inline' && disabled
266
- ? (classes += ` ${prefix}--snippet--disabled`)
267
- : '';
268
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452
269
- hideCopyButton ? (classes += ` ${prefix}--snippet--no-copy`) : '';
270
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452
271
- wrapText ? (classes += ` ${prefix}--snippet--wraptext`) : '';
272
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452
273
- type == 'multi' && hasRightOverflow
274
- ? (classes += ` ${prefix}--snippet--has-right-overflow`)
275
- : '';
262
+ if (type) {
263
+ classes += ` ${prefix}--snippet--${type}`;
264
+ }
265
+ if (type !== 'inline' && disabled) {
266
+ classes += ` ${prefix}--snippet--disabled`;
267
+ }
268
+ if (hideCopyButton) {
269
+ classes += ` ${prefix}--snippet--no-copy`;
270
+ }
271
+ if (wrapText) {
272
+ classes += ` ${prefix}--snippet--wraptext`;
273
+ }
274
+ if (type == 'multi' && hasRightOverflow) {
275
+ classes += ` ${prefix}--snippet--has-right-overflow`;
276
+ }
276
277
  const expandButtonClass = `${prefix}--snippet-btn--expand`;
277
278
  const disabledCopyButtonClasses = disabled
278
279
  ? `${prefix}--snippet--disabled`
@@ -1 +1 @@
1
- {"version":3,"file":"code-snippet.js","sources":["../../../src/components/code-snippet/code-snippet.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\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/** eslint-disable @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452 */\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE } from './defs';\nimport styles from './code-snippet.scss?lit';\nimport Handle from '../../globals/internal/handle';\nimport '../copy-button/index';\nimport '../copy/copy';\nimport '../button/button';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\nexport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE };\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n if (!elem) {\n return null;\n }\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * Basic code snippet.\n *\n * @element cds-code-snippet\n */\n@customElement(`${prefix}-code-snippet`)\nclass CDSCodeSnippet extends FocusMixin(LitElement) {\n /**\n * `true` to expand multi-line variant of code snippet.\n */\n private _expandedCode = false;\n\n /**\n * The handle for observing resize of the parent element of this element.\n */\n private _hObserveResize: Handle | null = null;\n\n /**\n * Row height in pixels\n */\n private _rowHeightInPixels = 16;\n\n /**\n * `true` if code-snippet has right overflow\n */\n private _hasRightOverflow = true;\n\n /**\n * `true` if code-snippet has left overflow\n */\n private _hasLeftOverflow = false;\n\n /**\n * `true` if show more or show less btn is visible\n */\n private _shouldShowMoreLessBtn = false;\n\n /**\n * Handles `click` event on the copy button.\n */\n private _handleCopyClick() {\n const { ownerDocument: doc } = this;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const selection = doc!.defaultView!.getSelection();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const code = doc!.createElement('code');\n code.className = `${prefix}--visually-hidden`;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const pre = doc!.createElement('pre');\n const text = Array.from(this.childNodes).filter(\n (node) => node.nodeType === Node.TEXT_NODE\n );\n pre.textContent = this.copyText || text[0].textContent;\n code.appendChild(pre);\n // Using `<code>` in shadow DOM seems to lose the LFs in some browsers\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.appendChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const range = doc!.createRange();\n range.selectNodeContents(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.addRange(range);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.execCommand('copy');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.removeChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n }\n\n private _getCodeRefDimensions(ref) {\n const {\n clientWidth: codeClientWidth,\n scrollLeft: codeScrollLeft,\n scrollWidth: codeScrollWidth,\n } = ref;\n\n return {\n horizontalOverflow: codeScrollWidth > codeClientWidth,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n };\n }\n /**\n * Handles `scroll` event.\n */\n private _handleScroll() {\n if (this) {\n const codeContainerRef = this?.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('pre');\n if (\n this.type === CODE_SNIPPET_TYPE.INLINE ||\n (this.type === CODE_SNIPPET_TYPE.SINGLE && !codeContainerRef) ||\n (this.type === CODE_SNIPPET_TYPE.MULTI && !codeContentRef)\n ) {\n return;\n }\n\n const {\n horizontalOverflow,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n } =\n this.type === CODE_SNIPPET_TYPE.SINGLE\n ? this._getCodeRefDimensions(codeContainerRef)\n : this._getCodeRefDimensions(codeContentRef);\n\n this._hasLeftOverflow = horizontalOverflow && !!codeScrollLeft;\n this._hasRightOverflow =\n horizontalOverflow &&\n codeScrollLeft + codeClientWidth !== codeScrollWidth;\n this.requestUpdate();\n }\n }\n\n /**\n * Handles `click` event on the show more or show less button.\n */\n private _handleClickExpanded() {\n this._expandedCode = !this._expandedCode;\n this.requestUpdate();\n }\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const codeContainerRef = this.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('code'); // PRE?\n const {\n type,\n maxCollapsedNumberOfRows,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n _rowHeightInPixels: rowHeightInPixels,\n _handleScroll: handleScroll,\n } = this;\n if (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) {\n const { height } = codeContentRef.getBoundingClientRect();\n if (\n maxCollapsedNumberOfRows > 0 &&\n (maxExpandedNumberOfRows <= 0 ||\n maxExpandedNumberOfRows > maxCollapsedNumberOfRows) &&\n height > maxCollapsedNumberOfRows * rowHeightInPixels\n ) {\n this._shouldShowMoreLessBtn = true;\n } else {\n this._shouldShowMoreLessBtn = false;\n }\n if (\n this._expandedCode &&\n minExpandedNumberOfRows > 0 &&\n height <= minExpandedNumberOfRows * rowHeightInPixels\n ) {\n this._expandedCode = false;\n }\n }\n if (\n (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) ||\n (codeContainerRef && type === CODE_SNIPPET_TYPE.SINGLE)\n ) {\n handleScroll();\n }\n this.requestUpdate();\n });\n\n /**\n * Optional text to copy. If not specified, the `children` node's `innerText`\n * will be used as the copy value.\n */\n @property({ attribute: 'copy-text' })\n copyText = '';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the string displayed when the snippet is copied\n */\n @property()\n feedback = 'Copied!';\n\n /**\n * Specify the time it takes for the feedback message to timeout\n */\n @property({ type: Number, attribute: 'feedback-timeout' })\n feedbackTimeout = 2000;\n\n /**\n * Specify whether or not a copy button should be used/rendered.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-copy-button' })\n hideCopyButton = false;\n\n /**\n * Specify the maximum number of rows to be shown when in collapsed view\n */\n @property()\n maxCollapsedNumberOfRows = 15;\n\n /**\n * Specify the maximum number of rows to be shown when in expanded view\n */\n @property()\n maxExpandedNumberOfRows = 0;\n\n /**\n * Specify the minimum number of rows to be shown when in collapsed view\n */\n @property()\n minCollapsedNumberOfRows = 3;\n\n /**\n * Specify the minimum number of rows to be shown when in expanded view\n */\n @property()\n minExpandedNumberOfRows = 16;\n\n /**\n * Specify a string that is displayed when the Code Snippet has been\n * interacted with to show less lines\n */\n @property({ attribute: 'show-less-text' })\n showLessText = 'Show less';\n\n /**\n * Specify a string that is displayed when the Code Snippet text is more\n * than 15 lines\n */\n @property({ attribute: 'show-more-text' })\n showMoreText = 'Show more';\n\n /**\n * Tooltip content for the copy button.\n */\n @property({ attribute: 'tooltip-content' })\n tooltipContent = 'Copy to clipboard';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true, attribute: 'wrap-text' })\n wrapText = false;\n\n /**\n * The type of code snippet.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n connectedCallback() {\n super.connectedCallback();\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n this._hObserveResize = observeResize(this._resizeObserver, this);\n }\n\n disconnectedCallback() {\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n }\n\n updated() {\n if (this._expandedCode) {\n this.setAttribute('expanded-code', '');\n } else {\n this.removeAttribute('expanded-code');\n }\n }\n\n render() {\n const {\n disabled,\n feedback,\n feedbackTimeout,\n hideCopyButton,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n maxCollapsedNumberOfRows,\n minCollapsedNumberOfRows,\n type,\n wrapText,\n tooltipContent,\n showMoreText,\n showLessText,\n _expandedCode: expandedCode,\n _handleCopyClick: handleCopyClick,\n _handleScroll: handleScroll,\n _hasRightOverflow: hasRightOverflow,\n _hasLeftOverflow: hasLeftOverflow,\n _rowHeightInPixels: rowHeightInPixels,\n _shouldShowMoreLessBtn: shouldShowMoreLessBtn,\n } = this;\n\n let classes = `${prefix}--snippet`;\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n type ? (classes += ` ${prefix}--snippet--${type}`) : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n type !== 'inline' && disabled\n ? (classes += ` ${prefix}--snippet--disabled`)\n : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hideCopyButton ? (classes += ` ${prefix}--snippet--no-copy`) : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n wrapText ? (classes += ` ${prefix}--snippet--wraptext`) : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n type == 'multi' && hasRightOverflow\n ? (classes += ` ${prefix}--snippet--has-right-overflow`)\n : '';\n\n const expandButtonClass = `${prefix}--snippet-btn--expand`;\n\n const disabledCopyButtonClasses = disabled\n ? `${prefix}--snippet--disabled`\n : '';\n\n const expandCodeBtnText = expandedCode ? showLessText : showMoreText;\n\n if (type === CODE_SNIPPET_TYPE.INLINE) {\n // Ensures no extra whitespace text node\n // prettier-ignore\n return html`\n <cds-copy ?disabled=${disabled} button-class-name=\"${classes}\" @click=\"${handleCopyClick}\">\n <code slot=\"icon\"><slot></slot></code>\n <span slot=\"tooltip-content\">${tooltipContent}</span>\n </cds-copy>\n `;\n }\n\n const styles = {};\n if (type === 'multi') {\n if (expandedCode) {\n if (maxExpandedNumberOfRows > 0) {\n styles['max-height'] =\n maxExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minExpandedNumberOfRows > 0) {\n styles['min-height'] =\n minExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n } else {\n if (maxCollapsedNumberOfRows > 0) {\n styles['max-height'] =\n maxCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minCollapsedNumberOfRows > 0) {\n styles['min-height'] =\n minCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n }\n }\n\n return html`\n <div\n role=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? 'textbox'\n : null}\"\n tabindex=\"${(type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI) &&\n !disabled\n ? 0\n : null}\"\n class=\"${prefix}--snippet-container\"\n aria-label=\"${'code-snippet'}\"\n aria-readonly=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? true\n : null}\"\n aria-multiline=\"${type === CODE_SNIPPET_TYPE.MULTI ? true : null}\"\n @scroll=\"${(type === CODE_SNIPPET_TYPE.SINGLE && handleScroll) || null}\"\n style=${styleMap(styles)}>\n <pre\n @scroll=\"${(type === CODE_SNIPPET_TYPE.MULTI && handleScroll) ||\n null}\"><code><slot></slot></code></pre>\n </div>\n\n ${hasLeftOverflow\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--left\"></div>\n `\n : ``}\n ${hasRightOverflow && type !== CODE_SNIPPET_TYPE.MULTI\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--right\"></div>\n `\n : ``}\n ${hideCopyButton\n ? ``\n : html`\n <cds-copy-button\n ?disabled=${disabled}\n button-class-name=${disabledCopyButtonClasses}\n feedback=${feedback}\n feedback-timeout=${feedbackTimeout}\n @click=\"${handleCopyClick}\">\n ${tooltipContent}\n </cds-copy-button>\n `}\n ${shouldShowMoreLessBtn\n ? html`\n <cds-button\n kind=\"ghost\"\n size=\"sm\"\n button-class-name=${expandButtonClass}\n ?disabled=${disabled}\n @click=${() => this._handleClickExpanded()}>\n <span class=\"${prefix}--snippet-btn--text\">\n ${expandCodeBtnText}\n </span>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--icon-chevron--down ${prefix}--snippet__icon`,\n role: 'img',\n slot: 'icon',\n })}\n </cds-button>\n `\n : ``}\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCodeSnippet;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;;;AAKG;AACH,MAAM,aAAa,GAAG,CAAC,QAAwB,EAAE,IAAa,KAAI;IAChE,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,IAAI;IACb;AACA,IAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;IACtB,OAAO;QACL,OAAO,GAAA;AACL,YAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;AACxB,YAAA,OAAO,IAAI;QACb,CAAC;KACQ;AACb,CAAC;AAED;;;;AAIG;AAEH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;AAAnD,IAAA,WAAA,GAAA;;AACE;;AAEG;QACK,IAAA,CAAA,aAAa,GAAG,KAAK;AAE7B;;AAEG;QACK,IAAA,CAAA,eAAe,GAAkB,IAAI;AAE7C;;AAEG;QACK,IAAA,CAAA,kBAAkB,GAAG,EAAE;AAE/B;;AAEG;QACK,IAAA,CAAA,iBAAiB,GAAG,IAAI;AAEhC;;AAEG;QACK,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAEhC;;AAEG;QACK,IAAA,CAAA,sBAAsB,GAAG,KAAK;AA8FtC;;AAEG;;;;AAIK,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,cAAc,CAAC,MAAK;;AAChD,YAAA,MAAM,gBAAgB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CACrD,CAAA,CAAA,EAAI,MAAM,CAAA,mBAAA,CAAqB,CAChC;AACD,YAAA,MAAM,cAAc,GAAG,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhB,gBAAgB,CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/D,YAAA,MAAM,EACJ,IAAI,EACJ,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAAE,iBAAiB,EACrC,aAAa,EAAE,YAAY,GAC5B,GAAG,IAAI;YACR,IAAI,cAAc,IAAI,IAAI,KAAK,iBAAiB,CAAC,KAAK,EAAE;gBACtD,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,qBAAqB,EAAE;gBACzD,IACE,wBAAwB,GAAG,CAAC;qBAC3B,uBAAuB,IAAI,CAAC;wBAC3B,uBAAuB,GAAG,wBAAwB,CAAC;AACrD,oBAAA,MAAM,GAAG,wBAAwB,GAAG,iBAAiB,EACrD;AACA,oBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;gBACpC;qBAAO;AACL,oBAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;gBACrC;gBACA,IACE,IAAI,CAAC,aAAa;AAClB,oBAAA,uBAAuB,GAAG,CAAC;AAC3B,oBAAA,MAAM,IAAI,uBAAuB,GAAG,iBAAiB,EACrD;AACA,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC5B;YACF;YACA,IACE,CAAC,cAAc,IAAI,IAAI,KAAK,iBAAiB,CAAC,KAAK;iBAClD,gBAAgB,IAAI,IAAI,KAAK,iBAAiB,CAAC,MAAM,CAAC,EACvD;AACA,gBAAA,YAAY,EAAE;YAChB;YACA,IAAI,CAAC,aAAa,EAAE;AACtB,QAAA,CAAC,CAAC;AAEF;;;AAGG;QAEH,IAAA,CAAA,QAAQ,GAAG,EAAE;AAEb;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEhB;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,SAAS;AAEpB;;AAEG;QAEH,IAAA,CAAA,eAAe,GAAG,IAAI;AAEtB;;AAEG;QAEH,IAAA,CAAA,cAAc,GAAG,KAAK;AAEtB;;AAEG;QAEH,IAAA,CAAA,wBAAwB,GAAG,EAAE;AAE7B;;AAEG;QAEH,IAAA,CAAA,uBAAuB,GAAG,CAAC;AAE3B;;AAEG;QAEH,IAAA,CAAA,wBAAwB,GAAG,CAAC;AAE5B;;AAEG;QAEH,IAAA,CAAA,uBAAuB,GAAG,EAAE;AAE5B;;;AAGG;QAEH,IAAA,CAAA,YAAY,GAAG,WAAW;AAE1B;;;AAGG;QAEH,IAAA,CAAA,YAAY,GAAG,WAAW;AAE1B;;AAEG;QAEH,IAAA,CAAA,cAAc,GAAG,mBAAmB;AAEpC;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEhB;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,MAAM;IAoLjC;AArZE;;AAEG;IACK,gBAAgB,GAAA;AACtB,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,IAAI;;QAEnC,MAAM,SAAS,GAAG,GAAI,CAAC,WAAY,CAAC,YAAY,EAAE;;QAElD,SAAU,CAAC,eAAe,EAAE;;QAE5B,MAAM,IAAI,GAAG,GAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,CAAA,EAAG,MAAM,mBAAmB;;QAE7C,MAAM,GAAG,GAAG,GAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAC7C,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAC3C;AACD,QAAA,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;;;AAGrB,QAAA,GAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;AAE3B,QAAA,MAAM,KAAK,GAAG,GAAI,CAAC,WAAW,EAAE;AAChC,QAAA,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC;;AAE9B,QAAA,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAE1B,QAAA,GAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAExB,QAAA,GAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;QAE3B,SAAU,CAAC,eAAe,EAAE;IAC9B;AAEQ,IAAA,qBAAqB,CAAC,GAAG,EAAA;AAC/B,QAAA,MAAM,EACJ,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,eAAe,GAC7B,GAAG,GAAG;QAEP,OAAO;YACL,kBAAkB,EAAE,eAAe,GAAG,eAAe;YACrD,eAAe;YACf,eAAe;YACf,cAAc;SACf;IACH;AACA;;AAEG;IACK,aAAa,GAAA;;QACnB,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,gBAAgB,GAAG,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,UAAU,0CAAE,aAAa,CACtD,IAAI,MAAM,CAAA,mBAAA,CAAqB,CAChC;AACD,YAAA,MAAM,cAAc,GAAG,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhB,gBAAgB,CAAE,aAAa,CAAC,KAAK,CAAC;AAC7D,YAAA,IACE,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM;iBACrC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC;AAC7D,iBAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,EAC1D;gBACA;YACF;AAEA,YAAA,MAAM,EACJ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,GACf,GACC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAC9B,kBAAE,IAAI,CAAC,qBAAqB,CAAC,gBAAgB;AAC7C,kBAAE,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC;YAEhD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,IAAI,CAAC,CAAC,cAAc;AAC9D,YAAA,IAAI,CAAC,iBAAiB;gBACpB,kBAAkB;AAClB,oBAAA,cAAc,GAAG,eAAe,KAAK,eAAe;YACtD,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;AAEA;;AAEG;IACK,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa;QACxC,IAAI,CAAC,aAAa,EAAE;IACtB;IAyIA,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;AACzB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;QACvD;QACA,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC;IAClE;IAEA,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;QACvD;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;QACvC;IACF;IAEA,MAAM,GAAA;QACJ,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EAAE,YAAY,EAC3B,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,iBAAiB,EAAE,gBAAgB,EACnC,gBAAgB,EAAE,eAAe,EACjC,kBAAkB,EAAE,iBAAiB,EACrC,sBAAsB,EAAE,qBAAqB,GAC9C,GAAG,IAAI;AAER,QAAA,IAAI,OAAO,GAAG,CAAA,EAAG,MAAM,WAAW;;AAElC,QAAA,IAAI,IAAI,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,WAAA,EAAc,IAAI,EAAE,IAAI,EAAE;;QAEvD,IAAI,KAAK,QAAQ,IAAI;AACnB,eAAG,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,qBAAqB;cAC3C,EAAE;;AAEN,QAAA,cAAc,IAAI,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,kBAAA,CAAoB,IAAI,EAAE;;AAEjE,QAAA,QAAQ,IAAI,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,mBAAA,CAAqB,IAAI,EAAE;;QAE5D,IAAI,IAAI,OAAO,IAAI;AACjB,eAAG,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,+BAA+B;cACrD,EAAE;AAEN,QAAA,MAAM,iBAAiB,GAAG,CAAA,EAAG,MAAM,uBAAuB;QAE1D,MAAM,yBAAyB,GAAG;cAC9B,CAAA,EAAG,MAAM,CAAA,mBAAA;cACT,EAAE;QAEN,MAAM,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY;AAEpE,QAAA,IAAI,IAAI,KAAK,iBAAiB,CAAC,MAAM,EAAE;;;AAGrC,YAAA,OAAO,IAAI,CAAA;8BACa,QAAQ,CAAA,oBAAA,EAAuB,OAAO,CAAA,UAAA,EAAa,eAAe,CAAA;;yCAEvD,cAAc,CAAA;;OAEhD;QACH;QAEA,MAAM,MAAM,GAAG,EAAE;AACjB,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,IAAI,YAAY,EAAE;AAChB,gBAAA,IAAI,uBAAuB,GAAG,CAAC,EAAE;oBAC/B,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,uBAAuB,GAAG,iBAAiB,GAAG,IAAI;gBACtD;AACA,gBAAA,IAAI,uBAAuB,GAAG,CAAC,EAAE;oBAC/B,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,uBAAuB,GAAG,iBAAiB,GAAG,IAAI;gBACtD;YACF;iBAAO;AACL,gBAAA,IAAI,wBAAwB,GAAG,CAAC,EAAE;oBAChC,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,wBAAwB,GAAG,iBAAiB,GAAG,IAAI;gBACvD;AACA,gBAAA,IAAI,wBAAwB,GAAG,CAAC,EAAE;oBAChC,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,wBAAwB,GAAG,iBAAiB,GAAG,IAAI;gBACvD;YACF;QACF;AAEA,QAAA,OAAO,IAAI,CAAA;;gBAEC,IAAI,KAAK,iBAAiB,CAAC,MAAM;YACzC,IAAI,KAAK,iBAAiB,CAAC;AACzB,cAAE;AACF,cAAE,IAAI,CAAA;AACI,kBAAA,EAAA,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM;AAC5C,YAAA,IAAI,KAAK,iBAAiB,CAAC,KAAK;AAClC,YAAA,CAAC;AACC,cAAE;AACF,cAAE,IAAI,CAAA;iBACC,MAAM,CAAA;sBACD,cAAc,CAAA;yBACX,IAAI,KAAK,iBAAiB,CAAC,MAAM;YAClD,IAAI,KAAK,iBAAiB,CAAC;AACzB,cAAE;AACF,cAAE,IAAI,CAAA;0BACU,IAAI,KAAK,iBAAiB,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAA;mBACrD,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,YAAY,KAAK,IAAI,CAAA;gBAC9D,QAAQ,CAAC,MAAM,CAAC,CAAA;;AAEX,mBAAA,EAAA,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,IAAI,YAAY;YAC5D,IAAI,CAAA;;;QAGN;cACE,IAAI,CAAA;0BACY,MAAM,CAAA;AACrB,UAAA;AACH,cAAE,CAAA,CAAE;AACJ,MAAA,EAAA,gBAAgB,IAAI,IAAI,KAAK,iBAAiB,CAAC;cAC7C,IAAI,CAAA;0BACY,MAAM,CAAA;AACrB,UAAA;AACH,cAAE,CAAA,CAAE;QACJ;AACA,cAAE,CAAA;cACA,IAAI,CAAA;;0BAEY,QAAQ;kCACA,yBAAyB;yBAClC,QAAQ;iCACA,eAAe;wBACxB,eAAe,CAAA;gBACvB,cAAc;;AAEnB,UAAA,CAAA;QACH;cACE,IAAI,CAAA;;;;kCAIoB,iBAAiB;0BACzB,QAAQ;AACX,qBAAA,EAAA,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;6BAC3B,MAAM,CAAA;kBACjB,iBAAiB;;gBAEnB,UAAU,CAAC,aAAa,EAAE;AAC1B,gBAAA,KAAK,EAAE,CAAA,EAAG,MAAM,CAAA,qBAAA,EAAwB,MAAM,CAAA,eAAA,CAAiB;AAC/D,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,MAAM;aACb,CAAC;;AAEL,UAAA;AACH,cAAE,CAAA,CAAE;KACP;IACH;;AAEO,cAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,cAAA,CAAA,MAAM,GAAG,MAAH;AAnQb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;AACtB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;AADC,IAAA,QAAQ;AACY,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMrB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE;AAClC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AAMvB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE;AAClD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAMvB,UAAA,CAAA;AADC,IAAA,QAAQ;AACqB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,0BAAA,EAAA,MAAA,CAAA;AAM9B,UAAA,CAAA;AADC,IAAA,QAAQ;AACmB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,MAAA,CAAA;AAM5B,UAAA,CAAA;AADC,IAAA,QAAQ;AACoB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,0BAAA,EAAA,MAAA,CAAA;AAM7B,UAAA,CAAA;AADC,IAAA,QAAQ;AACoB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,MAAA,CAAA;AAO7B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;AACd,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAO3B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;AACd,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAM3B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;AACL,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAMrC,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;AACjD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACK,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAhQ5B,cAAc,GAAA,UAAA,CAAA;AADnB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;AACjC,CAAA,EAAA,cAAc,CAobnB;AAED,uBAAe,cAAc;;;;"}
1
+ {"version":3,"file":"code-snippet.js","sources":["../../../src/components/code-snippet/code-snippet.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** eslint-disable @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452 */\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE } from './defs';\nimport styles from './code-snippet.scss?lit';\nimport Handle from '../../globals/internal/handle';\nimport '../copy-button/index';\nimport '../copy/copy';\nimport '../button/button';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\nexport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE };\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n if (!elem) {\n return null;\n }\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * Basic code snippet.\n *\n * @element cds-code-snippet\n */\n@customElement(`${prefix}-code-snippet`)\nclass CDSCodeSnippet extends FocusMixin(LitElement) {\n /**\n * `true` to expand multi-line variant of code snippet.\n */\n private _expandedCode = false;\n\n /**\n * The handle for observing resize of the parent element of this element.\n */\n private _hObserveResize: Handle | null = null;\n\n /**\n * Row height in pixels\n */\n private _rowHeightInPixels = 16;\n\n /**\n * `true` if code-snippet has right overflow\n */\n private _hasRightOverflow = true;\n\n /**\n * `true` if code-snippet has left overflow\n */\n private _hasLeftOverflow = false;\n\n /**\n * `true` if show more or show less btn is visible\n */\n private _shouldShowMoreLessBtn = false;\n\n /**\n * Handles `click` event on the copy button.\n */\n private _handleCopyClick() {\n const { ownerDocument: doc } = this;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const selection = doc!.defaultView!.getSelection();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const code = doc!.createElement('code');\n code.className = `${prefix}--visually-hidden`;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const pre = doc!.createElement('pre');\n const text = Array.from(this.childNodes).filter(\n (node) => node.nodeType === Node.TEXT_NODE\n );\n pre.textContent = this.copyText || text[0].textContent;\n code.appendChild(pre);\n // Using `<code>` in shadow DOM seems to lose the LFs in some browsers\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.appendChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const range = doc!.createRange();\n range.selectNodeContents(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.addRange(range);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.execCommand('copy');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.removeChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n }\n\n private _getCodeRefDimensions(ref) {\n const {\n clientWidth: codeClientWidth,\n scrollLeft: codeScrollLeft,\n scrollWidth: codeScrollWidth,\n } = ref;\n\n return {\n horizontalOverflow: codeScrollWidth > codeClientWidth,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n };\n }\n /**\n * Handles `scroll` event.\n */\n private _handleScroll() {\n if (this) {\n const codeContainerRef = this?.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('pre');\n if (\n this.type === CODE_SNIPPET_TYPE.INLINE ||\n (this.type === CODE_SNIPPET_TYPE.SINGLE && !codeContainerRef) ||\n (this.type === CODE_SNIPPET_TYPE.MULTI && !codeContentRef)\n ) {\n return;\n }\n\n const {\n horizontalOverflow,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n } =\n this.type === CODE_SNIPPET_TYPE.SINGLE\n ? this._getCodeRefDimensions(codeContainerRef)\n : this._getCodeRefDimensions(codeContentRef);\n\n this._hasLeftOverflow = horizontalOverflow && !!codeScrollLeft;\n this._hasRightOverflow =\n horizontalOverflow &&\n codeScrollLeft + codeClientWidth !== codeScrollWidth;\n this.requestUpdate();\n }\n }\n\n /**\n * Handles `click` event on the show more or show less button.\n */\n private _handleClickExpanded() {\n this._expandedCode = !this._expandedCode;\n this.requestUpdate();\n }\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const codeContainerRef = this.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('code'); // PRE?\n const {\n type,\n maxCollapsedNumberOfRows,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n _rowHeightInPixels: rowHeightInPixels,\n _handleScroll: handleScroll,\n } = this;\n if (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) {\n const { height } = codeContentRef.getBoundingClientRect();\n if (\n maxCollapsedNumberOfRows > 0 &&\n (maxExpandedNumberOfRows <= 0 ||\n maxExpandedNumberOfRows > maxCollapsedNumberOfRows) &&\n height > maxCollapsedNumberOfRows * rowHeightInPixels\n ) {\n this._shouldShowMoreLessBtn = true;\n } else {\n this._shouldShowMoreLessBtn = false;\n }\n if (\n this._expandedCode &&\n minExpandedNumberOfRows > 0 &&\n height <= minExpandedNumberOfRows * rowHeightInPixels\n ) {\n this._expandedCode = false;\n }\n }\n if (\n (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) ||\n (codeContainerRef && type === CODE_SNIPPET_TYPE.SINGLE)\n ) {\n handleScroll();\n }\n this.requestUpdate();\n });\n\n /**\n * Optional text to copy. If not specified, the `children` node's `innerText`\n * will be used as the copy value.\n */\n @property({ attribute: 'copy-text' })\n copyText = '';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the string displayed when the snippet is copied\n */\n @property()\n feedback = 'Copied!';\n\n /**\n * Specify the time it takes for the feedback message to timeout\n */\n @property({ type: Number, attribute: 'feedback-timeout' })\n feedbackTimeout = 2000;\n\n /**\n * Specify whether or not a copy button should be used/rendered.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-copy-button' })\n hideCopyButton = false;\n\n /**\n * Specify the maximum number of rows to be shown when in collapsed view\n */\n @property()\n maxCollapsedNumberOfRows = 15;\n\n /**\n * Specify the maximum number of rows to be shown when in expanded view\n */\n @property()\n maxExpandedNumberOfRows = 0;\n\n /**\n * Specify the minimum number of rows to be shown when in collapsed view\n */\n @property()\n minCollapsedNumberOfRows = 3;\n\n /**\n * Specify the minimum number of rows to be shown when in expanded view\n */\n @property()\n minExpandedNumberOfRows = 16;\n\n /**\n * Specify a string that is displayed when the Code Snippet has been\n * interacted with to show less lines\n */\n @property({ attribute: 'show-less-text' })\n showLessText = 'Show less';\n\n /**\n * Specify a string that is displayed when the Code Snippet text is more\n * than 15 lines\n */\n @property({ attribute: 'show-more-text' })\n showMoreText = 'Show more';\n\n /**\n * Tooltip content for the copy button.\n */\n @property({ attribute: 'tooltip-content' })\n tooltipContent = 'Copy to clipboard';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true, attribute: 'wrap-text' })\n wrapText = false;\n\n /**\n * The type of code snippet.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n connectedCallback() {\n super.connectedCallback();\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n this._hObserveResize = observeResize(this._resizeObserver, this);\n }\n\n disconnectedCallback() {\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n }\n\n updated() {\n if (this._expandedCode) {\n this.setAttribute('expanded-code', '');\n } else {\n this.removeAttribute('expanded-code');\n }\n }\n\n render() {\n const {\n disabled,\n feedback,\n feedbackTimeout,\n hideCopyButton,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n maxCollapsedNumberOfRows,\n minCollapsedNumberOfRows,\n type,\n wrapText,\n tooltipContent,\n showMoreText,\n showLessText,\n _expandedCode: expandedCode,\n _handleCopyClick: handleCopyClick,\n _handleScroll: handleScroll,\n _hasRightOverflow: hasRightOverflow,\n _hasLeftOverflow: hasLeftOverflow,\n _rowHeightInPixels: rowHeightInPixels,\n _shouldShowMoreLessBtn: shouldShowMoreLessBtn,\n } = this;\n\n let classes = `${prefix}--snippet`;\n\n if (type) {\n classes += ` ${prefix}--snippet--${type}`;\n }\n\n if (type !== 'inline' && disabled) {\n classes += ` ${prefix}--snippet--disabled`;\n }\n\n if (hideCopyButton) {\n classes += ` ${prefix}--snippet--no-copy`;\n }\n\n if (wrapText) {\n classes += ` ${prefix}--snippet--wraptext`;\n }\n\n if (type == 'multi' && hasRightOverflow) {\n classes += ` ${prefix}--snippet--has-right-overflow`;\n }\n\n const expandButtonClass = `${prefix}--snippet-btn--expand`;\n\n const disabledCopyButtonClasses = disabled\n ? `${prefix}--snippet--disabled`\n : '';\n\n const expandCodeBtnText = expandedCode ? showLessText : showMoreText;\n\n if (type === CODE_SNIPPET_TYPE.INLINE) {\n // Ensures no extra whitespace text node\n // prettier-ignore\n return html`\n <cds-copy ?disabled=${disabled} button-class-name=\"${classes}\" @click=\"${handleCopyClick}\">\n <code slot=\"icon\"><slot></slot></code>\n <span slot=\"tooltip-content\">${tooltipContent}</span>\n </cds-copy>\n `;\n }\n\n const styles = {};\n if (type === 'multi') {\n if (expandedCode) {\n if (maxExpandedNumberOfRows > 0) {\n styles['max-height'] =\n maxExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minExpandedNumberOfRows > 0) {\n styles['min-height'] =\n minExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n } else {\n if (maxCollapsedNumberOfRows > 0) {\n styles['max-height'] =\n maxCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minCollapsedNumberOfRows > 0) {\n styles['min-height'] =\n minCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n }\n }\n\n return html`\n <div\n role=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? 'textbox'\n : null}\"\n tabindex=\"${(type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI) &&\n !disabled\n ? 0\n : null}\"\n class=\"${prefix}--snippet-container\"\n aria-label=\"${'code-snippet'}\"\n aria-readonly=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? true\n : null}\"\n aria-multiline=\"${type === CODE_SNIPPET_TYPE.MULTI ? true : null}\"\n @scroll=\"${(type === CODE_SNIPPET_TYPE.SINGLE && handleScroll) || null}\"\n style=${styleMap(styles)}>\n <pre\n @scroll=\"${(type === CODE_SNIPPET_TYPE.MULTI && handleScroll) ||\n null}\"><code><slot></slot></code></pre>\n </div>\n\n ${hasLeftOverflow\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--left\"></div>\n `\n : ``}\n ${hasRightOverflow && type !== CODE_SNIPPET_TYPE.MULTI\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--right\"></div>\n `\n : ``}\n ${hideCopyButton\n ? ``\n : html`\n <cds-copy-button\n ?disabled=${disabled}\n button-class-name=${disabledCopyButtonClasses}\n feedback=${feedback}\n feedback-timeout=${feedbackTimeout}\n @click=\"${handleCopyClick}\">\n ${tooltipContent}\n </cds-copy-button>\n `}\n ${shouldShowMoreLessBtn\n ? html`\n <cds-button\n kind=\"ghost\"\n size=\"sm\"\n button-class-name=${expandButtonClass}\n ?disabled=${disabled}\n @click=${() => this._handleClickExpanded()}>\n <span class=\"${prefix}--snippet-btn--text\">\n ${expandCodeBtnText}\n </span>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--icon-chevron--down ${prefix}--snippet__icon`,\n role: 'img',\n slot: 'icon',\n })}\n </cds-button>\n `\n : ``}\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCodeSnippet;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;;;AAKG;AACH,MAAM,aAAa,GAAG,CAAC,QAAwB,EAAE,IAAa,KAAI;IAChE,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,IAAI;IACb;AACA,IAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;IACtB,OAAO;QACL,OAAO,GAAA;AACL,YAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;AACxB,YAAA,OAAO,IAAI;QACb,CAAC;KACQ;AACb,CAAC;AAED;;;;AAIG;AAEH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;AAAnD,IAAA,WAAA,GAAA;;AACE;;AAEG;QACK,IAAA,CAAA,aAAa,GAAG,KAAK;AAE7B;;AAEG;QACK,IAAA,CAAA,eAAe,GAAkB,IAAI;AAE7C;;AAEG;QACK,IAAA,CAAA,kBAAkB,GAAG,EAAE;AAE/B;;AAEG;QACK,IAAA,CAAA,iBAAiB,GAAG,IAAI;AAEhC;;AAEG;QACK,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAEhC;;AAEG;QACK,IAAA,CAAA,sBAAsB,GAAG,KAAK;AA8FtC;;AAEG;;;;AAIK,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,cAAc,CAAC,MAAK;;AAChD,YAAA,MAAM,gBAAgB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CACrD,CAAA,CAAA,EAAI,MAAM,CAAA,mBAAA,CAAqB,CAChC;AACD,YAAA,MAAM,cAAc,GAAG,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhB,gBAAgB,CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/D,YAAA,MAAM,EACJ,IAAI,EACJ,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAAE,iBAAiB,EACrC,aAAa,EAAE,YAAY,GAC5B,GAAG,IAAI;YACR,IAAI,cAAc,IAAI,IAAI,KAAK,iBAAiB,CAAC,KAAK,EAAE;gBACtD,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,qBAAqB,EAAE;gBACzD,IACE,wBAAwB,GAAG,CAAC;qBAC3B,uBAAuB,IAAI,CAAC;wBAC3B,uBAAuB,GAAG,wBAAwB,CAAC;AACrD,oBAAA,MAAM,GAAG,wBAAwB,GAAG,iBAAiB,EACrD;AACA,oBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;gBACpC;qBAAO;AACL,oBAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;gBACrC;gBACA,IACE,IAAI,CAAC,aAAa;AAClB,oBAAA,uBAAuB,GAAG,CAAC;AAC3B,oBAAA,MAAM,IAAI,uBAAuB,GAAG,iBAAiB,EACrD;AACA,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC5B;YACF;YACA,IACE,CAAC,cAAc,IAAI,IAAI,KAAK,iBAAiB,CAAC,KAAK;iBAClD,gBAAgB,IAAI,IAAI,KAAK,iBAAiB,CAAC,MAAM,CAAC,EACvD;AACA,gBAAA,YAAY,EAAE;YAChB;YACA,IAAI,CAAC,aAAa,EAAE;AACtB,QAAA,CAAC,CAAC;AAEF;;;AAGG;QAEH,IAAA,CAAA,QAAQ,GAAG,EAAE;AAEb;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEhB;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,SAAS;AAEpB;;AAEG;QAEH,IAAA,CAAA,eAAe,GAAG,IAAI;AAEtB;;AAEG;QAEH,IAAA,CAAA,cAAc,GAAG,KAAK;AAEtB;;AAEG;QAEH,IAAA,CAAA,wBAAwB,GAAG,EAAE;AAE7B;;AAEG;QAEH,IAAA,CAAA,uBAAuB,GAAG,CAAC;AAE3B;;AAEG;QAEH,IAAA,CAAA,wBAAwB,GAAG,CAAC;AAE5B;;AAEG;QAEH,IAAA,CAAA,uBAAuB,GAAG,EAAE;AAE5B;;;AAGG;QAEH,IAAA,CAAA,YAAY,GAAG,WAAW;AAE1B;;;AAGG;QAEH,IAAA,CAAA,YAAY,GAAG,WAAW;AAE1B;;AAEG;QAEH,IAAA,CAAA,cAAc,GAAG,mBAAmB;AAEpC;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEhB;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,MAAM;IA0LjC;AA3ZE;;AAEG;IACK,gBAAgB,GAAA;AACtB,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,IAAI;;QAEnC,MAAM,SAAS,GAAG,GAAI,CAAC,WAAY,CAAC,YAAY,EAAE;;QAElD,SAAU,CAAC,eAAe,EAAE;;QAE5B,MAAM,IAAI,GAAG,GAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,CAAA,EAAG,MAAM,mBAAmB;;QAE7C,MAAM,GAAG,GAAG,GAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAC7C,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAC3C;AACD,QAAA,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;;;AAGrB,QAAA,GAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;AAE3B,QAAA,MAAM,KAAK,GAAG,GAAI,CAAC,WAAW,EAAE;AAChC,QAAA,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC;;AAE9B,QAAA,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAE1B,QAAA,GAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAExB,QAAA,GAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;QAE3B,SAAU,CAAC,eAAe,EAAE;IAC9B;AAEQ,IAAA,qBAAqB,CAAC,GAAG,EAAA;AAC/B,QAAA,MAAM,EACJ,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,eAAe,GAC7B,GAAG,GAAG;QAEP,OAAO;YACL,kBAAkB,EAAE,eAAe,GAAG,eAAe;YACrD,eAAe;YACf,eAAe;YACf,cAAc;SACf;IACH;AACA;;AAEG;IACK,aAAa,GAAA;;QACnB,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,gBAAgB,GAAG,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,UAAU,0CAAE,aAAa,CACtD,IAAI,MAAM,CAAA,mBAAA,CAAqB,CAChC;AACD,YAAA,MAAM,cAAc,GAAG,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhB,gBAAgB,CAAE,aAAa,CAAC,KAAK,CAAC;AAC7D,YAAA,IACE,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM;iBACrC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC;AAC7D,iBAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,EAC1D;gBACA;YACF;AAEA,YAAA,MAAM,EACJ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,GACf,GACC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAC9B,kBAAE,IAAI,CAAC,qBAAqB,CAAC,gBAAgB;AAC7C,kBAAE,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC;YAEhD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,IAAI,CAAC,CAAC,cAAc;AAC9D,YAAA,IAAI,CAAC,iBAAiB;gBACpB,kBAAkB;AAClB,oBAAA,cAAc,GAAG,eAAe,KAAK,eAAe;YACtD,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;AAEA;;AAEG;IACK,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa;QACxC,IAAI,CAAC,aAAa,EAAE;IACtB;IAyIA,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;AACzB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;QACvD;QACA,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC;IAClE;IAEA,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;QACvD;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;QACvC;IACF;IAEA,MAAM,GAAA;QACJ,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EAAE,YAAY,EAC3B,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,iBAAiB,EAAE,gBAAgB,EACnC,gBAAgB,EAAE,eAAe,EACjC,kBAAkB,EAAE,iBAAiB,EACrC,sBAAsB,EAAE,qBAAqB,GAC9C,GAAG,IAAI;AAER,QAAA,IAAI,OAAO,GAAG,CAAA,EAAG,MAAM,WAAW;QAElC,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,WAAA,EAAc,IAAI,EAAE;QAC3C;AAEA,QAAA,IAAI,IAAI,KAAK,QAAQ,IAAI,QAAQ,EAAE;AACjC,YAAA,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,mBAAA,CAAqB;QAC5C;QAEA,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,kBAAA,CAAoB;QAC3C;QAEA,IAAI,QAAQ,EAAE;AACZ,YAAA,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,mBAAA,CAAqB;QAC5C;AAEA,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,gBAAgB,EAAE;AACvC,YAAA,OAAO,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,6BAAA,CAA+B;QACtD;AAEA,QAAA,MAAM,iBAAiB,GAAG,CAAA,EAAG,MAAM,uBAAuB;QAE1D,MAAM,yBAAyB,GAAG;cAC9B,CAAA,EAAG,MAAM,CAAA,mBAAA;cACT,EAAE;QAEN,MAAM,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY;AAEpE,QAAA,IAAI,IAAI,KAAK,iBAAiB,CAAC,MAAM,EAAE;;;AAGrC,YAAA,OAAO,IAAI,CAAA;8BACa,QAAQ,CAAA,oBAAA,EAAuB,OAAO,CAAA,UAAA,EAAa,eAAe,CAAA;;yCAEvD,cAAc,CAAA;;OAEhD;QACH;QAEA,MAAM,MAAM,GAAG,EAAE;AACjB,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,IAAI,YAAY,EAAE;AAChB,gBAAA,IAAI,uBAAuB,GAAG,CAAC,EAAE;oBAC/B,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,uBAAuB,GAAG,iBAAiB,GAAG,IAAI;gBACtD;AACA,gBAAA,IAAI,uBAAuB,GAAG,CAAC,EAAE;oBAC/B,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,uBAAuB,GAAG,iBAAiB,GAAG,IAAI;gBACtD;YACF;iBAAO;AACL,gBAAA,IAAI,wBAAwB,GAAG,CAAC,EAAE;oBAChC,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,wBAAwB,GAAG,iBAAiB,GAAG,IAAI;gBACvD;AACA,gBAAA,IAAI,wBAAwB,GAAG,CAAC,EAAE;oBAChC,MAAM,CAAC,YAAY,CAAC;AAClB,wBAAA,wBAAwB,GAAG,iBAAiB,GAAG,IAAI;gBACvD;YACF;QACF;AAEA,QAAA,OAAO,IAAI,CAAA;;gBAEC,IAAI,KAAK,iBAAiB,CAAC,MAAM;YACzC,IAAI,KAAK,iBAAiB,CAAC;AACzB,cAAE;AACF,cAAE,IAAI,CAAA;AACI,kBAAA,EAAA,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM;AAC5C,YAAA,IAAI,KAAK,iBAAiB,CAAC,KAAK;AAClC,YAAA,CAAC;AACC,cAAE;AACF,cAAE,IAAI,CAAA;iBACC,MAAM,CAAA;sBACD,cAAc,CAAA;yBACX,IAAI,KAAK,iBAAiB,CAAC,MAAM;YAClD,IAAI,KAAK,iBAAiB,CAAC;AACzB,cAAE;AACF,cAAE,IAAI,CAAA;0BACU,IAAI,KAAK,iBAAiB,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAA;mBACrD,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,YAAY,KAAK,IAAI,CAAA;gBAC9D,QAAQ,CAAC,MAAM,CAAC,CAAA;;AAEX,mBAAA,EAAA,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,IAAI,YAAY;YAC5D,IAAI,CAAA;;;QAGN;cACE,IAAI,CAAA;0BACY,MAAM,CAAA;AACrB,UAAA;AACH,cAAE,CAAA,CAAE;AACJ,MAAA,EAAA,gBAAgB,IAAI,IAAI,KAAK,iBAAiB,CAAC;cAC7C,IAAI,CAAA;0BACY,MAAM,CAAA;AACrB,UAAA;AACH,cAAE,CAAA,CAAE;QACJ;AACA,cAAE,CAAA;cACA,IAAI,CAAA;;0BAEY,QAAQ;kCACA,yBAAyB;yBAClC,QAAQ;iCACA,eAAe;wBACxB,eAAe,CAAA;gBACvB,cAAc;;AAEnB,UAAA,CAAA;QACH;cACE,IAAI,CAAA;;;;kCAIoB,iBAAiB;0BACzB,QAAQ;AACX,qBAAA,EAAA,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;6BAC3B,MAAM,CAAA;kBACjB,iBAAiB;;gBAEnB,UAAU,CAAC,aAAa,EAAE;AAC1B,gBAAA,KAAK,EAAE,CAAA,EAAG,MAAM,CAAA,qBAAA,EAAwB,MAAM,CAAA,eAAA,CAAiB;AAC/D,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,MAAM;aACb,CAAC;;AAEL,UAAA;AACH,cAAE,CAAA,CAAE;KACP;IACH;;AAEO,cAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,cAAA,CAAA,MAAM,GAAG,MAAH;AAzQb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;AACtB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;AADC,IAAA,QAAQ;AACY,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMrB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE;AAClC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AAMvB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE;AAClD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAMvB,UAAA,CAAA;AADC,IAAA,QAAQ;AACqB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,0BAAA,EAAA,MAAA,CAAA;AAM9B,UAAA,CAAA;AADC,IAAA,QAAQ;AACmB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,MAAA,CAAA;AAM5B,UAAA,CAAA;AADC,IAAA,QAAQ;AACoB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,0BAAA,EAAA,MAAA,CAAA;AAM7B,UAAA,CAAA;AADC,IAAA,QAAQ;AACoB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,MAAA,CAAA;AAO7B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;AACd,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAO3B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;AACd,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAM3B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;AACL,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAMrC,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;AACjD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACK,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAhQ5B,cAAc,GAAA,UAAA,CAAA;AADnB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;AACjC,CAAA,EAAA,cAAc,CA0bnB;AAED,uBAAe,cAAc;;;;"}