igniteui-webcomponents 6.0.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +6 -1
  3. package/components/avatar/themes/dark/avatar.bootstrap.css.js +1 -1
  4. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -1
  5. package/components/avatar/themes/dark/avatar.fluent.css.js +1 -1
  6. package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -1
  7. package/components/avatar/themes/dark/avatar.material.css.js +1 -1
  8. package/components/avatar/themes/dark/avatar.material.css.js.map +1 -1
  9. package/components/button/button-base.d.ts +5 -6
  10. package/components/button/button-base.js +15 -29
  11. package/components/button/button-base.js.map +1 -1
  12. package/components/button/themes/button/light/button.shared.css.js +1 -1
  13. package/components/button/themes/button/light/button.shared.css.js.map +1 -1
  14. package/components/button-group/toggle-button.d.ts +2 -2
  15. package/components/button-group/toggle-button.js +4 -6
  16. package/components/button-group/toggle-button.js.map +1 -1
  17. package/components/calendar/calendar.d.ts +1 -1
  18. package/components/calendar/calendar.js +12 -9
  19. package/components/calendar/calendar.js.map +1 -1
  20. package/components/calendar/days-view/days-view.d.ts +1 -1
  21. package/components/calendar/days-view/days-view.js +8 -9
  22. package/components/calendar/days-view/days-view.js.map +1 -1
  23. package/components/calendar/helpers.d.ts +12 -1
  24. package/components/calendar/helpers.js +35 -10
  25. package/components/calendar/helpers.js.map +1 -1
  26. package/components/calendar/model.d.ts +15 -1
  27. package/components/calendar/model.js +26 -5
  28. package/components/calendar/model.js.map +1 -1
  29. package/components/calendar/months-view/months-view.d.ts +1 -1
  30. package/components/calendar/months-view/months-view.js +6 -6
  31. package/components/calendar/months-view/months-view.js.map +1 -1
  32. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  33. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  34. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  35. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  36. package/components/calendar/themes/light/calendar.shared.css.js +1 -1
  37. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -1
  38. package/components/calendar/years-view/years-view.d.ts +1 -1
  39. package/components/calendar/years-view/years-view.js +6 -6
  40. package/components/calendar/years-view/years-view.js.map +1 -1
  41. package/components/carousel/carousel-indicator-container.d.ts +2 -2
  42. package/components/carousel/carousel-indicator-container.js +8 -9
  43. package/components/carousel/carousel-indicator-container.js.map +1 -1
  44. package/components/carousel/carousel.d.ts +7 -8
  45. package/components/carousel/carousel.js +24 -20
  46. package/components/carousel/carousel.js.map +1 -1
  47. package/components/checkbox/checkbox-base.d.ts +8 -10
  48. package/components/checkbox/checkbox-base.js +20 -23
  49. package/components/checkbox/checkbox-base.js.map +1 -1
  50. package/components/checkbox/checkbox.d.ts +3 -3
  51. package/components/checkbox/checkbox.js +18 -19
  52. package/components/checkbox/checkbox.js.map +1 -1
  53. package/components/checkbox/switch.d.ts +2 -2
  54. package/components/checkbox/switch.js +15 -19
  55. package/components/checkbox/switch.js.map +1 -1
  56. package/components/chip/chip.d.ts +4 -0
  57. package/components/chip/chip.js +29 -6
  58. package/components/chip/chip.js.map +1 -1
  59. package/components/chip/themes/shared/chip.common.css.js +1 -1
  60. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  61. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  62. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  63. package/components/combo/combo.d.ts +2 -2
  64. package/components/combo/combo.js +12 -11
  65. package/components/combo/combo.js.map +1 -1
  66. package/components/combo/themes/combo.base.css.js +1 -1
  67. package/components/combo/themes/combo.base.css.js.map +1 -1
  68. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  69. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  70. package/components/common/controllers/focus-ring.d.ts +21 -11
  71. package/components/common/controllers/focus-ring.js +16 -14
  72. package/components/common/controllers/focus-ring.js.map +1 -1
  73. package/components/common/controllers/gestures.d.ts +1 -0
  74. package/components/common/controllers/gestures.js.map +1 -1
  75. package/components/common/controllers/key-bindings.d.ts +40 -33
  76. package/components/common/controllers/key-bindings.js +83 -71
  77. package/components/common/controllers/key-bindings.js.map +1 -1
  78. package/components/common/controllers/resize-observer.d.ts +11 -8
  79. package/components/common/controllers/resize-observer.js +3 -3
  80. package/components/common/controllers/resize-observer.js.map +1 -1
  81. package/components/common/definitions/defineAllComponents.js +2 -0
  82. package/components/common/definitions/defineAllComponents.js.map +1 -1
  83. package/components/common/i18n/date-range-picker.resources.d.ts +11 -0
  84. package/components/common/i18n/date-range-picker.resources.js +12 -0
  85. package/components/common/i18n/date-range-picker.resources.js.map +1 -0
  86. package/components/common/mixins/combo-box.js +8 -2
  87. package/components/common/mixins/combo-box.js.map +1 -1
  88. package/components/common/mixins/forms/form-value.d.ts +15 -1
  89. package/components/common/mixins/forms/form-value.js +25 -4
  90. package/components/common/mixins/forms/form-value.js.map +1 -1
  91. package/components/common/mixins/option.d.ts +3 -2
  92. package/components/common/mixins/option.js.map +1 -1
  93. package/components/common/part-map.d.ts +17 -0
  94. package/components/common/part-map.js +46 -0
  95. package/components/common/part-map.js.map +1 -0
  96. package/components/common/util.d.ts +5 -6
  97. package/components/common/util.js +17 -22
  98. package/components/common/util.js.map +1 -1
  99. package/components/common/validators.js +3 -7
  100. package/components/common/validators.js.map +1 -1
  101. package/components/date-picker/date-picker.d.ts +37 -37
  102. package/components/date-picker/date-picker.js +142 -140
  103. package/components/date-picker/date-picker.js.map +1 -1
  104. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  105. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  106. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  107. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  108. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  109. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  110. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  111. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  112. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  113. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  114. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  115. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  116. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  117. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  118. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  119. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  120. package/components/date-picker/themes/light/date-picker.shared.css.js +1 -1
  121. package/components/date-picker/themes/light/date-picker.shared.css.js.map +1 -1
  122. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  123. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  124. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  125. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  126. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  127. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  128. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  129. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  130. package/components/date-picker/themes/shared/date-picker.material.css.js +3 -0
  131. package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -0
  132. package/components/date-picker/themes/themes.js +3 -2
  133. package/components/date-picker/themes/themes.js.map +1 -1
  134. package/components/date-range-picker/date-range-picker.base.css.js +3 -0
  135. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -0
  136. package/components/date-range-picker/date-range-picker.d.ts +365 -0
  137. package/components/date-range-picker/date-range-picker.js +810 -0
  138. package/components/date-range-picker/date-range-picker.js.map +1 -0
  139. package/components/{radio-group/radio-group.base.css.js → date-range-picker/predefined-ranges-area.base.css.js} +2 -2
  140. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -0
  141. package/components/date-range-picker/predefined-ranges-area.d.ts +36 -0
  142. package/components/date-range-picker/predefined-ranges-area.js +115 -0
  143. package/components/date-range-picker/predefined-ranges-area.js.map +1 -0
  144. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +3 -0
  145. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -0
  146. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.d.ts +1 -0
  147. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +3 -0
  148. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -0
  149. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.d.ts +1 -0
  150. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +3 -0
  151. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -0
  152. package/components/date-range-picker/themes/dark/date-range-picker.material.css.d.ts +1 -0
  153. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +3 -0
  154. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -0
  155. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.d.ts +1 -0
  156. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js +3 -0
  157. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js.map +1 -0
  158. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.d.ts +1 -0
  159. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js +3 -0
  160. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js.map +1 -0
  161. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.d.ts +1 -0
  162. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js +3 -0
  163. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js.map +1 -0
  164. package/components/date-range-picker/themes/light/date-range-picker.material.css.d.ts +1 -0
  165. package/components/date-range-picker/themes/light/date-range-picker.material.css.js +3 -0
  166. package/components/date-range-picker/themes/light/date-range-picker.material.css.js.map +1 -0
  167. package/components/date-range-picker/themes/light/date-range-picker.shared.css.d.ts +1 -0
  168. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js +3 -0
  169. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js.map +1 -0
  170. package/components/date-range-picker/themes/ranges-themes.d.ts +2 -0
  171. package/components/date-range-picker/themes/ranges-themes.js +14 -0
  172. package/components/date-range-picker/themes/ranges-themes.js.map +1 -0
  173. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.d.ts +1 -0
  174. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +3 -0
  175. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -0
  176. package/components/date-range-picker/themes/shared/date-range-picker.common.css.d.ts +1 -0
  177. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +3 -0
  178. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -0
  179. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.d.ts +1 -0
  180. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +3 -0
  181. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -0
  182. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.d.ts +1 -0
  183. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +3 -0
  184. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -0
  185. package/components/date-range-picker/themes/shared/date-range-picker.material.css.d.ts +1 -0
  186. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +3 -0
  187. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -0
  188. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.d.ts +1 -0
  189. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js +3 -0
  190. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js.map +1 -0
  191. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.d.ts +1 -0
  192. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js +3 -0
  193. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js.map +1 -0
  194. package/components/date-range-picker/themes/themes.d.ts +2 -0
  195. package/components/date-range-picker/themes/themes.js +50 -0
  196. package/components/date-range-picker/themes/themes.js.map +1 -0
  197. package/components/date-range-picker/validators.d.ts +26 -0
  198. package/components/date-range-picker/validators.js +57 -0
  199. package/components/date-range-picker/validators.js.map +1 -0
  200. package/components/date-time-input/date-time-input.d.ts +2 -2
  201. package/components/date-time-input/date-time-input.js +8 -10
  202. package/components/date-time-input/date-time-input.js.map +1 -1
  203. package/components/date-time-input/date-util.d.ts +7 -0
  204. package/components/date-time-input/date-util.js +11 -0
  205. package/components/date-time-input/date-util.js.map +1 -1
  206. package/components/dialog/dialog.js +11 -10
  207. package/components/dialog/dialog.js.map +1 -1
  208. package/components/dialog/themes/dialog.base.css.js +1 -1
  209. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  210. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  211. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  212. package/components/dropdown/dropdown.js.map +1 -1
  213. package/components/file-input/file-input.d.ts +12 -6
  214. package/components/file-input/file-input.js +23 -19
  215. package/components/file-input/file-input.js.map +1 -1
  216. package/components/file-input/themes/file-input.base.css.js +1 -1
  217. package/components/file-input/themes/file-input.base.css.js.map +1 -1
  218. package/components/input/input-base.d.ts +0 -1
  219. package/components/input/input-base.js +5 -4
  220. package/components/input/input-base.js.map +1 -1
  221. package/components/input/input.d.ts +2 -3
  222. package/components/input/input.js +10 -9
  223. package/components/input/input.js.map +1 -1
  224. package/components/input/themes/dark/input.bootstrap.css.js +1 -1
  225. package/components/input/themes/dark/input.bootstrap.css.js.map +1 -1
  226. package/components/input/themes/dark/input.indigo.css.js +1 -1
  227. package/components/input/themes/dark/input.indigo.css.js.map +1 -1
  228. package/components/input/themes/input.base.css.js +1 -1
  229. package/components/input/themes/input.base.css.js.map +1 -1
  230. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  231. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  232. package/components/input/themes/light/input.indigo.css.js +1 -1
  233. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  234. package/components/input/themes/light/input.shared.css.js +1 -1
  235. package/components/input/themes/light/input.shared.css.js.map +1 -1
  236. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  237. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  238. package/components/input/themes/shared/input.common.css.js +1 -1
  239. package/components/input/themes/shared/input.common.css.js.map +1 -1
  240. package/components/input/themes/shared/input.fluent.css.js +1 -1
  241. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  242. package/components/input/themes/shared/input.indigo.css.js +1 -1
  243. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  244. package/components/input/themes/shared/input.material.css.js +1 -1
  245. package/components/input/themes/shared/input.material.css.js.map +1 -1
  246. package/components/mask-input/mask-input.d.ts +2 -3
  247. package/components/mask-input/mask-input.js +13 -12
  248. package/components/mask-input/mask-input.js.map +1 -1
  249. package/components/mask-input/mask-parser.d.ts +100 -14
  250. package/components/mask-input/mask-parser.js +134 -117
  251. package/components/mask-input/mask-parser.js.map +1 -1
  252. package/components/nav-drawer/nav-drawer-item.js +2 -6
  253. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  254. package/components/nav-drawer/nav-drawer.js +5 -6
  255. package/components/nav-drawer/nav-drawer.js.map +1 -1
  256. package/components/progress/base.js +6 -5
  257. package/components/progress/base.js.map +1 -1
  258. package/components/progress/circular-progress.js +7 -15
  259. package/components/progress/circular-progress.js.map +1 -1
  260. package/components/progress/linear-progress.js +5 -5
  261. package/components/progress/linear-progress.js.map +1 -1
  262. package/components/progress/themes/circular/dark/circular.progress.shared.css.js +1 -1
  263. package/components/progress/themes/circular/dark/circular.progress.shared.css.js.map +1 -1
  264. package/components/progress/themes/linear/dark/linear.progress.bootstrap.css.js +1 -1
  265. package/components/progress/themes/linear/dark/linear.progress.bootstrap.css.js.map +1 -1
  266. package/components/progress/themes/linear/dark/linear.progress.shared.css.js +1 -1
  267. package/components/progress/themes/linear/dark/linear.progress.shared.css.js.map +1 -1
  268. package/components/radio/radio.d.ts +11 -12
  269. package/components/radio/radio.js +39 -44
  270. package/components/radio/radio.js.map +1 -1
  271. package/components/radio/utils.js +6 -3
  272. package/components/radio/utils.js.map +1 -1
  273. package/components/radio-group/radio-group.d.ts +2 -1
  274. package/components/radio-group/radio-group.js +23 -10
  275. package/components/radio-group/radio-group.js.map +1 -1
  276. package/components/radio-group/themes/dark/radio-group.bootstrap.css.d.ts +1 -0
  277. package/components/radio-group/themes/dark/radio-group.bootstrap.css.js +3 -0
  278. package/components/radio-group/themes/dark/radio-group.bootstrap.css.js.map +1 -0
  279. package/components/radio-group/themes/dark/radio-group.fluent.css.d.ts +1 -0
  280. package/components/radio-group/themes/dark/radio-group.fluent.css.js +3 -0
  281. package/components/radio-group/themes/dark/radio-group.fluent.css.js.map +1 -0
  282. package/components/radio-group/themes/dark/radio-group.indigo.css.d.ts +1 -0
  283. package/components/radio-group/themes/dark/radio-group.indigo.css.js +3 -0
  284. package/components/radio-group/themes/dark/radio-group.indigo.css.js.map +1 -0
  285. package/components/radio-group/themes/dark/radio-group.material.css.d.ts +1 -0
  286. package/components/radio-group/themes/dark/radio-group.material.css.js +3 -0
  287. package/components/radio-group/themes/dark/radio-group.material.css.js.map +1 -0
  288. package/components/radio-group/themes/light/radio-group.bootstrap.css.d.ts +1 -0
  289. package/components/radio-group/themes/light/radio-group.bootstrap.css.js +3 -0
  290. package/components/radio-group/themes/light/radio-group.bootstrap.css.js.map +1 -0
  291. package/components/radio-group/themes/light/radio-group.fluent.css.d.ts +1 -0
  292. package/components/radio-group/themes/light/radio-group.fluent.css.js +3 -0
  293. package/components/radio-group/themes/light/radio-group.fluent.css.js.map +1 -0
  294. package/components/radio-group/themes/light/radio-group.indigo.css.d.ts +1 -0
  295. package/components/radio-group/themes/light/radio-group.indigo.css.js +3 -0
  296. package/components/radio-group/themes/light/radio-group.indigo.css.js.map +1 -0
  297. package/components/radio-group/themes/light/radio-group.material.css.d.ts +1 -0
  298. package/components/radio-group/themes/light/radio-group.material.css.js +3 -0
  299. package/components/radio-group/themes/light/radio-group.material.css.js.map +1 -0
  300. package/components/radio-group/themes/light/radio-group.shared.css.d.ts +1 -0
  301. package/components/radio-group/themes/light/radio-group.shared.css.js +3 -0
  302. package/components/radio-group/themes/light/radio-group.shared.css.js.map +1 -0
  303. package/components/radio-group/themes/radio-group.base.css.d.ts +1 -0
  304. package/components/radio-group/themes/radio-group.base.css.js +3 -0
  305. package/components/radio-group/themes/radio-group.base.css.js.map +1 -0
  306. package/components/radio-group/themes/shared/radio-group.bootstrap.css.d.ts +1 -0
  307. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js +3 -0
  308. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js.map +1 -0
  309. package/components/radio-group/themes/shared/radio-group.common.css.d.ts +1 -0
  310. package/components/radio-group/themes/shared/radio-group.common.css.js +3 -0
  311. package/components/radio-group/themes/shared/radio-group.common.css.js.map +1 -0
  312. package/components/radio-group/themes/shared/radio-group.fluent.css.d.ts +1 -0
  313. package/components/radio-group/themes/shared/radio-group.fluent.css.js +3 -0
  314. package/components/radio-group/themes/shared/radio-group.fluent.css.js.map +1 -0
  315. package/components/radio-group/themes/shared/radio-group.indigo.css.d.ts +1 -0
  316. package/components/radio-group/themes/shared/radio-group.indigo.css.js +3 -0
  317. package/components/radio-group/themes/shared/radio-group.indigo.css.js.map +1 -0
  318. package/components/radio-group/themes/shared/radio-group.material.css.d.ts +1 -0
  319. package/components/radio-group/themes/shared/radio-group.material.css.js +3 -0
  320. package/components/radio-group/themes/shared/radio-group.material.css.js.map +1 -0
  321. package/components/radio-group/themes/themes.d.ts +2 -0
  322. package/components/radio-group/themes/themes.js +50 -0
  323. package/components/radio-group/themes/themes.js.map +1 -0
  324. package/components/rating/rating.d.ts +2 -2
  325. package/components/rating/rating.js +4 -4
  326. package/components/rating/rating.js.map +1 -1
  327. package/components/resize-container/resize-container.js +4 -4
  328. package/components/resize-container/resize-container.js.map +1 -1
  329. package/components/select/select.d.ts +2 -2
  330. package/components/select/select.js +11 -10
  331. package/components/select/select.js.map +1 -1
  332. package/components/select/themes/shared/select.fluent.css.js +1 -1
  333. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  334. package/components/slider/range-slider.js +1 -1
  335. package/components/slider/range-slider.js.map +1 -1
  336. package/components/slider/slider-base.js +1 -1
  337. package/components/slider/slider-base.js.map +1 -1
  338. package/components/slider/slider.d.ts +2 -3
  339. package/components/slider/slider.js +7 -7
  340. package/components/slider/slider.js.map +1 -1
  341. package/components/stepper/step.js +3 -3
  342. package/components/stepper/step.js.map +1 -1
  343. package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
  344. package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
  345. package/components/stepper/themes/step/light/step.bootstrap.css.js +1 -1
  346. package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
  347. package/components/stepper/themes/step/light/step.fluent.css.js +1 -1
  348. package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
  349. package/components/stepper/themes/step/light/step.indigo.css.js +1 -1
  350. package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
  351. package/components/stepper/themes/step/light/step.material.css.js +1 -1
  352. package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
  353. package/components/stepper/themes/step/light/step.shared.css.js +1 -1
  354. package/components/stepper/themes/step/light/step.shared.css.js.map +1 -1
  355. package/components/tabs/tab-dom.d.ts +2 -2
  356. package/components/tabs/tab-dom.js +15 -2
  357. package/components/tabs/tab-dom.js.map +1 -1
  358. package/components/tabs/tabs.d.ts +2 -1
  359. package/components/tabs/tabs.js +10 -8
  360. package/components/tabs/tabs.js.map +1 -1
  361. package/components/tabs/themes/dark/tab.indigo.css.js +1 -1
  362. package/components/tabs/themes/dark/tab.indigo.css.js.map +1 -1
  363. package/components/tabs/themes/light/tab.indigo.css.js +1 -1
  364. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  365. package/components/tabs/themes/tab.base.css.js +1 -1
  366. package/components/tabs/themes/tab.base.css.js.map +1 -1
  367. package/components/textarea/textarea.d.ts +30 -33
  368. package/components/textarea/textarea.js +95 -96
  369. package/components/textarea/textarea.js.map +1 -1
  370. package/components/textarea/themes/dark/textarea.bootstrap.css.js +1 -1
  371. package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -1
  372. package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
  373. package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
  374. package/components/textarea/themes/light/textarea.bootstrap.css.js +1 -1
  375. package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -1
  376. package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
  377. package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
  378. package/components/textarea/themes/light/textarea.shared.css.js +1 -1
  379. package/components/textarea/themes/light/textarea.shared.css.js.map +1 -1
  380. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  381. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  382. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  383. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  384. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  385. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  386. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  387. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  388. package/components/textarea/themes/textarea.base.css.js +1 -1
  389. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  390. package/components/tile-manager/tile-manager.js +5 -4
  391. package/components/tile-manager/tile-manager.js.map +1 -1
  392. package/components/tile-manager/tile.js +6 -5
  393. package/components/tile-manager/tile.js.map +1 -1
  394. package/components/tooltip/tooltip.d.ts +24 -9
  395. package/components/tooltip/tooltip.js +22 -19
  396. package/components/tooltip/tooltip.js.map +1 -1
  397. package/components/tree/tree-item.js +5 -3
  398. package/components/tree/tree-item.js.map +1 -1
  399. package/components/types.d.ts +1 -1
  400. package/components/types.js.map +1 -1
  401. package/components/validation-container/themes/dark/validator.indigo.css.js +1 -1
  402. package/components/validation-container/themes/dark/validator.indigo.css.js.map +1 -1
  403. package/components/validation-container/validation-container.js +4 -11
  404. package/components/validation-container/validation-container.js.map +1 -1
  405. package/custom-elements.json +21925 -18034
  406. package/igniteui-webcomponents.css-data.json +1 -1
  407. package/igniteui-webcomponents.html-data.json +1 -1
  408. package/index.d.ts +4 -1
  409. package/index.js +1 -0
  410. package/index.js.map +1 -1
  411. package/package.json +3 -2
  412. package/themes/dark/bootstrap.css +1 -1
  413. package/themes/dark/fluent.css +1 -1
  414. package/themes/dark/indigo.css +1 -1
  415. package/themes/dark/material.css +1 -1
  416. package/themes/light/bootstrap.css +1 -1
  417. package/themes/light/fluent.css +1 -1
  418. package/themes/light/indigo.css +1 -1
  419. package/themes/light/material.css +1 -1
  420. package/web-types.json +2 -2
  421. package/components/radio-group/radio-group.base.css.js.map +0 -1
  422. package/components/radio-group/radio-group.fluent.css.js +0 -3
  423. package/components/radio-group/radio-group.fluent.css.js.map +0 -1
  424. package/components/radio-group/radio-group.indigo.css.js +0 -3
  425. package/components/radio-group/radio-group.indigo.css.js.map +0 -1
  426. package/components/radio-group/radio-group.material.css.js +0 -3
  427. package/components/radio-group/radio-group.material.css.js.map +0 -1
  428. /package/components/{radio-group/radio-group.base.css.d.ts → date-picker/themes/shared/date-picker.material.css.d.ts} +0 -0
  429. /package/components/{radio-group/radio-group.fluent.css.d.ts → date-range-picker/date-range-picker.base.css.d.ts} +0 -0
  430. /package/components/{radio-group/radio-group.indigo.css.d.ts → date-range-picker/predefined-ranges-area.base.css.d.ts} +0 -0
  431. /package/components/{radio-group/radio-group.material.css.d.ts → date-range-picker/themes/dark/date-range-picker.bootstrap.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"resize-container.js","sourceRoot":"","sources":["../../../src/components/resize-container/resize-container.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { type Ref, createRef, ref } from 'lit/directives/ref.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partNameMap } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport { addResizeController } from './resize-controller.js';\nimport { styles } from './themes/resize-container.base.css.js';\nimport { styles as shared } from './themes/shared/resize-container.common.css.js';\nimport { all } from './themes/themes.js';\nimport type {\n ResizeCallbackParams,\n ResizeGhostFactory,\n ResizeMode,\n ResizeState,\n} from './types.js';\n\n/** @ignore */\nexport interface IgcResizeContainerComponentEventMap {\n igcResizeStart: CustomEvent<ResizeCallbackParams>;\n igcResize: CustomEvent<ResizeCallbackParams>;\n igcResizeEnd: CustomEvent<ResizeCallbackParams>;\n igcResizeCancel: CustomEvent<unknown>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-resize\n *\n * @slot - renders the element(s) that should be resized\n * @slot side-adorner - renders the side resize handle.\n * @slot corner-adorner - renders the corner resize handle.\n * @slot bottom-adorner - renders the bottom resize handle.\n *\n */\n@themes(all)\nexport default class IgcResizeContainerComponent extends EventEmitterMixin<\n IgcResizeContainerComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-resize';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcResizeContainerComponent, IgcIconComponent);\n }\n\n private _controller: ReturnType<typeof addResizeController>;\n\n private _mode: ResizeMode = 'immediate';\n private _ghostFactory?: ResizeGhostFactory;\n\n /** The DOM container doing the actual resizing */\n private _container: Ref<HTMLElement> = createRef();\n\n /** Resize component adorners */\n private _adorners: Record<'side' | 'corner' | 'bottom', Ref<HTMLElement>> = {\n side: createRef(),\n corner: createRef(),\n bottom: createRef(),\n };\n\n @state()\n private _isActive = false;\n\n /**\n * Whether to always show the resize element adorners.\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n\n @property({ attribute: false })\n public set ghostFactory(value: ResizeGhostFactory) {\n this._ghostFactory = value;\n this._controller.set({ deferredFactory: this._ghostFactory });\n }\n\n public get ghostFactory(): ResizeGhostFactory | undefined {\n return this._ghostFactory;\n }\n\n /** Get/Set the mode of the resizing operation. */\n @property()\n public set mode(value: ResizeMode) {\n this._mode = value;\n this._controller.set({ mode: this._mode });\n }\n\n public get mode(): ResizeMode {\n return this._mode;\n }\n\n constructor() {\n super();\n\n this._controller = addResizeController(this, {\n ref: [this._adorners.side, this._adorners.corner, this._adorners.bottom],\n mode: this._mode,\n deferredFactory: this._ghostFactory,\n start: this._handleResizeStart,\n resize: this._handleResize,\n end: this._handleResizeEnd,\n cancel: this._handleResizeCancel,\n resizeTarget: () => this._container.value!,\n });\n }\n\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n private _updateResizingState(params: ResizeCallbackParams): void {\n const { initial, current, trigger } = params.state;\n const { side, bottom } = this._adorners;\n\n if (trigger === side.value) {\n current.height = initial.height;\n } else if (trigger === bottom.value) {\n current.width = initial.width;\n }\n }\n\n private _handlePointerEnter(): void {\n this._isActive = true;\n }\n\n private _handlePointerLeave(): void {\n this._isActive = false;\n }\n\n private _handleResizeStart(params: ResizeCallbackParams) {\n params.event.preventDefault();\n\n return this.emitEvent('igcResizeStart', {\n bubbles: false,\n cancelable: true,\n detail: params,\n });\n }\n\n private _handleResize(params: ResizeCallbackParams): void {\n this._updateResizingState(params);\n this.emitEvent('igcResize', { bubbles: false, detail: params });\n }\n\n private _handleResizeEnd(params: ResizeCallbackParams): void {\n this.emitEvent('igcResizeEnd', { bubbles: false, detail: params });\n }\n\n private _handleResizeCancel({ initial }: ResizeState): void {\n this._controller.dispose();\n\n if (this.mode !== 'deferred') {\n Object.assign(this._container.value!.style, {\n width: `${initial.width}px`,\n height: `${initial.height}px`,\n });\n }\n\n this.emitEvent('igcResizeCancel', { bubbles: false, cancelable: false });\n }\n\n protected _renderAdorner(name: 'side' | 'corner' | 'bottom', part: string) {\n return html`\n <slot ${ref(this._adorners[name])} part=${part} name=\"${name}-adorner\">\n </slot>\n `;\n }\n\n protected _renderAdorners() {\n if (!this._isActive && !this.active) {\n return nothing;\n }\n\n return html`\n ${this._renderAdorner('side', 'trigger-side')}\n ${this._renderAdorner('corner', 'trigger')}\n ${this._renderAdorner('bottom', 'trigger-bottom')}\n `;\n }\n\n protected override render() {\n const parts = partNameMap({\n 'resize-base': true,\n active: this._isActive || this.active,\n });\n\n return html`\n <div\n ${ref(this._container)}\n part=${parts}\n @pointerenter=${this.active ? nothing : this._handlePointerEnter}\n @pointerleave=${this.active ? nothing : this._handlePointerLeave}\n >\n <slot></slot>\n ${this._renderAdorners()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-resize': IgcResizeContainerComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"resize-container.js","sourceRoot":"","sources":["../../../src/components/resize-container/resize-container.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { type Ref, createRef, ref } from 'lit/directives/ref.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport { addResizeController } from './resize-controller.js';\nimport { styles } from './themes/resize-container.base.css.js';\nimport { styles as shared } from './themes/shared/resize-container.common.css.js';\nimport { all } from './themes/themes.js';\nimport type {\n ResizeCallbackParams,\n ResizeGhostFactory,\n ResizeMode,\n ResizeState,\n} from './types.js';\n\n/** @ignore */\nexport interface IgcResizeContainerComponentEventMap {\n igcResizeStart: CustomEvent<ResizeCallbackParams>;\n igcResize: CustomEvent<ResizeCallbackParams>;\n igcResizeEnd: CustomEvent<ResizeCallbackParams>;\n igcResizeCancel: CustomEvent<unknown>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-resize\n *\n * @slot - renders the element(s) that should be resized\n * @slot side-adorner - renders the side resize handle.\n * @slot corner-adorner - renders the corner resize handle.\n * @slot bottom-adorner - renders the bottom resize handle.\n *\n */\n@themes(all)\nexport default class IgcResizeContainerComponent extends EventEmitterMixin<\n IgcResizeContainerComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-resize';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcResizeContainerComponent, IgcIconComponent);\n }\n\n private _controller: ReturnType<typeof addResizeController>;\n\n private _mode: ResizeMode = 'immediate';\n private _ghostFactory?: ResizeGhostFactory;\n\n /** The DOM container doing the actual resizing */\n private _container: Ref<HTMLElement> = createRef();\n\n /** Resize component adorners */\n private _adorners: Record<'side' | 'corner' | 'bottom', Ref<HTMLElement>> = {\n side: createRef(),\n corner: createRef(),\n bottom: createRef(),\n };\n\n @state()\n private _isActive = false;\n\n /**\n * Whether to always show the resize element adorners.\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n\n @property({ attribute: false })\n public set ghostFactory(value: ResizeGhostFactory) {\n this._ghostFactory = value;\n this._controller.set({ deferredFactory: this._ghostFactory });\n }\n\n public get ghostFactory(): ResizeGhostFactory | undefined {\n return this._ghostFactory;\n }\n\n /** Get/Set the mode of the resizing operation. */\n @property()\n public set mode(value: ResizeMode) {\n this._mode = value;\n this._controller.set({ mode: this._mode });\n }\n\n public get mode(): ResizeMode {\n return this._mode;\n }\n\n constructor() {\n super();\n\n this._controller = addResizeController(this, {\n ref: [this._adorners.side, this._adorners.corner, this._adorners.bottom],\n mode: this._mode,\n deferredFactory: this._ghostFactory,\n start: this._handleResizeStart,\n resize: this._handleResize,\n end: this._handleResizeEnd,\n cancel: this._handleResizeCancel,\n resizeTarget: () => this._container.value!,\n });\n }\n\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n private _updateResizingState(params: ResizeCallbackParams): void {\n const { initial, current, trigger } = params.state;\n const { side, bottom } = this._adorners;\n\n if (trigger === side.value) {\n current.height = initial.height;\n } else if (trigger === bottom.value) {\n current.width = initial.width;\n }\n }\n\n private _handlePointerEnter(): void {\n this._isActive = true;\n }\n\n private _handlePointerLeave(): void {\n this._isActive = false;\n }\n\n private _handleResizeStart(params: ResizeCallbackParams) {\n params.event.preventDefault();\n\n return this.emitEvent('igcResizeStart', {\n bubbles: false,\n cancelable: true,\n detail: params,\n });\n }\n\n private _handleResize(params: ResizeCallbackParams): void {\n this._updateResizingState(params);\n this.emitEvent('igcResize', { bubbles: false, detail: params });\n }\n\n private _handleResizeEnd(params: ResizeCallbackParams): void {\n this.emitEvent('igcResizeEnd', { bubbles: false, detail: params });\n }\n\n private _handleResizeCancel({ initial }: ResizeState): void {\n this._controller.dispose();\n\n if (this.mode !== 'deferred') {\n Object.assign(this._container.value!.style, {\n width: `${initial.width}px`,\n height: `${initial.height}px`,\n });\n }\n\n this.emitEvent('igcResizeCancel', { bubbles: false, cancelable: false });\n }\n\n protected _renderAdorner(name: 'side' | 'corner' | 'bottom', part: string) {\n return html`\n <slot ${ref(this._adorners[name])} part=${part} name=\"${name}-adorner\">\n </slot>\n `;\n }\n\n protected _renderAdorners() {\n if (!this._isActive && !this.active) {\n return nothing;\n }\n\n return html`\n ${this._renderAdorner('side', 'trigger-side')}\n ${this._renderAdorner('corner', 'trigger')}\n ${this._renderAdorner('bottom', 'trigger-bottom')}\n `;\n }\n\n protected override render() {\n const parts = {\n 'resize-base': true,\n active: this._isActive || this.active,\n };\n\n return html`\n <div\n ${ref(this._container)}\n part=${partMap(parts)}\n @pointerenter=${this.active ? nothing : this._handlePointerEnter}\n @pointerleave=${this.active ? nothing : this._handlePointerLeave}\n >\n <slot></slot>\n ${this._renderAdorners()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-resize': IgcResizeContainerComponent;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { type TemplateResult } from 'lit';
2
2
  import { IgcBaseComboBoxLikeComponent } from '../common/mixins/combo-box.js';
3
3
  import type { AbstractConstructor } from '../common/mixins/constructor.js';
4
- import { type FormValue } from '../common/mixins/forms/form-value.js';
4
+ import { type FormValueOf } from '../common/mixins/forms/form-value.js';
5
5
  import IgcInputComponent from '../input/input.js';
6
6
  import { type PopoverPlacement } from '../popover/popover.js';
7
7
  import type { PopoverScrollStrategy } from '../types.js';
@@ -52,7 +52,7 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
52
52
  static readonly tagName = "igc-select";
53
53
  static styles: import("lit").CSSResult[];
54
54
  static register(): void;
55
- protected _formValue: FormValue<string | undefined>;
55
+ protected readonly _formValue: FormValueOf<string | undefined>;
56
56
  private _searchTerm;
57
57
  private _lastKeyTime;
58
58
  private _rootScrollController;
@@ -18,7 +18,8 @@ import { IgcBaseComboBoxLikeComponent, getActiveItems, getItems, getNextActiveIt
18
18
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
19
19
  import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
20
20
  import { createFormValueState, } from '../common/mixins/forms/form-value.js';
21
- import { findElementFromEventPath, isEmpty, isString, partNameMap, } from '../common/util.js';
21
+ import { partMap } from '../common/part-map.js';
22
+ import { findElementFromEventPath, isEmpty, isString } from '../common/util.js';
22
23
  import IgcIconComponent from '../icon/icon.js';
23
24
  import IgcInputComponent from '../input/input.js';
24
25
  import IgcPopoverComponent from '../popover/popover.js';
@@ -66,6 +67,13 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
66
67
  }
67
68
  constructor() {
68
69
  super();
70
+ this._formValue = createFormValueState(this, {
71
+ initialValue: undefined,
72
+ transformers: {
73
+ setValue: (value) => value || undefined,
74
+ setDefaultValue: (value) => value || undefined,
75
+ },
76
+ });
69
77
  this._searchTerm = '';
70
78
  this._lastKeyTime = 0;
71
79
  this._rootScrollController = addRootScrollHandler(this, {
@@ -76,13 +84,6 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
76
84
  this.distance = 0;
77
85
  this.placement = 'bottom-start';
78
86
  this.scrollStrategy = 'scroll';
79
- this._formValue = createFormValueState(this, {
80
- initialValue: undefined,
81
- transformers: {
82
- setValue: (value) => value || undefined,
83
- setDefaultValue: (value) => value || undefined,
84
- },
85
- });
86
87
  this._rootClickController.update({ hideCallback: this.handleClosing });
87
88
  addKeybindings(this, {
88
89
  skip: () => this.disabled,
@@ -322,11 +323,11 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
322
323
  `;
323
324
  }
324
325
  renderToggleIcon() {
325
- const parts = partNameMap({ 'toggle-icon': true, filled: this.value });
326
+ const parts = { 'toggle-icon': true, filled: !!this.value };
326
327
  const iconHidden = this.open && !isEmpty(this._expandedIconSlot);
327
328
  const iconExpandedHidden = !iconHidden;
328
329
  return html `
329
- <span slot="suffix" part=${parts} aria-hidden="true">
330
+ <span slot="suffix" part=${partMap(parts)} aria-hidden="true">
330
331
  <slot name="toggle-icon" ?hidden=${iconHidden}>
331
332
  <igc-icon
332
333
  name=${this.open ? 'input_collapse' : 'input_expand'}
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"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","sourcesContent":["import { type TemplateResult, html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n spaceBar,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcBaseComboBoxLikeComponent,\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n type FormValue,\n createFormValueState,\n} from '../common/mixins/forms/form-value.js';\nimport {\n findElementFromEventPath,\n isEmpty,\n isString,\n partNameMap,\n} from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcInputComponent from '../input/input.js';\nimport IgcPopoverComponent, {\n type PopoverPlacement,\n} from '../popover/popover.js';\nimport type { PopoverScrollStrategy } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport IgcSelectGroupComponent from './select-group.js';\nimport IgcSelectHeaderComponent from './select-header.js';\nimport IgcSelectItemComponent from './select-item.js';\nimport { styles } from './themes/select.base.css.js';\nimport { styles as shared } from './themes/shared/select.common.css.js';\nimport { all } from './themes/themes.js';\nimport { selectValidators } from './validators.js';\n\nexport interface IgcSelectComponentEventMap {\n igcChange: CustomEvent<IgcSelectItemComponent>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a control that provides a menu of options.\n *\n * @element igc-select\n *\n * @slot - Renders the list of select items.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot header - Renders a container before the list of options.\n * @slot footer - Renders a container after the list of options.\n * @slot helper-text - Renders content below the input.\n * @slot toggle-icon - Renders content inside the suffix container.\n * @slot toggle-icon-expanded - Renders content for the toggle icon when the component is in open state.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcOpening - Emitted just before the list of options is opened.\n * @fires igcOpened - Emitted after the list of options is opened.\n * @fires igcClosing - Emitter just before the list of options is closed.\n * @fires igcClosed - Emitted after the list of options is closed.\n *\n * @csspart list - The list wrapping container for the items of the igc-select.\n * @csspart input - The encapsulated igc-input of the igc-select.\n * @csspart label - The encapsulated text label of the igc-select.\n * @csspart prefix - The prefix wrapper of the input of the igc-select.\n * @csspart suffix - The suffix wrapper of the input of the igc-select.\n * @csspart toggle-icon - The toggle icon wrapper of the igc-select.\n * @csspart helper-text - The helper text wrapper of the igc-select.\n */\n@themes(all)\n@blazorAdditionalDependencies(\n 'IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent'\n)\nexport default class IgcSelectComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<\n IgcSelectComponentEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n >(IgcBaseComboBoxLikeComponent)\n) {\n public static readonly tagName = 'igc-select';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcSelectComponent,\n IgcIconComponent,\n IgcInputComponent,\n IgcPopoverComponent,\n IgcSelectGroupComponent,\n IgcSelectHeaderComponent,\n IgcSelectItemComponent\n );\n }\n\n protected override _formValue: FormValue<string | undefined>;\n\n private _searchTerm = '';\n private _lastKeyTime = 0;\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: this.handleClosing,\n });\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcSelectItemComponent>(\n this,\n IgcSelectItemComponent.tagName\n )\n );\n }\n\n @state()\n protected _selectedItem: IgcSelectItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcSelectItemComponent;\n\n protected override get __validators() {\n return selectValidators;\n }\n\n @query(IgcInputComponent.tagName, true)\n protected _input!: IgcInputComponent;\n\n @queryAssignedElements({ slot: 'suffix' })\n protected _inputSuffix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'prefix' })\n protected _inputPrefix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'toggle-icon-expanded' })\n protected _expandedIconSlot!: Array<HTMLElement>;\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.value\", false) */\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string | undefined) {\n this._updateValue(value);\n const item = this.getItem(this._formValue.value!);\n item ? this.setSelectedItem(item) : this.clearSelectedItem();\n }\n\n public get value(): string | undefined {\n return this._formValue.value;\n }\n\n /**\n * The outlined attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The distance of the select dropdown from its input.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * The label attribute of the control.\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /** The preferred placement of the select dropdown around its input.\n * @attr\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: PopoverScrollStrategy = 'scroll';\n\n /** Returns the items of the igc-select component. */\n public get items() {\n return Array.from(\n getItems<IgcSelectItemComponent>(this, IgcSelectItemComponent.tagName)\n );\n }\n\n /** Returns the groups of the igc-select component. */\n public get groups() {\n return Array.from(\n getItems<IgcSelectGroupComponent>(this, IgcSelectGroupComponent.tagName)\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this._rootClickController.update();\n this._rootScrollController.update();\n }\n\n constructor() {\n super();\n\n this._formValue = createFormValueState<string | undefined>(this, {\n initialValue: undefined,\n transformers: {\n setValue: (value) => value || undefined,\n setDefaultValue: (value) => value || undefined,\n },\n });\n\n this._rootClickController.update({ hideCallback: this.handleClosing });\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set([altKey, arrowDown], this.altArrowDown)\n .set([altKey, arrowUp], this.altArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowRight, this.onArrowDown)\n .set(tabKey, this.onTabKey, { preventDefault: false })\n .set(escapeKey, this.onEscapeKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey)\n .set(spaceBar, this.onSpaceBarKey)\n .set(enterKey, this.onEnterKey);\n\n this.addEventListener('keydown', this.handleSearch);\n this.addEventListener('focusin', this.handleFocusIn);\n this.addEventListener('focusout', this.handleFocusOut);\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n\n if (this.value && !selected) {\n this._selectItem(this.getItem(this.value), false);\n }\n\n if (selected && selected.value !== this.value) {\n this.defaultValue = selected.value;\n this._selectItem(selected, false);\n }\n\n if (this.autofocus) {\n this.focus();\n }\n\n this._updateValidity();\n }\n\n private handleFocusIn({ relatedTarget }: FocusEvent) {\n this._dirty = true;\n\n if (this.contains(relatedTarget as Node) || this.open) {\n return;\n }\n }\n\n private handleFocusOut({ relatedTarget }: FocusEvent) {\n if (this.contains(relatedTarget as Node)) {\n return;\n }\n\n this.checkValidity();\n }\n\n private handleClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcSelectItemComponent>(\n IgcSelectItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcSelectItemComponent) {\n return this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSearch(event: KeyboardEvent) {\n if (!/^.$/u.test(event.key)) {\n return;\n }\n\n event.preventDefault();\n const now = Date.now();\n\n if (now - this._lastKeyTime > 500) {\n this._searchTerm = '';\n }\n\n this._lastKeyTime = now;\n this._searchTerm += event.key.toLocaleLowerCase();\n\n const item = this._activeItems.find((item) =>\n item.textContent?.trim().toLocaleLowerCase().startsWith(this._searchTerm)\n );\n\n if (item) {\n this.open ? this.activateItem(item) : this._selectItem(item);\n this._activeItem.focus();\n }\n }\n\n protected override handleAnchorClick(): void {\n super.handleAnchorClick();\n this.focusItemOnOpen();\n }\n\n private onEnterKey() {\n this.open && this._activeItem\n ? this._selectItem(this._activeItem)\n : this.handleAnchorClick();\n }\n\n private onSpaceBarKey() {\n if (!this.open) {\n this.handleAnchorClick();\n }\n }\n\n private onArrowDown() {\n const item = getNextActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private onArrowUp() {\n const item = getPreviousActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private altArrowDown() {\n if (!this.open) {\n this._show(true);\n this.focusItemOnOpen();\n }\n }\n\n private async altArrowUp() {\n if (this.open && (await this._hide(true))) {\n this._input.focus();\n }\n }\n\n protected async onEscapeKey() {\n if (await this._hide(true)) {\n this._input.focus();\n }\n }\n\n private onTabKey(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n this._selectItem(this._activeItem ?? this._selectedItem);\n this._hide(true);\n }\n }\n\n protected onHomeKey() {\n const item = this._activeItems.at(0);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n protected onEndKey() {\n const item = this._activeItems.at(-1);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n protected handleClosing() {\n this._hide(true);\n }\n\n private activateItem(item: IgcSelectItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private setSelectedItem(item: IgcSelectItemComponent) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n return this._selectedItem;\n }\n\n private _selectItem(item?: IgcSelectItemComponent, emit = true) {\n if (!item) {\n this.clearSelectedItem();\n this._updateValue();\n return null;\n }\n\n const shouldFocus = emit && this.open;\n const shouldHide = emit && !this.keepOpenOnSelect;\n\n if (this._selectedItem === item) {\n if (shouldFocus) this._input.focus();\n return this._selectedItem;\n }\n\n const newItem = this.setSelectedItem(item);\n this.activateItem(newItem);\n this._updateValue(newItem.value);\n\n if (emit) this.handleChange(newItem);\n if (shouldFocus) this._input.focus();\n if (shouldHide) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _navigateToActiveItem(item?: IgcSelectItemComponent) {\n if (item) {\n this.activateItem(item);\n this._activeItem.focus({ preventScroll: true });\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _updateValue(value?: string) {\n this._formValue.setValueAndFormState(value!);\n this._validate();\n }\n\n private clearSelectedItem() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n private async focusItemOnOpen() {\n await this.updateComplete;\n (this._selectedItem || this._activeItem)?.focus();\n }\n\n protected getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the component. */\n public override focus(options?: FocusOptions) {\n this._input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the component. */\n public override blur() {\n this._input.blur();\n }\n\n /** Checks the validity of the control and moves the focus to it if it is not valid. */\n public override reportValidity() {\n const valid = super.reportValidity();\n if (!valid) this._input.focus();\n return valid;\n }\n\n /* blazorSuppress */\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string | number): IgcSelectItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /* blazorSuppress */\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n public select(value: string | number): IgcSelectItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Resets the current value and selection of the component. */\n public clearSelection() {\n this._updateValue();\n this.clearSelectedItem();\n }\n\n protected renderInputSlots() {\n const prefixName = isEmpty(this._inputPrefix) ? '' : 'prefix';\n const suffixName = isEmpty(this._inputSuffix) ? '' : 'suffix';\n\n return html`\n <span slot=${prefixName}>\n <slot name=\"prefix\"></slot>\n </span>\n\n <span slot=${suffixName}>\n <slot name=\"suffix\"></slot>\n </span>\n `;\n }\n\n protected renderToggleIcon() {\n const parts = partNameMap({ 'toggle-icon': true, filled: this.value! });\n const iconHidden = this.open && !isEmpty(this._expandedIconSlot);\n const iconExpandedHidden = !iconHidden;\n\n return html`\n <span slot=\"suffix\" part=${parts} aria-hidden=\"true\">\n <slot name=\"toggle-icon\" ?hidden=${iconHidden}>\n <igc-icon\n name=${this.open ? 'input_collapse' : 'input_expand'}\n collection=\"default\"\n ></igc-icon>\n </slot>\n <slot name=\"toggle-icon-expanded\" ?hidden=${iconExpandedHidden}></slot>\n </span>\n `;\n }\n\n protected renderHelperText(): TemplateResult {\n return IgcValidationContainerComponent.create(this, {\n id: 'select-helper-text',\n slot: 'anchor',\n hasHelperText: true,\n });\n }\n\n protected renderInputAnchor() {\n const value = this.selectedItem?.textContent?.trim();\n\n return html`\n <igc-input\n id=\"input\"\n slot=\"anchor\"\n role=\"combobox\"\n readonly\n aria-controls=\"dropdown\"\n aria-describedby=\"select-helper-text\"\n aria-expanded=${this.open ? 'true' : 'false'}\n exportparts=\"container: input, input: native-input, label, prefix, suffix\"\n tabIndex=${this.disabled ? -1 : 0}\n value=${ifDefined(value)}\n placeholder=${ifDefined(this.placeholder)}\n label=${ifDefined(this.label)}\n .disabled=${this.disabled}\n .required=${this.required}\n .invalid=${this.invalid}\n .outlined=${this.outlined}\n @click=${this.handleAnchorClick}\n >\n ${this.renderInputSlots()} ${this.renderToggleIcon()}\n </igc-input>\n\n ${this.renderHelperText()}\n `;\n }\n\n protected renderDropdown() {\n return html`<div part=\"base\" .inert=${!this.open}>\n <div\n id=\"dropdown\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"input\"\n @click=${this.handleClick}\n >\n <slot name=\"header\"></slot>\n <slot></slot>\n <slot name=\"footer\"></slot>\n </div>\n </div>`;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n flip\n shift\n same-width\n .offset=${this.distance}\n .placement=${this.placement}\n >${this.renderInputAnchor()} ${this.renderDropdown()}\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select': IgcSelectComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"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","sourcesContent":["import { type TemplateResult, html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n spaceBar,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcBaseComboBoxLikeComponent,\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n type FormValueOf,\n createFormValueState,\n} from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { findElementFromEventPath, isEmpty, isString } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcInputComponent from '../input/input.js';\nimport IgcPopoverComponent, {\n type PopoverPlacement,\n} from '../popover/popover.js';\nimport type { PopoverScrollStrategy } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport IgcSelectGroupComponent from './select-group.js';\nimport IgcSelectHeaderComponent from './select-header.js';\nimport IgcSelectItemComponent from './select-item.js';\nimport { styles } from './themes/select.base.css.js';\nimport { styles as shared } from './themes/shared/select.common.css.js';\nimport { all } from './themes/themes.js';\nimport { selectValidators } from './validators.js';\n\nexport interface IgcSelectComponentEventMap {\n igcChange: CustomEvent<IgcSelectItemComponent>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a control that provides a menu of options.\n *\n * @element igc-select\n *\n * @slot - Renders the list of select items.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot header - Renders a container before the list of options.\n * @slot footer - Renders a container after the list of options.\n * @slot helper-text - Renders content below the input.\n * @slot toggle-icon - Renders content inside the suffix container.\n * @slot toggle-icon-expanded - Renders content for the toggle icon when the component is in open state.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcOpening - Emitted just before the list of options is opened.\n * @fires igcOpened - Emitted after the list of options is opened.\n * @fires igcClosing - Emitter just before the list of options is closed.\n * @fires igcClosed - Emitted after the list of options is closed.\n *\n * @csspart list - The list wrapping container for the items of the igc-select.\n * @csspart input - The encapsulated igc-input of the igc-select.\n * @csspart label - The encapsulated text label of the igc-select.\n * @csspart prefix - The prefix wrapper of the input of the igc-select.\n * @csspart suffix - The suffix wrapper of the input of the igc-select.\n * @csspart toggle-icon - The toggle icon wrapper of the igc-select.\n * @csspart helper-text - The helper text wrapper of the igc-select.\n */\n@themes(all)\n@blazorAdditionalDependencies(\n 'IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent'\n)\nexport default class IgcSelectComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<\n IgcSelectComponentEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n >(IgcBaseComboBoxLikeComponent)\n) {\n public static readonly tagName = 'igc-select';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcSelectComponent,\n IgcIconComponent,\n IgcInputComponent,\n IgcPopoverComponent,\n IgcSelectGroupComponent,\n IgcSelectHeaderComponent,\n IgcSelectItemComponent\n );\n }\n\n protected override readonly _formValue: FormValueOf<string | undefined> =\n createFormValueState<string | undefined>(this, {\n initialValue: undefined,\n transformers: {\n setValue: (value) => value || undefined,\n setDefaultValue: (value) => value || undefined,\n },\n });\n\n private _searchTerm = '';\n private _lastKeyTime = 0;\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: this.handleClosing,\n });\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcSelectItemComponent>(\n this,\n IgcSelectItemComponent.tagName\n )\n );\n }\n\n @state()\n protected _selectedItem: IgcSelectItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcSelectItemComponent;\n\n protected override get __validators() {\n return selectValidators;\n }\n\n @query(IgcInputComponent.tagName, true)\n protected _input!: IgcInputComponent;\n\n @queryAssignedElements({ slot: 'suffix' })\n protected _inputSuffix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'prefix' })\n protected _inputPrefix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'toggle-icon-expanded' })\n protected _expandedIconSlot!: Array<HTMLElement>;\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.value\", false) */\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string | undefined) {\n this._updateValue(value);\n const item = this.getItem(this._formValue.value!);\n item ? this.setSelectedItem(item) : this.clearSelectedItem();\n }\n\n public get value(): string | undefined {\n return this._formValue.value;\n }\n\n /**\n * The outlined attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The distance of the select dropdown from its input.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * The label attribute of the control.\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /** The preferred placement of the select dropdown around its input.\n * @attr\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: PopoverScrollStrategy = 'scroll';\n\n /** Returns the items of the igc-select component. */\n public get items() {\n return Array.from(\n getItems<IgcSelectItemComponent>(this, IgcSelectItemComponent.tagName)\n );\n }\n\n /** Returns the groups of the igc-select component. */\n public get groups() {\n return Array.from(\n getItems<IgcSelectGroupComponent>(this, IgcSelectGroupComponent.tagName)\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this._rootClickController.update();\n this._rootScrollController.update();\n }\n\n constructor() {\n super();\n\n this._rootClickController.update({ hideCallback: this.handleClosing });\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set([altKey, arrowDown], this.altArrowDown)\n .set([altKey, arrowUp], this.altArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowRight, this.onArrowDown)\n .set(tabKey, this.onTabKey, { preventDefault: false })\n .set(escapeKey, this.onEscapeKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey)\n .set(spaceBar, this.onSpaceBarKey)\n .set(enterKey, this.onEnterKey);\n\n this.addEventListener('keydown', this.handleSearch);\n this.addEventListener('focusin', this.handleFocusIn);\n this.addEventListener('focusout', this.handleFocusOut);\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n\n if (this.value && !selected) {\n this._selectItem(this.getItem(this.value), false);\n }\n\n if (selected && selected.value !== this.value) {\n this.defaultValue = selected.value;\n this._selectItem(selected, false);\n }\n\n if (this.autofocus) {\n this.focus();\n }\n\n this._updateValidity();\n }\n\n private handleFocusIn({ relatedTarget }: FocusEvent) {\n this._dirty = true;\n\n if (this.contains(relatedTarget as Node) || this.open) {\n return;\n }\n }\n\n private handleFocusOut({ relatedTarget }: FocusEvent) {\n if (this.contains(relatedTarget as Node)) {\n return;\n }\n\n this.checkValidity();\n }\n\n private handleClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcSelectItemComponent>(\n IgcSelectItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcSelectItemComponent) {\n return this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSearch(event: KeyboardEvent) {\n if (!/^.$/u.test(event.key)) {\n return;\n }\n\n event.preventDefault();\n const now = Date.now();\n\n if (now - this._lastKeyTime > 500) {\n this._searchTerm = '';\n }\n\n this._lastKeyTime = now;\n this._searchTerm += event.key.toLocaleLowerCase();\n\n const item = this._activeItems.find((item) =>\n item.textContent?.trim().toLocaleLowerCase().startsWith(this._searchTerm)\n );\n\n if (item) {\n this.open ? this.activateItem(item) : this._selectItem(item);\n this._activeItem.focus();\n }\n }\n\n protected override handleAnchorClick(): void {\n super.handleAnchorClick();\n this.focusItemOnOpen();\n }\n\n private onEnterKey() {\n this.open && this._activeItem\n ? this._selectItem(this._activeItem)\n : this.handleAnchorClick();\n }\n\n private onSpaceBarKey() {\n if (!this.open) {\n this.handleAnchorClick();\n }\n }\n\n private onArrowDown() {\n const item = getNextActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private onArrowUp() {\n const item = getPreviousActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private altArrowDown() {\n if (!this.open) {\n this._show(true);\n this.focusItemOnOpen();\n }\n }\n\n private async altArrowUp() {\n if (this.open && (await this._hide(true))) {\n this._input.focus();\n }\n }\n\n protected async onEscapeKey() {\n if (await this._hide(true)) {\n this._input.focus();\n }\n }\n\n private onTabKey(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n this._selectItem(this._activeItem ?? this._selectedItem);\n this._hide(true);\n }\n }\n\n protected onHomeKey() {\n const item = this._activeItems.at(0);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n protected onEndKey() {\n const item = this._activeItems.at(-1);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n protected handleClosing() {\n this._hide(true);\n }\n\n private activateItem(item: IgcSelectItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private setSelectedItem(item: IgcSelectItemComponent) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n return this._selectedItem;\n }\n\n private _selectItem(item?: IgcSelectItemComponent, emit = true) {\n if (!item) {\n this.clearSelectedItem();\n this._updateValue();\n return null;\n }\n\n const shouldFocus = emit && this.open;\n const shouldHide = emit && !this.keepOpenOnSelect;\n\n if (this._selectedItem === item) {\n if (shouldFocus) this._input.focus();\n return this._selectedItem;\n }\n\n const newItem = this.setSelectedItem(item);\n this.activateItem(newItem);\n this._updateValue(newItem.value);\n\n if (emit) this.handleChange(newItem);\n if (shouldFocus) this._input.focus();\n if (shouldHide) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _navigateToActiveItem(item?: IgcSelectItemComponent) {\n if (item) {\n this.activateItem(item);\n this._activeItem.focus({ preventScroll: true });\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _updateValue(value?: string) {\n this._formValue.setValueAndFormState(value!);\n this._validate();\n }\n\n private clearSelectedItem() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n private async focusItemOnOpen() {\n await this.updateComplete;\n (this._selectedItem || this._activeItem)?.focus();\n }\n\n protected getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the component. */\n public override focus(options?: FocusOptions) {\n this._input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the component. */\n public override blur() {\n this._input.blur();\n }\n\n /** Checks the validity of the control and moves the focus to it if it is not valid. */\n public override reportValidity() {\n const valid = super.reportValidity();\n if (!valid) this._input.focus();\n return valid;\n }\n\n /* blazorSuppress */\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string | number): IgcSelectItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /* blazorSuppress */\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n public select(value: string | number): IgcSelectItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Resets the current value and selection of the component. */\n public clearSelection() {\n this._updateValue();\n this.clearSelectedItem();\n }\n\n protected renderInputSlots() {\n const prefixName = isEmpty(this._inputPrefix) ? '' : 'prefix';\n const suffixName = isEmpty(this._inputSuffix) ? '' : 'suffix';\n\n return html`\n <span slot=${prefixName}>\n <slot name=\"prefix\"></slot>\n </span>\n\n <span slot=${suffixName}>\n <slot name=\"suffix\"></slot>\n </span>\n `;\n }\n\n protected renderToggleIcon() {\n const parts = { 'toggle-icon': true, filled: !!this.value };\n const iconHidden = this.open && !isEmpty(this._expandedIconSlot);\n const iconExpandedHidden = !iconHidden;\n\n return html`\n <span slot=\"suffix\" part=${partMap(parts)} aria-hidden=\"true\">\n <slot name=\"toggle-icon\" ?hidden=${iconHidden}>\n <igc-icon\n name=${this.open ? 'input_collapse' : 'input_expand'}\n collection=\"default\"\n ></igc-icon>\n </slot>\n <slot name=\"toggle-icon-expanded\" ?hidden=${iconExpandedHidden}></slot>\n </span>\n `;\n }\n\n protected renderHelperText(): TemplateResult {\n return IgcValidationContainerComponent.create(this, {\n id: 'select-helper-text',\n slot: 'anchor',\n hasHelperText: true,\n });\n }\n\n protected renderInputAnchor() {\n const value = this.selectedItem?.textContent?.trim();\n\n return html`\n <igc-input\n id=\"input\"\n slot=\"anchor\"\n role=\"combobox\"\n readonly\n aria-controls=\"dropdown\"\n aria-describedby=\"select-helper-text\"\n aria-expanded=${this.open ? 'true' : 'false'}\n exportparts=\"container: input, input: native-input, label, prefix, suffix\"\n tabIndex=${this.disabled ? -1 : 0}\n value=${ifDefined(value)}\n placeholder=${ifDefined(this.placeholder)}\n label=${ifDefined(this.label)}\n .disabled=${this.disabled}\n .required=${this.required}\n .invalid=${this.invalid}\n .outlined=${this.outlined}\n @click=${this.handleAnchorClick}\n >\n ${this.renderInputSlots()} ${this.renderToggleIcon()}\n </igc-input>\n\n ${this.renderHelperText()}\n `;\n }\n\n protected renderDropdown() {\n return html`<div part=\"base\" .inert=${!this.open}>\n <div\n id=\"dropdown\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"input\"\n @click=${this.handleClick}\n >\n <slot name=\"header\"></slot>\n <slot></slot>\n <slot name=\"footer\"></slot>\n </div>\n </div>`;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n flip\n shift\n same-width\n .offset=${this.distance}\n .placement=${this.placement}\n >${this.renderInputAnchor()} ${this.renderDropdown()}\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select': IgcSelectComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--select-size: var(--component-size);--dropdown-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);color:var(--helper-text-color);margin-block-start:.3125rem;grid-auto-rows:minmax(1.125rem, auto)}[part=base]{box-shadow:var(--ig-elevation-4)}[part~=toggle-icon]{background:var(--toggle-button-background);color:var(--toggle-button-foreground)}[part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus)}:host(:focus-within) igc-input[readonly]:not([disabled])::part(container){border-width:0.125rem}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(container){border-color:var(--focused-border-color);border-width:0.125rem}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(prefix){margin-inline-start:-0.0625rem}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(suffix){margin-inline-end:-0.0625rem}:host([invalid]:not([disabled])) ::part(helper-text),:host([invalid]:not(:disabled)) ::part(helper-text){color:var(--error-secondary-color)}:host(:disabled) igc-validator,:host([disabled]) igc-validator{color:var(--disabled-text-color)}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;
2
+ export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--select-size: var(--component-size);--dropdown-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);color:var(--helper-text-color);margin-block-start:.3125rem;grid-auto-rows:minmax(1.125rem, auto)}[part=base]{box-shadow:var(--ig-elevation-4)}[part~=toggle-icon]{background:var(--toggle-button-background);color:var(--toggle-button-foreground)}[part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus)}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(container)::before{box-shadow:inset 0 0 0 calc(var(--input-border-size) + 0.0625rem) var(--focused-border-color)}:host([invalid]:focus-within) igc-input[readonly]:not([disabled])::part(container)::before{box-shadow:inset 0 0 0 calc(var(--input-border-size) + 0.0625rem) var(--error-secondary-color)}:host([invalid]:not([disabled])) ::part(helper-text),:host([invalid]:not(:disabled)) ::part(helper-text){color:var(--error-secondary-color)}:host(:disabled) igc-validator,:host([disabled]) igc-validator{color:var(--disabled-text-color)}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;
3
3
  //# sourceMappingURL=select.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/select/themes/shared/select.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,05DAA05D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--component-size: var(--ig-size, var(--default-size));--select-size: var(--component-size);--dropdown-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);color:var(--helper-text-color);margin-block-start:.3125rem;grid-auto-rows:minmax(1.125rem, auto)}[part=base]{box-shadow:var(--ig-elevation-4)}[part~=toggle-icon]{background:var(--toggle-button-background);color:var(--toggle-button-foreground)}[part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus)}:host(:focus-within) igc-input[readonly]:not([disabled])::part(container){border-width:0.125rem}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(container){border-color:var(--focused-border-color);border-width:0.125rem}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(prefix){margin-inline-start:-0.0625rem}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(suffix){margin-inline-end:-0.0625rem}:host([invalid]:not([disabled])) ::part(helper-text),:host([invalid]:not(:disabled)) ::part(helper-text){color:var(--error-secondary-color)}:host(:disabled) igc-validator,:host([disabled]) igc-validator{color:var(--disabled-text-color)}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;\n"]}
1
+ {"version":3,"file":"select.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/select/themes/shared/select.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mzDAAmzD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--component-size: var(--ig-size, var(--default-size));--select-size: var(--component-size);--dropdown-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);color:var(--helper-text-color);margin-block-start:.3125rem;grid-auto-rows:minmax(1.125rem, auto)}[part=base]{box-shadow:var(--ig-elevation-4)}[part~=toggle-icon]{background:var(--toggle-button-background);color:var(--toggle-button-foreground)}[part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus)}:host(:not([invalid]):focus-within) igc-input[readonly]:not([disabled])::part(container)::before{box-shadow:inset 0 0 0 calc(var(--input-border-size) + 0.0625rem) var(--focused-border-color)}:host([invalid]:focus-within) igc-input[readonly]:not([disabled])::part(container)::before{box-shadow:inset 0 0 0 calc(var(--input-border-size) + 0.0625rem) var(--error-secondary-color)}:host([invalid]:not([disabled])) ::part(helper-text),:host([invalid]:not(:disabled)) ::part(helper-text){color:var(--error-secondary-color)}:host(:disabled) igc-validator,:host([disabled]) igc-validator{color:var(--disabled-text-color)}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;\n"]}
@@ -141,7 +141,7 @@ class IgcRangeSliderComponent extends EventEmitterMixin(IgcSliderBaseComponent)
141
141
  aria-valuenow=${value}
142
142
  aria-valuetext=${ifDefined(textValue)}
143
143
  aria-label=${ifDefined(ariaLabel)}
144
- aria-disabled=${this.disabled ? 'true' : 'false'}
144
+ aria-disabled=${this.disabled}
145
145
  @pointerenter=${this.showThumbLabels}
146
146
  @pointerleave=${this.hideThumbLabels}
147
147
  @focus=${this.handleFocus}
@@ -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 '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { asNumber, asPercent } from '../common/util.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 ? 'true' : 'false'}\n @pointerenter=${this.showThumbLabels}\n @pointerleave=${this.hideThumbLabels}\n @focus=${this.handleFocus}\n @blur=${this.handleThumbBlur}\n ></div>\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 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, 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 '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { asNumber, asPercent } from '../common/util.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 ${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 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"]}
@@ -320,7 +320,7 @@ let IgcSliderBaseComponent = class IgcSliderBaseComponent extends LitElement {
320
320
  aria-valuenow=${value}
321
321
  aria-valuetext=${ifDefined(textValue)}
322
322
  aria-label=${ifDefined(ariaLabel)}
323
- aria-disabled=${this.disabled ? 'true' : 'false'}
323
+ aria-disabled=${this.disabled}
324
324
  @pointerenter=${this.showThumbLabels}
325
325
  @pointerleave=${this.hideThumbLabels}
326
326
  @focus=${this.handleThumbFocus}
@@ -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 { LitElement, type TemplateResult, html, nothing } 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';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n pageDownKey,\n pageUpKey,\n} from '../common/controllers/key-bindings.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { watch } from '../common/decorators/watch.js';\nimport {\n asNumber,\n asPercent,\n clamp,\n formatString,\n isDefined,\n isLTR,\n} from '../common/util.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@themes(all)\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 this.addEventListener('pointerdown', this.pointerDown);\n this.addEventListener('pointermove', this.pointerMove);\n this.addEventListener('lostpointercapture', this.lostPointerCapture);\n this.addEventListener('keyup', this.handleKeyUp);\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true },\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 ${shown\n ? nothing\n : html`\n <div part=\"tick-label\">\n <span part=\"tick-label-inner\">${labelInner}</span>\n </div>\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 ? 'true' : 'false'}\n @pointerenter=${this.showThumbLabels}\n @pointerleave=${this.hideThumbLabels}\n @focus=${this.handleThumbFocus}\n @blur=${this.handleThumbBlur}\n ></div>\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 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":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrE,OAAO,EACL,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAkB,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,GACV,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,KAAK,EACL,YAAY,EACZ,SAAS,EACT,KAAK,GACN,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAIlC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IA4BpD,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7B,CAAC;IAcD,IAAW,GAAG,CAAC,KAAa;QAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAY,GAAG,KAAK,EAAE,CAAC;YAC7D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAeD,IAAW,GAAG,CAAC,KAAa;QAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5D,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAY,GAAG,KAAK,EAAE,CAAC;YAC7D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAOD,IAAW,UAAU,CAAC,KAAa;QACjC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,IAAW,UAAU;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAOD,IAAW,UAAU,CAAC,KAAa;QACjC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,IAAW,UAAU;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAiCD,IAAW,IAAI,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAsES,iBAAiB;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAnOF,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,GAAG,CAAC;QAGX,UAAK,GAAG,CAAC,CAAC;QAEV,oBAAe,GAAG,KAAK,CAAC;QAKtB,uBAAkB,GAAG,KAAK,CAAC;QAG3B,WAAM,GAAa,EAAE,CAAC;QA0GzB,aAAQ,GAAG,KAAK,CAAC;QAQjB,kBAAa,GAAG,KAAK,CAAC;QAOtB,gBAAW,GAAG,KAAK,CAAC;QAwBpB,iBAAY,GAAG,CAAC,CAAC;QAOjB,mBAAc,GAAG,CAAC,CAAC;QAOnB,oBAAe,GAA0B,KAAK,CAAC;QAO/C,sBAAiB,GAAG,KAAK,CAAC;QAO1B,wBAAmB,GAAG,KAAK,CAAC;QAO5B,WAAM,GAAG,IAAI,CAAC;QAqBd,sBAAiB,GAA4B,CAAC,CAAC;QAapD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjD,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YACzB,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;SAC1C,CAAC;aACC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChE,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACjE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aAC3C,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CACjB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CACjE;aACA,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAChB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CACjE;aACA,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC5C,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,uBAAuB,CAC1B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CACjE,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,SAAiB;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAGD,IAAc,WAAW;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAGS,cAAc,KAAU,CAAC;IAGzB,aAAa;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAGS,WAAW,CAAC,UAAkB;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAGS,YAAY;QACpB,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAGS,cAAc,KAAI,CAAC;IAGnB,eAAe,KAAI,CAAC;IAEpB,aAAa,CAAC,KAAa;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9E,CAAC;IAES,WAAW,CAAC,KAAa;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;YAC1C,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,CAAC;IAES,aAAa,CAAC,MAAoB;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;YACjC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC;gBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAExB,OAAO,YAAY,GAAG,CAAC;YACrB,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY;YACzD,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,cAAc;gBACrB,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxE,MAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,CAAC;QAEjC,OAAO,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC;YAC3B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAES,eAAe;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAES,eAAe;QACvB,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEO,oBAAoB,CAAC,MAAc;QACzC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAY,CAAC,qBAAqB,EAAE,CAAC;QAClE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEhE,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QAE/D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YAIvC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAmB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAEO,WAAW,CAAC,KAAmB;QACrC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAES,gBAAgB,CAAC,KAAiB;QAC1C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAqB,CAAC;IACjD,CAAC;IAES,eAAe;QACvB,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAES,CAAC,YAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS;gBAC/B,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;oBAC7C,CAAC,CAAC,OAAO;gBACX,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,MAAM,IAAI,CAAA;wCACwB,OAAO;YACnC,KAAK;gBACL,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAA;;kDAEgC,UAAU;;eAE7C;;aAEF,CAAC;QACV,CAAC;IACH,CAAC;IAES,WAAW;QACnB,OAAO,IAAI,CAAA,qBAAqB,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;IAC9D,CAAC;IAES,WAAW,CAAC,KAAa,EAAE,SAAkB,EAAE,OAAgB;QACvE,MAAM,OAAO,GAAG,GAAG,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACjE,MAAM,WAAW,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG;YACpB,gBAAgB,EAAE,OAAO;YACzB,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;YAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB;gBAC3C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,IAAI,CAAA;;;aAGF,SAAS,CAAC,OAAO,CAAC;mBACZ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,QAAQ,CAAC,WAAW,CAAC;;wBAEb,IAAI,CAAC,UAAU;wBACf,IAAI,CAAC,UAAU;wBACf,KAAK;yBACJ,SAAS,CAAC,SAAS,CAAC;qBACxB,SAAS,CAAC,SAAS,CAAC;wBACjB,IAAI,CAAC,QAAQ;wBACb,IAAI,CAAC,eAAe;wBACpB,IAAI,CAAC,eAAe;iBAC3B,IAAI,CAAC,gBAAgB;gBACtB,IAAI,CAAC,eAAe;;QAE5B,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAA;4CAC8B,QAAQ,CAAC,aAAa,CAAC;;kBAEjD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;;WAGpE;KACN,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEhE,OAAO,IAAI,CAAA;;;;;;;;;wCASyB,QAAQ;;;;;;KAM3C,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC;QAErD,OAAO,IAAI,CAAA;;UAEL,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;;;mCAGpC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,EAAE;;UAEpB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;6BAC7B,IAAI,CAAC,YAAY,EAAE;4BACpB,IAAI,CAAC,gBAAgB;;KAE5C,CAAC;IACJ,CAAC;;AA9kBsB,6BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAGvC;IADT,KAAK,CAAC,iBAAiB,CAAC;qDACK;AAGpB;IADT,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC;oDACG;AAGxB;IADP,qBAAqB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;6DAClB;AAa5B;IADT,KAAK,EAAE;kEAC6B;AAG3B;IADT,KAAK,EAAE;sDACwB;AAsBhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAW1B;AAmBD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAW1B;AAWD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;wDAIpD;AAcD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;wDAIpD;AAcM;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDACnB;AAQjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;6DAC5B;AAOtB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;2DAC5B;AAW3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDAG1B;AAWM;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;4DAC/B;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;8DAC/B;AAOnB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;+DACU;AAO/C;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;iEAC7B;AAO1B;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;mEAC7B;AAO5B;IADN,QAAQ,EAAE;sDACU;AAOd;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;2DACZ;AAOrB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;kEACsB;AAO9C;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;iEACtB;AAO5C;IALT,KAAK,CAAC,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC5C,KAAK,CAAC,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC5C,KAAK,CAAC,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACnD,KAAK,CAAC,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACnD,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;+DAG7C;AA5OU,sBAAsB;IAFlC,MAAM,CAAC,GAAG,CAAC;IACX,gBAAgB;GACJ,sBAAsB,CAglBlC","sourcesContent":["import { LitElement, type TemplateResult, html, nothing } 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';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n pageDownKey,\n pageUpKey,\n} from '../common/controllers/key-bindings.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { watch } from '../common/decorators/watch.js';\nimport {\n asNumber,\n asPercent,\n clamp,\n formatString,\n isDefined,\n isLTR,\n} from '../common/util.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@themes(all)\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 this.addEventListener('pointerdown', this.pointerDown);\n this.addEventListener('pointermove', this.pointerMove);\n this.addEventListener('lostpointercapture', this.lostPointerCapture);\n this.addEventListener('keyup', this.handleKeyUp);\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true },\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 ${shown\n ? nothing\n : html`\n <div part=\"tick-label\">\n <span part=\"tick-label-inner\">${labelInner}</span>\n </div>\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 ${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 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"]}