@carbon/web-components 1.33.0 → 1.34.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/custom-elements.json +21 -8
  2. package/dist/16-0941dd83.js +65 -0
  3. package/dist/16-28bddc31.js +65 -0
  4. package/dist/{16-61723e38.js → 16-8e34a1fb.js} +1 -1
  5. package/dist/{16-1e54ef69.js → 16-967865d0.js} +1 -1
  6. package/dist/{16-83c13872.js → 16-9e2c1ff1.js} +1 -1
  7. package/dist/16-a2e61b42.js +65 -0
  8. package/dist/{16-604aab02.js → 16-a6a38475.js} +1 -1
  9. package/dist/{16-61622d26.js → 16-a993279d.js} +1 -1
  10. package/dist/{16-897e344d.js → 16-deefa0c3.js} +1 -1
  11. package/dist/{16-481c3b8f.js → 16-efa1f157.js} +1 -1
  12. package/dist/20-68dfa4ba.js +65 -0
  13. package/dist/{16-4e44b70d.js → 20-f2be7924.js} +1 -1
  14. package/dist/accordion.min.js +1 -1
  15. package/dist/accordion.rtl.min.js +1 -1
  16. package/dist/breadcrumb.min.js +1 -1
  17. package/dist/breadcrumb.rtl.min.js +1 -1
  18. package/dist/{button-c71594fa.js → button-4e0b32c8.js} +1 -1
  19. package/dist/{button-e31ba29e.js → button-99f6b809.js} +1 -1
  20. package/dist/button.min.js +1 -1
  21. package/dist/button.rtl.min.js +1 -1
  22. package/dist/{checkbox-724e95de.js → checkbox-33a1eaf8.js} +1 -1
  23. package/dist/checkbox-7352ebd3.js +65 -0
  24. package/dist/checkbox.min.js +1 -1
  25. package/dist/checkbox.rtl.min.js +1 -1
  26. package/dist/{class-map-20d48808.js → class-map-bd61e03f.js} +2 -2
  27. package/dist/code-snippet.min.js +1 -1
  28. package/dist/code-snippet.rtl.min.js +2 -2
  29. package/dist/combo-box.min.js +1 -1
  30. package/dist/combo-box.rtl.min.js +1 -1
  31. package/dist/{content-switcher-item-96395561.js → content-switcher-item-55452b53.js} +1 -1
  32. package/dist/{content-switcher-item-77b690a9.js → content-switcher-item-f853369b.js} +1 -1
  33. package/dist/content-switcher.min.js +1 -1
  34. package/dist/content-switcher.rtl.min.js +1 -1
  35. package/dist/{copy-button-9cb9a0c6.js → copy-button-7a7bbaf8.js} +1 -1
  36. package/dist/{copy-button-50221d0f.js → copy-button-9fb90a01.js} +1 -1
  37. package/dist/copy-button.min.js +1 -1
  38. package/dist/copy-button.rtl.min.js +1 -1
  39. package/dist/data-table.min.js +1 -1
  40. package/dist/data-table.rtl.min.js +1 -1
  41. package/dist/date-picker.min.js +1 -1
  42. package/dist/date-picker.rtl.min.js +1 -1
  43. package/dist/{defineProperty-3aba2ee5.js → defineProperty-93eef18e.js} +1 -1
  44. package/dist/{dropdown-item-ba6ae5c0.js → dropdown-item-2d248e51.js} +1 -1
  45. package/dist/{dropdown-item-53fb6bdf.js → dropdown-item-9c062c1c.js} +1 -1
  46. package/dist/dropdown.min.js +1 -1
  47. package/dist/dropdown.rtl.min.js +1 -1
  48. package/dist/file-uploader.min.js +1 -1
  49. package/dist/file-uploader.rtl.min.js +1 -1
  50. package/dist/{floating-menu-821f738e.js → floating-menu-72acc1bc.js} +1 -1
  51. package/dist/floating-menu.min.js +1 -1
  52. package/dist/floating-menu.rtl.min.js +1 -1
  53. package/dist/{focus-d79d88d5.js → focus-1800056c.js} +1 -1
  54. package/dist/{form-79cb55d3.js → form-80943f8c.js} +1 -1
  55. package/dist/form.min.js +1 -1
  56. package/dist/form.rtl.min.js +1 -1
  57. package/dist/{host-listener-7ba48376.js → host-listener-01e0a787.js} +1 -1
  58. package/dist/{if-defined-e752b789.js → if-defined-dd1fb04b.js} +1 -1
  59. package/dist/{if-non-empty-e64f4f53.js → if-non-empty-f23befc6.js} +2 -2
  60. package/dist/{if-non-null-06324b2b.js → if-non-null-63ecd660.js} +2 -2
  61. package/dist/inline-loading.min.js +1 -1
  62. package/dist/inline-loading.rtl.min.js +1 -1
  63. package/dist/{input-5ec944df.js → input-47bf976e.js} +2 -2
  64. package/dist/{input-ecba9b56.js → input-e5442b90.js} +2 -2
  65. package/dist/input.min.js +1 -1
  66. package/dist/input.rtl.min.js +1 -1
  67. package/dist/{link-3c734b06.js → link-3bb57cfd.js} +1 -1
  68. package/dist/{link-aecb4d2a.js → link-d64eff5e.js} +1 -1
  69. package/dist/link.min.js +1 -1
  70. package/dist/link.rtl.min.js +1 -1
  71. package/dist/list.min.js +1 -1
  72. package/dist/list.rtl.min.js +1 -1
  73. package/dist/{loading-9ce928f0.js → loading-926a29f5.js} +1 -1
  74. package/dist/{loading-c77e0b8d.js → loading-a1c01e84.js} +1 -1
  75. package/dist/{loading-icon-45c89d9a.js → loading-icon-9d1c486a.js} +2 -2
  76. package/dist/loading.min.js +1 -1
  77. package/dist/loading.rtl.min.js +1 -1
  78. package/dist/modal.min.js +1 -1
  79. package/dist/modal.rtl.min.js +1 -1
  80. package/dist/multi-select.min.js +1 -1
  81. package/dist/multi-select.rtl.min.js +1 -1
  82. package/dist/notification.min.js +1 -1
  83. package/dist/notification.rtl.min.js +1 -1
  84. package/dist/number-input.min.js +1 -1
  85. package/dist/number-input.rtl.min.js +1 -1
  86. package/dist/{objectSpread2-65402b05.js → objectSpread2-8dc8a158.js} +1 -1
  87. package/dist/overflow-menu.min.js +1 -1
  88. package/dist/overflow-menu.rtl.min.js +1 -1
  89. package/dist/pagination.min.js +1 -1
  90. package/dist/pagination.rtl.min.js +1 -1
  91. package/dist/progress-indicator.min.js +1 -1
  92. package/dist/progress-indicator.rtl.min.js +1 -1
  93. package/dist/radio-button.min.js +1 -1
  94. package/dist/radio-button.rtl.min.js +1 -1
  95. package/dist/{radio-group-manager-eb1598f5.js → radio-group-manager-e095bcbf.js} +1 -1
  96. package/dist/{search-1a7ba563.js → search-87761b5e.js} +1 -1
  97. package/dist/{search-ce08ae42.js → search-f2955dfc.js} +1 -1
  98. package/dist/search.min.js +1 -1
  99. package/dist/search.rtl.min.js +1 -1
  100. package/dist/select.min.js +1 -1
  101. package/dist/select.rtl.min.js +1 -1
  102. package/dist/skeleton-placeholder.min.js +1 -1
  103. package/dist/skeleton-placeholder.rtl.min.js +1 -1
  104. package/dist/skeleton-text.min.js +1 -1
  105. package/dist/skeleton-text.rtl.min.js +1 -1
  106. package/dist/skip-to-content.min.js +1 -1
  107. package/dist/skip-to-content.rtl.min.js +1 -1
  108. package/dist/slider.min.js +1 -1
  109. package/dist/slider.rtl.min.js +1 -1
  110. package/dist/{spread-dc4ee429.js → spread-989d7408.js} +1 -1
  111. package/dist/structured-list.min.js +1 -1
  112. package/dist/structured-list.rtl.min.js +1 -1
  113. package/dist/tabs.min.js +2 -2
  114. package/dist/tabs.rtl.min.js +2 -2
  115. package/dist/tag.min.js +1 -1
  116. package/dist/tag.rtl.min.js +1 -1
  117. package/dist/textarea.min.js +1 -1
  118. package/dist/textarea.rtl.min.js +1 -1
  119. package/dist/tile.min.js +1 -1
  120. package/dist/tile.rtl.min.js +1 -1
  121. package/dist/toggle.min.js +2 -2
  122. package/dist/toggle.rtl.min.js +1 -1
  123. package/dist/tooltip.min.js +1 -1
  124. package/dist/tooltip.rtl.min.js +1 -1
  125. package/dist/ui-shell.min.js +2 -2
  126. package/dist/ui-shell.rtl.min.js +2 -2
  127. package/es/components/data-table/table-toolbar-search.js +1 -1
  128. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  129. package/es/components/file-uploader/drop-container.js +1 -1
  130. package/es/components/file-uploader/drop-container.js.map +1 -1
  131. package/es/components/input/input.d.ts +4 -5
  132. package/es/components/input/input.d.ts.map +1 -1
  133. package/es/components/input/input.js +16 -35
  134. package/es/components/input/input.js.map +1 -1
  135. package/es/components/overflow-menu/overflow-menu-body.js +1 -1
  136. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  137. package/es/components/overflow-menu/overflow-menu.js +1 -1
  138. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  139. package/es/components/pagination/page-sizes-select.js +1 -1
  140. package/es/components/pagination/page-sizes-select.js.map +1 -1
  141. package/es/components/slider/slider.js +1 -1
  142. package/es/components/slider/slider.js.map +1 -1
  143. package/es/components/structured-list/structured-list-row.js +1 -1
  144. package/es/components/structured-list/structured-list-row.js.map +1 -1
  145. package/es/components/tabs/tab.d.ts +8 -0
  146. package/es/components/tabs/tab.d.ts.map +1 -1
  147. package/es/components/tabs/tab.js +28 -4
  148. package/es/components/tabs/tab.js.map +1 -1
  149. package/es/components/tooltip/tooltip.js +2 -2
  150. package/es/components/tooltip/tooltip.js.map +1 -1
  151. package/es/components/ui-shell/side-nav-link.js +1 -1
  152. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  153. package/es/components/ui-shell/side-nav-menu-item.d.ts +1 -0
  154. package/es/components/ui-shell/side-nav-menu-item.d.ts.map +1 -1
  155. package/es/components/ui-shell/side-nav-menu-item.js +11 -0
  156. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  157. package/es/components/ui-shell/side-nav-menu.js +1 -1
  158. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  159. package/es/components/ui-shell/side-nav.js +1 -1
  160. package/es/components/ui-shell/side-nav.js.map +1 -1
  161. package/es/components-react/input/input.d.ts +4 -4
  162. package/es/components-react/input/input.js +2 -2
  163. package/es/components-react/tabs/tab.d.ts +4 -0
  164. package/es/components-react/tabs/tab.js +2 -0
  165. package/es/globals/wrappers/createReactCustomElementType.js +2 -1
  166. package/es/globals/wrappers/createReactCustomElementType.js.map +1 -1
  167. package/lib/components/accordion/defs.js +2 -4
  168. package/lib/components/accordion/defs.js.map +1 -1
  169. package/lib/components/button/defs.js +3 -6
  170. package/lib/components/button/defs.js.map +1 -1
  171. package/lib/components/code-snippet/defs.js +1 -2
  172. package/lib/components/code-snippet/defs.js.map +1 -1
  173. package/lib/components/content-switcher/defs.js +2 -4
  174. package/lib/components/content-switcher/defs.js.map +1 -1
  175. package/lib/components/data-table/defs.js +5 -10
  176. package/lib/components/data-table/defs.js.map +1 -1
  177. package/lib/components/date-picker/defs.js +2 -4
  178. package/lib/components/date-picker/defs.js.map +1 -1
  179. package/lib/components/dropdown/defs.js +4 -8
  180. package/lib/components/dropdown/defs.js.map +1 -1
  181. package/lib/components/file-uploader/defs.js +2 -4
  182. package/lib/components/file-uploader/defs.js.map +1 -1
  183. package/lib/components/floating-menu/defs.js +4 -8
  184. package/lib/components/floating-menu/defs.js.map +1 -1
  185. package/lib/components/inline-loading/defs.js +1 -2
  186. package/lib/components/inline-loading/defs.js.map +1 -1
  187. package/lib/components/input/defs.js +2 -4
  188. package/lib/components/input/defs.js.map +1 -1
  189. package/lib/components/loading/defs.js +1 -2
  190. package/lib/components/loading/defs.js.map +1 -1
  191. package/lib/components/modal/defs.js +1 -2
  192. package/lib/components/modal/defs.js.map +1 -1
  193. package/lib/components/notification/defs.js +2 -4
  194. package/lib/components/notification/defs.js.map +1 -1
  195. package/lib/components/number-input/defs.js +1 -2
  196. package/lib/components/number-input/defs.js.map +1 -1
  197. package/lib/components/overflow-menu/defs.js +2 -4
  198. package/lib/components/overflow-menu/defs.js.map +1 -1
  199. package/lib/components/progress-indicator/defs.js +1 -2
  200. package/lib/components/progress-indicator/defs.js.map +1 -1
  201. package/lib/components/radio-button/defs.js +2 -4
  202. package/lib/components/radio-button/defs.js.map +1 -1
  203. package/lib/components/skeleton-text/defs.js +1 -2
  204. package/lib/components/skeleton-text/defs.js.map +1 -1
  205. package/lib/components/tabs/defs.js +3 -6
  206. package/lib/components/tabs/defs.js.map +1 -1
  207. package/lib/components/tag/defs.js +2 -4
  208. package/lib/components/tag/defs.js.map +1 -1
  209. package/lib/components/toggle/defs.js +1 -2
  210. package/lib/components/toggle/defs.js.map +1 -1
  211. package/lib/components/tooltip/defs.js +2 -4
  212. package/lib/components/tooltip/defs.js.map +1 -1
  213. package/lib/components/ui-shell/defs.js +2 -4
  214. package/lib/components/ui-shell/defs.js.map +1 -1
  215. package/lib/components-react-node/accordion/accordion-item.js +25 -45
  216. package/lib/components-react-node/accordion/accordion.js +5 -8
  217. package/lib/components-react-node/breadcrumb/breadcrumb-item.js +3 -6
  218. package/lib/components-react-node/breadcrumb/breadcrumb-link.js +3 -6
  219. package/lib/components-react-node/breadcrumb/breadcrumb-overflow-menu.js +11 -6
  220. package/lib/components-react-node/breadcrumb/breadcrumb.js +3 -6
  221. package/lib/components-react-node/button/button-skeleton.js +7 -6
  222. package/lib/components-react-node/button/button.js +25 -45
  223. package/lib/components-react-node/checkbox/checkbox.js +25 -45
  224. package/lib/components-react-node/code-snippet/code-snippet-skeleton.js +5 -8
  225. package/lib/components-react-node/code-snippet/code-snippet.js +25 -45
  226. package/lib/components-react-node/combo-box/combo-box-item.js +11 -6
  227. package/lib/components-react-node/combo-box/combo-box.js +5 -8
  228. package/lib/components-react-node/content-switcher/content-switcher-item.js +25 -45
  229. package/lib/components-react-node/content-switcher/content-switcher.js +5 -8
  230. package/lib/components-react-node/copy-button/copy-button.js +25 -45
  231. package/lib/components-react-node/data-table/table-batch-actions.js +25 -45
  232. package/lib/components-react-node/data-table/table-body.js +5 -8
  233. package/lib/components-react-node/data-table/table-cell-skeleton.js +11 -6
  234. package/lib/components-react-node/data-table/table-cell.js +3 -6
  235. package/lib/components-react-node/data-table/table-expand-row.js +25 -45
  236. package/lib/components-react-node/data-table/table-expanded-row.js +25 -45
  237. package/lib/components-react-node/data-table/table-head.js +3 -6
  238. package/lib/components-react-node/data-table/table-header-cell-skeleton.js +11 -6
  239. package/lib/components-react-node/data-table/table-header-cell.js +25 -45
  240. package/lib/components-react-node/data-table/table-header-expand-row.js +25 -20
  241. package/lib/components-react-node/data-table/table-header-row.js +5 -8
  242. package/lib/components-react-node/data-table/table-row.js +25 -45
  243. package/lib/components-react-node/data-table/table-toolbar-content.js +25 -45
  244. package/lib/components-react-node/data-table/table-toolbar-search.js +25 -45
  245. package/lib/components-react-node/data-table/table-toolbar.js +3 -6
  246. package/lib/components-react-node/data-table/table.js +25 -45
  247. package/lib/components-react-node/date-picker/date-picker-input-skeleton.js +5 -8
  248. package/lib/components-react-node/date-picker/date-picker-input.js +25 -45
  249. package/lib/components-react-node/date-picker/date-picker.js +25 -45
  250. package/lib/components-react-node/dropdown/dropdown-item.js +25 -45
  251. package/lib/components-react-node/dropdown/dropdown-skeleton.js +3 -6
  252. package/lib/components-react-node/dropdown/dropdown.js +25 -45
  253. package/lib/components-react-node/file-uploader/drop-container.js +25 -45
  254. package/lib/components-react-node/file-uploader/file-uploader-item.js +25 -45
  255. package/lib/components-react-node/file-uploader/file-uploader.js +5 -8
  256. package/lib/components-react-node/floating-menu/floating-menu.js +2 -4
  257. package/lib/components-react-node/form/form-item.js +3 -6
  258. package/lib/components-react-node/inline-loading/inline-loading.js +5 -8
  259. package/lib/components-react-node/input/input.js +27 -47
  260. package/lib/components-react-node/link/link.js +25 -45
  261. package/lib/components-react-node/list/list-item.js +25 -45
  262. package/lib/components-react-node/list/ordered-list.js +11 -6
  263. package/lib/components-react-node/list/unordered-list.js +25 -45
  264. package/lib/components-react-node/loading/loading.js +25 -45
  265. package/lib/components-react-node/modal/modal-body.js +3 -6
  266. package/lib/components-react-node/modal/modal-close-button.js +5 -8
  267. package/lib/components-react-node/modal/modal-footer-button.js +7 -6
  268. package/lib/components-react-node/modal/modal-footer.js +3 -6
  269. package/lib/components-react-node/modal/modal-header.js +3 -6
  270. package/lib/components-react-node/modal/modal-heading.js +3 -6
  271. package/lib/components-react-node/modal/modal-label.js +3 -6
  272. package/lib/components-react-node/modal/modal.js +25 -45
  273. package/lib/components-react-node/multi-select/multi-select-item.js +41 -53
  274. package/lib/components-react-node/multi-select/multi-select.js +25 -45
  275. package/lib/components-react-node/notification/inline-notification.js +25 -45
  276. package/lib/components-react-node/notification/toast-notification.js +15 -10
  277. package/lib/components-react-node/number-input/number-input-skeleton.js +25 -45
  278. package/lib/components-react-node/number-input/number-input.js +25 -45
  279. package/lib/components-react-node/overflow-menu/overflow-menu-body.js +45 -57
  280. package/lib/components-react-node/overflow-menu/overflow-menu-item.js +25 -45
  281. package/lib/components-react-node/overflow-menu/overflow-menu.js +25 -45
  282. package/lib/components-react-node/pagination/page-sizes-select.js +25 -45
  283. package/lib/components-react-node/pagination/pages-select.js +25 -45
  284. package/lib/components-react-node/pagination/pagination.js +25 -45
  285. package/lib/components-react-node/progress-indicator/progress-indicator-skeleton.js +25 -45
  286. package/lib/components-react-node/progress-indicator/progress-indicator.js +25 -45
  287. package/lib/components-react-node/progress-indicator/progress-step-skeleton.js +25 -45
  288. package/lib/components-react-node/progress-indicator/progress-step.js +25 -45
  289. package/lib/components-react-node/radio-button/radio-button-group.js +25 -45
  290. package/lib/components-react-node/radio-button/radio-button-skeleton.js +3 -6
  291. package/lib/components-react-node/radio-button/radio-button.js +25 -45
  292. package/lib/components-react-node/search/search-skeleton.js +5 -8
  293. package/lib/components-react-node/search/search.js +25 -45
  294. package/lib/components-react-node/select/select-item-group.js +25 -45
  295. package/lib/components-react-node/select/select-item.js +25 -45
  296. package/lib/components-react-node/select/select.js +25 -45
  297. package/lib/components-react-node/skeleton-placeholder/skeleton-placeholder.js +3 -6
  298. package/lib/components-react-node/skeleton-text/skeleton-text.js +5 -8
  299. package/lib/components-react-node/skip-to-content/skip-to-content.js +5 -8
  300. package/lib/components-react-node/slider/slider-input.js +25 -45
  301. package/lib/components-react-node/slider/slider-skeleton.js +3 -6
  302. package/lib/components-react-node/slider/slider.js +25 -45
  303. package/lib/components-react-node/structured-list/structured-list-body.js +3 -6
  304. package/lib/components-react-node/structured-list/structured-list-cell.js +3 -6
  305. package/lib/components-react-node/structured-list/structured-list-head.js +3 -6
  306. package/lib/components-react-node/structured-list/structured-list-header-cell-skeleton.js +3 -6
  307. package/lib/components-react-node/structured-list/structured-list-header-cell.js +3 -6
  308. package/lib/components-react-node/structured-list/structured-list-header-row.js +5 -8
  309. package/lib/components-react-node/structured-list/structured-list-row.js +25 -45
  310. package/lib/components-react-node/structured-list/structured-list.js +5 -8
  311. package/lib/components-react-node/tabs/tab-skeleton.js +3 -6
  312. package/lib/components-react-node/tabs/tab.js +41 -51
  313. package/lib/components-react-node/tabs/tabs-skeleton.js +3 -6
  314. package/lib/components-react-node/tabs/tabs.js +39 -34
  315. package/lib/components-react-node/tag/filter-tag.js +25 -45
  316. package/lib/components-react-node/tag/tag.js +25 -45
  317. package/lib/components-react-node/textarea/textarea-skeleton.js +3 -6
  318. package/lib/components-react-node/textarea/textarea.js +25 -45
  319. package/lib/components-react-node/tile/clickable-tile.js +5 -8
  320. package/lib/components-react-node/tile/expandable-tile.js +25 -45
  321. package/lib/components-react-node/tile/radio-tile.js +11 -6
  322. package/lib/components-react-node/tile/selectable-tile.js +25 -45
  323. package/lib/components-react-node/tile/tile-group.js +3 -6
  324. package/lib/components-react-node/tile/tile.js +5 -8
  325. package/lib/components-react-node/toggle/toggle.js +5 -8
  326. package/lib/components-react-node/tooltip/tooltip-body.js +41 -53
  327. package/lib/components-react-node/tooltip/tooltip-definition.js +5 -8
  328. package/lib/components-react-node/tooltip/tooltip-footer.js +3 -6
  329. package/lib/components-react-node/tooltip/tooltip-icon.js +11 -6
  330. package/lib/components-react-node/tooltip/tooltip.js +25 -45
  331. package/lib/components-react-node/ui-shell/header-menu-button.js +25 -45
  332. package/lib/components-react-node/ui-shell/header-menu-item.js +11 -6
  333. package/lib/components-react-node/ui-shell/header-menu.js +25 -45
  334. package/lib/components-react-node/ui-shell/header-name.js +5 -8
  335. package/lib/components-react-node/ui-shell/header-nav-item.js +5 -8
  336. package/lib/components-react-node/ui-shell/header-nav.js +5 -8
  337. package/lib/components-react-node/ui-shell/header.js +3 -6
  338. package/lib/components-react-node/ui-shell/side-nav-divider.js +3 -6
  339. package/lib/components-react-node/ui-shell/side-nav-items.js +3 -6
  340. package/lib/components-react-node/ui-shell/side-nav-link.js +25 -45
  341. package/lib/components-react-node/ui-shell/side-nav-menu-item.js +25 -45
  342. package/lib/components-react-node/ui-shell/side-nav-menu.js +25 -45
  343. package/lib/components-react-node/ui-shell/side-nav.js +25 -45
  344. package/lib/globals/settings.js +1 -2
  345. package/lib/globals/settings.js.map +1 -1
  346. package/lib/globals/shared-enums.js +1 -2
  347. package/lib/globals/shared-enums.js.map +1 -1
  348. package/lib/globals/wrappers/createReactCustomElementType.js +3 -4
  349. package/lib/globals/wrappers/createReactCustomElementType.js.map +1 -1
  350. package/package.json +8 -8
  351. package/dist/16-b206f640.js +0 -65
  352. package/dist/16-ce95fee1.js +0 -65
  353. package/dist/20-434c5bc4.js +0 -65
  354. package/dist/20-99b4c026.js +0 -65
  355. package/dist/checkbox-a3f539a3.js +0 -65
  356. /package/dist/{settings-f1ddfc10.js → settings-898bd7b0.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","names":["classMap","throttle","html","property","query","LitElement","settings","FocusMixin","FormMixin","HostListenerMixin","HostListener","ifNonEmpty","styles","carbonElement","customElement","prefix","THUMB_DIRECTION","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","BXSlider","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_rate","max","min","Math","Number","rate","step","round","decorators","_handleClickLabel","_this$_thumbNode","_thumbNode","focus","_handleFormdata","event","formData","disabled","name","append","String","_handleKeydown","shiftKey","rawMax","rawMin","rawStep","stepRatio","rawStepRatio","diff","stepCount","floor","ceil","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","intermediate","_startDrag","_dragging","style","touchAction","_handleClick","_trackNode","trackNode","isRtl","ownerDocument","defaultView","getComputedStyle","getPropertyValue","thumbPosition","clientX","left","trackLeft","width","trackWidth","getBoundingClientRect","dragging","_throttledHandlePointermoveImpl","_handlePointermoveImpl","type","Boolean","reflect","attribute","_max","toString","oldMax","requestUpdate","_min","oldMin","_step","oldStep","_stepRatio","oldStepRatio","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","cancel","shouldUpdate","changedProperties","input","querySelector","selectorInput","has","forEach","render","formatMaxText","formatMinText","labelText","handleClickLabel","handleKeydown","handleClick","startDrag","_endDrag","endDrag","labelClasses","sliderClasses","_t","_","static","eventChangeInput"],"sources":["components/slider/slider.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit-html/directives/class-map';\nimport throttle from 'lodash-es/throttle';\nimport { html, property, query, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport BXSliderInput from './slider-input';\nimport styles from './slider.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * The direction to move the thumb, associated with key symbols.\n */\nconst THUMB_DIRECTION = {\n Left: -1,\n ArrowLeft: -1,\n Up: -1,\n ArrowUp: -1,\n Right: 1,\n ArrowRight: 1,\n Down: 1,\n ArrowDown: 1,\n};\n\n/**\n * Slider.\n *\n * @element bx-slider\n * @slot label-text - The label text.\n * @slot max-text - The text for maximum value.\n * @slot min-text - The text for minimum value.\n * @fires bx-slider-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider`)\nclass BXSlider extends HostListenerMixin(FormMixin(FocusMixin(LitElement))) {\n /**\n * The internal value of `max` property.\n */\n private _max = '100';\n\n /**\n * The internal value of `min` property.\n */\n private _min = '0';\n\n /**\n * The internal value of `step` property.\n */\n private _step = '1';\n\n /**\n * The internal value of `stepRatio` property.\n */\n private _stepRatio = '4';\n\n /**\n * The handle for the throttled listener of `pointermove` event.\n */\n private _throttledHandlePointermoveImpl:\n | (((event: PointerEvent) => void) & Cancelable)\n | null = null;\n\n /**\n * `true` if dragging of thumb is in progress.\n */\n private _dragging = false;\n\n /**\n * The rate of the thumb position in the track.\n * When we try to set a new value, we adjust the value considering `step` property.\n */\n private get _rate() {\n const { max, min, value } = this;\n // Copes with out-of-range value coming programmatically or from `<bx-slider-input>`\n return (\n (Math.min(Number(max), Math.max(Number(min), value)) - Number(min)) /\n (Number(max) - Number(min))\n );\n }\n\n private set _rate(rate: number) {\n const { max, min, step } = this;\n this.value =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rate))) /\n Number(step)\n ) *\n Number(step);\n }\n\n /**\n * The DOM element of the thumb.\n */\n @query('#thumb')\n private _thumbNode!: HTMLDivElement;\n\n /**\n * The DOM element of the track.\n */\n @query('#track')\n private _trackNode!: HTMLDivElement;\n\n /**\n * Handles `click` event on the `<label>` to focus on the thumb.\n */\n _handleClickLabel() {\n this._thumbNode?.focus();\n }\n\n _handleFormdata(event: Event) {\n const { formData } = event as any; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, String(value));\n }\n }\n\n /**\n * Handles `keydown` event on the thumb to increase/decrease the value.\n */\n private _handleKeydown({ key, shiftKey }: KeyboardEvent) {\n if (!this.disabled) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepRatio: rawStepRatio,\n value,\n } = this;\n const max = Number(rawMax);\n const min = Number(rawMin);\n const step = Number(rawStep);\n const stepRatio = Number(rawStepRatio);\n const diff =\n (!shiftKey ? step : (max - min) / stepRatio) * THUMB_DIRECTION[key];\n const stepCount = (value + diff) / step;\n // Snaps to next\n this.value = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n })\n );\n }\n }\n }\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag() {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n }\n\n /**\n * Handles `pointerdown` event on the track to update the thumb position and the value as necessary.\n */\n private _handleClick(event: PointerEvent) {\n if (!this.disabled) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointermove` to update the thumb position and the value as necessary.\n *\n * @param event The event.\n */\n @HostListener('document:pointermove')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handlePointermove = (event: PointerEvent) => {\n const { disabled, _dragging: dragging } = this;\n if (!disabled && dragging) {\n this._throttledHandlePointermoveImpl!(event);\n }\n };\n\n /**\n * Updates thumb position and value upon user's `pointermove` gesture.\n *\n * @param event The event.\n */\n private _handlePointermoveImpl(event: PointerEvent) {\n const { disabled, _dragging: dragging, _trackNode: trackNode } = this;\n if (!disabled && dragging) {\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n this._trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n if (this._dragging) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n this._dragging = false;\n this._thumbNode.style.touchAction = '';\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = ({ detail }: CustomEvent) => {\n const { intermediate, value } = detail;\n this.value = value;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n intermediate,\n },\n })\n );\n };\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The formatter for the text for maximum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMaxText = ({ max }: { max: string }) => max;\n\n /**\n * The formatter for the text for minimum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMinText = ({ min }: { min: string }) => min;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const { max: oldMax } = this;\n this._max = value;\n this.requestUpdate('max', oldMax);\n }\n\n /**\n * The minimum value.\n */\n @property({ type: Number, reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const { min: oldMin } = this;\n this._min = value;\n this.requestUpdate('min', oldMin);\n }\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * The snapping step of the value.\n */\n @property({ type: Number, reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const { step: oldStep } = this;\n this._step = value;\n this.requestUpdate('step', oldStep);\n }\n\n /**\n * A value determining how much the value should increase/decrease by Shift+arrow keys,\n * which will be `(max - min) / stepRatio`.\n */\n @property({ type: Number, reflect: true, attribute: 'step-ratio' })\n get stepRatio() {\n return this._stepRatio.toString();\n }\n\n set stepRatio(value) {\n const { stepRatio: oldStepRatio } = this;\n this._stepRatio = value;\n this.requestUpdate('stepRatio', oldStepRatio);\n }\n\n /**\n * The value.\n */\n @property({ type: Number })\n value = 50;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (!this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl = throttle(\n this._handlePointermoveImpl,\n 10\n );\n }\n }\n\n disconnectedCallback() {\n if (this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl.cancel();\n this._throttledHandlePointermoveImpl = null;\n }\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n const input = this.querySelector(\n (this.constructor as typeof BXSlider).selectorInput\n ) as BXSliderInput;\n if (changedProperties.has('disabled')) {\n if (input) {\n input.disabled = this.disabled;\n }\n if (this.disabled) {\n this._dragging = false;\n }\n }\n if (input) {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (changedProperties.has(name)) {\n input[name] = this[name];\n }\n });\n }\n return true;\n }\n\n render() {\n const {\n disabled,\n formatMaxText,\n formatMinText,\n labelText,\n max,\n min,\n name,\n value,\n _rate: rate,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n _startDrag: startDrag,\n _endDrag: endDrag,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n });\n const sliderClasses = classMap({\n [`${prefix}--slider`]: true,\n [`${prefix}--slider--disabled`]: disabled,\n });\n return html`\n <label class=\"${labelClasses}\" @click=\"${handleClickLabel}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div class=\"${prefix}--slider-container\">\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"min-text\">${formatMinText({ min })}</slot>\n </span>\n <div\n @keydown=\"${handleKeydown}\"\n @click=\"${handleClick}\"\n @pointerup=\"${endDrag}\"\n @pointerleave=\"${endDrag}\"\n class=\"${sliderClasses}\"\n role=\"presentation\">\n <div\n id=\"thumb\"\n class=\"${prefix}--slider__thumb\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n style=\"left: ${rate * 100}%\"\n @pointerdown=\"${startDrag}\"></div>\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div\n class=\"${prefix}--slider__filled-track\"\n style=\"transform: translate(0%, -50%) scaleX(${rate})\"></div>\n </div>\n <input\n class=\"${prefix}--slider__input\"\n type=\"hidden\"\n name=\"${ifNonEmpty(name)}\"\n .value=\"${value}\"\n min=\"${ifNonEmpty(min)}\"\n max=\"${ifNonEmpty(max)}\" />\n </div>\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"max-text\">${formatMaxText({ max })}</slot>\n </span>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * A selector that will return the `<input>` box got entering the value directly.\n */\n static get selectorInput() {\n return `${prefix}-slider-input`;\n }\n\n /**\n * The name of the custom event fired after the value is changed by user gesture.\n */\n static get eventChange() {\n return `${prefix}-slider-changed`;\n }\n\n /**\n * The name of the custom event fired after the value is changed in `<bx-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXSlider;\n"],"mappings":"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"}
1
+ {"version":3,"file":"slider.js","names":["classMap","throttle","html","property","query","LitElement","settings","FocusMixin","FormMixin","HostListenerMixin","HostListener","ifNonEmpty","styles","carbonElement","customElement","prefix","THUMB_DIRECTION","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","BXSlider","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_rate","max","min","Math","Number","rate","step","round","decorators","_handleClickLabel","_this$_thumbNode","_thumbNode","focus","_handleFormdata","event","formData","disabled","name","append","String","_handleKeydown","shiftKey","rawMax","rawMin","rawStep","stepRatio","rawStepRatio","diff","stepCount","floor","ceil","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","intermediate","_startDrag","_dragging","style","touchAction","_handleClick","_trackNode","trackNode","isRtl","ownerDocument","defaultView","getComputedStyle","getPropertyValue","thumbPosition","clientX","left","trackLeft","width","trackWidth","getBoundingClientRect","dragging","_throttledHandlePointermoveImpl","_handlePointermoveImpl","type","Boolean","reflect","attribute","_max","toString","oldMax","requestUpdate","_min","oldMin","_step","oldStep","_stepRatio","oldStepRatio","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","cancel","shouldUpdate","changedProperties","input","querySelector","selectorInput","has","forEach","render","formatMaxText","formatMinText","labelText","handleClickLabel","handleKeydown","handleClick","startDrag","_endDrag","endDrag","labelClasses","sliderClasses","_t","_","static","eventChangeInput"],"sources":["components/slider/slider.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit-html/directives/class-map';\nimport throttle from 'lodash-es/throttle';\nimport { html, property, query, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport BXSliderInput from './slider-input';\nimport styles from './slider.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * The direction to move the thumb, associated with key symbols.\n */\nconst THUMB_DIRECTION = {\n Left: -1,\n ArrowLeft: -1,\n Up: -1,\n ArrowUp: -1,\n Right: 1,\n ArrowRight: 1,\n Down: 1,\n ArrowDown: 1,\n};\n\n/**\n * Slider.\n *\n * @element bx-slider\n * @slot label-text - The label text.\n * @slot max-text - The text for maximum value.\n * @slot min-text - The text for minimum value.\n * @fires bx-slider-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider`)\nclass BXSlider extends HostListenerMixin(FormMixin(FocusMixin(LitElement))) {\n /**\n * The internal value of `max` property.\n */\n private _max = '100';\n\n /**\n * The internal value of `min` property.\n */\n private _min = '0';\n\n /**\n * The internal value of `step` property.\n */\n private _step = '1';\n\n /**\n * The internal value of `stepRatio` property.\n */\n private _stepRatio = '4';\n\n /**\n * The handle for the throttled listener of `pointermove` event.\n */\n private _throttledHandlePointermoveImpl:\n | (((event: PointerEvent) => void) & Cancelable)\n | null = null;\n\n /**\n * `true` if dragging of thumb is in progress.\n */\n private _dragging = false;\n\n /**\n * The rate of the thumb position in the track.\n * When we try to set a new value, we adjust the value considering `step` property.\n */\n private get _rate() {\n const { max, min, value } = this;\n // Copes with out-of-range value coming programmatically or from `<bx-slider-input>`\n return (\n (Math.min(Number(max), Math.max(Number(min), value)) - Number(min)) /\n (Number(max) - Number(min))\n );\n }\n\n private set _rate(rate: number) {\n const { max, min, step } = this;\n this.value =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rate))) /\n Number(step)\n ) *\n Number(step);\n }\n\n /**\n * The DOM element of the thumb.\n */\n @query('#thumb')\n private _thumbNode!: HTMLDivElement;\n\n /**\n * The DOM element of the track.\n */\n @query('#track')\n private _trackNode!: HTMLDivElement;\n\n /**\n * Handles `click` event on the `<label>` to focus on the thumb.\n */\n _handleClickLabel() {\n this._thumbNode?.focus();\n }\n\n _handleFormdata(event: Event) {\n const { formData } = event as any; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, String(value));\n }\n }\n\n /**\n * Handles `keydown` event on the thumb to increase/decrease the value.\n */\n private _handleKeydown({ key, shiftKey }: KeyboardEvent) {\n if (!this.disabled) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepRatio: rawStepRatio,\n value,\n } = this;\n const max = Number(rawMax);\n const min = Number(rawMin);\n const step = Number(rawStep);\n const stepRatio = Number(rawStepRatio);\n const diff =\n (!shiftKey ? step : (max - min) / stepRatio) * THUMB_DIRECTION[key];\n const stepCount = (value + diff) / step;\n // Snaps to next\n this.value = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n })\n );\n }\n }\n }\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag() {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n }\n\n /**\n * Handles `pointerdown` event on the track to update the thumb position and the value as necessary.\n */\n private _handleClick(event: PointerEvent) {\n if (!this.disabled) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointermove` to update the thumb position and the value as necessary.\n *\n * @param event The event.\n */\n @HostListener('document:pointermove')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handlePointermove = (event: PointerEvent) => {\n const { disabled, _dragging: dragging } = this;\n if (!disabled && dragging) {\n this._throttledHandlePointermoveImpl!(event);\n }\n };\n\n /**\n * Updates thumb position and value upon user's `pointermove` gesture.\n *\n * @param event The event.\n */\n private _handlePointermoveImpl(event: PointerEvent) {\n const { disabled, _dragging: dragging, _trackNode: trackNode } = this;\n if (!disabled && dragging) {\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n this._trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n if (this._dragging) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n this._dragging = false;\n this._thumbNode.style.touchAction = '';\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = ({ detail }: CustomEvent) => {\n const { intermediate, value } = detail;\n this.value = value;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n intermediate,\n },\n })\n );\n };\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The formatter for the text for maximum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMaxText = ({ max }: { max: string }) => max;\n\n /**\n * The formatter for the text for minimum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMinText = ({ min }: { min: string }) => min;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const { max: oldMax } = this;\n this._max = value;\n this.requestUpdate('max', oldMax);\n }\n\n /**\n * The minimum value.\n */\n @property({ type: Number, reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const { min: oldMin } = this;\n this._min = value;\n this.requestUpdate('min', oldMin);\n }\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * The snapping step of the value.\n */\n @property({ type: Number, reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const { step: oldStep } = this;\n this._step = value;\n this.requestUpdate('step', oldStep);\n }\n\n /**\n * A value determining how much the value should increase/decrease by Shift+arrow keys,\n * which will be `(max - min) / stepRatio`.\n */\n @property({ type: Number, reflect: true, attribute: 'step-ratio' })\n get stepRatio() {\n return this._stepRatio.toString();\n }\n\n set stepRatio(value) {\n const { stepRatio: oldStepRatio } = this;\n this._stepRatio = value;\n this.requestUpdate('stepRatio', oldStepRatio);\n }\n\n /**\n * The value.\n */\n @property({ type: Number })\n value = 50;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (!this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl = throttle(\n this._handlePointermoveImpl,\n 10\n );\n }\n }\n\n disconnectedCallback() {\n if (this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl.cancel();\n this._throttledHandlePointermoveImpl = null;\n }\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n const input = this.querySelector(\n (this.constructor as typeof BXSlider).selectorInput\n ) as BXSliderInput;\n if (changedProperties.has('disabled')) {\n if (input) {\n input.disabled = this.disabled;\n }\n if (this.disabled) {\n this._dragging = false;\n }\n }\n if (input) {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (changedProperties.has(name)) {\n input[name] = this[name];\n }\n });\n }\n return true;\n }\n\n render() {\n const {\n disabled,\n formatMaxText,\n formatMinText,\n labelText,\n max,\n min,\n name,\n value,\n _rate: rate,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n _startDrag: startDrag,\n _endDrag: endDrag,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n });\n const sliderClasses = classMap({\n [`${prefix}--slider`]: true,\n [`${prefix}--slider--disabled`]: disabled,\n });\n return html`\n <label class=\"${labelClasses}\" @click=\"${handleClickLabel}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div class=\"${prefix}--slider-container\">\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"min-text\">${formatMinText({ min })}</slot>\n </span>\n <div\n @keydown=\"${handleKeydown}\"\n @click=\"${handleClick}\"\n @pointerup=\"${endDrag}\"\n @pointerleave=\"${endDrag}\"\n class=\"${sliderClasses}\"\n role=\"presentation\">\n <div\n id=\"thumb\"\n class=\"${prefix}--slider__thumb\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n style=\"left: ${rate * 100}%\"\n @pointerdown=\"${startDrag}\"></div>\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div\n class=\"${prefix}--slider__filled-track\"\n style=\"transform: translate(0%, -50%) scaleX(${rate})\"></div>\n </div>\n <input\n class=\"${prefix}--slider__input\"\n type=\"hidden\"\n name=\"${ifNonEmpty(name)}\"\n .value=\"${value}\"\n min=\"${ifNonEmpty(min)}\"\n max=\"${ifNonEmpty(max)}\" />\n </div>\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"max-text\">${formatMaxText({ max })}</slot>\n </span>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * A selector that will return the `<input>` box got entering the value directly.\n */\n static get selectorInput() {\n return `${prefix}-slider-input`;\n }\n\n /**\n * The name of the custom event fired after the value is changed by user gesture.\n */\n static get eventChange() {\n return `${prefix}-slider-changed`;\n }\n\n /**\n * The name of the custom event fired after the value is changed in `<bx-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXSlider;\n"],"mappings":"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"}
@@ -233,7 +233,7 @@ let BXStructuredListRow = _decorate([customElement(`${prefix}-structured-list-ro
233
233
  } = this;
234
234
  if (selectionName) {
235
235
  var _this$_manager;
236
- (_this$_manager = this._manager) === null || _this$_manager === void 0 ? void 0 : _this$_manager.add(this._radioButtonDelegate);
236
+ (_this$_manager = this._manager) === null || _this$_manager === void 0 || _this$_manager.add(this._radioButtonDelegate);
237
237
  }
238
238
  }
239
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"structured-list-row.js","names":["settings","ifDefined","html","property","query","LitElement","CheckmarkFilled16","HostListener","HostListenerMixin","RadioGroupManager","NAVIGATION_DIRECTION","styles","carbonElement","customElement","prefix","navigationDirectionForKey","ArrowUp","BACKWARD","Up","ArrowDown","FORWARD","Down","StructuredListRowRadioButtonDelegate","constructor","row","_row","checked","selected","tabIndex","name","selectionName","compareDocumentPosition","other","focus","BXStructuredListRow","_decorate","_initialize","_HostListenerMixin","args","F","d","kind","key","value","decorators","_inputNode","inputNode","_manager","select","_radioButtonDelegate","event","manager","navigationDirection","navigate","type","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","get","getRootNode","composed","_this$_manager","add","disconnectedCallback","delete","updated","changedProperties","has","shouldBeFocusable","render","selectionValue","selectionIconTitle","_t","_","class","title","_t2","static"],"sources":["components/structured-list/structured-list-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, property, query, LitElement } from 'lit-element';\nimport CheckmarkFilled16 from '@carbon/icons/lib/checkmark--filled/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport RadioGroupManager, {\n NAVIGATION_DIRECTION,\n ManagedRadioButtonDelegate,\n} from '../../globals/internal/radio-group-manager';\nimport styles from './structured-list.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Map of navigation direction by key.\n */\nconst navigationDirectionForKey = {\n ArrowUp: NAVIGATION_DIRECTION.BACKWARD,\n Up: NAVIGATION_DIRECTION.BACKWARD, // IE\n ArrowDown: NAVIGATION_DIRECTION.FORWARD,\n Down: NAVIGATION_DIRECTION.FORWARD, // IE\n};\n\n/**\n * The interface for `RadioGroupManager` for structured list row.\n */\nclass StructuredListRowRadioButtonDelegate\n implements ManagedRadioButtonDelegate\n{\n /**\n * The structured list row to target.\n */\n private _row: BXStructuredListRow;\n\n constructor(row: BXStructuredListRow) {\n this._row = row;\n }\n\n get checked() {\n return this._row.selected;\n }\n\n set checked(checked) {\n this._row.selected = checked;\n this._row.tabIndex = checked ? 0 : -1;\n }\n\n get tabIndex() {\n return this._row.tabIndex;\n }\n\n set tabIndex(tabIndex) {\n this._row.tabIndex = tabIndex;\n }\n\n get name() {\n return this._row.selectionName;\n }\n\n compareDocumentPosition(other: StructuredListRowRadioButtonDelegate) {\n return this._row.compareDocumentPosition(other._row);\n }\n\n focus() {\n this._row.focus();\n }\n}\n\n/**\n * Structured list row.\n *\n * @element bx-structured-list-row\n */\n@customElement(`${prefix}-structured-list-row`)\nclass BXStructuredListRow extends HostListenerMixin(LitElement) {\n /**\n * The radio group manager associated with the radio button.\n */\n private _manager: RadioGroupManager | null = null;\n\n /**\n * The interface for `RadioGroupManager` for structured list row.\n */\n private _radioButtonDelegate = new StructuredListRowRadioButtonDelegate(this);\n\n /**\n * The hidden radio button.\n */\n @query('#input')\n private _inputNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = () => {\n const { _inputNode: inputNode } = this;\n if (inputNode) {\n this.selected = true;\n if (this._manager) {\n this._manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = (event: KeyboardEvent) => {\n const { _inputNode: inputNode } = this;\n const manager = this._manager;\n if (inputNode && manager) {\n const navigationDirection = navigationDirectionForKey[event.key];\n if (navigationDirection) {\n manager.select(\n manager.navigate(this._radioButtonDelegate, navigationDirection)\n );\n }\n if (event.key === ' ' || event.key === 'Enter') {\n manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * `true` if this structured list row should be selectable and selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this structured list row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n /**\n * The content to put into the `<title>` attribute of the selection icon.\n */\n @property({ attribute: 'selection-icon-title' })\n selectionIconTitle = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n if (!this._manager) {\n this._manager = RadioGroupManager.get(\n this.getRootNode({ composed: true }) as Document\n );\n const { selectionName } = this;\n if (selectionName) {\n this._manager?.add(this._radioButtonDelegate);\n }\n }\n }\n\n disconnectedCallback() {\n if (this._manager) {\n this._manager.delete(this._radioButtonDelegate);\n }\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { _manager: manager, selectionName } = this;\n if (changedProperties.has('selectionName')) {\n if (manager) {\n manager.delete(\n this._radioButtonDelegate,\n changedProperties.get('selectionName')\n );\n if (selectionName) {\n manager.add(this._radioButtonDelegate);\n }\n }\n this.setAttribute(\n 'tabindex',\n !selectionName ||\n !manager ||\n !manager.shouldBeFocusable(this._radioButtonDelegate)\n ? '-1'\n : '0'\n );\n }\n }\n\n render() {\n const { selected, selectionName, selectionValue, selectionIconTitle } =\n this;\n if (selectionName) {\n // \"Selected\" style with `.bx--structured-list-td` does not work somehow - Need investigation\n return html`\n <slot></slot>\n <input\n id=\"input\"\n type=\"radio\"\n class=\"${prefix}--structured-list-input\"\n .checked=${selected}\n name=${selectionName}\n value=${ifDefined(selectionValue)} />\n <div\n class=\"${prefix}--structured-list-td ${prefix}--structured-list-cell\">\n ${CheckmarkFilled16({\n class: `${prefix}--structured-list-svg`,\n title: selectionIconTitle,\n })}\n </div>\n `;\n }\n return html` <slot></slot> `;\n }\n\n static styles = styles;\n}\n\nexport default BXStructuredListRow;\n"],"mappings":"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"}
1
+ {"version":3,"file":"structured-list-row.js","names":["settings","ifDefined","html","property","query","LitElement","CheckmarkFilled16","HostListener","HostListenerMixin","RadioGroupManager","NAVIGATION_DIRECTION","styles","carbonElement","customElement","prefix","navigationDirectionForKey","ArrowUp","BACKWARD","Up","ArrowDown","FORWARD","Down","StructuredListRowRadioButtonDelegate","constructor","row","_row","checked","selected","tabIndex","name","selectionName","compareDocumentPosition","other","focus","BXStructuredListRow","_decorate","_initialize","_HostListenerMixin","args","F","d","kind","key","value","decorators","_inputNode","inputNode","_manager","select","_radioButtonDelegate","event","manager","navigationDirection","navigate","type","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","get","getRootNode","composed","_this$_manager","add","disconnectedCallback","delete","updated","changedProperties","has","shouldBeFocusable","render","selectionValue","selectionIconTitle","_t","_","class","title","_t2","static"],"sources":["components/structured-list/structured-list-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, property, query, LitElement } from 'lit-element';\nimport CheckmarkFilled16 from '@carbon/icons/lib/checkmark--filled/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport RadioGroupManager, {\n NAVIGATION_DIRECTION,\n ManagedRadioButtonDelegate,\n} from '../../globals/internal/radio-group-manager';\nimport styles from './structured-list.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Map of navigation direction by key.\n */\nconst navigationDirectionForKey = {\n ArrowUp: NAVIGATION_DIRECTION.BACKWARD,\n Up: NAVIGATION_DIRECTION.BACKWARD, // IE\n ArrowDown: NAVIGATION_DIRECTION.FORWARD,\n Down: NAVIGATION_DIRECTION.FORWARD, // IE\n};\n\n/**\n * The interface for `RadioGroupManager` for structured list row.\n */\nclass StructuredListRowRadioButtonDelegate\n implements ManagedRadioButtonDelegate\n{\n /**\n * The structured list row to target.\n */\n private _row: BXStructuredListRow;\n\n constructor(row: BXStructuredListRow) {\n this._row = row;\n }\n\n get checked() {\n return this._row.selected;\n }\n\n set checked(checked) {\n this._row.selected = checked;\n this._row.tabIndex = checked ? 0 : -1;\n }\n\n get tabIndex() {\n return this._row.tabIndex;\n }\n\n set tabIndex(tabIndex) {\n this._row.tabIndex = tabIndex;\n }\n\n get name() {\n return this._row.selectionName;\n }\n\n compareDocumentPosition(other: StructuredListRowRadioButtonDelegate) {\n return this._row.compareDocumentPosition(other._row);\n }\n\n focus() {\n this._row.focus();\n }\n}\n\n/**\n * Structured list row.\n *\n * @element bx-structured-list-row\n */\n@customElement(`${prefix}-structured-list-row`)\nclass BXStructuredListRow extends HostListenerMixin(LitElement) {\n /**\n * The radio group manager associated with the radio button.\n */\n private _manager: RadioGroupManager | null = null;\n\n /**\n * The interface for `RadioGroupManager` for structured list row.\n */\n private _radioButtonDelegate = new StructuredListRowRadioButtonDelegate(this);\n\n /**\n * The hidden radio button.\n */\n @query('#input')\n private _inputNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = () => {\n const { _inputNode: inputNode } = this;\n if (inputNode) {\n this.selected = true;\n if (this._manager) {\n this._manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = (event: KeyboardEvent) => {\n const { _inputNode: inputNode } = this;\n const manager = this._manager;\n if (inputNode && manager) {\n const navigationDirection = navigationDirectionForKey[event.key];\n if (navigationDirection) {\n manager.select(\n manager.navigate(this._radioButtonDelegate, navigationDirection)\n );\n }\n if (event.key === ' ' || event.key === 'Enter') {\n manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * `true` if this structured list row should be selectable and selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this structured list row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n /**\n * The content to put into the `<title>` attribute of the selection icon.\n */\n @property({ attribute: 'selection-icon-title' })\n selectionIconTitle = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n if (!this._manager) {\n this._manager = RadioGroupManager.get(\n this.getRootNode({ composed: true }) as Document\n );\n const { selectionName } = this;\n if (selectionName) {\n this._manager?.add(this._radioButtonDelegate);\n }\n }\n }\n\n disconnectedCallback() {\n if (this._manager) {\n this._manager.delete(this._radioButtonDelegate);\n }\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { _manager: manager, selectionName } = this;\n if (changedProperties.has('selectionName')) {\n if (manager) {\n manager.delete(\n this._radioButtonDelegate,\n changedProperties.get('selectionName')\n );\n if (selectionName) {\n manager.add(this._radioButtonDelegate);\n }\n }\n this.setAttribute(\n 'tabindex',\n !selectionName ||\n !manager ||\n !manager.shouldBeFocusable(this._radioButtonDelegate)\n ? '-1'\n : '0'\n );\n }\n }\n\n render() {\n const { selected, selectionName, selectionValue, selectionIconTitle } =\n this;\n if (selectionName) {\n // \"Selected\" style with `.bx--structured-list-td` does not work somehow - Need investigation\n return html`\n <slot></slot>\n <input\n id=\"input\"\n type=\"radio\"\n class=\"${prefix}--structured-list-input\"\n .checked=${selected}\n name=${selectionName}\n value=${ifDefined(selectionValue)} />\n <div\n class=\"${prefix}--structured-list-td ${prefix}--structured-list-cell\">\n ${CheckmarkFilled16({\n class: `${prefix}--structured-list-svg`,\n title: selectionIconTitle,\n })}\n </div>\n `;\n }\n return html` <slot></slot> `;\n }\n\n static styles = styles;\n}\n\nexport default BXStructuredListRow;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,SAAS,QAAQ,gCAAgC;AAC1D,SAASC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,UAAU,QAAQ,aAAa;AAC/D,OAAOC,iBAAiB,MAAM,kCAAwC;AACtE,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,OAAOC,iBAAiB,IACtBC,oBAAoB,QAEf,4CAA4C;AACnD,OAAOC,MAAM,MAAM,4BAAwB;AAC3C,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGd,QAAQ;;AAE3B;AACA;AACA;AACA,MAAMe,yBAAyB,GAAG;EAChCC,OAAO,EAAEN,oBAAoB,CAACO,QAAQ;EACtCC,EAAE,EAAER,oBAAoB,CAACO,QAAQ;EAAE;EACnCE,SAAS,EAAET,oBAAoB,CAACU,OAAO;EACvCC,IAAI,EAAEX,oBAAoB,CAACU,OAAO,CAAE;AACtC,CAAC;;AAED;AACA;AACA;AACA,MAAME,oCAAoC,CAE1C;EACE;AACF;AACA;;EAGEC,WAAWA,CAACC,GAAwB,EAAE;IACpC,IAAI,CAACC,IAAI,GAAGD,GAAG;EACjB;EAEA,IAAIE,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACD,IAAI,CAACE,QAAQ;EAC3B;EAEA,IAAID,OAAOA,CAACA,OAAO,EAAE;IACnB,IAAI,CAACD,IAAI,CAACE,QAAQ,GAAGD,OAAO;IAC5B,IAAI,CAACD,IAAI,CAACG,QAAQ,GAAGF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;EACvC;EAEA,IAAIE,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACH,IAAI,CAACG,QAAQ;EAC3B;EAEA,IAAIA,QAAQA,CAACA,QAAQ,EAAE;IACrB,IAAI,CAACH,IAAI,CAACG,QAAQ,GAAGA,QAAQ;EAC/B;EAEA,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACJ,IAAI,CAACK,aAAa;EAChC;EAEAC,uBAAuBA,CAACC,KAA2C,EAAE;IACnE,OAAO,IAAI,CAACP,IAAI,CAACM,uBAAuB,CAACC,KAAK,CAACP,IAAI,CAAC;EACtD;EAEAQ,KAAKA,CAAA,EAAG;IACN,IAAI,CAACR,IAAI,CAACQ,KAAK,CAAC,CAAC;EACnB;AACF;;AAEA;AACA;AACA;AACA;AACA;AAJA,IAMMC,mBAAmB,GAAAC,SAAA,EADxBtB,aAAa,CAAE,GAAEC,MAAO,sBAAqB,CAAC,aAAAsB,WAAA,EAAAC,kBAAA;EAA/C,MACMH,mBAAmB,SAAAG,kBAAA,CAAuC;IAAAd,YAAA,GAAAe,IAAA;MAAA,SAAAA,IAAA;MAAAF,WAAA;IAAA;EAuJhE;EAAC;IAAAG,CAAA,EAvJKL,mBAAmB;IAAAM,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAIsB,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAKlB,IAAIrB,oCAAoC,CAAC,IAAI,CAAC;MAAA;IAAA;MAAAmB,IAAA;MAAAG,UAAA,GAK5ExC,KAAK,CAAC,QAAQ,CAAC;MAAAsC,GAAA;MAAAC,KAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAMfrC,YAAY,CAAC,OAAO,CAAC;MAAAmC,GAAA;MAAAC,MAAA;QAAA,OAEC,MAAM;UAC3B,MAAM;YAAEE,UAAU,EAAEC;UAAU,CAAC,GAAG,IAAI;UACtC,IAAIA,SAAS,EAAE;YACb,IAAI,CAACnB,QAAQ,GAAG,IAAI;YACpB,IAAI,IAAI,CAACoB,QAAQ,EAAE;cACjB,IAAI,CAACA,QAAQ,CAACC,MAAM,CAAC,IAAI,CAACC,oBAAoB,CAAC;YACjD;UACF;QACF,CAAC;MAAA;IAAA;MAAAR,IAAA;MAAAG,UAAA,GAKArC,YAAY,CAAC,SAAS,CAAC;MAAAmC,GAAA;MAAAC,MAAA;QAAA,OAEEO,KAAoB,IAAK;UACjD,MAAM;YAAEL,UAAU,EAAEC;UAAU,CAAC,GAAG,IAAI;UACtC,MAAMK,OAAO,GAAG,IAAI,CAACJ,QAAQ;UAC7B,IAAID,SAAS,IAAIK,OAAO,EAAE;YACxB,MAAMC,mBAAmB,GAAGrC,yBAAyB,CAACmC,KAAK,CAACR,GAAG,CAAC;YAChE,IAAIU,mBAAmB,EAAE;cACvBD,OAAO,CAACH,MAAM,CACZG,OAAO,CAACE,QAAQ,CAAC,IAAI,CAACJ,oBAAoB,EAAEG,mBAAmB,CACjE,CAAC;YACH;YACA,IAAIF,KAAK,CAACR,GAAG,KAAK,GAAG,IAAIQ,KAAK,CAACR,GAAG,KAAK,OAAO,EAAE;cAC9CS,OAAO,CAACH,MAAM,CAAC,IAAI,CAACC,oBAAoB,CAAC;YAC3C;UACF;QACF,CAAC;MAAA;IAAA;MAAAR,IAAA;MAAAG,UAAA,GAKAzC,QAAQ,CAAC;QAAEmD,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAd,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAMfzC,QAAQ,CAAC;QAAEsD,SAAS,EAAE;MAAiB,CAAC,CAAC;MAAAf,GAAA;MAAAC,MAAA;QAAA,OAC1B,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAKjBzC,QAAQ,CAAC;QAAEsD,SAAS,EAAE;MAAkB,CAAC,CAAC;MAAAf,GAAA;MAAAC,MAAA;QAAA,OAC1B,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAKlBzC,QAAQ,CAAC;QAAEsD,SAAS,EAAE;MAAuB,CAAC,CAAC;MAAAf,GAAA;MAAAC,MAAA;QAAA,OAC3B,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MA3EvB;AACF;AACA;;MAGE;AACF;AACA;;MAGE;AACF;AACA;;MAIE;AACF;AACA;;MAaE;AACF;AACA;;MAmBE;AACF;AACA;;MAIE;AACF;AACA;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE,SAAAe,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;QAClC;QACAC,IAAA,CAAAC,eAAA,CAlFE5B,mBAAmB,CAAA6B,SAAA,8BAAAC,IAAA;QAmFrB,IAAI,CAAC,IAAI,CAACjB,QAAQ,EAAE;UAClB,IAAI,CAACA,QAAQ,GAAGtC,iBAAiB,CAACwD,GAAG,CACnC,IAAI,CAACC,WAAW,CAAC;YAAEC,QAAQ,EAAE;UAAK,CAAC,CACrC,CAAC;UACD,MAAM;YAAErC;UAAc,CAAC,GAAG,IAAI;UAC9B,IAAIA,aAAa,EAAE;YAAA,IAAAsC,cAAA;YACjB,CAAAA,cAAA,OAAI,CAACrB,QAAQ,cAAAqB,cAAA,eAAbA,cAAA,CAAeC,GAAG,CAAC,IAAI,CAACpB,oBAAoB,CAAC;UAC/C;QACF;MACF;IAAC;MAAAR,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA2B,qBAAA,EAAuB;QACrB,IAAI,IAAI,CAACvB,QAAQ,EAAE;UACjB,IAAI,CAACA,QAAQ,CAACwB,MAAM,CAAC,IAAI,CAACtB,oBAAoB,CAAC;QACjD;QACAY,IAAA,CAAAC,eAAA,CAlGE5B,mBAAmB,CAAA6B,SAAA,iCAAAC,IAAA;MAmGvB;IAAC;MAAAvB,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA6B,QAAQC,iBAAiB,EAAE;QACzB,MAAM;UAAE1B,QAAQ,EAAEI,OAAO;UAAErB;QAAc,CAAC,GAAG,IAAI;QACjD,IAAI2C,iBAAiB,CAACC,GAAG,CAAC,eAAe,CAAC,EAAE;UAC1C,IAAIvB,OAAO,EAAE;YACXA,OAAO,CAACoB,MAAM,CACZ,IAAI,CAACtB,oBAAoB,EACzBwB,iBAAiB,CAACR,GAAG,CAAC,eAAe,CACvC,CAAC;YACD,IAAInC,aAAa,EAAE;cACjBqB,OAAO,CAACkB,GAAG,CAAC,IAAI,CAACpB,oBAAoB,CAAC;YACxC;UACF;UACA,IAAI,CAACW,YAAY,CACf,UAAU,EACV,CAAC9B,aAAa,IACZ,CAACqB,OAAO,IACR,CAACA,OAAO,CAACwB,iBAAiB,CAAC,IAAI,CAAC1B,oBAAoB,CAAC,GACnD,IAAI,GACJ,GACN,CAAC;QACH;MACF;IAAC;MAAAR,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAiC,OAAA,EAAS;QACP,MAAM;UAAEjD,QAAQ;UAAEG,aAAa;UAAE+C,cAAc;UAAEC;QAAmB,CAAC,GACnE,IAAI;QACN,IAAIhD,aAAa,EAAE;UACjB;UACA,OAAO5B,IAAI,CAAA6E,EAAA,KAAAA,EAAA,GAAAC,CAAA,+MAKElE,MAAM,EACJa,QAAQ,EACZG,aAAa,EACZ7B,SAAS,CAAC4E,cAAc,CAAC,EAExB/D,MAAM,EAAwBA,MAAM,EAC3CR,iBAAiB,CAAC;YAClB2E,KAAK,EAAG,GAAEnE,MAAO,uBAAsB;YACvCoE,KAAK,EAAEJ;UACT,CAAC,CAAC;QAGR;QACA,OAAO5E,IAAI,CAAAiF,GAAA,KAAAA,GAAA,GAAAH,CAAA;MACb;IAAC;MAAAvC,IAAA;MAAA2C,MAAA;MAAA1C,GAAA;MAAAC,MAAA;QAAA,OAEehC,MAAM;MAAA;IAAA;EAAA;AAAA,GAtJUH,iBAAiB,CAACH,UAAU,CAAC;AAyJ/D,eAAe6B,mBAAmB"}
@@ -25,6 +25,14 @@ declare class BXTab extends BXContentSwitcherItem {
25
25
  * Tab type.
26
26
  */
27
27
  type: TABS_TYPE;
28
+ /**
29
+ * The tab text content.
30
+ */
31
+ tabTitle: any;
32
+ /**
33
+ * Handles `slotchange` event.
34
+ */
35
+ protected _handleSlotChange({ target }: Event): void;
28
36
  connectedCallback(): void;
29
37
  render(): import("lit-element").TemplateResult;
30
38
  static styles: any;
@@ -1 +1 @@
1
- {"version":3,"sources":["components/tabs/tab.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMnC;;;;GAIG;AACH,cACM,KAAM,SAAQ,qBAAqB;IACvC;;;;;OAKG;IAEH,WAAW,UAAS;IAEpB;;OAEG;IAEH,IAAI,YAAqB;IAEzB,iBAAiB;IAOjB,MAAM;IAeN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,KAAK,CAAC","file":"tab.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport BXContentSwitcherItem from '../content-switcher/content-switcher-item';\nimport { TABS_TYPE } from './tabs';\nimport styles from './tabs.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Basic tab.\n *\n * @element bx-tab\n */\n@customElement(`${prefix}-tab`)\nclass BXTab extends BXContentSwitcherItem {\n /**\n * `true` if this tab should be highlighted.\n * If `true`, parent `<bx-tabs>` selects/deselects this tab upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * Tab type.\n */\n @property({ reflect: true })\n type = TABS_TYPE.REGULAR;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const { disabled, selected } = this;\n // No `href`/`tabindex` to not to make this `<a>` click-focusable\n return html`\n <a\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n tabindex=\"${disabled ? -1 : 0}\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\">\n <slot></slot>\n </a>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXTab;\n"]}
1
+ {"version":3,"sources":["components/tabs/tab.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMnC;;;;GAIG;AACH,cACM,KAAM,SAAQ,qBAAqB;IACvC;;;;;OAKG;IAEH,WAAW,UAAS;IAEpB;;OAEG;IAEH,IAAI,YAAqB;IAEzB;;OAEG;IAEH,QAAQ,MAAC;IAET;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK;IAM7C,iBAAiB;IAOjB,MAAM;IAqBN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,KAAK,CAAC","file":"tab.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport BXContentSwitcherItem from '../content-switcher/content-switcher-item';\nimport { TABS_TYPE } from './tabs';\nimport styles from './tabs.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Basic tab.\n *\n * @element bx-tab\n */\n@customElement(`${prefix}-tab`)\nclass BXTab extends BXContentSwitcherItem {\n /**\n * `true` if this tab should be highlighted.\n * If `true`, parent `<bx-tabs>` selects/deselects this tab upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * Tab type.\n */\n @property({ reflect: true })\n type = TABS_TYPE.REGULAR;\n\n /**\n * The tab text content.\n */\n @property()\n tabTitle;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n // Retrieve content of the slot to use for aria-label.\n let content = (target as HTMLSlotElement).assignedNodes();\n this.tabTitle = content[0].textContent;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n disabled,\n selected,\n tabTitle,\n _handleSlotChange: handleSlotChange,\n } = this;\n // No `href`/`tabindex` to not to make this `<a>` click-focusable\n return html`\n <a\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n aria-label=\"${tabTitle}\"\n tabindex=\"${disabled ? -1 : 0}\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\">\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n </a>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXTab;\n"]}
@@ -55,9 +55,14 @@ let BXTab = _decorate([customElement(`${prefix}-tab`)], function (_initialize, _
55
55
  value() {
56
56
  return TABS_TYPE.REGULAR;
57
57
  }
58
+ }, {
59
+ kind: "field",
60
+ decorators: [property()],
61
+ key: "tabTitle",
62
+ value: void 0
58
63
  }, {
59
64
  kind: "method",
60
- key: "connectedCallback",
65
+ key: "_handleSlotChange",
61
66
  value:
62
67
  /**
63
68
  * `true` if this tab should be highlighted.
@@ -70,7 +75,24 @@ let BXTab = _decorate([customElement(`${prefix}-tab`)], function (_initialize, _
70
75
  * Tab type.
71
76
  */
72
77
 
73
- function connectedCallback() {
78
+ /**
79
+ * The tab text content.
80
+ */
81
+
82
+ /**
83
+ * Handles `slotchange` event.
84
+ */
85
+ function _handleSlotChange({
86
+ target
87
+ }) {
88
+ // Retrieve content of the slot to use for aria-label.
89
+ let content = target.assignedNodes();
90
+ this.tabTitle = content[0].textContent;
91
+ }
92
+ }, {
93
+ kind: "method",
94
+ key: "connectedCallback",
95
+ value: function connectedCallback() {
74
96
  if (!this.hasAttribute('role')) {
75
97
  this.setAttribute('role', 'listitem');
76
98
  }
@@ -82,10 +104,12 @@ let BXTab = _decorate([customElement(`${prefix}-tab`)], function (_initialize, _
82
104
  value: function render() {
83
105
  const {
84
106
  disabled,
85
- selected
107
+ selected,
108
+ tabTitle,
109
+ _handleSlotChange: handleSlotChange
86
110
  } = this;
87
111
  // No `href`/`tabindex` to not to make this `<a>` click-focusable
88
- return html(_t || (_t = _` <a class="${0}--tabs__nav-link" role="tab" tabindex="${0}" ?disabled="${0}" aria-selected="${0}"> <slot></slot> </a> `), prefix, disabled ? -1 : 0, disabled, Boolean(selected));
112
+ return html(_t || (_t = _` <a class="${0}--tabs__nav-link" role="tab" aria-label="${0}" tabindex="${0}" ?disabled="${0}" aria-selected="${0}"> <slot @slotchange="${0}"></slot> </a> `), prefix, tabTitle, disabled ? -1 : 0, disabled, Boolean(selected), handleSlotChange);
89
113
  }
90
114
  }, {
91
115
  kind: "field",
@@ -1 +1 @@
1
- {"version":3,"file":"tab.js","names":["html","property","settings","BXContentSwitcherItem","TABS_TYPE","styles","carbonElement","customElement","prefix","BXTab","_decorate","_initialize","_BXContentSwitcherIte","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","REGULAR","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","disabled","selected","_t","_","static"],"sources":["components/tabs/tab.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport BXContentSwitcherItem from '../content-switcher/content-switcher-item';\nimport { TABS_TYPE } from './tabs';\nimport styles from './tabs.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Basic tab.\n *\n * @element bx-tab\n */\n@customElement(`${prefix}-tab`)\nclass BXTab extends BXContentSwitcherItem {\n /**\n * `true` if this tab should be highlighted.\n * If `true`, parent `<bx-tabs>` selects/deselects this tab upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * Tab type.\n */\n @property({ reflect: true })\n type = TABS_TYPE.REGULAR;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const { disabled, selected } = this;\n // No `href`/`tabindex` to not to make this `<a>` click-focusable\n return html`\n <a\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n tabindex=\"${disabled ? -1 : 0}\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\">\n <slot></slot>\n </a>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXTab;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,QAAQ,QAAQ,aAAa;AAC5C,OAAOC,QAAQ,MAAM,0CAA0C;AAC/D,OAAOC,qBAAqB,MAAM,2CAA2C;AAC7E,SAASC,SAAS,QAAQ,QAAQ;AAClC,OAAOC,MAAM,MAAM,iBAAa;AAChC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGN,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AAJA,IAMMO,KAAK,GAAAC,SAAA,EADVH,aAAa,CAAE,GAAEC,MAAO,MAAK,CAAC,aAAAG,WAAA,EAAAC,qBAAA;EAA/B,MACMH,KAAK,SAAAG,qBAAA,CAA+B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAuC1C;EAAC;IAAAI,CAAA,EAvCKN,KAAK;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAORjB,QAAQ,CAAC;QAAEkB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAC7B,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAKlBjB,QAAQ,CAAC;QAAEoB,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACrBnB,SAAS,CAACoB,OAAO;MAAA;IAAA;MAAAP,IAAA;MAAAK,GAAA;MAAAC,KAAA;MAbxB;AACF;AACA;AACA;AACA;AACA;;MAIE;AACF;AACA;;MAIE,SAAAE,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;QACvC;QACAC,IAAA,CAAAC,eAAA,CApBEpB,KAAK,CAAAqB,SAAA,8BAAAC,IAAA;MAqBT;IAAC;MAAAd,IAAA;MAAAK,GAAA;MAAAC,KAAA,EAED,SAAAS,OAAA,EAAS;QACP,MAAM;UAAEC,QAAQ;UAAEC;QAAS,CAAC,GAAG,IAAI;QACnC;QACA,OAAOlC,IAAI,CAAAmC,EAAA,KAAAA,EAAA,GAAAC,CAAA,2HAEE5B,MAAM,EAEHyB,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChBA,QAAQ,EACJb,OAAO,CAACc,QAAQ,CAAC;MAIxC;IAAC;MAAAjB,IAAA;MAAAoB,MAAA;MAAAf,GAAA;MAAAC,MAAA;QAAA,OAEelB,MAAM;MAAA;IAAA;EAAA;AAAA,GAtCJF,qBAAqB;AAyCzC,eAAeM,KAAK"}
1
+ {"version":3,"file":"tab.js","names":["html","property","settings","BXContentSwitcherItem","TABS_TYPE","styles","carbonElement","customElement","prefix","BXTab","_decorate","_initialize","_BXContentSwitcherIte","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","REGULAR","_handleSlotChange","target","content","assignedNodes","tabTitle","textContent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","disabled","selected","handleSlotChange","_t","_","static"],"sources":["components/tabs/tab.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport BXContentSwitcherItem from '../content-switcher/content-switcher-item';\nimport { TABS_TYPE } from './tabs';\nimport styles from './tabs.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Basic tab.\n *\n * @element bx-tab\n */\n@customElement(`${prefix}-tab`)\nclass BXTab extends BXContentSwitcherItem {\n /**\n * `true` if this tab should be highlighted.\n * If `true`, parent `<bx-tabs>` selects/deselects this tab upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * Tab type.\n */\n @property({ reflect: true })\n type = TABS_TYPE.REGULAR;\n\n /**\n * The tab text content.\n */\n @property()\n tabTitle;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n // Retrieve content of the slot to use for aria-label.\n let content = (target as HTMLSlotElement).assignedNodes();\n this.tabTitle = content[0].textContent;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n disabled,\n selected,\n tabTitle,\n _handleSlotChange: handleSlotChange,\n } = this;\n // No `href`/`tabindex` to not to make this `<a>` click-focusable\n return html`\n <a\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n aria-label=\"${tabTitle}\"\n tabindex=\"${disabled ? -1 : 0}\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\">\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n </a>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXTab;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,QAAQ,QAAQ,aAAa;AAC5C,OAAOC,QAAQ,MAAM,0CAA0C;AAC/D,OAAOC,qBAAqB,MAAM,2CAA2C;AAC7E,SAASC,SAAS,QAAQ,QAAQ;AAClC,OAAOC,MAAM,MAAM,iBAAa;AAChC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGN,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AAJA,IAMMO,KAAK,GAAAC,SAAA,EADVH,aAAa,CAAE,GAAEC,MAAO,MAAK,CAAC,aAAAG,WAAA,EAAAC,qBAAA;EAA/B,MACMH,KAAK,SAAAG,qBAAA,CAA+B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EA4D1C;EAAC;IAAAI,CAAA,EA5DKN,KAAK;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAORjB,QAAQ,CAAC;QAAEkB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAC7B,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAKlBjB,QAAQ,CAAC;QAAEoB,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACrBnB,SAAS,CAACoB,OAAO;MAAA;IAAA;MAAAP,IAAA;MAAAC,UAAA,GAKvBjB,QAAQ,CAAC,CAAC;MAAAqB,GAAA;MAAAC,KAAA;IAAA;MAAAN,IAAA;MAAAK,GAAA;MAAAC,KAAA;MAlBX;AACF;AACA;AACA;AACA;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;MACE,SAAAE,kBAA4B;QAAEC;MAAc,CAAC,EAAE;QAC7C;QACA,IAAIC,OAAO,GAAID,MAAM,CAAqBE,aAAa,CAAC,CAAC;QACzD,IAAI,CAACC,QAAQ,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACG,WAAW;MACxC;IAAC;MAAAb,IAAA;MAAAK,GAAA;MAAAC,KAAA,EAED,SAAAQ,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;QACvC;QACAC,IAAA,CAAAC,eAAA,CAnCE1B,KAAK,CAAA2B,SAAA,8BAAAC,IAAA;MAoCT;IAAC;MAAApB,IAAA;MAAAK,GAAA;MAAAC,KAAA,EAED,SAAAe,OAAA,EAAS;QACP,MAAM;UACJC,QAAQ;UACRC,QAAQ;UACRX,QAAQ;UACRJ,iBAAiB,EAAEgB;QACrB,CAAC,GAAG,IAAI;QACR;QACA,OAAOzC,IAAI,CAAA0C,EAAA,KAAAA,EAAA,GAAAC,CAAA,gKAEEnC,MAAM,EAEDqB,QAAQ,EACVU,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChBA,QAAQ,EACJnB,OAAO,CAACoB,QAAQ,CAAC,EACbC,gBAAgB;MAG3C;IAAC;MAAAxB,IAAA;MAAA2B,MAAA;MAAAtB,GAAA;MAAAC,MAAA;QAAA,OAEelB,MAAM;MAAA;IAAA;EAAA;AAAA,GA3DJF,qBAAqB;AA8DzC,eAAeM,KAAK"}
@@ -61,12 +61,12 @@ let BXTooltip = _decorate([customElement(`${prefix}-tooltip`)], function (_initi
61
61
  updateComplete
62
62
  } = this;
63
63
  if (open) {
64
- var _menuBody$shadowRoot, _menuBody$shadowRoot$;
64
+ var _menuBody$shadowRoot;
65
65
  await updateComplete;
66
66
  const {
67
67
  _menuBody: menuBody
68
68
  } = this;
69
- menuBody === null || menuBody === void 0 ? void 0 : (_menuBody$shadowRoot = menuBody.shadowRoot) === null || _menuBody$shadowRoot === void 0 ? void 0 : (_menuBody$shadowRoot$ = _menuBody$shadowRoot.querySelector(BXTooltip.selectorTooltipBody)) === null || _menuBody$shadowRoot$ === void 0 ? void 0 : _menuBody$shadowRoot$.focus();
69
+ menuBody === null || menuBody === void 0 || (_menuBody$shadowRoot = menuBody.shadowRoot) === null || _menuBody$shadowRoot === void 0 || (_menuBody$shadowRoot = _menuBody$shadowRoot.querySelector(BXTooltip.selectorTooltipBody)) === null || _menuBody$shadowRoot === void 0 || _menuBody$shadowRoot.focus();
70
70
  }
71
71
  };
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":["settings","html","property","query","LitElement","Information16","HostListener","HostListenerMixin","find","styles","carbonElement","customElement","prefix","BXTooltip","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","open","updateComplete","_menuBody$shadowRoot","_menuBody$shadowRoot$","_menuBody","menuBody","shadowRoot","querySelector","selectorTooltipBody","focus","event","_handleClick","type","Boolean","reflect","triggerPosition","_triggerNode","triggerNode","TypeError","getBoundingClientRect","connectedCallback","hasAttribute","setAttribute","attachShadow","mode","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","childNodes","elem","FLOATING_MENU","String","render","_t","_","id","static"],"sources":["components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, query, LitElement } from 'lit-element';\nimport Information16 from '@carbon/icons/lib/information/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { find } from '../../globals/internal/collection-helpers';\nimport BXFloatingMenu from '../floating-menu/floating-menu';\nimport BXFloatingMenuTrigger from '../floating-menu/floating-menu-trigger';\nimport styles from './tooltip.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Trigger button of tooltip.\n *\n * @element bx-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass BXTooltip\n extends HostListenerMixin(LitElement)\n implements BXFloatingMenuTrigger\n{\n /**\n * The menu body.\n */\n private _menuBody: BXFloatingMenu | null = null;\n\n /**\n * The trigger button.\n */\n @query('#trigger')\n private _triggerNode!: HTMLElement;\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = async () => {\n this.open = !this.open;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { _menuBody: menuBody } = this;\n (\n menuBody?.shadowRoot?.querySelector(\n BXTooltip.selectorTooltipBody\n ) as HTMLElement\n )?.focus();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = async (event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n this._handleClick();\n }\n };\n\n /**\n * `true` if the dropdown should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * @returns The position of the trigger button in the viewport.\n */\n get triggerPosition() {\n const { _triggerNode: triggerNode } = this;\n if (!triggerNode) {\n throw new TypeError('Cannot find the trigger button.');\n }\n return triggerNode.getBoundingClientRect();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '0');\n }\n if (!this.hasAttribute('aria-haspopup')) {\n this.setAttribute('aria-haspopup', 'true');\n }\n if (!this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', 'false');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (!this._menuBody) {\n this._menuBody = find(\n this.childNodes,\n (elem) => (elem.constructor as typeof BXFloatingMenu).FLOATING_MENU\n );\n }\n if (this._menuBody) {\n this._menuBody.open = this.open;\n }\n this.setAttribute('aria-expanded', String(Boolean(this.open)));\n }\n }\n\n render() {\n return html`\n ${Information16({ id: 'trigger' })}\n <slot></slot>\n `;\n }\n\n static get selectorTooltipBody() {\n return `.${prefix}--tooltip__content`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXTooltip;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,UAAU,QAAQ,aAAa;AAC/D,OAAOC,aAAa,MAAM,4BAAkC;AAC5D,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,SAASC,IAAI,QAAQ,2CAA2C;AAGhE,OAAOC,MAAM,MAAM,oBAAgB;AACnC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGZ,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AAJA,IAMMa,SAAS,GAAAC,SAAA,EADdH,aAAa,CAAE,GAAEC,MAAO,UAAS,CAAC,aAAAG,WAAA,EAAAC,kBAAA;EAAnC,MACMH,SAAS,SAAAG,kBAAA,CAGf;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EA0GA;EAAC;IAAAI,CAAA,EA7GKN,SAAS;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAO8B,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAK9CrB,KAAK,CAAC,UAAU,CAAC;MAAAmB,GAAA;MAAAC,KAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAMjBlB,YAAY,CAAC,OAAO,CAAC;MAAAgB,GAAA;MAAAC,MAAA;QAAA,OAEC,YAAY;UACjC,IAAI,CAACE,IAAI,GAAG,CAAC,IAAI,CAACA,IAAI;UACtB,MAAM;YAAEA,IAAI;YAAEC;UAAe,CAAC,GAAG,IAAI;UACrC,IAAID,IAAI,EAAE;YAAA,IAAAE,oBAAA,EAAAC,qBAAA;YACR,MAAMF,cAAc;YACpB,MAAM;cAAEG,SAAS,EAAEC;YAAS,CAAC,GAAG,IAAI;YAElCA,QAAQ,aAARA,QAAQ,wBAAAH,oBAAA,GAARG,QAAQ,CAAEC,UAAU,cAAAJ,oBAAA,wBAAAC,qBAAA,GAApBD,oBAAA,CAAsBK,aAAa,CACjCnB,SAAS,CAACoB,mBACZ,CAAC,cAAAL,qBAAA,uBAHHA,qBAAA,CAIGM,KAAK,CAAC,CAAC;UACZ;QACF,CAAC;MAAA;IAAA;MAAAb,IAAA;MAAAG,UAAA,GAKAlB,YAAY,CAAC,SAAS,CAAC;MAAAgB,GAAA;MAAAC,MAAA;QAAA,OAEC,MAAOY,KAAK,IAAK;UACxC,IAAIA,KAAK,CAACb,GAAG,KAAK,GAAG,IAAIa,KAAK,CAACb,GAAG,KAAK,OAAO,EAAE;YAC9C,IAAI,CAACc,YAAY,CAAC,CAAC;UACrB;QACF,CAAC;MAAA;IAAA;MAAAf,IAAA;MAAAG,UAAA,GAKAtB,QAAQ,CAAC;QAAEmC,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAjB,GAAA;MAAAC,MAAA;QAAA,OACpC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MA7CZ;AACF;AACA;;MAGE;AACF;AACA;;MAIE;AACF;AACA;;MAiBE;AACF;AACA;;MASE;AACF;AACA;;MAIE;AACF;AACA;MACE,SAAAiB,gBAAA,EAAsB;QACpB,MAAM;UAAEC,YAAY,EAAEC;QAAY,CAAC,GAAG,IAAI;QAC1C,IAAI,CAACA,WAAW,EAAE;UAChB,MAAM,IAAIC,SAAS,CAAC,iCAAiC,CAAC;QACxD;QACA,OAAOD,WAAW,CAACE,qBAAqB,CAAC,CAAC;MAC5C;IAAC;MAAAvB,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAsB,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC;QACA,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,UAAU,CAAC,EAAE;UAClC;UACA,IAAI,CAACC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;QACpC;QACA,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,eAAe,CAAC,EAAE;UACvC,IAAI,CAACC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;QAC5C;QACA,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,eAAe,CAAC,EAAE;UACvC,IAAI,CAACC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;QAC7C;QACA,IAAI,CAAC,IAAI,CAAChB,UAAU,EAAE;UACpB,IAAI,CAACiB,YAAY,CAAC;YAAEC,IAAI,EAAE;UAAO,CAAC,CAAC;QACrC;QACAC,IAAA,CAAAC,eAAA,CA/EEtC,SAAS,CAAAuC,SAAA,8BAAAC,IAAA;MAgFb;IAAC;MAAAhC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA+B,QAAQC,iBAAiB,EAAE;QACzB,IAAIA,iBAAiB,CAACC,GAAG,CAAC,MAAM,CAAC,EAAE;UACjC,IAAI,CAAC,IAAI,CAAC3B,SAAS,EAAE;YACnB,IAAI,CAACA,SAAS,GAAGrB,IAAI,CACnB,IAAI,CAACiD,UAAU,EACdC,IAAI,IAAMA,IAAI,CAACzC,WAAW,CAA2B0C,aACxD,CAAC;UACH;UACA,IAAI,IAAI,CAAC9B,SAAS,EAAE;YAClB,IAAI,CAACA,SAAS,CAACJ,IAAI,GAAG,IAAI,CAACA,IAAI;UACjC;UACA,IAAI,CAACsB,YAAY,CAAC,eAAe,EAAEa,MAAM,CAACtB,OAAO,CAAC,IAAI,CAACb,IAAI,CAAC,CAAC,CAAC;QAChE;MACF;IAAC;MAAAJ,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAsC,OAAA,EAAS;QACP,OAAO5D,IAAI,CAAA6D,EAAA,KAAAA,EAAA,GAAAC,CAAA,yBACP1D,aAAa,CAAC;UAAE2D,EAAE,EAAE;QAAU,CAAC,CAAC;MAGtC;IAAC;MAAA3C,IAAA;MAAA4C,MAAA;MAAA3C,GAAA;MAAAC,KAAA,EAED,SAAAU,oBAAA,EAAiC;QAC/B,OAAQ,IAAGrB,MAAO,oBAAmB;MACvC;IAAC;MAAAS,IAAA;MAAA4C,MAAA;MAAA3C,GAAA;MAAAC,MAAA;QAAA,OAEed,MAAM;MAAA;IAAA;EAAA;AAAA,GA3GdF,iBAAiB,CAACH,UAAU,CAAC;AA8GvC,eAAeS,SAAS"}
1
+ {"version":3,"file":"tooltip.js","names":["settings","html","property","query","LitElement","Information16","HostListener","HostListenerMixin","find","styles","carbonElement","customElement","prefix","BXTooltip","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","open","updateComplete","_menuBody$shadowRoot","_menuBody","menuBody","shadowRoot","querySelector","selectorTooltipBody","focus","event","_handleClick","type","Boolean","reflect","triggerPosition","_triggerNode","triggerNode","TypeError","getBoundingClientRect","connectedCallback","hasAttribute","setAttribute","attachShadow","mode","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","childNodes","elem","FLOATING_MENU","String","render","_t","_","id","static"],"sources":["components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, query, LitElement } from 'lit-element';\nimport Information16 from '@carbon/icons/lib/information/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { find } from '../../globals/internal/collection-helpers';\nimport BXFloatingMenu from '../floating-menu/floating-menu';\nimport BXFloatingMenuTrigger from '../floating-menu/floating-menu-trigger';\nimport styles from './tooltip.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Trigger button of tooltip.\n *\n * @element bx-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass BXTooltip\n extends HostListenerMixin(LitElement)\n implements BXFloatingMenuTrigger\n{\n /**\n * The menu body.\n */\n private _menuBody: BXFloatingMenu | null = null;\n\n /**\n * The trigger button.\n */\n @query('#trigger')\n private _triggerNode!: HTMLElement;\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = async () => {\n this.open = !this.open;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { _menuBody: menuBody } = this;\n (\n menuBody?.shadowRoot?.querySelector(\n BXTooltip.selectorTooltipBody\n ) as HTMLElement\n )?.focus();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = async (event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n this._handleClick();\n }\n };\n\n /**\n * `true` if the dropdown should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * @returns The position of the trigger button in the viewport.\n */\n get triggerPosition() {\n const { _triggerNode: triggerNode } = this;\n if (!triggerNode) {\n throw new TypeError('Cannot find the trigger button.');\n }\n return triggerNode.getBoundingClientRect();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '0');\n }\n if (!this.hasAttribute('aria-haspopup')) {\n this.setAttribute('aria-haspopup', 'true');\n }\n if (!this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', 'false');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (!this._menuBody) {\n this._menuBody = find(\n this.childNodes,\n (elem) => (elem.constructor as typeof BXFloatingMenu).FLOATING_MENU\n );\n }\n if (this._menuBody) {\n this._menuBody.open = this.open;\n }\n this.setAttribute('aria-expanded', String(Boolean(this.open)));\n }\n }\n\n render() {\n return html`\n ${Information16({ id: 'trigger' })}\n <slot></slot>\n `;\n }\n\n static get selectorTooltipBody() {\n return `.${prefix}--tooltip__content`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXTooltip;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,UAAU,QAAQ,aAAa;AAC/D,OAAOC,aAAa,MAAM,4BAAkC;AAC5D,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,SAASC,IAAI,QAAQ,2CAA2C;AAGhE,OAAOC,MAAM,MAAM,oBAAgB;AACnC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGZ,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AAJA,IAMMa,SAAS,GAAAC,SAAA,EADdH,aAAa,CAAE,GAAEC,MAAO,UAAS,CAAC,aAAAG,WAAA,EAAAC,kBAAA;EAAnC,MACMH,SAAS,SAAAG,kBAAA,CAGf;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EA0GA;EAAC;IAAAI,CAAA,EA7GKN,SAAS;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAO8B,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAK9CrB,KAAK,CAAC,UAAU,CAAC;MAAAmB,GAAA;MAAAC,KAAA;IAAA;MAAAF,IAAA;MAAAG,UAAA,GAMjBlB,YAAY,CAAC,OAAO,CAAC;MAAAgB,GAAA;MAAAC,MAAA;QAAA,OAEC,YAAY;UACjC,IAAI,CAACE,IAAI,GAAG,CAAC,IAAI,CAACA,IAAI;UACtB,MAAM;YAAEA,IAAI;YAAEC;UAAe,CAAC,GAAG,IAAI;UACrC,IAAID,IAAI,EAAE;YAAA,IAAAE,oBAAA;YACR,MAAMD,cAAc;YACpB,MAAM;cAAEE,SAAS,EAAEC;YAAS,CAAC,GAAG,IAAI;YAElCA,QAAQ,aAARA,QAAQ,gBAAAF,oBAAA,GAARE,QAAQ,CAAEC,UAAU,cAAAH,oBAAA,gBAAAA,oBAAA,GAApBA,oBAAA,CAAsBI,aAAa,CACjClB,SAAS,CAACmB,mBACZ,CAAC,cAAAL,oBAAA,eAHHA,oBAAA,CAIGM,KAAK,CAAC,CAAC;UACZ;QACF,CAAC;MAAA;IAAA;MAAAZ,IAAA;MAAAG,UAAA,GAKAlB,YAAY,CAAC,SAAS,CAAC;MAAAgB,GAAA;MAAAC,MAAA;QAAA,OAEC,MAAOW,KAAK,IAAK;UACxC,IAAIA,KAAK,CAACZ,GAAG,KAAK,GAAG,IAAIY,KAAK,CAACZ,GAAG,KAAK,OAAO,EAAE;YAC9C,IAAI,CAACa,YAAY,CAAC,CAAC;UACrB;QACF,CAAC;MAAA;IAAA;MAAAd,IAAA;MAAAG,UAAA,GAKAtB,QAAQ,CAAC;QAAEkC,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAhB,GAAA;MAAAC,MAAA;QAAA,OACpC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MA7CZ;AACF;AACA;;MAGE;AACF;AACA;;MAIE;AACF;AACA;;MAiBE;AACF;AACA;;MASE;AACF;AACA;;MAIE;AACF;AACA;MACE,SAAAgB,gBAAA,EAAsB;QACpB,MAAM;UAAEC,YAAY,EAAEC;QAAY,CAAC,GAAG,IAAI;QAC1C,IAAI,CAACA,WAAW,EAAE;UAChB,MAAM,IAAIC,SAAS,CAAC,iCAAiC,CAAC;QACxD;QACA,OAAOD,WAAW,CAACE,qBAAqB,CAAC,CAAC;MAC5C;IAAC;MAAAtB,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAqB,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC;QACA,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,UAAU,CAAC,EAAE;UAClC;UACA,IAAI,CAACC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;QACpC;QACA,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,eAAe,CAAC,EAAE;UACvC,IAAI,CAACC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;QAC5C;QACA,IAAI,CAAC,IAAI,CAACD,YAAY,CAAC,eAAe,CAAC,EAAE;UACvC,IAAI,CAACC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;QAC7C;QACA,IAAI,CAAC,IAAI,CAAChB,UAAU,EAAE;UACpB,IAAI,CAACiB,YAAY,CAAC;YAAEC,IAAI,EAAE;UAAO,CAAC,CAAC;QACrC;QACAC,IAAA,CAAAC,eAAA,CA/EErC,SAAS,CAAAsC,SAAA,8BAAAC,IAAA;MAgFb;IAAC;MAAA/B,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA8B,QAAQC,iBAAiB,EAAE;QACzB,IAAIA,iBAAiB,CAACC,GAAG,CAAC,MAAM,CAAC,EAAE;UACjC,IAAI,CAAC,IAAI,CAAC3B,SAAS,EAAE;YACnB,IAAI,CAACA,SAAS,GAAGpB,IAAI,CACnB,IAAI,CAACgD,UAAU,EACdC,IAAI,IAAMA,IAAI,CAACxC,WAAW,CAA2ByC,aACxD,CAAC;UACH;UACA,IAAI,IAAI,CAAC9B,SAAS,EAAE;YAClB,IAAI,CAACA,SAAS,CAACH,IAAI,GAAG,IAAI,CAACA,IAAI;UACjC;UACA,IAAI,CAACqB,YAAY,CAAC,eAAe,EAAEa,MAAM,CAACtB,OAAO,CAAC,IAAI,CAACZ,IAAI,CAAC,CAAC,CAAC;QAChE;MACF;IAAC;MAAAJ,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAqC,OAAA,EAAS;QACP,OAAO3D,IAAI,CAAA4D,EAAA,KAAAA,EAAA,GAAAC,CAAA,yBACPzD,aAAa,CAAC;UAAE0D,EAAE,EAAE;QAAU,CAAC,CAAC;MAGtC;IAAC;MAAA1C,IAAA;MAAA2C,MAAA;MAAA1C,GAAA;MAAAC,KAAA,EAED,SAAAS,oBAAA,EAAiC;QAC/B,OAAQ,IAAGpB,MAAO,oBAAmB;MACvC;IAAC;MAAAS,IAAA;MAAA2C,MAAA;MAAA1C,GAAA;MAAAC,MAAA;QAAA,OAEed,MAAM;MAAA;IAAA;EAAA;AAAA,GA3GdF,iBAAiB,CAACH,UAAU,CAAC;AA8GvC,eAAeS,SAAS"}
@@ -59,7 +59,7 @@ let BXSideNavLink = _decorate([customElement(`${prefix}-side-nav-link`)], functi
59
59
  target
60
60
  }) {
61
61
  var _this$_titleIconConta;
62
- (_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0 ? void 0 : _this$_titleIconConta.toggleAttribute('hidden', target.assignedNodes().length === 0);
62
+ (_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0 || _this$_titleIconConta.toggleAttribute('hidden', target.assignedNodes().length === 0);
63
63
  }
64
64
 
65
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"side-nav-link.js","names":["settings","classMap","html","property","query","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavLink","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleSlotChangeTitleIcon","target","_this$_titleIconConta","_titleIconContainerNode","toggleAttribute","assignedNodes","length","type","Boolean","reflect","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","active","href","title","handleSlotChangeTitleIcon","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-link.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-link\n * @slot link - The link.\n * @slot title - The title.\n * @slot title-icon-container - The title icon container.\n */\n@customElement(`${prefix}-side-nav-link`)\nclass BXSideNavLink extends FocusMixin(LitElement) {\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n this._titleIconContainerNode?.toggleAttribute(\n 'hidden',\n target.assignedNodes().length === 0\n );\n }\n\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n active,\n href,\n title,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavLink;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,UAAU,QAAQ,aAAa;AAC/D,OAAOC,UAAU,MAAM,4BAA4B;AACnD,OAAOC,MAAM,MAAM,qBAAiB;AACpC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGV,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IASMW,aAAa,GAAAC,SAAA,EADlBH,aAAa,CAAE,GAAEC,MAAO,gBAAe,CAAC,aAAAG,WAAA,EAAAC,WAAA;EAAzC,MACMH,aAAa,SAAAG,WAAA,CAAgC;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAiFnD;EAAC;IAAAI,CAAA,EAjFKN,aAAa;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAIhBhB,KAAK,CAAC,uBAAuB,CAAC;MAAAiB,GAAA;MAAAC,KAAA;IAAA;MAAAH,IAAA;MAAAE,GAAA;MAAAC,KAAA;MAH/B;AACF;AACA;;MAIE;AACF;AACA;MACE,SAAAC,2BAAmC;QAAEC;MAAO,CAAC,EAAE;QAAA,IAAAC,qBAAA;QAC7C,CAAAA,qBAAA,OAAI,CAACC,uBAAuB,cAAAD,qBAAA,uBAA5BA,qBAAA,CAA8BE,eAAe,CAC3C,QAAQ,EACRH,MAAM,CAACI,aAAa,CAAC,CAAC,CAACC,MAAM,KAAK,CACpC,CAAC;MACH;;MAEA;AACF;AACA;IAFE;MAAAV,IAAA;MAAAC,UAAA,GAGCjB,QAAQ,CAAC;QAAE2B,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAX,GAAA;MAAAC,MAAA;QAAA,OAClC,KAAK;MAAA;IAAA;MAAAH,IAAA;MAAAC,UAAA,GAKbjB,QAAQ,CAAC,CAAC;MAAAkB,GAAA;MAAAC,MAAA;QAAA,OACJ,EAAE;MAAA;IAAA;MAAAH,IAAA;MAAAC,UAAA,GAKRjB,QAAQ,CAAC,CAAC;MAAAkB,GAAA;MAAAC,KAAA;IAAA;MAAAH,IAAA;MAAAE,GAAA;MAAAC,KAAA;MATX;AACF;AACA;MAIE;AACF;AACA;MAIE,SAAAW,iBAAA,EAAmB;QAAA,IAAAC,KAAA;QACjB,OAAO,IAAI,CAACC,YAAY,CAAC;UACvBC,IAAI,EAAE,MAAM;UACZC,cAAc,EACZC,MAAM,CAAC,EAAAJ,KAAA,GAAC,eAAe,CAACK,IAAI,CAACC,SAAS,CAACC,SAAS,CAAC,cAAAP,KAAA,cAAAA,KAAA,GAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IACjE;QACJ,CAAC,CAAC;MACJ;IAAC;MAAAf,IAAA;MAAAE,GAAA;MAAAC,KAAA,EAED,SAAAoB,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;QACvC;QACAC,IAAA,CAAAC,eAAA,CAhDEnC,aAAa,CAAAoC,SAAA,8BAAAC,IAAA;MAiDjB;IAAC;MAAA7B,IAAA;MAAAE,GAAA;MAAAC,KAAA,EAED,SAAA2B,OAAA,EAAS;QACP,MAAM;UACJC,MAAM;UACNC,IAAI;UACJC,KAAK;UACL7B,0BAA0B,EAAE8B;QAC9B,CAAC,GAAG,IAAI;QACR,MAAMC,OAAO,GAAGrD,QAAQ,CAAC;UACvB,CAAE,GAAES,MAAO,kBAAiB,GAAG,IAAI;UACnC,CAAE,GAAEA,MAAO,2BAA0B,GAAGwC;QAC1C,CAAC,CAAC;QACF,OAAOhD,IAAI,CAAAqD,EAAA,KAAAA,EAAA,GAAAC,CAAA,8RACeF,OAAO,EAAWH,IAAI,EAKjCzC,MAAM,EAGC2C,yBAAyB,EAEf3C,MAAM,EACxB0C,KAAK;MAIrB;IAAC;MAAAjC,IAAA;MAAAsC,MAAA;MAAApC,GAAA;MAAAC,MAAA;QAAA,OAEef,MAAM;MAAA;IAAA;EAAA;AAAA,GAhFID,UAAU,CAACD,UAAU,CAAC;AAmFlD,eAAeM,aAAa"}
1
+ {"version":3,"file":"side-nav-link.js","names":["settings","classMap","html","property","query","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavLink","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleSlotChangeTitleIcon","target","_this$_titleIconConta","_titleIconContainerNode","toggleAttribute","assignedNodes","length","type","Boolean","reflect","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","active","href","title","handleSlotChangeTitleIcon","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-link.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-link\n * @slot link - The link.\n * @slot title - The title.\n * @slot title-icon-container - The title icon container.\n */\n@customElement(`${prefix}-side-nav-link`)\nclass BXSideNavLink extends FocusMixin(LitElement) {\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n this._titleIconContainerNode?.toggleAttribute(\n 'hidden',\n target.assignedNodes().length === 0\n );\n }\n\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n active,\n href,\n title,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavLink;\n"],"mappings":"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"}
@@ -335,6 +335,7 @@ declare class BXSideNavMenuItem extends BXSideNavMenuItem_base {
335
335
  title: string;
336
336
  createRenderRoot(): ShadowRoot;
337
337
  shouldUpdate(changedProperties: any): boolean;
338
+ connectedCallback(): void;
338
339
  render(): import("lit-element").TemplateResult;
339
340
  /**
340
341
  * A selector that will return the parent menu.
@@ -1 +1 @@
1
- {"version":3,"sources":["components/ui-shell/side-nav-menu-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQzD;;;;;;GAMG;AACH,cACM,iBAAkB,SAAQ,sBAAsB;IACpD;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,EAAG,MAAM,CAAC;IAEf,gBAAgB;IAShB,YAAY,CAAC,iBAAiB,KAAA;IAW9B,MAAM;IAeN;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,iBAAiB,CAAC","file":"side-nav-menu-item.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"]}
1
+ {"version":3,"sources":["components/ui-shell/side-nav-menu-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQzD;;;;;;GAMG;AACH,cACM,iBAAkB,SAAQ,sBAAsB;IACpD;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,EAAG,MAAM,CAAC;IAEf,gBAAgB;IAShB,YAAY,CAAC,iBAAiB,KAAA;IAW9B,iBAAiB;IAOjB,MAAM;IAeN;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,iBAAiB,CAAC","file":"side-nav-menu-item.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n super.connectedCallback();\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"]}
@@ -1,4 +1,6 @@
1
1
  import _decorate from "@babel/runtime/helpers/esm/decorate";
2
+ import _get from "@babel/runtime/helpers/esm/get";
3
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
2
4
  let _ = t => t,
3
5
  _t;
4
6
  /**
@@ -96,6 +98,15 @@ let BXSideNavMenuItem = _decorate([customElement(`${prefix}-side-nav-menu-item`)
96
98
  }
97
99
  return true;
98
100
  }
101
+ }, {
102
+ kind: "method",
103
+ key: "connectedCallback",
104
+ value: function connectedCallback() {
105
+ if (!this.hasAttribute('role')) {
106
+ this.setAttribute('role', 'button');
107
+ }
108
+ _get(_getPrototypeOf(BXSideNavMenuItem.prototype), "connectedCallback", this).call(this);
109
+ }
99
110
  }, {
100
111
  kind: "method",
101
112
  key: "render",
@@ -1 +1 @@
1
- {"version":3,"file":"side-nav-menu-item.js","names":["settings","classMap","html","property","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","shouldUpdate","changedProperties","has","active","selectorMenu","parent","closest","render","href","title","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-menu-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"side-nav-menu-item.js","names":["settings","classMap","html","property","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","shouldUpdate","changedProperties","has","active","selectorMenu","parent","closest","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","href","title","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-menu-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n super.connectedCallback();\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"],"mappings":"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"}
@@ -133,7 +133,7 @@ let BXSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], functi
133
133
  const constructor = this.constructor;
134
134
  const hasIcon = target.assignedNodes().length > 0;
135
135
  this._hasIcon = hasIcon;
136
- (_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0 ? void 0 : _this$_titleIconConta.toggleAttribute('hidden', !hasIcon);
136
+ (_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0 || _this$_titleIconConta.toggleAttribute('hidden', !hasIcon);
137
137
  forEach(this.querySelectorAll(constructor.selectorItem), item => {
138
138
  item.toggleAttribute(constructor.attribItemHasIcon, hasIcon);
139
139
  });