igniteui-webcomponents 7.3.0-beta.0 → 7.3.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 (375) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/animations/player.d.ts +7 -2
  3. package/animations/player.js +1 -2
  4. package/animations/player.js.map +1 -1
  5. package/components/accordion/accordion.js +4 -16
  6. package/components/accordion/accordion.js.map +1 -1
  7. package/components/avatar/avatar.d.ts +0 -1
  8. package/components/avatar/avatar.js +5 -9
  9. package/components/avatar/avatar.js.map +1 -1
  10. package/components/badge/badge.d.ts +1 -3
  11. package/components/badge/badge.js +4 -8
  12. package/components/badge/badge.js.map +1 -1
  13. package/components/banner/banner.d.ts +6 -5
  14. package/components/banner/banner.js +19 -17
  15. package/components/banner/banner.js.map +1 -1
  16. package/components/button/button-base.d.ts +1 -1
  17. package/components/button/button-base.js.map +1 -1
  18. package/components/button-group/button-group.d.ts +0 -1
  19. package/components/button-group/button-group.js +12 -17
  20. package/components/button-group/button-group.js.map +1 -1
  21. package/components/calendar/base.d.ts +3 -13
  22. package/components/calendar/base.js +10 -31
  23. package/components/calendar/base.js.map +1 -1
  24. package/components/calendar/calendar.d.ts +2 -2
  25. package/components/calendar/months-view/months-view.d.ts +1 -1
  26. package/components/calendar/months-view/months-view.js.map +1 -1
  27. package/components/carousel/carousel-indicator.d.ts +1 -1
  28. package/components/carousel/carousel-indicator.js +13 -13
  29. package/components/carousel/carousel-indicator.js.map +1 -1
  30. package/components/carousel/carousel-slide.d.ts +0 -2
  31. package/components/carousel/carousel-slide.js +7 -9
  32. package/components/carousel/carousel-slide.js.map +1 -1
  33. package/components/carousel/carousel.d.ts +52 -35
  34. package/components/carousel/carousel.js +136 -122
  35. package/components/carousel/carousel.js.map +1 -1
  36. package/components/carousel/themes/carousel.base.css.js +1 -1
  37. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  38. package/components/chat/chat-input.d.ts +1 -1
  39. package/components/chat/chat-input.js +21 -21
  40. package/components/chat/chat-input.js.map +1 -1
  41. package/components/chat/chat.d.ts +0 -2
  42. package/components/chat/chat.js +6 -12
  43. package/components/chat/chat.js.map +1 -1
  44. package/components/checkbox/checkbox-base.d.ts +1 -1
  45. package/components/checkbox/checkbox.d.ts +3 -5
  46. package/components/checkbox/checkbox.js +33 -44
  47. package/components/checkbox/checkbox.js.map +1 -1
  48. package/components/checkbox/switch.d.ts +1 -1
  49. package/components/checkbox/switch.js +23 -34
  50. package/components/checkbox/switch.js.map +1 -1
  51. package/components/chip/chip.d.ts +1 -14
  52. package/components/chip/chip.js +12 -33
  53. package/components/chip/chip.js.map +1 -1
  54. package/components/color-picker/color-picker.d.ts +261 -0
  55. package/components/color-picker/color-picker.js +620 -0
  56. package/components/color-picker/color-picker.js.map +1 -0
  57. package/components/color-picker/common.d.ts +37 -0
  58. package/components/color-picker/common.js +55 -0
  59. package/components/color-picker/common.js.map +1 -0
  60. package/components/color-picker/converters.d.ts +18 -0
  61. package/components/color-picker/converters.js +173 -0
  62. package/components/color-picker/converters.js.map +1 -0
  63. package/components/color-picker/model.d.ts +120 -0
  64. package/components/color-picker/model.js +174 -0
  65. package/components/color-picker/model.js.map +1 -0
  66. package/components/color-picker/picker-canvas.d.ts +95 -0
  67. package/components/color-picker/picker-canvas.js +154 -0
  68. package/components/color-picker/picker-canvas.js.map +1 -0
  69. package/components/color-picker/themes/color-picker.base.css.d.ts +1 -0
  70. package/components/color-picker/themes/color-picker.base.css.js +3 -0
  71. package/components/color-picker/themes/color-picker.base.css.js.map +1 -0
  72. package/components/color-picker/themes/dark/color-picker.bootstrap.css.d.ts +1 -0
  73. package/components/color-picker/themes/dark/color-picker.bootstrap.css.js +3 -0
  74. package/components/color-picker/themes/dark/color-picker.bootstrap.css.js.map +1 -0
  75. package/components/color-picker/themes/dark/color-picker.fluent.css.d.ts +1 -0
  76. package/components/color-picker/themes/dark/color-picker.fluent.css.js +3 -0
  77. package/components/color-picker/themes/dark/color-picker.fluent.css.js.map +1 -0
  78. package/components/color-picker/themes/dark/color-picker.indigo.css.d.ts +1 -0
  79. package/components/color-picker/themes/dark/color-picker.indigo.css.js +3 -0
  80. package/components/color-picker/themes/dark/color-picker.indigo.css.js.map +1 -0
  81. package/components/color-picker/themes/dark/color-picker.material.css.d.ts +1 -0
  82. package/components/color-picker/themes/dark/color-picker.material.css.js +3 -0
  83. package/components/color-picker/themes/dark/color-picker.material.css.js.map +1 -0
  84. package/components/color-picker/themes/light/color-picker.bootstrap.css.d.ts +1 -0
  85. package/components/color-picker/themes/light/color-picker.bootstrap.css.js +3 -0
  86. package/components/color-picker/themes/light/color-picker.bootstrap.css.js.map +1 -0
  87. package/components/color-picker/themes/light/color-picker.fluent.css.d.ts +1 -0
  88. package/components/color-picker/themes/light/color-picker.fluent.css.js +3 -0
  89. package/components/color-picker/themes/light/color-picker.fluent.css.js.map +1 -0
  90. package/components/color-picker/themes/light/color-picker.indigo.css.d.ts +1 -0
  91. package/components/color-picker/themes/light/color-picker.indigo.css.js +3 -0
  92. package/components/color-picker/themes/light/color-picker.indigo.css.js.map +1 -0
  93. package/components/color-picker/themes/light/color-picker.material.css.d.ts +1 -0
  94. package/components/color-picker/themes/light/color-picker.material.css.js +3 -0
  95. package/components/color-picker/themes/light/color-picker.material.css.js.map +1 -0
  96. package/components/color-picker/themes/light/color-picker.shared.css.d.ts +1 -0
  97. package/components/color-picker/themes/light/color-picker.shared.css.js +3 -0
  98. package/components/color-picker/themes/light/color-picker.shared.css.js.map +1 -0
  99. package/components/color-picker/themes/picker-canvas.base.css.d.ts +1 -0
  100. package/components/color-picker/themes/picker-canvas.base.css.js +3 -0
  101. package/components/color-picker/themes/picker-canvas.base.css.js.map +1 -0
  102. package/components/color-picker/themes/shared/color-picker.bootstrap.css.d.ts +1 -0
  103. package/components/color-picker/themes/shared/color-picker.bootstrap.css.js +3 -0
  104. package/components/color-picker/themes/shared/color-picker.bootstrap.css.js.map +1 -0
  105. package/components/color-picker/themes/shared/color-picker.common.css.d.ts +1 -0
  106. package/components/color-picker/themes/shared/color-picker.common.css.js +3 -0
  107. package/components/color-picker/themes/shared/color-picker.common.css.js.map +1 -0
  108. package/components/color-picker/themes/shared/color-picker.fluent.css.d.ts +1 -0
  109. package/components/color-picker/themes/shared/color-picker.fluent.css.js +3 -0
  110. package/components/color-picker/themes/shared/color-picker.fluent.css.js.map +1 -0
  111. package/components/color-picker/themes/shared/color-picker.indigo.css.d.ts +1 -0
  112. package/components/color-picker/themes/shared/color-picker.indigo.css.js +3 -0
  113. package/components/color-picker/themes/shared/color-picker.indigo.css.js.map +1 -0
  114. package/components/color-picker/themes/shared/color-picker.material.css.d.ts +1 -0
  115. package/components/color-picker/themes/shared/color-picker.material.css.js +3 -0
  116. package/components/color-picker/themes/shared/color-picker.material.css.js.map +1 -0
  117. package/components/color-picker/themes/themes.d.ts +2 -0
  118. package/components/color-picker/themes/themes.js +50 -0
  119. package/components/color-picker/themes/themes.js.map +1 -0
  120. package/components/color-picker/validators.d.ts +3 -0
  121. package/components/color-picker/validators.js +5 -0
  122. package/components/color-picker/validators.js.map +1 -0
  123. package/components/combo/combo-item.d.ts +1 -3
  124. package/components/combo/combo-item.js +5 -12
  125. package/components/combo/combo-item.js.map +1 -1
  126. package/components/combo/combo.d.ts +7 -20
  127. package/components/combo/combo.js +59 -81
  128. package/components/combo/combo.js.map +1 -1
  129. package/components/date-picker/date-picker.base.d.ts +12 -9
  130. package/components/date-picker/date-picker.base.js +24 -31
  131. package/components/date-picker/date-picker.base.js.map +1 -1
  132. package/components/date-picker/date-picker.d.ts +1 -1
  133. package/components/date-picker/date-picker.js +3 -5
  134. package/components/date-picker/date-picker.js.map +1 -1
  135. package/components/date-range-picker/date-range-input.d.ts +2 -4
  136. package/components/date-range-picker/date-range-input.js +6 -37
  137. package/components/date-range-picker/date-range-input.js.map +1 -1
  138. package/components/date-range-picker/date-range-picker.d.ts +2 -5
  139. package/components/date-range-picker/date-range-picker.js +15 -28
  140. package/components/date-range-picker/date-range-picker.js.map +1 -1
  141. package/components/date-range-picker/predefined-ranges-area.d.ts +2 -2
  142. package/components/date-range-picker/predefined-ranges-area.js +4 -6
  143. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  144. package/components/date-range-picker/validators.d.ts +1 -1
  145. package/components/date-range-picker/validators.js +5 -18
  146. package/components/date-range-picker/validators.js.map +1 -1
  147. package/components/date-time-input/date-part.d.ts +2 -1
  148. package/components/date-time-input/date-part.js +38 -75
  149. package/components/date-time-input/date-part.js.map +1 -1
  150. package/components/date-time-input/date-time-input.base.d.ts +31 -12
  151. package/components/date-time-input/date-time-input.base.js +43 -11
  152. package/components/date-time-input/date-time-input.base.js.map +1 -1
  153. package/components/date-time-input/date-time-input.d.ts +1 -3
  154. package/components/date-time-input/date-time-input.js +7 -40
  155. package/components/date-time-input/date-time-input.js.map +1 -1
  156. package/components/date-time-input/datetime-mask-parser.d.ts +8 -0
  157. package/components/date-time-input/datetime-mask-parser.js +8 -8
  158. package/components/date-time-input/datetime-mask-parser.js.map +1 -1
  159. package/components/date-time-input/validators.js +3 -14
  160. package/components/date-time-input/validators.js.map +1 -1
  161. package/components/dialog/dialog.d.ts +6 -7
  162. package/components/dialog/dialog.js +21 -26
  163. package/components/dialog/dialog.js.map +1 -1
  164. package/components/divider/divider.d.ts +1 -4
  165. package/components/divider/divider.js +8 -17
  166. package/components/divider/divider.js.map +1 -1
  167. package/components/dropdown/dropdown-group.js +1 -6
  168. package/components/dropdown/dropdown-group.js.map +1 -1
  169. package/components/expansion-panel/expansion-panel.d.ts +15 -5
  170. package/components/expansion-panel/expansion-panel.js +23 -34
  171. package/components/expansion-panel/expansion-panel.js.map +1 -1
  172. package/components/file-input/file-input.d.ts +2 -14
  173. package/components/file-input/file-input.js +5 -23
  174. package/components/file-input/file-input.js.map +1 -1
  175. package/components/highlight/highlight.d.ts +6 -8
  176. package/components/highlight/highlight.js +12 -20
  177. package/components/highlight/highlight.js.map +1 -1
  178. package/components/icon/icon-references.js +1 -0
  179. package/components/icon/icon-references.js.map +1 -1
  180. package/components/icon/icon.d.ts +1 -1
  181. package/components/icon/internal-icons-lib.js +3 -0
  182. package/components/icon/internal-icons-lib.js.map +1 -1
  183. package/components/icon/registry/types.d.ts +1 -1
  184. package/components/icon/registry/types.js.map +1 -1
  185. package/components/input/input.d.ts +9 -19
  186. package/components/input/input.js +30 -60
  187. package/components/input/input.js.map +1 -1
  188. package/components/input/themes/shared/input.material.css.js +1 -1
  189. package/components/input/themes/shared/input.material.css.js.map +1 -1
  190. package/components/mask-input/mask-input.d.ts +1 -1
  191. package/components/mask-input/mask-input.js +2 -4
  192. package/components/mask-input/mask-input.js.map +1 -1
  193. package/components/nav-drawer/nav-drawer.d.ts +7 -7
  194. package/components/nav-drawer/nav-drawer.js +12 -23
  195. package/components/nav-drawer/nav-drawer.js.map +1 -1
  196. package/components/progress/base.d.ts +4 -7
  197. package/components/progress/base.js +21 -45
  198. package/components/progress/base.js.map +1 -1
  199. package/components/qr-code/qr-code.d.ts +1 -1
  200. package/components/qr-code/qr-code.js +3 -2
  201. package/components/qr-code/qr-code.js.map +1 -1
  202. package/components/qr-code/types.d.ts +1 -1
  203. package/components/qr-code/types.js.map +1 -1
  204. package/components/radio/controller.d.ts +2 -30
  205. package/components/radio/controller.js +8 -94
  206. package/components/radio/controller.js.map +1 -1
  207. package/components/radio/radio.d.ts +5 -5
  208. package/components/radio/radio.js +48 -58
  209. package/components/radio/radio.js.map +1 -1
  210. package/components/radio-group/radio-group.d.ts +1 -2
  211. package/components/radio-group/radio-group.js +2 -9
  212. package/components/radio-group/radio-group.js.map +1 -1
  213. package/components/rating/rating.d.ts +24 -12
  214. package/components/rating/rating.js +79 -73
  215. package/components/rating/rating.js.map +1 -1
  216. package/components/resize-container/default-ghost.js +4 -3
  217. package/components/resize-container/default-ghost.js.map +1 -1
  218. package/components/resize-container/resize-container.d.ts +1 -1
  219. package/components/resize-container/resize-container.js +5 -3
  220. package/components/resize-container/resize-container.js.map +1 -1
  221. package/components/resize-container/resize-controller.js +4 -3
  222. package/components/resize-container/resize-controller.js.map +1 -1
  223. package/components/select/select-group.d.ts +2 -1
  224. package/components/select/select-group.js +7 -11
  225. package/components/select/select-group.js.map +1 -1
  226. package/components/select/select.d.ts +3 -4
  227. package/components/select/select.js +23 -28
  228. package/components/select/select.js.map +1 -1
  229. package/components/slider/range-slider.d.ts +3 -2
  230. package/components/slider/range-slider.js +22 -70
  231. package/components/slider/range-slider.js.map +1 -1
  232. package/components/slider/slider-base.d.ts +9 -6
  233. package/components/slider/slider-base.js +27 -28
  234. package/components/slider/slider-base.js.map +1 -1
  235. package/components/slider/slider.js +9 -5
  236. package/components/slider/slider.js.map +1 -1
  237. package/components/splitter/splitter.d.ts +1 -1
  238. package/components/splitter/splitter.js.map +1 -1
  239. package/components/stepper/step.d.ts +3 -0
  240. package/components/stepper/step.js +9 -5
  241. package/components/stepper/step.js.map +1 -1
  242. package/components/stepper/stepper.d.ts +0 -11
  243. package/components/stepper/stepper.js +21 -86
  244. package/components/stepper/stepper.js.map +1 -1
  245. package/components/tabs/tab.d.ts +1 -1
  246. package/components/tabs/tab.js +6 -5
  247. package/components/tabs/tab.js.map +1 -1
  248. package/components/tabs/tabs.d.ts +1 -5
  249. package/components/tabs/tabs.js +12 -34
  250. package/components/tabs/tabs.js.map +1 -1
  251. package/components/textarea/textarea.d.ts +6 -7
  252. package/components/textarea/textarea.js +3 -10
  253. package/components/textarea/textarea.js.map +1 -1
  254. package/components/theme-provider/theme-provider.d.ts +2 -4
  255. package/components/theme-provider/theme-provider.js +11 -21
  256. package/components/theme-provider/theme-provider.js.map +1 -1
  257. package/components/tile-manager/tile-manager.d.ts +10 -21
  258. package/components/tile-manager/tile-manager.js +43 -74
  259. package/components/tile-manager/tile-manager.js.map +1 -1
  260. package/components/tile-manager/tile.d.ts +10 -18
  261. package/components/tile-manager/tile.js +50 -67
  262. package/components/tile-manager/tile.js.map +1 -1
  263. package/components/tooltip/tooltip.d.ts +4 -7
  264. package/components/tooltip/tooltip.js +20 -28
  265. package/components/tooltip/tooltip.js.map +1 -1
  266. package/components/tree/tree.d.ts +1 -14
  267. package/components/tree/tree.js +5 -23
  268. package/components/tree/tree.js.map +1 -1
  269. package/components/tree/tree.navigation.d.ts +1 -1
  270. package/components/tree/tree.navigation.js.map +1 -1
  271. package/components/types.d.ts +2 -0
  272. package/components/types.js.map +1 -1
  273. package/components/validation-container/validation-container.d.ts +1 -2
  274. package/components/validation-container/validation-container.js.map +1 -1
  275. package/components/virtualization/engine.d.ts +40 -38
  276. package/components/virtualization/engine.js.map +1 -1
  277. package/components/virtualization/types.d.ts +6 -5
  278. package/components/virtualization/types.js.map +1 -1
  279. package/components/virtualization/virtualization.d.ts +94 -80
  280. package/components/virtualization/virtualization.js +10 -2
  281. package/components/virtualization/virtualization.js.map +1 -1
  282. package/custom-elements.json +31948 -26708
  283. package/igniteui-webcomponents.css-data.json +1 -1
  284. package/igniteui-webcomponents.html-data.json +1 -1
  285. package/index.d.ts +1 -0
  286. package/index.js +1 -0
  287. package/index.js.map +1 -1
  288. package/internals/controllers/aria-projection.d.ts +6 -6
  289. package/internals/controllers/aria-projection.js.map +1 -1
  290. package/internals/controllers/context-provider.d.ts +48 -0
  291. package/internals/controllers/context-provider.js +29 -0
  292. package/internals/controllers/context-provider.js.map +1 -0
  293. package/internals/controllers/drag.js +6 -6
  294. package/internals/controllers/drag.js.map +1 -1
  295. package/internals/controllers/gestures.js +3 -0
  296. package/internals/controllers/gestures.js.map +1 -1
  297. package/internals/controllers/group.d.ts +64 -0
  298. package/internals/controllers/group.js +104 -0
  299. package/internals/controllers/group.js.map +1 -0
  300. package/internals/controllers/internals.d.ts +16 -3
  301. package/internals/controllers/internals.js +10 -3
  302. package/internals/controllers/internals.js.map +1 -1
  303. package/internals/controllers/key-bindings.d.ts +6 -0
  304. package/internals/controllers/key-bindings.js +3 -0
  305. package/internals/controllers/key-bindings.js.map +1 -1
  306. package/internals/controllers/roving-focus.d.ts +72 -0
  307. package/internals/controllers/roving-focus.js +61 -0
  308. package/internals/controllers/roving-focus.js.map +1 -0
  309. package/internals/controllers/slot.d.ts +8 -0
  310. package/internals/controllers/slot.js +4 -0
  311. package/internals/controllers/slot.js.map +1 -1
  312. package/internals/controllers/toggle.d.ts +96 -0
  313. package/internals/controllers/toggle.js +65 -0
  314. package/internals/controllers/toggle.js.map +1 -0
  315. package/internals/date/converters.js +2 -5
  316. package/internals/date/converters.js.map +1 -1
  317. package/internals/date/model.d.ts +4 -0
  318. package/internals/date/model.js +6 -0
  319. package/internals/date/model.js.map +1 -1
  320. package/internals/decorators/coerced-property.d.ts +47 -0
  321. package/internals/decorators/coerced-property.js +36 -0
  322. package/internals/decorators/coerced-property.js.map +1 -0
  323. package/internals/definitions/defineAllComponents.js +2 -0
  324. package/internals/definitions/defineAllComponents.js.map +1 -1
  325. package/internals/i18n/i18n-controller.d.ts +22 -3
  326. package/internals/i18n/i18n-controller.js +28 -6
  327. package/internals/i18n/i18n-controller.js.map +1 -1
  328. package/internals/mixins/alert.d.ts +1 -1
  329. package/internals/mixins/alert.js +5 -3
  330. package/internals/mixins/alert.js.map +1 -1
  331. package/internals/mixins/combo-box.d.ts +3 -12
  332. package/internals/mixins/combo-box.js +6 -32
  333. package/internals/mixins/combo-box.js.map +1 -1
  334. package/internals/mixins/forms/associated.js +18 -0
  335. package/internals/mixins/forms/associated.js.map +1 -1
  336. package/internals/mixins/forms/types.d.ts +20 -1
  337. package/internals/mixins/forms/types.js.map +1 -1
  338. package/internals/mixins/i18n.d.ts +31 -0
  339. package/internals/mixins/i18n.js +36 -0
  340. package/internals/mixins/i18n.js.map +1 -0
  341. package/internals/mixins/mask-behavior.d.ts +6 -5
  342. package/internals/mixins/mask-behavior.js +1 -2
  343. package/internals/mixins/mask-behavior.js.map +1 -1
  344. package/internals/mixins/option.js +4 -2
  345. package/internals/mixins/option.js.map +1 -1
  346. package/internals/templates/masked-input.d.ts +1 -1
  347. package/internals/templates/masked-input.js.map +1 -1
  348. package/internals/templates/slotted-icon.d.ts +32 -0
  349. package/internals/templates/slotted-icon.js +19 -0
  350. package/internals/templates/slotted-icon.js.map +1 -0
  351. package/internals/templates/toggle-shell.d.ts +46 -0
  352. package/internals/templates/toggle-shell.js +38 -0
  353. package/internals/templates/toggle-shell.js.map +1 -0
  354. package/internals/timing.d.ts +32 -0
  355. package/internals/timing.js +20 -0
  356. package/internals/timing.js.map +1 -0
  357. package/internals/utils/arrays.d.ts +2 -2
  358. package/internals/utils/arrays.js.map +1 -1
  359. package/internals/utils/dom.d.ts +22 -0
  360. package/internals/utils/dom.js +15 -1
  361. package/internals/utils/dom.js.map +1 -1
  362. package/internals/utils/math.d.ts +1 -1
  363. package/internals/utils/math.js.map +1 -1
  364. package/internals/utils/types.d.ts +1 -1
  365. package/internals/utils/types.js.map +1 -1
  366. package/internals/validators.d.ts +23 -0
  367. package/internals/validators.js +21 -0
  368. package/internals/validators.js.map +1 -1
  369. package/package.json +3 -1
  370. package/theming/theming-controller.d.ts +3 -3
  371. package/theming/theming-controller.js.map +1 -1
  372. package/web-types.json +2 -2
  373. package/internals/decorators/watch.d.ts +0 -5
  374. package/internals/decorators/watch.js +0 -19
  375. package/internals/decorators/watch.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"range-slider.js","sourceRoot":"","sources":["../../../src/components/slider/range-slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport { registerComponent } from '#internals/definitions/register.js';\nimport type { Constructor } from '#internals/mixins/constructor.js';\nimport { EventEmitterMixin } from '#internals/mixins/event-emitter.js';\nimport { asNumber, asPercent } from '#internals/utils/math.js';\nimport { IgcSliderBaseComponent } from './slider-base.js';\nimport IgcSliderLabelComponent from './slider-label.js';\n\n/* blazorSuppress */\nexport interface IgcRangeSliderValueEventArgs {\n lower: number;\n upper: number;\n}\n\nexport interface IgcRangeSliderComponentEventMap {\n /**\n * Emitted when a value is changed via thumb drag or keyboard interaction.\n */\n igcInput: CustomEvent<IgcRangeSliderValueEventArgs>;\n /**\n * Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n */\n igcChange: CustomEvent<IgcRangeSliderValueEventArgs>;\n}\n\n/**\n * A range slider component used to select two numeric values within a range.\n *\n * @element igc-range-slider\n *\n * @fires igcInput - Emitted when a value is changed via thumb drag or keyboard interaction.\n * @fires igcChange - Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n *\n * @csspart base - The base wrapper of the slider.\n * @csspart ticks - The ticks container.\n * @csspart tick-group - The tick group container.\n * @csspart tick - The tick element.\n * @csspart tick-label - The tick label element.\n * @csspart tick-label-inner - The inner element of the tick label.\n * @csspart thumbs - The thumbs container.\n * @csspart thumb - The thumb element.\n * @csspart thumb-label - The thumb tooltip label container.\n * @csspart thumb-label-inner - The thumb tooltip label inner element.\n * @csspart track - The track container.\n * @csspart steps - The track steps element.\n * @csspart inactive - The inactive element of the track.\n * @csspart fill - The filled part of the track.\n */\nexport default class IgcRangeSliderComponent extends EventEmitterMixin<\n IgcRangeSliderComponentEventMap,\n Constructor<IgcSliderBaseComponent>\n>(IgcSliderBaseComponent) {\n public static readonly tagName = 'igc-range-slider';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRangeSliderComponent, IgcSliderLabelComponent);\n }\n\n @query('#thumbFrom')\n private thumbFrom!: HTMLElement;\n\n @query('#thumbTo')\n private thumbTo!: HTMLElement;\n\n private _lower = 0;\n private _upper = 0;\n\n /**\n * The current value of the lower thumb.\n * @attr\n */\n @property({ type: Number })\n public set lower(val: number) {\n this._lower = this.validateValue(asNumber(val, this._lower));\n }\n\n public get lower(): number {\n return this._lower;\n }\n\n /**\n * The current value of the upper thumb.\n * @attr\n */\n @property({ type: Number })\n public set upper(val: number) {\n this._upper = this.validateValue(asNumber(val, this._upper));\n }\n\n public get upper(): number {\n return this._upper;\n }\n\n /**\n * The aria label for the lower thumb.\n * @attr thumb-label-lower\n */\n @property({ attribute: 'thumb-label-lower' })\n public thumbLabelLower!: string;\n\n /**\n * The aria label for the upper thumb.\n * @attr thumb-label-upper\n */\n @property({ attribute: 'thumb-label-upper' })\n public thumbLabelUpper!: string;\n\n protected override get activeValue(): number {\n return this.activeThumb === this.thumbFrom ? this.lower : this.upper;\n }\n\n protected override normalizeValue(): void {\n this._lower = this.validateValue(this._lower);\n this._upper = this.validateValue(this._upper);\n }\n\n protected override getTrackStyle() {\n const start = asPercent(this.lower - this.min, this.distance);\n return {\n insetInlineStart: `${start}%`,\n width: `${asPercent(this.upper - this.min, this.distance) - start}%`,\n };\n }\n\n private closestTo(goal: number, positions: number[]): number {\n return positions.reduce((previous, current) =>\n Math.abs(goal - current) < Math.abs(goal - previous) ? current : previous\n );\n }\n\n protected override closestHandle(event: PointerEvent): HTMLElement {\n const fromOffset =\n this.thumbFrom.offsetLeft + this.thumbFrom.offsetWidth / 2;\n const toOffset = this.thumbTo.offsetLeft + this.thumbTo.offsetWidth / 2;\n const xPointer = event.clientX - this.getBoundingClientRect().left;\n const match = this.closestTo(xPointer, [fromOffset, toOffset]);\n\n if (fromOffset === toOffset && toOffset < xPointer) {\n return this.thumbTo;\n }\n if (fromOffset === toOffset && toOffset > xPointer) {\n return this.thumbFrom;\n }\n if (match === fromOffset) {\n return this.thumbFrom;\n }\n return this.thumbTo;\n }\n\n protected override updateValue(increment: number) {\n const oldValue = this.activeValue;\n let [lower, upper] = [this.lower, this.upper];\n\n if (this.activeThumb === this.thumbFrom) {\n lower += increment;\n } else {\n upper += increment;\n }\n\n if (lower >= upper) {\n [this.lower, this.upper] = [upper, lower];\n this.toggleActiveThumb();\n } else {\n [this.lower, this.upper] = [lower, upper];\n }\n\n if (oldValue === this.activeValue) {\n return false;\n }\n\n this.emitInputEvent();\n return true;\n }\n\n protected override emitInputEvent() {\n this.emitEvent('igcInput', {\n detail: { lower: this.lower, upper: this.upper },\n });\n }\n\n protected override emitChangeEvent() {\n this.emitEvent('igcChange', {\n detail: { lower: this.lower, upper: this.upper },\n });\n }\n\n private toggleActiveThumb() {\n const thumb =\n this.activeThumb === this.thumbFrom ? this.thumbTo : this.thumbFrom;\n thumb.focus();\n }\n\n private handleFocus(event: FocusEvent) {\n this.activeThumb = event.target as HTMLElement;\n const id = this.activeThumb.id;\n\n for (const thumb of [this.thumbFrom, this.thumbTo]) {\n if (thumb.id === id) continue;\n const [activeValue, thumbVal] = [\n asNumber(this.activeThumb.ariaValueNow),\n asNumber(thumb.ariaValueNow),\n ];\n\n this.activeThumb.ariaValueText = `${this.formatValue(Math.min(activeValue, thumbVal))} - ${this.formatValue(Math.max(activeValue, thumbVal))}`;\n }\n }\n\n protected override renderThumb(\n value: number,\n ariaLabel?: string,\n thumbId?: string\n ) {\n const percent = `${asPercent(value - this.min, this.distance)}%`;\n const thumbStyles = { insetInlineStart: percent };\n const tooltipStyles = {\n insetInlineStart: percent,\n opacity: this.thumbLabelsVisible ? 1 : 0,\n };\n const ariaValueText =\n thumbId === 'thumbFrom' ? `min ${this.lower}` : `max ${this.upper}`;\n\n const textValue = this.hasLabels\n ? this.labels[value]\n : this.valueFormat || this.valueFormatOptions\n ? this.formatValue(value)\n : ariaValueText;\n\n return html`\n <div\n part=\"thumb\"\n id=${ifDefined(thumbId)}\n tabindex=${this.disabled ? -1 : 0}\n style=${styleMap(thumbStyles)}\n role=\"slider\"\n aria-valuemin=${this.lowerBound}\n aria-valuemax=${this.upperBound}\n aria-valuenow=${value}\n aria-valuetext=${ifDefined(textValue)}\n aria-label=${ifDefined(ariaLabel)}\n aria-disabled=${this.disabled}\n @pointerenter=${this.showThumbLabels}\n @pointerleave=${this.hideThumbLabels}\n @focus=${this.handleFocus}\n @blur=${this.handleThumbBlur}\n ></div>\n ${\n this.hideTooltip\n ? nothing\n : html`\n <div part=\"thumb-label\" style=${styleMap(tooltipStyles)}>\n <div part=\"thumb-label-inner\">\n ${this.hasLabels ? this.labels[value] : this.formatValue(value)}\n </div>\n </div>\n `\n }\n `;\n }\n\n protected override renderThumbs() {\n return html`${this.renderThumb(\n this.lower,\n this.thumbLabelLower,\n 'thumbFrom'\n )}\n ${this.renderThumb(this.upper, this.thumbLabelUpper, 'thumbTo')}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-range-slider': IgcRangeSliderComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"range-slider.js","sourceRoot":"","sources":["../../../src/components/slider/range-slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { registerComponent } from '#internals/definitions/register.js';\nimport type { Constructor } from '#internals/mixins/constructor.js';\nimport { EventEmitterMixin } from '#internals/mixins/event-emitter.js';\nimport { getCenterPoint } from '#internals/utils/dom.js';\nimport { asNumber, asPercent } from '#internals/utils/math.js';\nimport { IgcSliderBaseComponent } from './slider-base.js';\nimport IgcSliderLabelComponent from './slider-label.js';\n\n/* blazorSuppress */\nexport interface IgcRangeSliderValueEventArgs {\n lower: number;\n upper: number;\n}\n\nexport interface IgcRangeSliderComponentEventMap {\n /**\n * Emitted when a value is changed via thumb drag or keyboard interaction.\n */\n igcInput: CustomEvent<IgcRangeSliderValueEventArgs>;\n /**\n * Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n */\n igcChange: CustomEvent<IgcRangeSliderValueEventArgs>;\n}\n\n/**\n * A range slider component used to select two numeric values within a range.\n *\n * @element igc-range-slider\n *\n * @fires igcInput - Emitted when a value is changed via thumb drag or keyboard interaction.\n * @fires igcChange - Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n *\n * @csspart base - The base wrapper of the slider.\n * @csspart ticks - The ticks container.\n * @csspart tick-group - The tick group container.\n * @csspart tick - The tick element.\n * @csspart tick-label - The tick label element.\n * @csspart tick-label-inner - The inner element of the tick label.\n * @csspart thumbs - The thumbs container.\n * @csspart thumb - The thumb element.\n * @csspart thumb-label - The thumb tooltip label container.\n * @csspart thumb-label-inner - The thumb tooltip label inner element.\n * @csspart track - The track container.\n * @csspart steps - The track steps element.\n * @csspart inactive - The inactive element of the track.\n * @csspart fill - The filled part of the track.\n */\nexport default class IgcRangeSliderComponent extends EventEmitterMixin<\n IgcRangeSliderComponentEventMap,\n Constructor<IgcSliderBaseComponent>\n>(IgcSliderBaseComponent) {\n public static readonly tagName = 'igc-range-slider';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRangeSliderComponent, IgcSliderLabelComponent);\n }\n\n @query('#thumbFrom')\n private thumbFrom!: HTMLElement;\n\n @query('#thumbTo')\n private thumbTo!: HTMLElement;\n\n private _lower = 0;\n private _upper = 0;\n\n /**\n * The current value of the lower thumb.\n * @attr\n */\n @property({ type: Number })\n public set lower(val: number) {\n this._lower = this.validateValue(asNumber(val, this._lower));\n }\n\n public get lower(): number {\n return this._lower;\n }\n\n /**\n * The current value of the upper thumb.\n * @attr\n */\n @property({ type: Number })\n public set upper(val: number) {\n this._upper = this.validateValue(asNumber(val, this._upper));\n }\n\n public get upper(): number {\n return this._upper;\n }\n\n /**\n * The aria label for the lower thumb.\n * @attr thumb-label-lower\n */\n @property({ attribute: 'thumb-label-lower' })\n public thumbLabelLower!: string;\n\n /**\n * The aria label for the upper thumb.\n * @attr thumb-label-upper\n */\n @property({ attribute: 'thumb-label-upper' })\n public thumbLabelUpper!: string;\n\n protected override get activeValue(): number {\n return this.activeThumb === this.thumbFrom ? this.lower : this.upper;\n }\n\n protected override normalizeValue(): void {\n this._lower = this.validateValue(this._lower);\n this._upper = this.validateValue(this._upper);\n }\n\n protected override getTrackStyle() {\n const start = asPercent(this.lower - this.min, this.distance);\n return {\n insetInlineStart: `${start}%`,\n width: `${asPercent(this.upper - this.min, this.distance) - start}%`,\n };\n }\n\n private closestTo(goal: number, positions: number[]): number {\n return positions.reduce((previous, current) =>\n Math.abs(goal - current) < Math.abs(goal - previous) ? current : previous\n );\n }\n\n protected override closestHandle(event: PointerEvent): HTMLElement {\n const fromX = getCenterPoint(this.thumbFrom).x;\n const toX = getCenterPoint(this.thumbTo).x;\n const pointerX = event.clientX;\n\n if (fromX === toX) {\n return toX < pointerX ? this.thumbTo : this.thumbFrom;\n }\n\n return this.closestTo(pointerX, [fromX, toX]) === fromX\n ? this.thumbFrom\n : this.thumbTo;\n }\n\n protected override updateValue(increment: number) {\n const oldValue = this.activeValue;\n let [lower, upper] = [this.lower, this.upper];\n\n if (this.activeThumb === this.thumbFrom) {\n lower += increment;\n } else {\n upper += increment;\n }\n\n if (lower >= upper) {\n [this.lower, this.upper] = [upper, lower];\n this.toggleActiveThumb();\n } else {\n [this.lower, this.upper] = [lower, upper];\n }\n\n if (oldValue === this.activeValue) {\n return false;\n }\n\n this.emitInputEvent();\n return true;\n }\n\n protected override emitInputEvent() {\n this.emitEvent('igcInput', {\n detail: { lower: this.lower, upper: this.upper },\n });\n }\n\n protected override emitChangeEvent() {\n this.emitEvent('igcChange', {\n detail: { lower: this.lower, upper: this.upper },\n });\n }\n\n private toggleActiveThumb() {\n const thumb =\n this.activeThumb === this.thumbFrom ? this.thumbTo : this.thumbFrom;\n thumb.focus();\n }\n\n /** The focused thumb announces the whole range, not just its own end. */\n protected override handleThumbFocus(event: FocusEvent) {\n super.handleThumbFocus(event);\n\n const active = event.target as HTMLElement;\n const other = active === this.thumbFrom ? this.thumbTo : this.thumbFrom;\n const values = [\n asNumber(active.ariaValueNow),\n asNumber(other.ariaValueNow),\n ];\n\n active.ariaValueText = `${this.formatValue(Math.min(...values))} - ${this.formatValue(Math.max(...values))}`;\n }\n\n protected override _thumbAriaValueText(thumbId?: string) {\n return thumbId === 'thumbFrom' ? `min ${this.lower}` : `max ${this.upper}`;\n }\n\n protected override renderThumbs() {\n return html`${this.renderThumb(\n this.lower,\n this.thumbLabelLower,\n 'thumbFrom'\n )}\n ${this.renderThumb(this.upper, this.thumbLabelUpper, 'thumbTo')}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-range-slider': IgcRangeSliderComponent;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { LitElement, type TemplateResult } from 'lit';
1
+ import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
2
2
  import { type StyleInfo } from 'lit/directives/style-map.js';
3
3
  import type { SliderTickLabelRotation, SliderTickOrientation } from '../types.js';
4
4
  export declare class IgcSliderBaseComponent extends LitElement {
@@ -10,11 +10,10 @@ export declare class IgcSliderBaseComponent extends LitElement {
10
10
  private _max;
11
11
  private _lowerBound?;
12
12
  private _upperBound?;
13
- private _step;
14
13
  private startValue?;
15
14
  private pointerCaptured;
16
- private thumbHoverTimer;
17
15
  protected activeThumb?: HTMLElement;
16
+ private readonly _thumbLabelTimer;
18
17
  protected thumbLabelsVisible: boolean;
19
18
  protected labels: string[];
20
19
  protected get hasLabels(): boolean;
@@ -82,8 +81,7 @@ export declare class IgcSliderBaseComponent extends LitElement {
82
81
  *
83
82
  * @attr
84
83
  */
85
- set step(value: number);
86
- get step(): number;
84
+ step: number;
87
85
  /**
88
86
  * The number of primary ticks. It defaults to 0 which means no primary ticks are displayed.
89
87
  * @attr primary-ticks
@@ -128,7 +126,7 @@ export declare class IgcSliderBaseComponent extends LitElement {
128
126
  * @attr tick-label-rotation
129
127
  */
130
128
  tickLabelRotation: SliderTickLabelRotation;
131
- protected constraintsChange(): void;
129
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
132
130
  constructor();
133
131
  private handleArrowKeys;
134
132
  private handlePageKeys;
@@ -157,6 +155,11 @@ export declare class IgcSliderBaseComponent extends LitElement {
157
155
  private pointerMove;
158
156
  private lostPointerCapture;
159
157
  protected handleThumbFocus(event: FocusEvent): void;
158
+ /**
159
+ * The `aria-valuetext` of a thumb when neither projected labels nor value
160
+ * formatting apply. Returning `undefined` omits the attribute.
161
+ */
162
+ protected _thumbAriaValueText(_thumbId?: string): string | undefined;
160
163
  protected handleThumbBlur(): void;
161
164
  protected _renderTicks(): Generator<TemplateResult<1>, void, unknown>;
162
165
  protected renderTicks(): TemplateResult<1>;
@@ -4,13 +4,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html, LitElement, nothing } from 'lit';
7
+ import { html, LitElement, nothing, } from 'lit';
8
8
  import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
9
  import { ifDefined } from 'lit/directives/if-defined.js';
10
10
  import { styleMap } from 'lit/directives/style-map.js';
11
11
  import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, homeKey, pageDownKey, pageUpKey, } from '#internals/controllers/key-bindings.js';
12
12
  import { blazorDeepImport } from '#internals/decorators/blazorDeepImport.js';
13
- import { watch } from '#internals/decorators/watch.js';
13
+ import { coercedProperty } from '#internals/decorators/coerced-property.js';
14
+ import { createTimer } from '#internals/timing.js';
14
15
  import { isLTR } from '#internals/utils/dom.js';
15
16
  import { addSafeEventListener } from '#internals/utils/events.js';
16
17
  import { asNumber, asPercent, clamp } from '#internals/utils/math.js';
@@ -72,26 +73,30 @@ let IgcSliderBaseComponent = class IgcSliderBaseComponent extends LitElement {
72
73
  const lower = Math.max(this._lowerBound ?? this._min, this.min);
73
74
  return clamp(current, lower, this._max);
74
75
  }
75
- set step(value) {
76
- this._step = this.hasLabels ? 1 : asNumber(value, this._step);
77
- }
78
- get step() {
79
- return this._step;
80
- }
81
- constraintsChange() {
82
- this.normalizeValue();
76
+ willUpdate(changedProperties) {
77
+ const constraintsChanged = changedProperties.has('min') ||
78
+ changedProperties.has('max') ||
79
+ changedProperties.has('lowerBound') ||
80
+ changedProperties.has('upperBound') ||
81
+ changedProperties.has('step');
82
+ if (constraintsChanged) {
83
+ this.normalizeValue();
84
+ }
83
85
  }
84
86
  constructor() {
85
87
  super();
86
88
  this._min = 0;
87
89
  this._max = 100;
88
- this._step = 1;
89
90
  this.pointerCaptured = false;
91
+ this._thumbLabelTimer = createTimer(() => {
92
+ this.thumbLabelsVisible = false;
93
+ }, 750);
90
94
  this.thumbLabelsVisible = false;
91
95
  this.labels = [];
92
96
  this.disabled = false;
93
97
  this.discreteTrack = false;
94
98
  this.hideTooltip = false;
99
+ this.step = 1;
95
100
  this.primaryTicks = 0;
96
101
  this.secondaryTicks = 0;
97
102
  this.tickOrientation = 'end';
@@ -205,19 +210,14 @@ let IgcSliderBaseComponent = class IgcSliderBaseComponent extends LitElement {
205
210
  if (this.disabled || this.hideTooltip) {
206
211
  return;
207
212
  }
208
- if (this.thumbHoverTimer) {
209
- clearTimeout(this.thumbHoverTimer);
210
- this.thumbHoverTimer = null;
211
- }
213
+ this._thumbLabelTimer.stop();
212
214
  this.thumbLabelsVisible = true;
213
215
  }
214
216
  hideThumbLabels() {
215
217
  if (this.pointerCaptured || !this.thumbLabelsVisible) {
216
218
  return;
217
219
  }
218
- this.thumbHoverTimer = setTimeout(() => {
219
- this.thumbLabelsVisible = false;
220
- }, 750);
220
+ this._thumbLabelTimer.start();
221
221
  }
222
222
  calculateTrackUpdate(mouseX) {
223
223
  const { width, left } = this.activeThumb.getBoundingClientRect();
@@ -270,6 +270,9 @@ let IgcSliderBaseComponent = class IgcSliderBaseComponent extends LitElement {
270
270
  handleThumbFocus(event) {
271
271
  this.activeThumb = event.target;
272
272
  }
273
+ _thumbAriaValueText(_thumbId) {
274
+ return undefined;
275
+ }
273
276
  handleThumbBlur() {
274
277
  this.activeThumb?.part.remove('focused');
275
278
  this.activeThumb = undefined;
@@ -312,7 +315,7 @@ let IgcSliderBaseComponent = class IgcSliderBaseComponent extends LitElement {
312
315
  ? this.labels[value]
313
316
  : this.valueFormat || this.valueFormatOptions
314
317
  ? this.formatValue(value)
315
- : undefined;
318
+ : this._thumbAriaValueText(thumbId);
316
319
  return html `
317
320
  <div
318
321
  part="thumb"
@@ -419,8 +422,11 @@ __decorate([
419
422
  property({ type: Boolean, attribute: 'hide-tooltip' })
420
423
  ], IgcSliderBaseComponent.prototype, "hideTooltip", void 0);
421
424
  __decorate([
422
- property({ type: Number })
423
- ], IgcSliderBaseComponent.prototype, "step", null);
425
+ property({ type: Number }),
426
+ coercedProperty({
427
+ transform: ({ value, host, previous }) => host.hasLabels ? 1 : asNumber(value, previous ?? 1),
428
+ })
429
+ ], IgcSliderBaseComponent.prototype, "step", void 0);
424
430
  __decorate([
425
431
  property({ type: Number, attribute: 'primary-ticks' })
426
432
  ], IgcSliderBaseComponent.prototype, "primaryTicks", void 0);
@@ -448,13 +454,6 @@ __decorate([
448
454
  __decorate([
449
455
  property({ type: Number, reflect: true, attribute: 'tick-label-rotation' })
450
456
  ], IgcSliderBaseComponent.prototype, "tickLabelRotation", void 0);
451
- __decorate([
452
- watch('min', { waitUntilFirstUpdate: true }),
453
- watch('max', { waitUntilFirstUpdate: true }),
454
- watch('lowerBound', { waitUntilFirstUpdate: true }),
455
- watch('upperBound', { waitUntilFirstUpdate: true }),
456
- watch('step', { waitUntilFirstUpdate: true })
457
- ], IgcSliderBaseComponent.prototype, "constraintsChange", null);
458
457
  IgcSliderBaseComponent = __decorate([
459
458
  blazorDeepImport
460
459
  ], IgcSliderBaseComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"slider-base.js","sourceRoot":"","sources":["../../../src/components/slider/slider-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n pageDownKey,\n pageUpKey,\n} from '#internals/controllers/key-bindings.js';\nimport { blazorDeepImport } from '#internals/decorators/blazorDeepImport.js';\nimport { watch } from '#internals/decorators/watch.js';\nimport { isLTR } from '#internals/utils/dom.js';\nimport { addSafeEventListener } from '#internals/utils/events.js';\nimport { asNumber, asPercent, clamp } from '#internals/utils/math.js';\nimport { formatString } from '#internals/utils/strings.js';\nimport { isDefined } from '#internals/utils/types.js';\nimport { addThemingController } from '#theming/theming-controller.js';\nimport type {\n SliderTickLabelRotation,\n SliderTickOrientation,\n} from '../types.js';\nimport { styles as shared } from './themes/shared/slider.common.css.js';\nimport { styles } from './themes/slider.base.css.js';\nimport { all } from './themes/themes.js';\n\n@blazorDeepImport\nexport class IgcSliderBaseComponent extends LitElement {\n public static override styles = [styles, shared];\n\n @query(`[part~='thumb']`)\n protected thumb!: HTMLElement;\n\n @query(`[part='base']`, true)\n protected base!: HTMLDivElement;\n\n @queryAssignedElements({ selector: 'igc-slider-label' })\n private labelElements!: HTMLElement[];\n\n private _min = 0;\n private _max = 100;\n private _lowerBound?: number;\n private _upperBound?: number;\n private _step = 1;\n private startValue?: number;\n private pointerCaptured = false;\n private thumbHoverTimer: any;\n protected activeThumb?: HTMLElement;\n\n @state()\n protected thumbLabelsVisible = false;\n\n @state()\n protected labels: string[] = [];\n\n protected get hasLabels() {\n return this.labels?.length > 0;\n }\n\n protected get distance() {\n return this.max - this.min;\n }\n\n /**\n * The minimum value of the slider scale. Defaults to 0.\n *\n * If `min` is greater than `max` the call is a no-op.\n *\n * If `labels` are provided (projected), then `min` is always set to 0.\n *\n * If `lowerBound` ends up being less than than the current `min` value,\n * it is automatically assigned the new `min` value.\n * @attr\n */\n @property({ type: Number })\n public set min(value: number) {\n if (!isDefined(value) || value > this.max) {\n return;\n }\n\n this._min = this.hasLabels ? 0 : value;\n\n if (isDefined(this._lowerBound) && this._lowerBound! < value) {\n this._lowerBound = value;\n }\n }\n\n public get min(): number {\n return this._min;\n }\n\n /**\n * The maximum value of the slider scale. Defaults to 100.\n *\n * If `max` is less than `min` the call is a no-op.\n *\n * If `labels` are provided (projected), then `max` is always set to\n * the number of labels.\n *\n * If `upperBound` ends up being greater than than the current `max` value,\n * it is automatically assigned the new `max` value.\n * @attr\n */\n @property({ type: Number })\n public set max(value: number) {\n if (!isDefined(value) || value < this._min) {\n return;\n }\n\n this._max = this.hasLabels ? this.labels.length - 1 : value;\n\n if (isDefined(this._upperBound) && this._upperBound! > value) {\n this._upperBound = value;\n }\n }\n\n public get max(): number {\n return this._max;\n }\n\n /**\n * The lower bound of the slider value. If not set, the `min` value is applied.\n * @attr lower-bound\n */\n @property({ type: Number, attribute: 'lower-bound' })\n public set lowerBound(value: number) {\n if (!isDefined(value)) return;\n this._lowerBound = Math.min(this._upperBound ?? value, value);\n }\n\n public get lowerBound(): number {\n const current = this._lowerBound ?? this._min;\n const upper = Math.min(this._upperBound ?? this._max, this._max);\n\n return clamp(current, this._min, upper);\n }\n\n /**\n * The upper bound of the slider value. If not set, the `max` value is applied.\n * @attr upper-bound\n */\n @property({ type: Number, attribute: 'upper-bound' })\n public set upperBound(value: number) {\n if (!isDefined(value)) return;\n this._upperBound = Math.max(this._lowerBound ?? value, value);\n }\n\n public get upperBound(): number {\n const current = this._upperBound ?? this._max;\n const lower = Math.max(this._lowerBound ?? this._min, this.min);\n\n return clamp(current, lower, this._max);\n }\n\n /**\n * Disables the UI interactions of the slider.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Marks the slider track as discrete so it displays the steps.\n * If the `step` is 0, the slider will remain continuos even if `discreteTrack` is `true`.\n * @attr discrete-track\n */\n @property({ type: Boolean, attribute: 'discrete-track' })\n public discreteTrack = false;\n\n /**\n * Hides the thumb tooltip.\n * @attr hide-tooltip\n */\n @property({ type: Boolean, attribute: 'hide-tooltip' })\n public hideTooltip = false;\n\n /**\n * Specifies the granularity that the value must adhere to.\n *\n * If set to 0 no stepping is implied and any value in the range is allowed.\n * If `labels` are provided (projected) then the step is always assumed to be 1 since it is a discrete slider.\n *\n * @attr\n */\n @property({ type: Number })\n public set step(value: number) {\n this._step = this.hasLabels ? 1 : asNumber(value, this._step);\n }\n\n public get step(): number {\n return this._step;\n }\n\n /**\n * The number of primary ticks. It defaults to 0 which means no primary ticks are displayed.\n * @attr primary-ticks\n */\n @property({ type: Number, attribute: 'primary-ticks' })\n public primaryTicks = 0;\n\n /**\n * The number of secondary ticks. It defaults to 0 which means no secondary ticks are displayed.\n * @attr secondary-ticks\n */\n @property({ type: Number, attribute: 'secondary-ticks' })\n public secondaryTicks = 0;\n\n /**\n * Changes the orientation of the ticks.\n * @attr tick-orientation\n */\n @property({ attribute: 'tick-orientation' })\n public tickOrientation: SliderTickOrientation = 'end';\n\n /**\n * Hides the primary tick labels.\n * @attr hide-primary-labels\n */\n @property({ type: Boolean, attribute: 'hide-primary-labels' })\n public hidePrimaryLabels = false;\n\n /**\n * Hides the secondary tick labels.\n * @attr hide-secondary-labels\n */\n @property({ type: Boolean, attribute: 'hide-secondary-labels' })\n public hideSecondaryLabels = false;\n\n /**\n * The locale used to format the thumb and tick label values in the slider.\n * @attr\n */\n @property()\n public locale = 'en';\n\n /**\n * String format used for the thumb and tick label values in the slider.\n * @attr value-format\n */\n @property({ attribute: 'value-format' })\n public valueFormat?: string;\n\n /**\n * Number format options used for the thumb and tick label values in the slider.\n */\n /* blazorSuppress */\n @property({ attribute: false })\n public valueFormatOptions?: Intl.NumberFormatOptions;\n\n /**\n * The degrees for the rotation of the tick labels. Defaults to 0.\n * @attr tick-label-rotation\n */\n @property({ type: Number, reflect: true, attribute: 'tick-label-rotation' })\n public tickLabelRotation: SliderTickLabelRotation = 0;\n\n @watch('min', { waitUntilFirstUpdate: true })\n @watch('max', { waitUntilFirstUpdate: true })\n @watch('lowerBound', { waitUntilFirstUpdate: true })\n @watch('upperBound', { waitUntilFirstUpdate: true })\n @watch('step', { waitUntilFirstUpdate: true })\n protected constraintsChange() {\n this.normalizeValue();\n }\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addSafeEventListener(this, 'pointerdown', this.pointerDown);\n addSafeEventListener(this, 'pointermove', this.pointerMove);\n addSafeEventListener(this, 'lostpointercapture', this.lostPointerCapture);\n addSafeEventListener(this, 'keyup', this.handleKeyUp);\n\n addKeybindings(this, {\n skip: () => this.disabled,\n })\n .set(arrowLeft, () => this.handleArrowKeys(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this.handleArrowKeys(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this.handleArrowKeys(1))\n .set(arrowDown, () => this.handleArrowKeys(-1))\n .set(homeKey, () =>\n this.handleKeyboardIncrement(this.lowerBound - this.activeValue)\n )\n .set(endKey, () =>\n this.handleKeyboardIncrement(this.upperBound - this.activeValue)\n )\n .set(pageUpKey, () => this.handlePageKeys(1))\n .set(pageDownKey, () => this.handlePageKeys(-1));\n }\n\n private handleArrowKeys(delta: -1 | 1) {\n const step = this.step ? this.step : 1;\n this.handleKeyboardIncrement(step * delta);\n }\n\n private handlePageKeys(delta: -1 | 1) {\n const step = this.step ? this.step : 1;\n this.handleKeyboardIncrement(\n delta * Math.max((this.upperBound - this.lowerBound) / 10, step)\n );\n }\n\n private handleKeyboardIncrement(increment: number) {\n if (increment) {\n const updated = this.updateValue(increment);\n this.showThumbLabels();\n this.hideThumbLabels();\n\n if (updated) {\n this.emitChangeEvent();\n }\n }\n }\n\n private handleKeyUp() {\n this.activeThumb?.part.add('focused');\n }\n\n protected handleSlotChange() {\n this.labels = this.labelElements.map((label) => label.textContent ?? '');\n if (this.hasLabels) {\n this.min = 0;\n this.max = this.labels.length - 1;\n this.step = 1;\n }\n }\n\n /* c8 ignore next 3 */\n protected get activeValue() {\n return 0;\n }\n\n /* c8 ignore next */\n protected normalizeValue(): void {}\n\n /* c8 ignore next 3 */\n protected getTrackStyle(): StyleInfo {\n return {};\n }\n\n /* c8 ignore next 3 */\n protected updateValue(_increment: number): boolean {\n return false;\n }\n\n /* c8 ignore next 3 */\n protected renderThumbs(): TemplateResult<1> {\n return html``;\n }\n\n /* c8 ignore next */\n protected emitInputEvent() {}\n\n /* c8 ignore next */\n protected emitChangeEvent() {}\n\n protected validateValue(value: number) {\n return this.normalizeByStep(clamp(value, this.lowerBound, this.upperBound));\n }\n\n protected formatValue(value: number) {\n const strValue = value.toLocaleString(this.locale, this.valueFormatOptions);\n return this.valueFormat\n ? formatString(this.valueFormat, strValue)\n : strValue;\n }\n\n private normalizeByStep(value: number) {\n return this.step ? value - ((value - this.lowerBound) % this.step) : value;\n }\n\n protected closestHandle(_event: PointerEvent): HTMLElement {\n return this.thumb;\n }\n\n private totalTickCount() {\n const primaryTicks = this.hasLabels\n ? this.primaryTicks > 0\n ? this.labels.length\n : 0\n : this.primaryTicks === 1\n ? 2\n : this.primaryTicks;\n\n return primaryTicks > 0\n ? (primaryTicks - 1) * this.secondaryTicks + primaryTicks\n : this.secondaryTicks > 0\n ? this.secondaryTicks\n : 0;\n }\n\n private tickValue(idx: number) {\n const tickCount = this.totalTickCount();\n const distance = this.distance;\n const labelStep = tickCount > 1 ? distance / (tickCount - 1) : distance;\n const labelVal = labelStep * idx;\n\n return this.min + labelVal;\n }\n\n private isPrimary(idx: number) {\n return this.primaryTicks <= 0\n ? false\n : idx % (this.secondaryTicks + 1) === 0;\n }\n\n protected showThumbLabels() {\n if (this.disabled || this.hideTooltip) {\n return;\n }\n\n if (this.thumbHoverTimer) {\n clearTimeout(this.thumbHoverTimer);\n this.thumbHoverTimer = null;\n }\n\n this.thumbLabelsVisible = true;\n }\n\n protected hideThumbLabels() {\n if (this.pointerCaptured || !this.thumbLabelsVisible) {\n return;\n }\n\n this.thumbHoverTimer = setTimeout(() => {\n this.thumbLabelsVisible = false;\n }, 750);\n }\n\n private calculateTrackUpdate(mouseX: number): number {\n const { width, left } = this.activeThumb!.getBoundingClientRect();\n const { width: trackWidth } = this.base.getBoundingClientRect();\n\n const thumbX = left + width / 2;\n const scale = trackWidth / this.distance;\n const change = isLTR(this) ? mouseX - thumbX : thumbX - mouseX;\n\n if (this.step) {\n const stepDistance = scale * this.step;\n\n // If the thumb scale range (slider update) is less than a half step,\n // the position stays the same.\n if (Math.abs(change) < stepDistance / 2) {\n return 0;\n }\n\n return Math.round(change / stepDistance) * this.step;\n }\n return change / scale;\n }\n\n private updateSlider(mouseX: number) {\n if (this.disabled || !this.activeThumb) {\n return;\n }\n\n const increment = this.calculateTrackUpdate(mouseX);\n if (increment !== 0) {\n this.updateValue(increment);\n }\n }\n\n private pointerDown(event: PointerEvent) {\n const thumb = this.closestHandle(event);\n thumb.focus();\n\n this.startValue = this.activeValue;\n this.updateSlider(event.clientX);\n\n this.setPointerCapture(event.pointerId);\n this.pointerCaptured = true;\n this.showThumbLabels();\n event.preventDefault();\n this.activeThumb?.part.remove('focused');\n }\n\n private pointerMove(event: PointerEvent) {\n if (this.pointerCaptured) {\n this.updateSlider(event.clientX);\n }\n }\n\n private lostPointerCapture() {\n this.pointerCaptured = false;\n this.hideThumbLabels();\n\n if (this.startValue! !== this.activeValue) {\n this.emitChangeEvent();\n }\n this.startValue = undefined;\n }\n\n protected handleThumbFocus(event: FocusEvent) {\n this.activeThumb = event.target as HTMLElement;\n }\n\n protected handleThumbBlur() {\n this.activeThumb?.part.remove('focused');\n this.activeThumb = undefined;\n }\n\n protected *_renderTicks() {\n const total = this.totalTickCount();\n const secondaryTicks = this.secondaryTicks + 1;\n\n for (let i = 0; i < total; i++) {\n const primary = this.isPrimary(i);\n const shown = primary ? this.hidePrimaryLabels : this.hideSecondaryLabels;\n const labelInner = this.hasLabels\n ? primary\n ? this.labels[Math.round(i / secondaryTicks)]\n : nothing\n : this.formatValue(this.tickValue(i));\n\n yield html`<div part=\"tick-group\">\n <div part=\"tick\" data-primary=${primary}>\n ${\n shown\n ? nothing\n : html`\n <div part=\"tick-label\">\n <span part=\"tick-label-inner\">${labelInner}</span>\n </div>\n `\n }\n </div>\n </div>`;\n }\n }\n\n protected renderTicks() {\n return html`<div part=\"ticks\">${this._renderTicks()}</div>`;\n }\n\n protected renderThumb(value: number, ariaLabel?: string, thumbId?: string) {\n const percent = `${asPercent(value - this.min, this.distance)}%`;\n const thumbStyles = { insetInlineStart: percent };\n const tooltipStyles = {\n insetInlineStart: percent,\n opacity: this.thumbLabelsVisible ? 1 : 0,\n };\n\n const textValue = this.hasLabels\n ? this.labels[value]\n : this.valueFormat || this.valueFormatOptions\n ? this.formatValue(value)\n : undefined;\n\n return html`\n <div\n part=\"thumb\"\n id=${ifDefined(thumbId)}\n tabindex=${this.disabled ? -1 : 0}\n style=${styleMap(thumbStyles)}\n role=\"slider\"\n aria-valuemin=${this.lowerBound}\n aria-valuemax=${this.upperBound}\n aria-valuenow=${value}\n aria-valuetext=${ifDefined(textValue)}\n aria-label=${ifDefined(ariaLabel)}\n aria-disabled=${this.disabled}\n @pointerenter=${this.showThumbLabels}\n @pointerleave=${this.hideThumbLabels}\n @focus=${this.handleThumbFocus}\n @blur=${this.handleThumbBlur}\n ></div>\n ${\n this.hideTooltip\n ? nothing\n : html`\n <div part=\"thumb-label\" style=${styleMap(tooltipStyles)}>\n <div part=\"thumb-label-inner\">\n ${this.hasLabels ? this.labels[value] : this.formatValue(value)}\n </div>\n </div>\n `\n }\n `;\n }\n\n private renderSteps() {\n if (!this.discreteTrack || !this.step) {\n return nothing;\n }\n\n const interval = (100 * Math.SQRT2 * this.step) / this.distance;\n\n return html`\n <div part=\"steps\">\n <svg width=\"100%\" height=\"100%\" style=\"display: flex\">\n <line\n x1=\"0\"\n y1=\"1\"\n x2=\"100%\"\n y2=\"1\"\n stroke=\"currentColor\"\n stroke-dasharray=\"0, calc(${interval}%)\"\n stroke-linecap=\"round\"\n stroke-width=\"2px\"\n ></line>\n </svg>\n </div>\n `;\n }\n\n protected override render() {\n const isStart = this.tickOrientation === 'start';\n const isMirrored = this.tickOrientation === 'mirror';\n\n return html`\n <div part=\"base\">\n ${isStart || isMirrored ? html`${this.renderTicks()}` : nothing}\n <div part=\"track\">\n <div part=\"inactive\"></div>\n <div part=\"fill\" style=${styleMap(this.getTrackStyle())}></div>\n ${this.renderSteps()}\n </div>\n ${!isStart ? html`${this.renderTicks()}` : nothing}\n <div part=\"thumbs\">${this.renderThumbs()}</div>\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"slider-base.js","sourceRoot":"","sources":["../../../src/components/slider/slider-base.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n html,\n LitElement,\n nothing,\n type PropertyValues,\n type TemplateResult,\n} from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n pageDownKey,\n pageUpKey,\n} from '#internals/controllers/key-bindings.js';\nimport { blazorDeepImport } from '#internals/decorators/blazorDeepImport.js';\nimport { coercedProperty } from '#internals/decorators/coerced-property.js';\nimport { createTimer } from '#internals/timing.js';\nimport { isLTR } from '#internals/utils/dom.js';\nimport { addSafeEventListener } from '#internals/utils/events.js';\nimport { asNumber, asPercent, clamp } from '#internals/utils/math.js';\nimport { formatString } from '#internals/utils/strings.js';\nimport { isDefined } from '#internals/utils/types.js';\nimport { addThemingController } from '#theming/theming-controller.js';\nimport type {\n SliderTickLabelRotation,\n SliderTickOrientation,\n} from '../types.js';\nimport { styles as shared } from './themes/shared/slider.common.css.js';\nimport { styles } from './themes/slider.base.css.js';\nimport { all } from './themes/themes.js';\n\n@blazorDeepImport\nexport class IgcSliderBaseComponent extends LitElement {\n public static override styles = [styles, shared];\n\n @query(`[part~='thumb']`)\n protected thumb!: HTMLElement;\n\n @query(`[part='base']`, true)\n protected base!: HTMLDivElement;\n\n @queryAssignedElements({ selector: 'igc-slider-label' })\n private labelElements!: HTMLElement[];\n\n private _min = 0;\n private _max = 100;\n private _lowerBound?: number;\n private _upperBound?: number;\n private startValue?: number;\n private pointerCaptured = false;\n protected activeThumb?: HTMLElement;\n\n private readonly _thumbLabelTimer = createTimer(() => {\n this.thumbLabelsVisible = false;\n }, 750);\n\n @state()\n protected thumbLabelsVisible = false;\n\n @state()\n protected labels: string[] = [];\n\n protected get hasLabels() {\n return this.labels?.length > 0;\n }\n\n protected get distance() {\n return this.max - this.min;\n }\n\n /**\n * The minimum value of the slider scale. Defaults to 0.\n *\n * If `min` is greater than `max` the call is a no-op.\n *\n * If `labels` are provided (projected), then `min` is always set to 0.\n *\n * If `lowerBound` ends up being less than than the current `min` value,\n * it is automatically assigned the new `min` value.\n * @attr\n */\n @property({ type: Number })\n public set min(value: number) {\n if (!isDefined(value) || value > this.max) {\n return;\n }\n\n this._min = this.hasLabels ? 0 : value;\n\n if (isDefined(this._lowerBound) && this._lowerBound! < value) {\n this._lowerBound = value;\n }\n }\n\n public get min(): number {\n return this._min;\n }\n\n /**\n * The maximum value of the slider scale. Defaults to 100.\n *\n * If `max` is less than `min` the call is a no-op.\n *\n * If `labels` are provided (projected), then `max` is always set to\n * the number of labels.\n *\n * If `upperBound` ends up being greater than than the current `max` value,\n * it is automatically assigned the new `max` value.\n * @attr\n */\n @property({ type: Number })\n public set max(value: number) {\n if (!isDefined(value) || value < this._min) {\n return;\n }\n\n this._max = this.hasLabels ? this.labels.length - 1 : value;\n\n if (isDefined(this._upperBound) && this._upperBound! > value) {\n this._upperBound = value;\n }\n }\n\n public get max(): number {\n return this._max;\n }\n\n /**\n * The lower bound of the slider value. If not set, the `min` value is applied.\n * @attr lower-bound\n */\n @property({ type: Number, attribute: 'lower-bound' })\n public set lowerBound(value: number) {\n if (!isDefined(value)) return;\n this._lowerBound = Math.min(this._upperBound ?? value, value);\n }\n\n public get lowerBound(): number {\n const current = this._lowerBound ?? this._min;\n const upper = Math.min(this._upperBound ?? this._max, this._max);\n\n return clamp(current, this._min, upper);\n }\n\n /**\n * The upper bound of the slider value. If not set, the `max` value is applied.\n * @attr upper-bound\n */\n @property({ type: Number, attribute: 'upper-bound' })\n public set upperBound(value: number) {\n if (!isDefined(value)) return;\n this._upperBound = Math.max(this._lowerBound ?? value, value);\n }\n\n public get upperBound(): number {\n const current = this._upperBound ?? this._max;\n const lower = Math.max(this._lowerBound ?? this._min, this.min);\n\n return clamp(current, lower, this._max);\n }\n\n /**\n * Disables the UI interactions of the slider.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Marks the slider track as discrete so it displays the steps.\n * If the `step` is 0, the slider will remain continuos even if `discreteTrack` is `true`.\n * @attr discrete-track\n */\n @property({ type: Boolean, attribute: 'discrete-track' })\n public discreteTrack = false;\n\n /**\n * Hides the thumb tooltip.\n * @attr hide-tooltip\n */\n @property({ type: Boolean, attribute: 'hide-tooltip' })\n public hideTooltip = false;\n\n /**\n * Specifies the granularity that the value must adhere to.\n *\n * If set to 0 no stepping is implied and any value in the range is allowed.\n * If `labels` are provided (projected) then the step is always assumed to be 1 since it is a discrete slider.\n *\n * @attr\n */\n @property({ type: Number })\n @coercedProperty<number, IgcSliderBaseComponent>({\n transform: ({ value, host, previous }) =>\n host.hasLabels ? 1 : asNumber(value, previous ?? 1),\n })\n public step = 1;\n\n /**\n * The number of primary ticks. It defaults to 0 which means no primary ticks are displayed.\n * @attr primary-ticks\n */\n @property({ type: Number, attribute: 'primary-ticks' })\n public primaryTicks = 0;\n\n /**\n * The number of secondary ticks. It defaults to 0 which means no secondary ticks are displayed.\n * @attr secondary-ticks\n */\n @property({ type: Number, attribute: 'secondary-ticks' })\n public secondaryTicks = 0;\n\n /**\n * Changes the orientation of the ticks.\n * @attr tick-orientation\n */\n @property({ attribute: 'tick-orientation' })\n public tickOrientation: SliderTickOrientation = 'end';\n\n /**\n * Hides the primary tick labels.\n * @attr hide-primary-labels\n */\n @property({ type: Boolean, attribute: 'hide-primary-labels' })\n public hidePrimaryLabels = false;\n\n /**\n * Hides the secondary tick labels.\n * @attr hide-secondary-labels\n */\n @property({ type: Boolean, attribute: 'hide-secondary-labels' })\n public hideSecondaryLabels = false;\n\n /**\n * The locale used to format the thumb and tick label values in the slider.\n * @attr\n */\n @property()\n public locale = 'en';\n\n /**\n * String format used for the thumb and tick label values in the slider.\n * @attr value-format\n */\n @property({ attribute: 'value-format' })\n public valueFormat?: string;\n\n /**\n * Number format options used for the thumb and tick label values in the slider.\n */\n /* blazorSuppress */\n @property({ attribute: false })\n public valueFormatOptions?: Intl.NumberFormatOptions;\n\n /**\n * The degrees for the rotation of the tick labels. Defaults to 0.\n * @attr tick-label-rotation\n */\n @property({ type: Number, reflect: true, attribute: 'tick-label-rotation' })\n public tickLabelRotation: SliderTickLabelRotation = 0;\n\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\n const constraintsChanged =\n changedProperties.has('min') ||\n changedProperties.has('max') ||\n changedProperties.has('lowerBound') ||\n changedProperties.has('upperBound') ||\n changedProperties.has('step');\n\n // The initial update included - attributes are applied in markup order, so\n // a value can arrive validated against a constraint that is not final yet.\n if (constraintsChanged) {\n this.normalizeValue();\n }\n }\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addSafeEventListener(this, 'pointerdown', this.pointerDown);\n addSafeEventListener(this, 'pointermove', this.pointerMove);\n addSafeEventListener(this, 'lostpointercapture', this.lostPointerCapture);\n addSafeEventListener(this, 'keyup', this.handleKeyUp);\n\n addKeybindings(this, {\n skip: () => this.disabled,\n })\n .set(arrowLeft, () => this.handleArrowKeys(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this.handleArrowKeys(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this.handleArrowKeys(1))\n .set(arrowDown, () => this.handleArrowKeys(-1))\n .set(homeKey, () =>\n this.handleKeyboardIncrement(this.lowerBound - this.activeValue)\n )\n .set(endKey, () =>\n this.handleKeyboardIncrement(this.upperBound - this.activeValue)\n )\n .set(pageUpKey, () => this.handlePageKeys(1))\n .set(pageDownKey, () => this.handlePageKeys(-1));\n }\n\n private handleArrowKeys(delta: -1 | 1) {\n const step = this.step ? this.step : 1;\n this.handleKeyboardIncrement(step * delta);\n }\n\n private handlePageKeys(delta: -1 | 1) {\n const step = this.step ? this.step : 1;\n this.handleKeyboardIncrement(\n delta * Math.max((this.upperBound - this.lowerBound) / 10, step)\n );\n }\n\n private handleKeyboardIncrement(increment: number) {\n if (increment) {\n const updated = this.updateValue(increment);\n this.showThumbLabels();\n this.hideThumbLabels();\n\n if (updated) {\n this.emitChangeEvent();\n }\n }\n }\n\n private handleKeyUp() {\n this.activeThumb?.part.add('focused');\n }\n\n protected handleSlotChange() {\n this.labels = this.labelElements.map((label) => label.textContent ?? '');\n if (this.hasLabels) {\n this.min = 0;\n this.max = this.labels.length - 1;\n this.step = 1;\n }\n }\n\n /* c8 ignore next 3 */\n protected get activeValue() {\n return 0;\n }\n\n /* c8 ignore next */\n protected normalizeValue(): void {}\n\n /* c8 ignore next 3 */\n protected getTrackStyle(): StyleInfo {\n return {};\n }\n\n /* c8 ignore next 3 */\n protected updateValue(_increment: number): boolean {\n return false;\n }\n\n /* c8 ignore next 3 */\n protected renderThumbs(): TemplateResult<1> {\n return html``;\n }\n\n /* c8 ignore next */\n protected emitInputEvent() {}\n\n /* c8 ignore next */\n protected emitChangeEvent() {}\n\n protected validateValue(value: number) {\n return this.normalizeByStep(clamp(value, this.lowerBound, this.upperBound));\n }\n\n protected formatValue(value: number) {\n const strValue = value.toLocaleString(this.locale, this.valueFormatOptions);\n return this.valueFormat\n ? formatString(this.valueFormat, strValue)\n : strValue;\n }\n\n private normalizeByStep(value: number) {\n return this.step ? value - ((value - this.lowerBound) % this.step) : value;\n }\n\n protected closestHandle(_event: PointerEvent): HTMLElement {\n return this.thumb;\n }\n\n private totalTickCount() {\n const primaryTicks = this.hasLabels\n ? this.primaryTicks > 0\n ? this.labels.length\n : 0\n : this.primaryTicks === 1\n ? 2\n : this.primaryTicks;\n\n return primaryTicks > 0\n ? (primaryTicks - 1) * this.secondaryTicks + primaryTicks\n : this.secondaryTicks > 0\n ? this.secondaryTicks\n : 0;\n }\n\n private tickValue(idx: number) {\n const tickCount = this.totalTickCount();\n const distance = this.distance;\n const labelStep = tickCount > 1 ? distance / (tickCount - 1) : distance;\n const labelVal = labelStep * idx;\n\n return this.min + labelVal;\n }\n\n private isPrimary(idx: number) {\n return this.primaryTicks <= 0\n ? false\n : idx % (this.secondaryTicks + 1) === 0;\n }\n\n protected showThumbLabels() {\n if (this.disabled || this.hideTooltip) {\n return;\n }\n\n this._thumbLabelTimer.stop();\n this.thumbLabelsVisible = true;\n }\n\n protected hideThumbLabels() {\n if (this.pointerCaptured || !this.thumbLabelsVisible) {\n return;\n }\n\n this._thumbLabelTimer.start();\n }\n\n private calculateTrackUpdate(mouseX: number): number {\n const { width, left } = this.activeThumb!.getBoundingClientRect();\n const { width: trackWidth } = this.base.getBoundingClientRect();\n\n const thumbX = left + width / 2;\n const scale = trackWidth / this.distance;\n const change = isLTR(this) ? mouseX - thumbX : thumbX - mouseX;\n\n if (this.step) {\n const stepDistance = scale * this.step;\n\n // If the thumb scale range (slider update) is less than a half step,\n // the position stays the same.\n if (Math.abs(change) < stepDistance / 2) {\n return 0;\n }\n\n return Math.round(change / stepDistance) * this.step;\n }\n return change / scale;\n }\n\n private updateSlider(mouseX: number) {\n if (this.disabled || !this.activeThumb) {\n return;\n }\n\n const increment = this.calculateTrackUpdate(mouseX);\n if (increment !== 0) {\n this.updateValue(increment);\n }\n }\n\n private pointerDown(event: PointerEvent) {\n const thumb = this.closestHandle(event);\n thumb.focus();\n\n this.startValue = this.activeValue;\n this.updateSlider(event.clientX);\n\n this.setPointerCapture(event.pointerId);\n this.pointerCaptured = true;\n this.showThumbLabels();\n event.preventDefault();\n this.activeThumb?.part.remove('focused');\n }\n\n private pointerMove(event: PointerEvent) {\n if (this.pointerCaptured) {\n this.updateSlider(event.clientX);\n }\n }\n\n private lostPointerCapture() {\n this.pointerCaptured = false;\n this.hideThumbLabels();\n\n if (this.startValue! !== this.activeValue) {\n this.emitChangeEvent();\n }\n this.startValue = undefined;\n }\n\n protected handleThumbFocus(event: FocusEvent) {\n this.activeThumb = event.target as HTMLElement;\n }\n\n /**\n * The `aria-valuetext` of a thumb when neither projected labels nor value\n * formatting apply. Returning `undefined` omits the attribute.\n */\n protected _thumbAriaValueText(_thumbId?: string): string | undefined {\n return undefined;\n }\n\n protected handleThumbBlur() {\n this.activeThumb?.part.remove('focused');\n this.activeThumb = undefined;\n }\n\n protected *_renderTicks() {\n const total = this.totalTickCount();\n const secondaryTicks = this.secondaryTicks + 1;\n\n for (let i = 0; i < total; i++) {\n const primary = this.isPrimary(i);\n const shown = primary ? this.hidePrimaryLabels : this.hideSecondaryLabels;\n const labelInner = this.hasLabels\n ? primary\n ? this.labels[Math.round(i / secondaryTicks)]\n : nothing\n : this.formatValue(this.tickValue(i));\n\n yield html`<div part=\"tick-group\">\n <div part=\"tick\" data-primary=${primary}>\n ${\n shown\n ? nothing\n : html`\n <div part=\"tick-label\">\n <span part=\"tick-label-inner\">${labelInner}</span>\n </div>\n `\n }\n </div>\n </div>`;\n }\n }\n\n protected renderTicks() {\n return html`<div part=\"ticks\">${this._renderTicks()}</div>`;\n }\n\n protected renderThumb(value: number, ariaLabel?: string, thumbId?: string) {\n const percent = `${asPercent(value - this.min, this.distance)}%`;\n const thumbStyles = { insetInlineStart: percent };\n const tooltipStyles = {\n insetInlineStart: percent,\n opacity: this.thumbLabelsVisible ? 1 : 0,\n };\n\n const textValue = this.hasLabels\n ? this.labels[value]\n : this.valueFormat || this.valueFormatOptions\n ? this.formatValue(value)\n : this._thumbAriaValueText(thumbId);\n\n return html`\n <div\n part=\"thumb\"\n id=${ifDefined(thumbId)}\n tabindex=${this.disabled ? -1 : 0}\n style=${styleMap(thumbStyles)}\n role=\"slider\"\n aria-valuemin=${this.lowerBound}\n aria-valuemax=${this.upperBound}\n aria-valuenow=${value}\n aria-valuetext=${ifDefined(textValue)}\n aria-label=${ifDefined(ariaLabel)}\n aria-disabled=${this.disabled}\n @pointerenter=${this.showThumbLabels}\n @pointerleave=${this.hideThumbLabels}\n @focus=${this.handleThumbFocus}\n @blur=${this.handleThumbBlur}\n ></div>\n ${\n this.hideTooltip\n ? nothing\n : html`\n <div part=\"thumb-label\" style=${styleMap(tooltipStyles)}>\n <div part=\"thumb-label-inner\">\n ${this.hasLabels ? this.labels[value] : this.formatValue(value)}\n </div>\n </div>\n `\n }\n `;\n }\n\n private renderSteps() {\n if (!this.discreteTrack || !this.step) {\n return nothing;\n }\n\n const interval = (100 * Math.SQRT2 * this.step) / this.distance;\n\n return html`\n <div part=\"steps\">\n <svg width=\"100%\" height=\"100%\" style=\"display: flex\">\n <line\n x1=\"0\"\n y1=\"1\"\n x2=\"100%\"\n y2=\"1\"\n stroke=\"currentColor\"\n stroke-dasharray=\"0, calc(${interval}%)\"\n stroke-linecap=\"round\"\n stroke-width=\"2px\"\n ></line>\n </svg>\n </div>\n `;\n }\n\n protected override render() {\n const isStart = this.tickOrientation === 'start';\n const isMirrored = this.tickOrientation === 'mirror';\n\n return html`\n <div part=\"base\">\n ${isStart || isMirrored ? html`${this.renderTicks()}` : nothing}\n <div part=\"track\">\n <div part=\"inactive\"></div>\n <div part=\"fill\" style=${styleMap(this.getTrackStyle())}></div>\n ${this.renderSteps()}\n </div>\n ${!isStart ? html`${this.renderTicks()}` : nothing}\n <div part=\"thumbs\">${this.renderThumbs()}</div>\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n `;\n }\n}\n"]}
@@ -35,7 +35,13 @@ export default class IgcSliderComponent extends FormAssociatedMixin(EventEmitter
35
35
  return this.value;
36
36
  }
37
37
  normalizeValue() {
38
- this.value = this.validateValue(this.value);
38
+ const value = this.validateValue(this.value);
39
+ if (value === this.value) {
40
+ return;
41
+ }
42
+ const pristine = this._pristine;
43
+ this.value = value;
44
+ this._pristine = pristine;
39
45
  }
40
46
  getTrackStyle() {
41
47
  return {
@@ -52,12 +58,10 @@ export default class IgcSliderComponent extends FormAssociatedMixin(EventEmitter
52
58
  return true;
53
59
  }
54
60
  emitInputEvent() {
55
- this._setTouchedState();
56
- this.emitEvent('igcInput', { detail: this.value });
61
+ this._emitTouchedEvent('igcInput', { detail: this.value });
57
62
  }
58
63
  emitChangeEvent() {
59
- this._setTouchedState();
60
- this.emitEvent('igcChange', { detail: this.value });
64
+ this._emitTouchedEvent('igcChange', { detail: this.value });
61
65
  }
62
66
  stepUp(stepIncrement = 1) {
63
67
  this.value = this.value + stepIncrement * this.step;
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../src/components/slider/slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { property } from 'lit/decorators.js';\nimport { registerComponent } from '#internals/definitions/register.js';\nimport type { Constructor } from '#internals/mixins/constructor.js';\nimport { EventEmitterMixin } from '#internals/mixins/event-emitter.js';\nimport { FormAssociatedMixin } from '#internals/mixins/forms/associated.js';\nimport { FormValueNumberTransformers } from '#internals/mixins/forms/form-transformers.js';\nimport { createFormValueState } from '#internals/mixins/forms/form-value.js';\nimport { asNumber, asPercent, clamp } from '#internals/utils/math.js';\nimport { IgcSliderBaseComponent } from './slider-base.js';\nimport IgcSliderLabelComponent from './slider-label.js';\n\nexport interface IgcSliderComponentEventMap {\n /**\n * Emitted when a value is changed via thumb drag or keyboard interaction.\n */\n igcInput: CustomEvent<number>;\n /**\n * Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n */\n igcChange: CustomEvent<number>;\n}\n\n/**\n * A slider component used to select numeric value within a range.\n *\n * @element igc-slider\n *\n * @fires igcInput - Emitted when a value is changed via thumb drag or keyboard interaction.\n * @fires igcChange - Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n *\n * @csspart base - The base wrapper of the slider.\n * @csspart ticks - The ticks container.\n * @csspart tick-group - The tick group container.\n * @csspart tick - The tick element.\n * @csspart tick-label - The tick label element.\n * @csspart tick-label-inner - The inner element of the tick label.\n * @csspart thumbs - The thumbs container.\n * @csspart thumb - The thumb element.\n * @csspart thumb-label - The thumb tooltip label container.\n * @csspart thumb-label-inner - The thumb tooltip label inner element.\n * @csspart track - The track container.\n * @csspart steps - The track steps element.\n * @csspart inactive - The inactive element of the track.\n * @csspart fill - The filled part of the track.\n */\nexport default class IgcSliderComponent extends FormAssociatedMixin(\n EventEmitterMixin<\n IgcSliderComponentEventMap,\n Constructor<IgcSliderBaseComponent>\n >(IgcSliderBaseComponent)\n) {\n public static readonly tagName = 'igc-slider';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcSliderComponent, IgcSliderLabelComponent);\n }\n\n protected override readonly _formValue = createFormValueState(this, {\n initialValue: 0,\n transformers: FormValueNumberTransformers,\n });\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The current value of the component.\n * @attr\n */\n @property({ type: Number })\n public set value(value: number) {\n this._formValue.setValueAndFormState(\n this.validateValue(asNumber(value, this._formValue.value))\n );\n }\n\n public get value(): number {\n return this._formValue.value;\n }\n\n protected override get activeValue(): number {\n return this.value;\n }\n\n protected override normalizeValue(): void {\n this.value = this.validateValue(this.value);\n }\n\n protected override getTrackStyle() {\n return {\n width: `${asPercent(this.value - this.min, this.distance)}%`,\n };\n }\n\n protected override updateValue(increment: number) {\n const value = clamp(\n this.value + increment,\n this.lowerBound,\n this.upperBound\n );\n\n if (this.value === value) {\n return false;\n }\n\n this.value = value;\n this.emitInputEvent();\n return true;\n }\n\n protected override emitInputEvent() {\n this._setTouchedState();\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n protected override emitChangeEvent() {\n this._setTouchedState();\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n /**\n * Increments the value of the slider by `stepIncrement * step`, where `stepIncrement` defaults to 1.\n * @param stepIncrement Optional step increment. If no parameter is passed, it defaults to 1.\n */\n public stepUp(stepIncrement = 1) {\n this.value = this.value + stepIncrement * this.step;\n }\n\n /**\n * Decrements the value of the slider by `stepDecrement * step`, where `stepDecrement` defaults to 1.\n * @param stepDecrement Optional step decrement. If no parameter is passed, it defaults to 1.\n */\n public stepDown(stepDecrement = 1) {\n this.value = this.value - stepDecrement * this.step;\n }\n\n protected override renderThumbs() {\n return this.renderThumb(this.value, this.ariaLabel!);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-slider': IgcSliderComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../src/components/slider/slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { property } from 'lit/decorators.js';\nimport { registerComponent } from '#internals/definitions/register.js';\nimport type { Constructor } from '#internals/mixins/constructor.js';\nimport { EventEmitterMixin } from '#internals/mixins/event-emitter.js';\nimport { FormAssociatedMixin } from '#internals/mixins/forms/associated.js';\nimport { FormValueNumberTransformers } from '#internals/mixins/forms/form-transformers.js';\nimport { createFormValueState } from '#internals/mixins/forms/form-value.js';\nimport { asNumber, asPercent, clamp } from '#internals/utils/math.js';\nimport { IgcSliderBaseComponent } from './slider-base.js';\nimport IgcSliderLabelComponent from './slider-label.js';\n\nexport interface IgcSliderComponentEventMap {\n /**\n * Emitted when a value is changed via thumb drag or keyboard interaction.\n */\n igcInput: CustomEvent<number>;\n /**\n * Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n */\n igcChange: CustomEvent<number>;\n}\n\n/**\n * A slider component used to select numeric value within a range.\n *\n * @element igc-slider\n *\n * @fires igcInput - Emitted when a value is changed via thumb drag or keyboard interaction.\n * @fires igcChange - Emitted when a value change is committed on a thumb drag end or keyboard interaction.\n *\n * @csspart base - The base wrapper of the slider.\n * @csspart ticks - The ticks container.\n * @csspart tick-group - The tick group container.\n * @csspart tick - The tick element.\n * @csspart tick-label - The tick label element.\n * @csspart tick-label-inner - The inner element of the tick label.\n * @csspart thumbs - The thumbs container.\n * @csspart thumb - The thumb element.\n * @csspart thumb-label - The thumb tooltip label container.\n * @csspart thumb-label-inner - The thumb tooltip label inner element.\n * @csspart track - The track container.\n * @csspart steps - The track steps element.\n * @csspart inactive - The inactive element of the track.\n * @csspart fill - The filled part of the track.\n */\nexport default class IgcSliderComponent extends FormAssociatedMixin(\n EventEmitterMixin<\n IgcSliderComponentEventMap,\n Constructor<IgcSliderBaseComponent>\n >(IgcSliderBaseComponent)\n) {\n public static readonly tagName = 'igc-slider';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcSliderComponent, IgcSliderLabelComponent);\n }\n\n protected override readonly _formValue = createFormValueState(this, {\n initialValue: 0,\n transformers: FormValueNumberTransformers,\n });\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The current value of the component.\n * @attr\n */\n @property({ type: Number })\n public set value(value: number) {\n this._formValue.setValueAndFormState(\n this.validateValue(asNumber(value, this._formValue.value))\n );\n }\n\n public get value(): number {\n return this._formValue.value;\n }\n\n protected override get activeValue(): number {\n return this.value;\n }\n\n protected override normalizeValue(): void {\n const value = this.validateValue(this.value);\n\n if (value === this.value) {\n return;\n }\n\n // A clamp into the current scale is not an edit of the control, so the\n // form state that it was in carries over.\n const pristine = this._pristine;\n this.value = value;\n this._pristine = pristine;\n }\n\n protected override getTrackStyle() {\n return {\n width: `${asPercent(this.value - this.min, this.distance)}%`,\n };\n }\n\n protected override updateValue(increment: number) {\n const value = clamp(\n this.value + increment,\n this.lowerBound,\n this.upperBound\n );\n\n if (this.value === value) {\n return false;\n }\n\n this.value = value;\n this.emitInputEvent();\n return true;\n }\n\n protected override emitInputEvent() {\n this._emitTouchedEvent('igcInput', { detail: this.value });\n }\n\n protected override emitChangeEvent() {\n this._emitTouchedEvent('igcChange', { detail: this.value });\n }\n\n /**\n * Increments the value of the slider by `stepIncrement * step`, where `stepIncrement` defaults to 1.\n * @param stepIncrement Optional step increment. If no parameter is passed, it defaults to 1.\n */\n public stepUp(stepIncrement = 1) {\n this.value = this.value + stepIncrement * this.step;\n }\n\n /**\n * Decrements the value of the slider by `stepDecrement * step`, where `stepDecrement` defaults to 1.\n * @param stepDecrement Optional step decrement. If no parameter is passed, it defaults to 1.\n */\n public stepDown(stepDecrement = 1) {\n this.value = this.value - stepDecrement * this.step;\n }\n\n protected override renderThumbs() {\n return this.renderThumb(this.value, this.ariaLabel!);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-slider': IgcSliderComponent;\n }\n}\n"]}
@@ -5,7 +5,7 @@ import type { IgcSplitterComponentEventMap, IgcSplitterLayoutChangedEventArgs, I
5
5
  declare const IgcSplitterComponent_base: Constructor<import("#internals/mixins/event-emitter.js").EventEmitterInterface<IgcSplitterComponentEventMap>> & Constructor<LitElement>;
6
6
  /**
7
7
  * A splitter component that provides a resizable split-pane layout, dividing the view
8
- * into two panels *start* and *end* separated by a draggable bar.
8
+ * into two panels - *start* and *end* - separated by a draggable bar.
9
9
  *
10
10
  * Panels can be resized by dragging the bar, using keyboard shortcuts, or collapsed/expanded
11
11
  * using the built-in collapse buttons or the programmatic `toggle()` API.