@carbon/web-components 2.0.0-beta.0 → 2.0.0-beta.1

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 (567) hide show
  1. package/custom-elements.json +5128 -3232
  2. package/es/components/breadcrumb/breadcrumb-skeleton.d.ts.map +1 -1
  3. package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
  4. package/es/components/button/button-set.d.ts +2 -2
  5. package/es/components/button/button-set.d.ts.map +1 -1
  6. package/es/components/button/button-set.js +4 -4
  7. package/es/components/button/button-set.js.map +1 -1
  8. package/es/components/button/button-skeleton.d.ts +3 -3
  9. package/es/components/button/button-skeleton.d.ts.map +1 -1
  10. package/es/components/button/button-skeleton.js +6 -6
  11. package/es/components/button/button-skeleton.js.map +1 -1
  12. package/es/components/button/button.css.js +1 -1
  13. package/es/components/button/button.d.ts +5 -5
  14. package/es/components/button/button.d.ts.map +1 -1
  15. package/es/components/button/button.js +6 -6
  16. package/es/components/button/button.js.map +1 -1
  17. package/es/components/button/button.rtl.css.js +1 -1
  18. package/es/components/{tooltip/tooltip-footer.d.ts → checkbox/checkbox-skeleton.d.ts} +4 -4
  19. package/es/components/checkbox/checkbox-skeleton.d.ts.map +1 -0
  20. package/es/components/{tooltip/tooltip-footer.js → checkbox/checkbox-skeleton.js} +15 -9
  21. package/es/components/checkbox/checkbox-skeleton.js.map +1 -0
  22. package/es/components/checkbox/checkbox.css.js +1 -1
  23. package/es/components/checkbox/checkbox.d.ts +21 -8
  24. package/es/components/checkbox/checkbox.d.ts.map +1 -1
  25. package/es/components/checkbox/checkbox.js +65 -17
  26. package/es/components/checkbox/checkbox.js.map +1 -1
  27. package/es/components/checkbox/checkbox.rtl.css.js +1 -1
  28. package/es/components/checkbox/index.d.ts +2 -1
  29. package/es/components/checkbox/index.d.ts.map +1 -1
  30. package/es/components/checkbox/index.js +2 -1
  31. package/es/components/checkbox/index.js.map +1 -1
  32. package/es/components/code-snippet/code-snippet.d.ts +0 -8
  33. package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
  34. package/es/components/code-snippet/code-snippet.js +20 -56
  35. package/es/components/code-snippet/code-snippet.js.map +1 -1
  36. package/es/components/combo-box/combo-box-item.d.ts +3 -3
  37. package/es/components/combo-box/combo-box-item.d.ts.map +1 -1
  38. package/es/components/combo-box/combo-box-item.js +6 -6
  39. package/es/components/combo-box/combo-box-item.js.map +1 -1
  40. package/es/components/combo-box/combo-box.css.js +1 -1
  41. package/es/components/combo-box/combo-box.d.ts +11 -11
  42. package/es/components/combo-box/combo-box.d.ts.map +1 -1
  43. package/es/components/combo-box/combo-box.js +40 -19
  44. package/es/components/combo-box/combo-box.js.map +1 -1
  45. package/es/components/combo-box/combo-box.rtl.css.js +1 -1
  46. package/es/components/content-switcher/content-switcher.css.js +1 -1
  47. package/es/components/content-switcher/content-switcher.rtl.css.js +1 -1
  48. package/es/components/copy/copy.d.ts +49 -0
  49. package/es/components/copy/copy.d.ts.map +1 -0
  50. package/es/components/copy/copy.js +183 -0
  51. package/es/components/copy/copy.js.map +1 -0
  52. package/es/components/copy-button/copy-button.css.js +1 -1
  53. package/es/components/copy-button/copy-button.d.ts +8 -53
  54. package/es/components/copy-button/copy-button.d.ts.map +1 -1
  55. package/es/components/copy-button/copy-button.js +22 -150
  56. package/es/components/copy-button/copy-button.js.map +1 -1
  57. package/es/components/copy-button/copy-button.rtl.css.js +1 -1
  58. package/es/components/data-table/data-table.css.js +1 -1
  59. package/es/components/data-table/data-table.rtl.css.js +1 -1
  60. package/es/components/data-table/table-header-cell.d.ts.map +1 -1
  61. package/es/components/data-table/table-header-cell.js +2 -2
  62. package/es/components/data-table/table-header-cell.js.map +1 -1
  63. package/es/components/data-table/table-toolbar-search.d.ts +3 -3
  64. package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
  65. package/es/components/data-table/table-toolbar-search.js +3 -3
  66. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  67. package/es/components/date-picker/date-picker-input-skeleton.d.ts +2 -2
  68. package/es/components/date-picker/date-picker-input-skeleton.d.ts.map +1 -1
  69. package/es/components/date-picker/date-picker-input-skeleton.js +4 -4
  70. package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
  71. package/es/components/date-picker/date-picker-input.d.ts +38 -352
  72. package/es/components/date-picker/date-picker-input.d.ts.map +1 -1
  73. package/es/components/date-picker/date-picker-input.js +138 -97
  74. package/es/components/date-picker/date-picker-input.js.map +1 -1
  75. package/es/components/date-picker/date-picker.css.js +1 -1
  76. package/es/components/date-picker/date-picker.d.ts +23 -3
  77. package/es/components/date-picker/date-picker.d.ts.map +1 -1
  78. package/es/components/date-picker/date-picker.js +100 -24
  79. package/es/components/date-picker/date-picker.js.map +1 -1
  80. package/es/components/date-picker/date-picker.rtl.css.js +1 -1
  81. package/es/components/date-picker/defs.d.ts +1 -14
  82. package/es/components/date-picker/defs.d.ts.map +1 -1
  83. package/es/components/date-picker/defs.js +1 -10
  84. package/es/components/date-picker/defs.js.map +1 -1
  85. package/es/components/date-picker/fix-events-plugin.d.ts +6 -6
  86. package/es/components/date-picker/fix-events-plugin.d.ts.map +1 -1
  87. package/es/components/date-picker/fix-events-plugin.js +7 -7
  88. package/es/components/date-picker/fix-events-plugin.js.map +1 -1
  89. package/es/components/date-picker/focus-plugin.d.ts +9 -9
  90. package/es/components/date-picker/focus-plugin.d.ts.map +1 -1
  91. package/es/components/date-picker/focus-plugin.js +16 -16
  92. package/es/components/date-picker/focus-plugin.js.map +1 -1
  93. package/es/components/date-picker/shadow-dom-events-plugin.d.ts +2 -2
  94. package/es/components/date-picker/shadow-dom-events-plugin.d.ts.map +1 -1
  95. package/es/components/date-picker/shadow-dom-events-plugin.js +4 -4
  96. package/es/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
  97. package/es/components/date-picker/state-handshake-plugin.d.ts +2 -2
  98. package/es/components/date-picker/state-handshake-plugin.d.ts.map +1 -1
  99. package/es/components/date-picker/state-handshake-plugin.js.map +1 -1
  100. package/es/components/dropdown/defs.d.ts +16 -3
  101. package/es/components/dropdown/defs.d.ts.map +1 -1
  102. package/es/components/dropdown/defs.js +11 -2
  103. package/es/components/dropdown/defs.js.map +1 -1
  104. package/es/components/dropdown/dropdown-item.d.ts +2 -2
  105. package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
  106. package/es/components/dropdown/dropdown-item.js +4 -4
  107. package/es/components/dropdown/dropdown-item.js.map +1 -1
  108. package/es/components/dropdown/dropdown-skeleton.d.ts +2 -2
  109. package/es/components/dropdown/dropdown-skeleton.d.ts.map +1 -1
  110. package/es/components/dropdown/dropdown-skeleton.js +4 -4
  111. package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
  112. package/es/components/dropdown/dropdown.css.js +1 -1
  113. package/es/components/dropdown/dropdown.d.ts +45 -20
  114. package/es/components/dropdown/dropdown.d.ts.map +1 -1
  115. package/es/components/dropdown/dropdown.js +156 -65
  116. package/es/components/dropdown/dropdown.js.map +1 -1
  117. package/es/components/dropdown/dropdown.rtl.css.js +1 -1
  118. package/es/components/file-uploader/file-uploader.css.js +1 -1
  119. package/es/components/file-uploader/file-uploader.rtl.css.js +1 -1
  120. package/es/components/icon-button/defs.d.ts +64 -0
  121. package/es/components/icon-button/defs.d.ts.map +1 -0
  122. package/es/components/icon-button/defs.js +34 -0
  123. package/es/components/icon-button/defs.js.map +1 -0
  124. package/es/components/icon-button/icon-button.css.js +12 -0
  125. package/es/components/icon-button/icon-button.d.ts +50 -0
  126. package/es/components/icon-button/icon-button.d.ts.map +1 -0
  127. package/es/components/icon-button/icon-button.js +176 -0
  128. package/es/components/icon-button/icon-button.js.map +1 -0
  129. package/es/components/icon-button/icon-button.rtl.css.js +12 -0
  130. package/es/components/icon-button/index.d.ts +11 -0
  131. package/es/components/icon-button/index.d.ts.map +1 -0
  132. package/es/components/icon-button/index.js +11 -0
  133. package/es/components/icon-button/index.js.map +1 -0
  134. package/es/components/inline-loading/inline-loading.d.ts +6 -2
  135. package/es/components/inline-loading/inline-loading.d.ts.map +1 -1
  136. package/es/components/inline-loading/inline-loading.js +20 -5
  137. package/es/components/inline-loading/inline-loading.js.map +1 -1
  138. package/es/components/input/defs.d.ts +1 -1
  139. package/es/components/input/defs.d.ts.map +1 -1
  140. package/es/components/input/defs.js +1 -1
  141. package/es/components/input/defs.js.map +1 -1
  142. package/es/components/input/input.d.ts +31 -7
  143. package/es/components/input/input.d.ts.map +1 -1
  144. package/es/components/input/input.js +88 -11
  145. package/es/components/input/input.js.map +1 -1
  146. package/es/components/layer/layer.css.js +1 -1
  147. package/es/components/layer/layer.rtl.css.js +1 -1
  148. package/es/components/list/list.css.js +1 -1
  149. package/es/components/list/list.rtl.css.js +1 -1
  150. package/es/components/list/ordered-list.d.ts +3 -3
  151. package/es/components/list/ordered-list.d.ts.map +1 -1
  152. package/es/components/list/ordered-list.js +6 -6
  153. package/es/components/list/ordered-list.js.map +1 -1
  154. package/es/components/list/unordered-list.d.ts +2 -2
  155. package/es/components/list/unordered-list.d.ts.map +1 -1
  156. package/es/components/list/unordered-list.js +5 -5
  157. package/es/components/list/unordered-list.js.map +1 -1
  158. package/es/components/loading/loading.css.js +1 -1
  159. package/es/components/loading/loading.d.ts +2 -2
  160. package/es/components/loading/loading.d.ts.map +1 -1
  161. package/es/components/loading/loading.js +4 -4
  162. package/es/components/loading/loading.js.map +1 -1
  163. package/es/components/loading/loading.rtl.css.js +1 -1
  164. package/es/components/modal/modal-footer-button.d.ts +3 -3
  165. package/es/components/modal/modal-footer-button.d.ts.map +1 -1
  166. package/es/components/modal/modal-footer-button.js +6 -6
  167. package/es/components/modal/modal-footer-button.js.map +1 -1
  168. package/es/components/modal/modal-footer.d.ts.map +1 -1
  169. package/es/components/modal/modal-footer.js +1 -1
  170. package/es/components/modal/modal-footer.js.map +1 -1
  171. package/es/components/modal/modal.css.js +1 -1
  172. package/es/components/modal/modal.d.ts.map +1 -1
  173. package/es/components/modal/modal.js +2 -2
  174. package/es/components/modal/modal.js.map +1 -1
  175. package/es/components/modal/modal.rtl.css.js +1 -1
  176. package/es/components/multi-select/multi-select-item.d.ts +3 -3
  177. package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
  178. package/es/components/multi-select/multi-select-item.js +6 -6
  179. package/es/components/multi-select/multi-select-item.js.map +1 -1
  180. package/es/components/multi-select/multi-select.css.js +1 -1
  181. package/es/components/multi-select/multi-select.d.ts +9 -9
  182. package/es/components/multi-select/multi-select.d.ts.map +1 -1
  183. package/es/components/multi-select/multi-select.js +17 -17
  184. package/es/components/multi-select/multi-select.js.map +1 -1
  185. package/es/components/multi-select/multi-select.rtl.css.js +1 -1
  186. package/es/components/notification/actionable-notification-button.d.ts +21 -0
  187. package/es/components/notification/actionable-notification-button.d.ts.map +1 -0
  188. package/es/components/notification/actionable-notification-button.js +56 -0
  189. package/es/components/notification/actionable-notification-button.js.map +1 -0
  190. package/es/components/notification/actionable-notification.css.js +12 -0
  191. package/es/components/notification/actionable-notification.d.ts +370 -0
  192. package/es/components/notification/actionable-notification.d.ts.map +1 -0
  193. package/es/components/notification/actionable-notification.js +281 -0
  194. package/es/components/notification/actionable-notification.js.map +1 -0
  195. package/es/components/notification/actionable-notification.rtl.css.js +12 -0
  196. package/es/components/notification/defs.d.ts +17 -1
  197. package/es/components/notification/defs.d.ts.map +1 -1
  198. package/es/components/notification/defs.js +3 -0
  199. package/es/components/notification/defs.js.map +1 -1
  200. package/es/components/notification/index.d.ts +2 -0
  201. package/es/components/notification/index.d.ts.map +1 -1
  202. package/es/components/notification/index.js +2 -0
  203. package/es/components/notification/index.js.map +1 -1
  204. package/es/components/notification/inline-notification.css.js +1 -1
  205. package/es/components/notification/inline-notification.d.ts +8 -8
  206. package/es/components/notification/inline-notification.d.ts.map +1 -1
  207. package/es/components/notification/inline-notification.js +23 -18
  208. package/es/components/notification/inline-notification.js.map +1 -1
  209. package/es/components/notification/inline-notification.rtl.css.js +1 -1
  210. package/es/components/notification/toast-notification.css.js +1 -1
  211. package/es/components/notification/toast-notification.d.ts +4 -4
  212. package/es/components/notification/toast-notification.d.ts.map +1 -1
  213. package/es/components/notification/toast-notification.js +7 -7
  214. package/es/components/notification/toast-notification.js.map +1 -1
  215. package/es/components/notification/toast-notification.rtl.css.js +1 -1
  216. package/es/components/number-input/index.d.ts +2 -1
  217. package/es/components/number-input/index.d.ts.map +1 -1
  218. package/es/components/number-input/index.js +2 -1
  219. package/es/components/number-input/index.js.map +1 -1
  220. package/es/components/number-input/number-input-skeleton.d.ts +2 -2
  221. package/es/components/number-input/number-input-skeleton.d.ts.map +1 -1
  222. package/es/components/number-input/number-input-skeleton.js +4 -4
  223. package/es/components/number-input/number-input-skeleton.js.map +1 -1
  224. package/es/components/number-input/number-input.css.js +1 -1
  225. package/es/components/number-input/number-input.d.ts +12 -25
  226. package/es/components/number-input/number-input.d.ts.map +1 -1
  227. package/es/components/number-input/number-input.js +85 -106
  228. package/es/components/number-input/number-input.js.map +1 -1
  229. package/es/components/number-input/number-input.rtl.css.js +1 -1
  230. package/es/components/pagination/pagination.css.js +1 -1
  231. package/es/components/pagination/pagination.rtl.css.js +1 -1
  232. package/es/components/popover/defs.d.ts +63 -0
  233. package/es/components/popover/defs.d.ts.map +1 -0
  234. package/es/components/popover/defs.js +28 -0
  235. package/es/components/popover/defs.js.map +1 -0
  236. package/es/components/popover/index.d.ts +12 -0
  237. package/es/components/popover/index.d.ts.map +1 -0
  238. package/es/components/popover/index.js +12 -0
  239. package/es/components/popover/index.js.map +1 -0
  240. package/es/components/popover/popover-content.d.ts +45 -0
  241. package/es/components/popover/popover-content.d.ts.map +1 -0
  242. package/es/components/popover/popover-content.js +141 -0
  243. package/es/components/popover/popover-content.js.map +1 -0
  244. package/es/components/popover/popover.css.js +12 -0
  245. package/es/components/popover/popover.d.ts +54 -0
  246. package/es/components/popover/popover.d.ts.map +1 -0
  247. package/es/components/popover/popover.js +201 -0
  248. package/es/components/popover/popover.js.map +1 -0
  249. package/es/components/popover/popover.rtl.css.js +12 -0
  250. package/es/components/progress-indicator/progress-indicator.css.js +1 -1
  251. package/es/components/progress-indicator/progress-indicator.rtl.css.js +1 -1
  252. package/es/components/radio-button/radio-button.css.js +1 -1
  253. package/es/components/radio-button/radio-button.rtl.css.js +1 -1
  254. package/es/components/search/search-skeleton.d.ts +3 -3
  255. package/es/components/search/search-skeleton.d.ts.map +1 -1
  256. package/es/components/search/search-skeleton.js +6 -6
  257. package/es/components/search/search-skeleton.js.map +1 -1
  258. package/es/components/search/search.css.js +1 -1
  259. package/es/components/search/search.d.ts +361 -19
  260. package/es/components/search/search.d.ts.map +1 -1
  261. package/es/components/search/search.js +136 -29
  262. package/es/components/search/search.js.map +1 -1
  263. package/es/components/search/search.rtl.css.js +1 -1
  264. package/es/components/select/index.d.ts +2 -1
  265. package/es/components/select/index.d.ts.map +1 -1
  266. package/es/components/select/index.js +2 -1
  267. package/es/components/select/index.js.map +1 -1
  268. package/es/components/select/select-item-group.d.ts +2 -2
  269. package/es/components/select/select-item-group.d.ts.map +1 -1
  270. package/es/components/select/select-item-group.js +4 -4
  271. package/es/components/select/select-item-group.js.map +1 -1
  272. package/es/components/select/select-item.d.ts +2 -2
  273. package/es/components/select/select-item.d.ts.map +1 -1
  274. package/es/components/select/select-item.js +4 -4
  275. package/es/components/select/select-item.js.map +1 -1
  276. package/es/components/select/select-skeleton.d.ts +23 -0
  277. package/es/components/select/select-skeleton.d.ts.map +1 -0
  278. package/es/components/select/select-skeleton.js +72 -0
  279. package/es/components/select/select-skeleton.js.map +1 -0
  280. package/es/components/select/select.css.js +1 -1
  281. package/es/components/select/select.d.ts +29 -331
  282. package/es/components/select/select.d.ts.map +1 -1
  283. package/es/components/select/select.js +151 -74
  284. package/es/components/select/select.js.map +1 -1
  285. package/es/components/select/select.rtl.css.js +1 -1
  286. package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts +2 -2
  287. package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts.map +1 -1
  288. package/es/components/skeleton-placeholder/skeleton-placeholder.js +4 -4
  289. package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
  290. package/es/components/skeleton-text/defs.d.ts +2 -6
  291. package/es/components/skeleton-text/defs.d.ts.map +1 -1
  292. package/es/components/skeleton-text/defs.js +1 -2
  293. package/es/components/skeleton-text/defs.js.map +1 -1
  294. package/es/components/skeleton-text/skeleton-text.css.js +1 -1
  295. package/es/components/skeleton-text/skeleton-text.d.ts +2 -2
  296. package/es/components/skeleton-text/skeleton-text.d.ts.map +1 -1
  297. package/es/components/skeleton-text/skeleton-text.js +4 -4
  298. package/es/components/skeleton-text/skeleton-text.js.map +1 -1
  299. package/es/components/skeleton-text/skeleton-text.rtl.css.js +1 -1
  300. package/es/components/slider/slider-input.d.ts +11 -9
  301. package/es/components/slider/slider-input.d.ts.map +1 -1
  302. package/es/components/slider/slider-input.js +36 -18
  303. package/es/components/slider/slider-input.js.map +1 -1
  304. package/es/components/slider/slider-skeleton.d.ts +2 -2
  305. package/es/components/slider/slider-skeleton.d.ts.map +1 -1
  306. package/es/components/slider/slider-skeleton.js +4 -4
  307. package/es/components/slider/slider-skeleton.js.map +1 -1
  308. package/es/components/slider/slider.css.js +1 -1
  309. package/es/components/slider/slider.d.ts +38 -20
  310. package/es/components/slider/slider.d.ts.map +1 -1
  311. package/es/components/slider/slider.js +119 -54
  312. package/es/components/slider/slider.js.map +1 -1
  313. package/es/components/slider/slider.rtl.css.js +1 -1
  314. package/es/components/structured-list/structured-list.css.js +1 -1
  315. package/es/components/structured-list/structured-list.rtl.css.js +1 -1
  316. package/es/components/tabs/tabs.css.js +1 -1
  317. package/es/components/tabs/tabs.rtl.css.js +1 -1
  318. package/es/components/text-input/defs.d.ts +44 -0
  319. package/es/components/text-input/defs.d.ts.map +1 -0
  320. package/es/components/text-input/defs.js +36 -0
  321. package/es/components/text-input/defs.js.map +1 -0
  322. package/es/components/text-input/index.d.ts +12 -0
  323. package/es/components/text-input/index.d.ts.map +1 -0
  324. package/es/components/text-input/index.js +12 -0
  325. package/es/components/text-input/index.js.map +1 -0
  326. package/es/components/text-input/text-input-skeleton.d.ts +23 -0
  327. package/es/components/text-input/text-input-skeleton.d.ts.map +1 -0
  328. package/es/components/text-input/text-input-skeleton.js +72 -0
  329. package/es/components/text-input/text-input-skeleton.js.map +1 -0
  330. package/es/components/text-input/text-input.css.js +12 -0
  331. package/es/components/text-input/text-input.d.ts +786 -0
  332. package/es/components/text-input/text-input.d.ts.map +1 -0
  333. package/es/components/text-input/text-input.js +657 -0
  334. package/es/components/text-input/text-input.js.map +1 -0
  335. package/es/components/text-input/text-input.rtl.css.js +12 -0
  336. package/es/components/textarea/textarea-skeleton.d.ts +2 -2
  337. package/es/components/textarea/textarea-skeleton.d.ts.map +1 -1
  338. package/es/components/textarea/textarea-skeleton.js +4 -4
  339. package/es/components/textarea/textarea-skeleton.js.map +1 -1
  340. package/es/components/textarea/textarea.css.js +1 -1
  341. package/es/components/textarea/textarea.d.ts +6 -681
  342. package/es/components/textarea/textarea.d.ts.map +1 -1
  343. package/es/components/textarea/textarea.js +63 -197
  344. package/es/components/textarea/textarea.js.map +1 -1
  345. package/es/components/textarea/textarea.rtl.css.js +1 -1
  346. package/es/components/tile/expandable-tile.d.ts.map +1 -1
  347. package/es/components/tile/expandable-tile.js +4 -0
  348. package/es/components/tile/expandable-tile.js.map +1 -1
  349. package/es/components/tile/tile.css.js +1 -1
  350. package/es/components/tile/tile.rtl.css.js +1 -1
  351. package/es/components/toggle-tip/toggletip.d.ts +2 -2
  352. package/es/components/toggle-tip/toggletip.d.ts.map +1 -1
  353. package/es/components/toggle-tip/toggletip.js +2 -2
  354. package/es/components/toggle-tip/toggletip.js.map +1 -1
  355. package/es/components/tooltip/index.d.ts +1 -3
  356. package/es/components/tooltip/index.d.ts.map +1 -1
  357. package/es/components/tooltip/index.js +1 -3
  358. package/es/components/tooltip/index.js.map +1 -1
  359. package/es/components/tooltip/tooltip-content.d.ts +20 -0
  360. package/es/components/tooltip/tooltip-content.d.ts.map +1 -0
  361. package/es/components/tooltip/tooltip-content.js +62 -0
  362. package/es/components/tooltip/tooltip-content.js.map +1 -0
  363. package/es/components/tooltip/tooltip.css.js +1 -1
  364. package/es/components/tooltip/tooltip.d.ts +36 -25
  365. package/es/components/tooltip/tooltip.d.ts.map +1 -1
  366. package/es/components/tooltip/tooltip.js +111 -124
  367. package/es/components/tooltip/tooltip.js.map +1 -1
  368. package/es/components/tooltip/tooltip.rtl.css.js +1 -1
  369. package/es/components-react/button/button-set.js +1 -1
  370. package/es/components-react/button/button-skeleton.d.ts +2 -2
  371. package/es/components-react/button/button-skeleton.js +1 -1
  372. package/es/components-react/button/button.d.ts +2 -2
  373. package/es/components-react/button/button.js +1 -1
  374. package/es/components-react/checkbox/checkbox-skeleton.d.ts +15 -0
  375. package/es/components-react/checkbox/checkbox-skeleton.js +21 -0
  376. package/es/components-react/checkbox/checkbox.d.ts +2 -2
  377. package/es/components-react/combo-box/combo-box-item.d.ts +2 -2
  378. package/es/components-react/combo-box/combo-box.d.ts +2 -2
  379. package/es/components-react/combo-box/combo-box.js +1 -5
  380. package/es/components-react/copy/copy.d.ts +14 -0
  381. package/es/components-react/copy/copy.js +23 -0
  382. package/es/components-react/copy-button/copy-button.d.ts +2 -2
  383. package/es/components-react/date-picker/date-picker-input-skeleton.d.ts +2 -2
  384. package/es/components-react/date-picker/date-picker-input.d.ts +2 -2
  385. package/es/components-react/date-picker/date-picker-input.js +0 -1
  386. package/es/components-react/date-picker/date-picker.d.ts +2 -2
  387. package/es/components-react/dropdown/dropdown-item.d.ts +2 -2
  388. package/es/components-react/dropdown/dropdown-skeleton.d.ts +2 -2
  389. package/es/components-react/dropdown/dropdown.d.ts +2 -2
  390. package/es/components-react/dropdown/dropdown.js +1 -1
  391. package/es/components-react/icon-button/defs.js +9 -0
  392. package/es/components-react/{tooltip/tooltip-body.d.ts → icon-button/icon-button.d.ts} +3 -3
  393. package/es/components-react/icon-button/icon-button.js +24 -0
  394. package/es/components-react/{slider/defs.js → icon-button/index.js} +0 -1
  395. package/es/components-react/inline-loading/inline-loading.d.ts +2 -2
  396. package/es/components-react/input/input.d.ts +2 -2
  397. package/es/components-react/list/ordered-list.d.ts +2 -2
  398. package/es/components-react/list/unordered-list.d.ts +2 -2
  399. package/es/components-react/loading/loading.d.ts +2 -2
  400. package/es/components-react/modal/modal-footer-button.d.ts +2 -2
  401. package/es/components-react/multi-select/multi-select-item.d.ts +2 -2
  402. package/es/components-react/multi-select/multi-select.d.ts +2 -2
  403. package/es/components-react/multi-select/multi-select.js +1 -5
  404. package/es/components-react/notification/actionable-notification-button.d.ts +15 -0
  405. package/es/components-react/notification/actionable-notification-button.js +23 -0
  406. package/es/components-react/notification/actionable-notification.d.ts +14 -0
  407. package/es/components-react/notification/actionable-notification.js +23 -0
  408. package/es/components-react/notification/inline-notification.d.ts +2 -2
  409. package/es/components-react/notification/toast-notification.d.ts +2 -2
  410. package/es/components-react/number-input/number-input-skeleton.d.ts +2 -2
  411. package/es/components-react/number-input/number-input.d.ts +3 -3
  412. package/es/components-react/number-input/number-input.js +3 -6
  413. package/es/components-react/popover/defs.d.ts +14 -0
  414. package/es/components-react/{tooltip → popover}/defs.js +1 -1
  415. package/es/components-react/popover/index.d.ts +14 -0
  416. package/es/components-react/popover/index.js +8 -0
  417. package/es/components-react/popover/popover-content.d.ts +15 -0
  418. package/es/components-react/popover/popover-content.js +21 -0
  419. package/es/components-react/{tooltip/tooltip-footer.d.ts → popover/popover.d.ts} +2 -2
  420. package/es/components-react/{tooltip/tooltip-footer.js → popover/popover.js} +2 -2
  421. package/es/components-react/search/search-skeleton.d.ts +2 -2
  422. package/es/components-react/search/search.d.ts +2 -2
  423. package/es/components-react/search/search.js +0 -1
  424. package/es/components-react/select/select-item-group.d.ts +2 -2
  425. package/es/components-react/select/select-item.d.ts +2 -2
  426. package/es/components-react/select/select-skeleton.d.ts +15 -0
  427. package/es/components-react/select/select-skeleton.js +21 -0
  428. package/es/components-react/select/select.d.ts +2 -2
  429. package/es/components-react/select/select.js +0 -1
  430. package/es/components-react/skeleton-placeholder/skeleton-placeholder.d.ts +2 -2
  431. package/es/components-react/skeleton-text/skeleton-text.d.ts +2 -2
  432. package/es/components-react/slider/slider-input.d.ts +2 -2
  433. package/es/components-react/slider/slider-input.js +0 -1
  434. package/es/components-react/slider/slider-skeleton.d.ts +2 -2
  435. package/es/components-react/slider/slider.d.ts +2 -2
  436. package/es/components-react/text-input/defs.d.ts +14 -0
  437. package/es/components-react/text-input/defs.js +9 -0
  438. package/es/components-react/text-input/index.d.ts +14 -0
  439. package/es/components-react/text-input/index.js +8 -0
  440. package/es/components-react/text-input/text-input-skeleton.d.ts +15 -0
  441. package/es/components-react/text-input/text-input-skeleton.js +21 -0
  442. package/es/components-react/text-input/text-input.d.ts +15 -0
  443. package/es/components-react/text-input/text-input.js +22 -0
  444. package/es/components-react/textarea/textarea-skeleton.d.ts +2 -2
  445. package/es/components-react/textarea/textarea.d.ts +4 -5
  446. package/es/components-react/textarea/textarea.js +4 -3
  447. package/es/components-react/tooltip/tooltip-content.d.ts +14 -0
  448. package/es/components-react/tooltip/{tooltip-body.js → tooltip-content.js} +4 -4
  449. package/es/components-react/tooltip/tooltip.d.ts +4 -5
  450. package/es/components-react/tooltip/tooltip.js +4 -2
  451. package/es/globals/settings.d.ts.map +1 -1
  452. package/es/globals/settings.js +1 -1
  453. package/es/globals/settings.js.map +1 -1
  454. package/es/globals/wrappers/createReactCustomElementType.d.ts +3 -3
  455. package/es/globals/wrappers/createReactCustomElementType.d.ts.map +1 -1
  456. package/es/globals/wrappers/createReactCustomElementType.js +3 -3
  457. package/es/globals/wrappers/createReactCustomElementType.js.map +1 -1
  458. package/es/icons/add/16.js +1 -1
  459. package/es/icons/arrows/16.js +1 -1
  460. package/es/icons/arrows--vertical/16.js +1 -1
  461. package/es/icons/caret--down/16.js +1 -1
  462. package/es/icons/caret--up/16.js +1 -1
  463. package/es/icons/information/16.js +1 -1
  464. package/es/icons/information--filled/20.js +1 -1
  465. package/es/icons/information--square--filled/20.js +1 -1
  466. package/es/icons/subtract/16.js +1 -1
  467. package/es/icons/warning--alt--filled/16.js +1 -1
  468. package/es/icons/warning--alt--filled/20.js +1 -1
  469. package/es/index.d.ts +110 -108
  470. package/es/index.d.ts.map +1 -1
  471. package/es/index.js +110 -108
  472. package/es/index.js.map +1 -1
  473. package/lib/components/date-picker/defs.js +2 -11
  474. package/lib/components/date-picker/defs.js.map +1 -1
  475. package/lib/components/dropdown/defs.js +12 -3
  476. package/lib/components/dropdown/defs.js.map +1 -1
  477. package/lib/components/icon-button/defs.js +40 -0
  478. package/lib/components/icon-button/defs.js.map +1 -0
  479. package/lib/components/input/defs.js +1 -1
  480. package/lib/components/input/defs.js.map +1 -1
  481. package/lib/components/notification/defs.js +3 -0
  482. package/lib/components/notification/defs.js.map +1 -1
  483. package/lib/components/popover/defs.js +34 -0
  484. package/lib/components/popover/defs.js.map +1 -0
  485. package/lib/components/skeleton-text/defs.js +1 -2
  486. package/lib/components/skeleton-text/defs.js.map +1 -1
  487. package/lib/components/text-input/defs.js +47 -0
  488. package/lib/components/text-input/defs.js.map +1 -0
  489. package/lib/components-react-node/button/button-set.js +1 -1
  490. package/lib/components-react-node/button/button-skeleton.js +1 -1
  491. package/lib/components-react-node/button/button.js +1 -1
  492. package/lib/components-react-node/{tooltip/tooltip-body.js → checkbox/checkbox-skeleton.js} +3 -4
  493. package/lib/components-react-node/combo-box/combo-box.js +2 -8
  494. package/lib/components-react-node/copy/copy.js +37 -0
  495. package/lib/components-react-node/date-picker/date-picker-input.js +0 -6
  496. package/lib/components-react-node/dropdown/dropdown.js +2 -2
  497. package/lib/components-react-node/icon-button/defs.js +24 -0
  498. package/lib/components-react-node/icon-button/icon-button.js +50 -0
  499. package/lib/components-react-node/icon-button/index.js +9 -0
  500. package/lib/components-react-node/multi-select/multi-select.js +0 -6
  501. package/lib/components-react-node/notification/actionable-notification-button.js +37 -0
  502. package/lib/components-react-node/notification/actionable-notification.js +37 -0
  503. package/lib/components-react-node/number-input/number-input.js +3 -9
  504. package/lib/components-react-node/{slider → popover}/defs.js +1 -1
  505. package/lib/components-react-node/popover/index.js +9 -0
  506. package/lib/components-react-node/popover/popover-content.js +36 -0
  507. package/lib/components-react-node/{tooltip/tooltip-footer.js → popover/popover.js} +1 -1
  508. package/lib/components-react-node/search/search.js +0 -7
  509. package/lib/components-react-node/select/select-skeleton.js +36 -0
  510. package/lib/components-react-node/select/select.js +0 -7
  511. package/lib/components-react-node/slider/slider-input.js +0 -7
  512. package/lib/components-react-node/{tooltip → text-input}/defs.js +1 -1
  513. package/lib/components-react-node/text-input/index.js +9 -0
  514. package/lib/components-react-node/text-input/text-input-skeleton.js +36 -0
  515. package/lib/components-react-node/text-input/text-input.js +55 -0
  516. package/lib/components-react-node/textarea/textarea.js +3 -9
  517. package/lib/components-react-node/tooltip/tooltip-content.js +37 -0
  518. package/lib/components-react-node/tooltip/tooltip.js +3 -2
  519. package/lib/globals/settings.js +1 -1
  520. package/lib/globals/settings.js.map +1 -1
  521. package/lib/globals/wrappers/createReactCustomElementType.js +3 -3
  522. package/lib/globals/wrappers/createReactCustomElementType.js.map +1 -1
  523. package/package.json +5 -5
  524. package/scss/components/button/button.scss +5 -5
  525. package/scss/components/checkbox/checkbox.scss +9 -1
  526. package/scss/components/combo-box/combo-box.scss +51 -42
  527. package/scss/components/copy-button/copy-button.scss +20 -0
  528. package/scss/components/date-picker/date-picker.scss +28 -14
  529. package/scss/components/dropdown/dropdown.scss +87 -34
  530. package/scss/components/icon-button/icon-button.scss +14 -0
  531. package/scss/components/layer/layer.scss +0 -6
  532. package/scss/components/list/list.scss +0 -5
  533. package/scss/components/loading/loading.scss +1 -0
  534. package/scss/components/modal/modal.scss +2 -2
  535. package/scss/components/notification/actionable-notification.scss +170 -0
  536. package/scss/components/notification/inline-notification.scss +26 -0
  537. package/scss/components/notification/toast-notification.scss +26 -0
  538. package/scss/components/number-input/number-input.scss +13 -0
  539. package/scss/components/popover/popover.scss +122 -0
  540. package/scss/components/search/search.scss +54 -21
  541. package/scss/components/select/select.scss +20 -4
  542. package/scss/components/skeleton-text/skeleton-text.scss +4 -0
  543. package/scss/components/slider/slider.scss +9 -1
  544. package/scss/components/text-input/text-input.scss +38 -0
  545. package/scss/components/textarea/textarea.scss +7 -0
  546. package/scss/components/tile/tile.scss +4 -0
  547. package/scss/components/tooltip/tooltip.scss +5 -135
  548. package/es/components/slider/defs.d.ts +0 -11
  549. package/es/components/slider/defs.d.ts.map +0 -1
  550. package/es/components/slider/defs.js +0 -11
  551. package/es/components/slider/defs.js.map +0 -1
  552. package/es/components/tooltip/defs.d.ts +0 -84
  553. package/es/components/tooltip/defs.d.ts.map +0 -1
  554. package/es/components/tooltip/defs.js +0 -39
  555. package/es/components/tooltip/defs.js.map +0 -1
  556. package/es/components/tooltip/tooltip-body.d.ts +0 -40
  557. package/es/components/tooltip/tooltip-body.d.ts.map +0 -1
  558. package/es/components/tooltip/tooltip-body.js +0 -175
  559. package/es/components/tooltip/tooltip-body.js.map +0 -1
  560. package/es/components/tooltip/tooltip-footer.d.ts.map +0 -1
  561. package/es/components/tooltip/tooltip-footer.js.map +0 -1
  562. package/lib/components/slider/defs.js +0 -21
  563. package/lib/components/slider/defs.js.map +0 -1
  564. package/lib/components/tooltip/defs.js +0 -45
  565. package/lib/components/tooltip/defs.js.map +0 -1
  566. /package/es/components-react/{slider → icon-button}/defs.d.ts +0 -0
  567. /package/es/components-react/{tooltip/defs.d.ts → icon-button/index.d.ts} +0 -0
@@ -22,7 +22,6 @@ import FocusMixin from '../../globals/mixins/focus';
22
22
  import FormMixin from '../../globals/mixins/form';
23
23
  import HostListenerMixin from '../../globals/mixins/host-listener';
24
24
  import HostListener from '../../globals/decorators/host-listener';
25
- import ifNonEmpty from '../../globals/directives/if-non-empty';
26
25
  import styles from "././slider.css.js";
27
26
  /**
28
27
  * The direction to move the thumb, associated with key symbols.
@@ -47,15 +46,15 @@ const THUMB_DIRECTION = {
47
46
  * @slot min-text - The text for minimum value.
48
47
  * @fires cds-slider-changed - The custom event fired after the value is changed by user gesture.
49
48
  */
50
- let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initialize, _HostListenerMixin) {
51
- class BXSlider extends _HostListenerMixin {
49
+ let CDSSlider = _decorate([customElement(`${prefix}-slider`)], function (_initialize, _HostListenerMixin) {
50
+ class CDSSlider extends _HostListenerMixin {
52
51
  constructor(...args) {
53
52
  super(...args);
54
53
  _initialize(this);
55
54
  }
56
55
  }
57
56
  return {
58
- F: BXSlider,
57
+ F: CDSSlider,
59
58
  d: [{
60
59
  kind: "field",
61
60
  key: "_max",
@@ -76,7 +75,7 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
76
75
  }
77
76
  }, {
78
77
  kind: "field",
79
- key: "_stepRatio",
78
+ key: "_stepMultiplier",
80
79
  value() {
81
80
  return '4';
82
81
  }
@@ -109,7 +108,7 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
109
108
  */
110
109
 
111
110
  /**
112
- * The internal value of `stepRatio` property.
111
+ * The internal value of `stepMultiplier` property.
113
112
  */
114
113
 
115
114
  /**
@@ -205,14 +204,14 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
205
204
  max: rawMax,
206
205
  min: rawMin,
207
206
  step: rawStep,
208
- stepRatio: rawStepRatio,
207
+ stepMultiplier: rawstepMultiplier,
209
208
  value
210
209
  } = this;
211
210
  const max = Number(rawMax);
212
211
  const min = Number(rawMin);
213
212
  const step = Number(rawStep);
214
- const stepRatio = Number(rawStepRatio);
215
- const diff = (!shiftKey ? step : (max - min) / stepRatio) * THUMB_DIRECTION[key];
213
+ const stepMultiplier = Number(rawstepMultiplier);
214
+ const diff = (!shiftKey ? step : (max - min) / stepMultiplier) * THUMB_DIRECTION[key];
216
215
  const stepCount = (value + diff) / step;
217
216
  // Snaps to next
218
217
  this.value = Math.min(max, Math.max(min, (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step));
@@ -378,24 +377,22 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
378
377
  }, {
379
378
  kind: "field",
380
379
  decorators: [property({
381
- attribute: false
380
+ type: Boolean,
381
+ reflect: true
382
382
  })],
383
- key: "formatMaxText",
383
+ key: "required",
384
384
  value() {
385
- return ({
386
- max
387
- }) => max;
385
+ return false;
388
386
  }
389
387
  }, {
390
388
  kind: "field",
391
389
  decorators: [property({
392
- attribute: false
390
+ type: Boolean,
391
+ reflect: true
393
392
  })],
394
- key: "formatMinText",
393
+ key: "readonly",
395
394
  value() {
396
- return ({
397
- min
398
- }) => min;
395
+ return false;
399
396
  }
400
397
  }, {
401
398
  kind: "field",
@@ -406,6 +403,44 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
406
403
  value() {
407
404
  return '';
408
405
  }
406
+ }, {
407
+ kind: "field",
408
+ decorators: [property({
409
+ attribute: 'max-label',
410
+ reflect: true
411
+ })],
412
+ key: "maxLabel",
413
+ value() {
414
+ return '';
415
+ }
416
+ }, {
417
+ kind: "field",
418
+ decorators: [property({
419
+ attribute: 'min-label',
420
+ reflect: true
421
+ })],
422
+ key: "minLabel",
423
+ value() {
424
+ return '';
425
+ }
426
+ }, {
427
+ kind: "field",
428
+ decorators: [property({
429
+ attribute: false
430
+ })],
431
+ key: "formatMaxText",
432
+ value() {
433
+ return (max, maxLabel) => `${max}${maxLabel}`;
434
+ }
435
+ }, {
436
+ kind: "field",
437
+ decorators: [property({
438
+ attribute: false
439
+ })],
440
+ key: "formatMinText",
441
+ value() {
442
+ return (min, minLabel) => `${min}${minLabel}`;
443
+ }
409
444
  }, {
410
445
  kind: "get",
411
446
  decorators: [property({
@@ -421,16 +456,28 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
421
456
  * `true` if the check box should be disabled.
422
457
  */
423
458
  /**
424
- * The formatter for the text for maximum value.
425
- * Should be changed upon the locale the UI is rendered with.
459
+ * true to specify if the control is required.
426
460
  */
427
461
  /**
428
- * The formatter for the text for minimum value.
429
- * Should be changed upon the locale the UI is rendered with.
462
+ * Whether the slider should be read-only
430
463
  */
431
464
  /**
432
465
  * The label text.
433
466
  */
467
+ /**
468
+ * The label associated with the maximum value.
469
+ */
470
+ /**
471
+ * The label associated with the minimum value.
472
+ */
473
+ /**
474
+ * The formatter for the text for maximum value.
475
+ * Should be changed upon the locale the UI is rendered with.
476
+ */
477
+ /**
478
+ * The formatter for the text for min/max value.
479
+ * Should be changed upon the locale the UI is rendered with.
480
+ */
434
481
  /**
435
482
  * The maximum value.
436
483
  */
@@ -480,6 +527,15 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
480
527
  decorators: [property()],
481
528
  key: "name",
482
529
  value: void 0
530
+ }, {
531
+ kind: "field",
532
+ decorators: [property({
533
+ type: Boolean
534
+ })],
535
+ key: "invalid",
536
+ value() {
537
+ return false;
538
+ }
483
539
  }, {
484
540
  kind: "get",
485
541
  decorators: [property({
@@ -488,6 +544,9 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
488
544
  })],
489
545
  key: "step",
490
546
  value:
547
+ /**
548
+ * true to specify if the control is invalid.
549
+ */
491
550
  /**
492
551
  * The snapping step of the value.
493
552
  */
@@ -507,28 +566,28 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
507
566
 
508
567
  /**
509
568
  * A value determining how much the value should increase/decrease by Shift+arrow keys,
510
- * which will be `(max - min) / stepRatio`.
569
+ * which will be `(max - min) / stepMultiplier`.
511
570
  */
512
571
  }, {
513
572
  kind: "get",
514
573
  decorators: [property({
515
574
  type: Number,
516
575
  reflect: true,
517
- attribute: 'step-ratio'
576
+ attribute: 'step-multiplier'
518
577
  })],
519
- key: "stepRatio",
520
- value: function stepRatio() {
521
- return this._stepRatio.toString();
578
+ key: "stepMultiplier",
579
+ value: function stepMultiplier() {
580
+ return this._stepMultiplier.toString();
522
581
  }
523
582
  }, {
524
583
  kind: "set",
525
- key: "stepRatio",
526
- value: function stepRatio(value) {
584
+ key: "stepMultiplier",
585
+ value: function stepMultiplier(value) {
527
586
  const {
528
- stepRatio: oldStepRatio
587
+ stepMultiplier: oldstepMultiplier
529
588
  } = this;
530
- this._stepRatio = value;
531
- this.requestUpdate('stepRatio', oldStepRatio);
589
+ this._stepMultiplier = value;
590
+ this.requestUpdate('stepMultiplier', oldstepMultiplier);
532
591
  }
533
592
 
534
593
  /**
@@ -540,14 +599,12 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
540
599
  type: Number
541
600
  })],
542
601
  key: "value",
543
- value() {
544
- return 50;
545
- }
602
+ value: void 0
546
603
  }, {
547
604
  kind: "method",
548
605
  key: "connectedCallback",
549
606
  value: function connectedCallback() {
550
- _get(_getPrototypeOf(BXSlider.prototype), "connectedCallback", this).call(this);
607
+ _get(_getPrototypeOf(CDSSlider.prototype), "connectedCallback", this).call(this);
551
608
  if (!this._throttledHandlePointermoveImpl) {
552
609
  this._throttledHandlePointermoveImpl = throttle(this._handlePointermoveImpl, 10);
553
610
  }
@@ -560,7 +617,7 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
560
617
  this._throttledHandlePointermoveImpl.cancel();
561
618
  this._throttledHandlePointermoveImpl = null;
562
619
  }
563
- _get(_getPrototypeOf(BXSlider.prototype), "disconnectedCallback", this).call(this);
620
+ _get(_getPrototypeOf(CDSSlider.prototype), "disconnectedCallback", this).call(this);
564
621
  }
565
622
  }, {
566
623
  kind: "method",
@@ -575,12 +632,27 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
575
632
  this._dragging = false;
576
633
  }
577
634
  }
635
+ if (changedProperties.has('readonly')) {
636
+ if (input) {
637
+ input.readonly = this.readonly;
638
+ }
639
+ if (this.readonly) {
640
+ this._dragging = false;
641
+ }
642
+ }
578
643
  if (input) {
579
644
  ['max', 'min', 'step', 'value'].forEach(name => {
580
645
  if (changedProperties.has(name)) {
581
646
  input[name] = this[name];
582
647
  }
583
648
  });
649
+ if (changedProperties.has('value') || changedProperties.has('invalid')) {
650
+ if (this.value < this.min || this.value > this.max || this.invalid) {
651
+ input.invalid = true;
652
+ } else {
653
+ input.invalid = false;
654
+ }
655
+ }
584
656
  }
585
657
  return true;
586
658
  }
@@ -595,8 +667,10 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
595
667
  labelText,
596
668
  max,
597
669
  min,
598
- name,
670
+ maxLabel,
671
+ minLabel,
599
672
  value,
673
+ readonly,
600
674
  _rate: rate,
601
675
  _handleClickLabel: handleClickLabel,
602
676
  _handleKeydown: handleKeydown,
@@ -610,7 +684,8 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
610
684
  });
611
685
  const sliderClasses = classMap({
612
686
  [`${prefix}--slider`]: true,
613
- [`${prefix}--slider--disabled`]: disabled
687
+ [`${prefix}--slider--disabled`]: disabled,
688
+ [`${prefix}--slider--readonly`]: readonly
614
689
  });
615
690
  return html(_t || (_t = _`
616
691
  <label class="${0}" @click="${0}">
@@ -626,12 +701,13 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
626
701
  @pointerup="${0}"
627
702
  @pointerleave="${0}"
628
703
  class="${0}"
704
+ tabindex="-1"
629
705
  role="presentation">
630
706
  <div
631
707
  id="thumb"
632
708
  class="${0}--slider__thumb"
633
709
  role="slider"
634
- tabindex="0"
710
+ tabindex="${0}"
635
711
  aria-valuemax="${0}"
636
712
  aria-valuemin="${0}"
637
713
  aria-valuenow="${0}"
@@ -643,24 +719,13 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
643
719
  class="${0}--slider__filled-track"
644
720
  style="transform: translate(0%, -50%) scaleX(${0})"></div>
645
721
  </div>
646
- <input
647
- class="${0}--slider__input"
648
- type="hidden"
649
- name="${0}"
650
- .value="${0}"
651
- min="${0}"
652
- max="${0}" />
653
722
  </div>
654
723
  <span class="${0}--slider__range-label">
655
724
  <slot name="max-text">${0}</slot>
656
725
  </span>
657
726
  <slot></slot>
658
727
  </div>
659
- `), labelClasses, handleClickLabel, labelText, prefix, prefix, formatMinText({
660
- min
661
- }), handleKeydown, handleClick, endDrag, endDrag, sliderClasses, prefix, max, min, value, rate * 100, startDrag, prefix, prefix, prefix, rate, prefix, ifNonEmpty(name), value, ifNonEmpty(min), ifNonEmpty(max), prefix, formatMaxText({
662
- max
663
- }));
728
+ `), labelClasses, handleClickLabel, labelText, prefix, prefix, formatMinText(min, minLabel), handleKeydown, handleClick, endDrag, endDrag, sliderClasses, prefix, !readonly ? 0 : -1, max, min, value, rate * 100, startDrag, prefix, prefix, prefix, rate, prefix, formatMaxText(max, maxLabel));
664
729
  }
665
730
 
666
731
  /**
@@ -714,5 +779,5 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
714
779
  }]
715
780
  };
716
781
  }, HostListenerMixin(FormMixin(FocusMixin(LitElement))));
717
- export default BXSlider;
782
+ export default CDSSlider;
718
783
  //# sourceMappingURL=slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","names":["LitElement","html","property","customElement","query","classMap","throttle","prefix","FocusMixin","FormMixin","HostListenerMixin","HostListener","ifNonEmpty","styles","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","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","_objectSpread","shadowRootOptions","delegatesFocus"],"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 { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport throttle from 'lodash-es/throttle';\nimport { prefix } from '../../globals/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';\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 cds-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 cds-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 `<cds-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 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 `<cds-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default BXSlider;\n"],"mappings":"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"}
1
+ {"version":3,"file":"slider.js","names":["LitElement","html","property","customElement","query","classMap","throttle","prefix","FocusMixin","FormMixin","HostListenerMixin","HostListener","styles","THUMB_DIRECTION","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","CDSSlider","_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","stepMultiplier","rawstepMultiplier","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","maxLabel","minLabel","_max","toString","oldMax","requestUpdate","_min","oldMin","_step","oldStep","_stepMultiplier","oldstepMultiplier","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","cancel","shouldUpdate","changedProperties","input","querySelector","selectorInput","has","readonly","forEach","invalid","render","formatMaxText","formatMinText","labelText","handleClickLabel","handleKeydown","handleClick","startDrag","_endDrag","endDrag","labelClasses","sliderClasses","_t","_","static","eventChangeInput","_objectSpread","shadowRootOptions","delegatesFocus"],"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 { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport throttle from 'lodash-es/throttle';\nimport { prefix } from '../../globals/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 CDSSliderInput from './slider-input';\nimport styles from './slider.scss';\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 cds-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 cds-slider-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider`)\nclass CDSSlider 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 `stepMultiplier` property.\n */\n private _stepMultiplier = '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 `<cds-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 stepMultiplier: rawstepMultiplier,\n value,\n } = this;\n const max = Number(rawMax);\n const min = Number(rawMin);\n const step = Number(rawStep);\n const stepMultiplier = Number(rawstepMultiplier);\n const diff =\n (!shiftKey ? step : (max - min) / stepMultiplier) *\n 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 CDSSlider).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 CDSSlider).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 CDSSlider).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 CDSSlider).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 CDSSlider).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 * \ttrue to specify if the control is required.\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * \tWhether the slider should be read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The label associated with the maximum value.\n */\n @property({ attribute: 'max-label', reflect: true })\n maxLabel = '';\n\n /**\n * The label associated with the minimum value.\n */\n @property({ attribute: 'min-label', reflect: true })\n minLabel = '';\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: string, maxLabel: string | undefined) =>\n `${max}${maxLabel}`;\n\n /**\n * The formatter for the text for min/max value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMinText = (min: string, minLabel: string | undefined) =>\n `${min}${minLabel}`;\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 * true to specify if the control is invalid.\n */\n @property({ type: Boolean })\n invalid = false;\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) / stepMultiplier`.\n */\n @property({ type: Number, reflect: true, attribute: 'step-multiplier' })\n get stepMultiplier() {\n return this._stepMultiplier.toString();\n }\n\n set stepMultiplier(value) {\n const { stepMultiplier: oldstepMultiplier } = this;\n this._stepMultiplier = value;\n this.requestUpdate('stepMultiplier', oldstepMultiplier);\n }\n\n /**\n * The value.\n */\n @property({ type: Number })\n value;\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 CDSSlider).selectorInput\n ) as CDSSliderInput;\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 (changedProperties.has('readonly')) {\n if (input) {\n input.readonly = this.readonly;\n }\n if (this.readonly) {\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 if (changedProperties.has('value') || changedProperties.has('invalid')) {\n if (this.value < this.min || this.value > this.max || this.invalid) {\n input.invalid = true;\n } else {\n input.invalid = false;\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 maxLabel,\n minLabel,\n value,\n readonly,\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 [`${prefix}--slider--readonly`]: readonly,\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, minLabel)}</slot>\n </span>\n <div\n @keydown=\"${handleKeydown}\"\n @click=\"${handleClick}\"\n @pointerup=\"${endDrag}\"\n @pointerleave=\"${endDrag}\"\n class=\"${sliderClasses}\"\n tabindex=\"-1\"\n role=\"presentation\">\n <div\n id=\"thumb\"\n class=\"${prefix}--slider__thumb\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\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 </div>\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"max-text\">${formatMaxText(max, maxLabel)}</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 `<cds-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSlider;\n"],"mappings":"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"}