igniteui-webcomponents 7.2.4 → 7.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1012) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/animations/player.d.ts +7 -2
  3. package/animations/player.js +2 -3
  4. package/animations/player.js.map +1 -1
  5. package/animations/view-transition.js +1 -1
  6. package/animations/view-transition.js.map +1 -1
  7. package/components/accordion/accordion.d.ts +1 -1
  8. package/components/accordion/accordion.js +11 -22
  9. package/components/accordion/accordion.js.map +1 -1
  10. package/components/avatar/avatar.d.ts +0 -1
  11. package/components/avatar/avatar.js +8 -12
  12. package/components/avatar/avatar.js.map +1 -1
  13. package/components/avatar/themes/themes.d.ts +1 -1
  14. package/components/avatar/themes/themes.js.map +1 -1
  15. package/components/badge/badge.d.ts +2 -4
  16. package/components/badge/badge.js +9 -13
  17. package/components/badge/badge.js.map +1 -1
  18. package/components/badge/themes/themes.d.ts +1 -1
  19. package/components/badge/themes/themes.js.map +1 -1
  20. package/components/banner/banner.d.ts +8 -7
  21. package/components/banner/banner.js +27 -25
  22. package/components/banner/banner.js.map +1 -1
  23. package/components/banner/themes/themes.d.ts +1 -1
  24. package/components/banner/themes/themes.js.map +1 -1
  25. package/components/button/button-base.d.ts +3 -3
  26. package/components/button/button-base.js +9 -8
  27. package/components/button/button-base.js.map +1 -1
  28. package/components/button/button.d.ts +3 -3
  29. package/components/button/button.js +2 -2
  30. package/components/button/button.js.map +1 -1
  31. package/components/button/icon-button.js +3 -3
  32. package/components/button/icon-button.js.map +1 -1
  33. package/components/button/themes/button/themes.d.ts +1 -1
  34. package/components/button/themes/button/themes.js.map +1 -1
  35. package/components/button/themes/icon-button/themes.d.ts +1 -1
  36. package/components/button/themes/icon-button/themes.js.map +1 -1
  37. package/components/button-group/button-group.d.ts +41 -21
  38. package/components/button-group/button-group.js +95 -105
  39. package/components/button-group/button-group.js.map +1 -1
  40. package/components/button-group/themes/button.d.ts +1 -1
  41. package/components/button-group/themes/button.js.map +1 -1
  42. package/components/button-group/themes/group.d.ts +1 -1
  43. package/components/button-group/themes/group.js.map +1 -1
  44. package/components/button-group/toggle-button.d.ts +17 -10
  45. package/components/button-group/toggle-button.js +28 -13
  46. package/components/button-group/toggle-button.js.map +1 -1
  47. package/components/calendar/base.d.ts +28 -19
  48. package/components/calendar/base.js +20 -44
  49. package/components/calendar/base.js.map +1 -1
  50. package/components/calendar/calendar.d.ts +38 -7
  51. package/components/calendar/calendar.js +96 -85
  52. package/components/calendar/calendar.js.map +1 -1
  53. package/components/calendar/days-view/days-view.d.ts +49 -22
  54. package/components/calendar/days-view/days-view.js +102 -163
  55. package/components/calendar/days-view/days-view.js.map +1 -1
  56. package/components/calendar/helpers.d.ts +3 -62
  57. package/components/calendar/helpers.js +6 -110
  58. package/components/calendar/helpers.js.map +1 -1
  59. package/components/calendar/months-view/months-view.d.ts +8 -22
  60. package/components/calendar/months-view/months-view.js +30 -83
  61. package/components/calendar/months-view/months-view.js.map +1 -1
  62. package/components/calendar/selection.d.ts +21 -0
  63. package/components/calendar/selection.js +42 -0
  64. package/components/calendar/selection.js.map +1 -0
  65. package/components/calendar/themes/calendar.d.ts +1 -1
  66. package/components/calendar/themes/calendar.js.map +1 -1
  67. package/components/calendar/themes/days.d.ts +1 -1
  68. package/components/calendar/themes/days.js.map +1 -1
  69. package/components/calendar/themes/year-month.d.ts +1 -1
  70. package/components/calendar/themes/year-month.js.map +1 -1
  71. package/components/calendar/types.d.ts +18 -0
  72. package/components/calendar/types.js.map +1 -1
  73. package/components/calendar/year-month-view.base.d.ts +44 -0
  74. package/components/calendar/year-month-view.base.js +89 -0
  75. package/components/calendar/year-month-view.base.js.map +1 -0
  76. package/components/calendar/years-view/years-view.d.ts +7 -20
  77. package/components/calendar/years-view/years-view.js +25 -79
  78. package/components/calendar/years-view/years-view.js.map +1 -1
  79. package/components/card/card.actions.js +2 -2
  80. package/components/card/card.actions.js.map +1 -1
  81. package/components/card/card.content.d.ts +1 -1
  82. package/components/card/card.content.js +2 -2
  83. package/components/card/card.content.js.map +1 -1
  84. package/components/card/card.d.ts +1 -1
  85. package/components/card/card.header.js +2 -2
  86. package/components/card/card.header.js.map +1 -1
  87. package/components/card/card.js +2 -2
  88. package/components/card/card.js.map +1 -1
  89. package/components/card/card.media.d.ts +1 -1
  90. package/components/card/card.media.js +1 -1
  91. package/components/card/card.media.js.map +1 -1
  92. package/components/card/themes/actions.d.ts +1 -1
  93. package/components/card/themes/actions.js.map +1 -1
  94. package/components/card/themes/container.d.ts +1 -1
  95. package/components/card/themes/container.js.map +1 -1
  96. package/components/card/themes/content.d.ts +1 -1
  97. package/components/card/themes/content.js.map +1 -1
  98. package/components/card/themes/header.d.ts +1 -1
  99. package/components/card/themes/header.js.map +1 -1
  100. package/components/carousel/animations.d.ts +1 -1
  101. package/components/carousel/animations.js +2 -2
  102. package/components/carousel/animations.js.map +1 -1
  103. package/components/carousel/carousel-indicator-container.js +4 -4
  104. package/components/carousel/carousel-indicator-container.js.map +1 -1
  105. package/components/carousel/carousel-indicator.d.ts +2 -2
  106. package/components/carousel/carousel-indicator.js +17 -17
  107. package/components/carousel/carousel-indicator.js.map +1 -1
  108. package/components/carousel/carousel-slide.d.ts +1 -3
  109. package/components/carousel/carousel-slide.js +16 -18
  110. package/components/carousel/carousel-slide.js.map +1 -1
  111. package/components/carousel/carousel.d.ts +58 -41
  112. package/components/carousel/carousel.js +170 -145
  113. package/components/carousel/carousel.js.map +1 -1
  114. package/components/carousel/themes/carousel.base.css.js +1 -1
  115. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  116. package/components/carousel/themes/container.d.ts +1 -1
  117. package/components/carousel/themes/container.js.map +1 -1
  118. package/components/carousel/themes/indicator-container.d.ts +1 -1
  119. package/components/carousel/themes/indicator-container.js.map +1 -1
  120. package/components/chat/chat-input.d.ts +4 -4
  121. package/components/chat/chat-input.js +28 -27
  122. package/components/chat/chat-input.js.map +1 -1
  123. package/components/chat/chat-message.d.ts +1 -1
  124. package/components/chat/chat-message.js +7 -6
  125. package/components/chat/chat-message.js.map +1 -1
  126. package/components/chat/chat-state.d.ts +2 -2
  127. package/components/chat/chat-state.js +2 -1
  128. package/components/chat/chat-state.js.map +1 -1
  129. package/components/chat/chat.d.ts +4 -6
  130. package/components/chat/chat.js +13 -19
  131. package/components/chat/chat.js.map +1 -1
  132. package/components/chat/message-attachments.js +5 -5
  133. package/components/chat/message-attachments.js.map +1 -1
  134. package/components/chat/themes/attachments.d.ts +1 -1
  135. package/components/chat/themes/attachments.js.map +1 -1
  136. package/components/chat/themes/input.d.ts +1 -1
  137. package/components/chat/themes/input.js.map +1 -1
  138. package/components/chat/themes/message.d.ts +1 -1
  139. package/components/chat/themes/message.js.map +1 -1
  140. package/components/chat/themes/themes.d.ts +1 -1
  141. package/components/chat/themes/themes.js.map +1 -1
  142. package/components/chat/types.d.ts +2 -2
  143. package/components/chat/types.js.map +1 -1
  144. package/components/chat/utils.d.ts +1 -1
  145. package/components/chat/utils.js +3 -3
  146. package/components/chat/utils.js.map +1 -1
  147. package/components/checkbox/checkbox-base.d.ts +7 -7
  148. package/components/checkbox/checkbox-base.js +7 -7
  149. package/components/checkbox/checkbox-base.js.map +1 -1
  150. package/components/checkbox/checkbox.d.ts +3 -5
  151. package/components/checkbox/checkbox.js +40 -50
  152. package/components/checkbox/checkbox.js.map +1 -1
  153. package/components/checkbox/switch.d.ts +1 -1
  154. package/components/checkbox/switch.js +30 -40
  155. package/components/checkbox/switch.js.map +1 -1
  156. package/components/checkbox/themes/checkbox-themes.d.ts +1 -1
  157. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  158. package/components/checkbox/themes/switch-themes.d.ts +1 -1
  159. package/components/checkbox/themes/switch-themes.js.map +1 -1
  160. package/components/checkbox/validators.d.ts +1 -1
  161. package/components/checkbox/validators.js +1 -1
  162. package/components/checkbox/validators.js.map +1 -1
  163. package/components/chip/chip.d.ts +9 -16
  164. package/components/chip/chip.js +21 -38
  165. package/components/chip/chip.js.map +1 -1
  166. package/components/chip/themes/chip.base.css.js +1 -1
  167. package/components/chip/themes/chip.base.css.js.map +1 -1
  168. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  169. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  170. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  171. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  172. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  173. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  174. package/components/chip/themes/dark/chip.material.css.js +1 -1
  175. package/components/chip/themes/dark/chip.material.css.js.map +1 -1
  176. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  177. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  178. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  179. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  180. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  181. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  182. package/components/chip/themes/light/chip.material.css.js +1 -1
  183. package/components/chip/themes/light/chip.material.css.js.map +1 -1
  184. package/components/chip/themes/light/chip.shared.css.js +1 -1
  185. package/components/chip/themes/light/chip.shared.css.js.map +1 -1
  186. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  187. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  188. package/components/chip/themes/shared/chip.common.css.js +1 -1
  189. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  190. package/components/chip/themes/shared/chip.fluent.css.js +1 -1
  191. package/components/chip/themes/shared/chip.fluent.css.js.map +1 -1
  192. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  193. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  194. package/components/chip/themes/themes.d.ts +1 -1
  195. package/components/chip/themes/themes.js.map +1 -1
  196. package/components/combo/combo-header.js +2 -2
  197. package/components/combo/combo-header.js.map +1 -1
  198. package/components/combo/combo-item.d.ts +1 -5
  199. package/components/combo/combo-item.js +8 -18
  200. package/components/combo/combo-item.js.map +1 -1
  201. package/components/combo/combo.d.ts +89 -45
  202. package/components/combo/combo.js +244 -229
  203. package/components/combo/combo.js.map +1 -1
  204. package/components/combo/controllers/data.d.ts +30 -3
  205. package/components/combo/controllers/data.js +34 -9
  206. package/components/combo/controllers/data.js.map +1 -1
  207. package/components/combo/controllers/navigation.d.ts +8 -2
  208. package/components/combo/controllers/navigation.js +11 -12
  209. package/components/combo/controllers/navigation.js.map +1 -1
  210. package/components/combo/operations/filter.d.ts +17 -1
  211. package/components/combo/operations/filter.js +29 -9
  212. package/components/combo/operations/filter.js.map +1 -1
  213. package/components/combo/operations/group.js +1 -1
  214. package/components/combo/operations/group.js.map +1 -1
  215. package/components/combo/themes/combo.base.css.js +1 -1
  216. package/components/combo/themes/combo.base.css.js.map +1 -1
  217. package/components/combo/themes/themes.d.ts +1 -1
  218. package/components/combo/themes/themes.js.map +1 -1
  219. package/components/combo/types.d.ts +8 -4
  220. package/components/combo/types.js.map +1 -1
  221. package/components/combo/validators.d.ts +1 -1
  222. package/components/combo/validators.js.map +1 -1
  223. package/components/date-picker/date-picker.base.d.ts +297 -0
  224. package/components/date-picker/date-picker.base.js +473 -0
  225. package/components/date-picker/date-picker.base.js.map +1 -0
  226. package/components/date-picker/date-picker.d.ts +53 -174
  227. package/components/date-picker/date-picker.js +90 -403
  228. package/components/date-picker/date-picker.js.map +1 -1
  229. package/components/date-picker/themes/themes.d.ts +1 -1
  230. package/components/date-picker/themes/themes.js.map +1 -1
  231. package/components/date-picker/validators.d.ts +1 -1
  232. package/components/date-picker/validators.js +2 -2
  233. package/components/date-picker/validators.js.map +1 -1
  234. package/components/date-range-picker/date-range-input.d.ts +14 -18
  235. package/components/date-range-picker/date-range-input.js +39 -126
  236. package/components/date-range-picker/date-range-input.js.map +1 -1
  237. package/components/date-range-picker/date-range-mask-parser.d.ts +22 -34
  238. package/components/date-range-picker/date-range-mask-parser.js +38 -69
  239. package/components/date-range-picker/date-range-mask-parser.js.map +1 -1
  240. package/components/date-range-picker/date-range-picker.d.ts +93 -190
  241. package/components/date-range-picker/date-range-picker.js +208 -543
  242. package/components/date-range-picker/date-range-picker.js.map +1 -1
  243. package/components/date-range-picker/predefined-ranges-area.d.ts +4 -4
  244. package/components/date-range-picker/predefined-ranges-area.js +8 -10
  245. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  246. package/components/date-range-picker/themes/ranges-themes.d.ts +1 -1
  247. package/components/date-range-picker/themes/ranges-themes.js.map +1 -1
  248. package/components/date-range-picker/themes/themes.d.ts +1 -1
  249. package/components/date-range-picker/themes/themes.js.map +1 -1
  250. package/components/date-range-picker/validators.d.ts +1 -1
  251. package/components/date-range-picker/validators.js +10 -30
  252. package/components/date-range-picker/validators.js.map +1 -1
  253. package/components/date-time-input/date-part.d.ts +20 -2
  254. package/components/date-time-input/date-part.js +48 -75
  255. package/components/date-time-input/date-part.js.map +1 -1
  256. package/components/date-time-input/date-time-input.base.d.ts +101 -35
  257. package/components/date-time-input/date-time-input.base.js +142 -46
  258. package/components/date-time-input/date-time-input.base.js.map +1 -1
  259. package/components/date-time-input/date-time-input.d.ts +14 -26
  260. package/components/date-time-input/date-time-input.js +37 -90
  261. package/components/date-time-input/date-time-input.js.map +1 -1
  262. package/components/date-time-input/datetime-mask-parser.d.ts +53 -109
  263. package/components/date-time-input/datetime-mask-parser.js +93 -144
  264. package/components/date-time-input/datetime-mask-parser.js.map +1 -1
  265. package/components/date-time-input/validators.d.ts +1 -1
  266. package/components/date-time-input/validators.js +3 -14
  267. package/components/date-time-input/validators.js.map +1 -1
  268. package/components/dialog/dialog.d.ts +8 -9
  269. package/components/dialog/dialog.js +38 -44
  270. package/components/dialog/dialog.js.map +1 -1
  271. package/components/dialog/themes/themes.d.ts +1 -1
  272. package/components/dialog/themes/themes.js.map +1 -1
  273. package/components/divider/divider.d.ts +3 -5
  274. package/components/divider/divider.js +11 -20
  275. package/components/divider/divider.js.map +1 -1
  276. package/components/divider/themes/themes.d.ts +1 -1
  277. package/components/divider/themes/themes.js.map +1 -1
  278. package/components/dropdown/dropdown-group.d.ts +10 -3
  279. package/components/dropdown/dropdown-group.js +16 -5
  280. package/components/dropdown/dropdown-group.js.map +1 -1
  281. package/components/dropdown/dropdown-header.d.ts +2 -2
  282. package/components/dropdown/dropdown-header.js +7 -2
  283. package/components/dropdown/dropdown-header.js.map +1 -1
  284. package/components/dropdown/dropdown-item.d.ts +4 -4
  285. package/components/dropdown/dropdown-item.js +3 -3
  286. package/components/dropdown/dropdown-item.js.map +1 -1
  287. package/components/dropdown/dropdown.d.ts +75 -32
  288. package/components/dropdown/dropdown.js +189 -110
  289. package/components/dropdown/dropdown.js.map +1 -1
  290. package/components/dropdown/themes/container.d.ts +1 -1
  291. package/components/dropdown/themes/container.js.map +1 -1
  292. package/components/dropdown/themes/group.d.ts +1 -1
  293. package/components/dropdown/themes/group.js.map +1 -1
  294. package/components/dropdown/themes/header.d.ts +1 -1
  295. package/components/dropdown/themes/header.js.map +1 -1
  296. package/components/dropdown/themes/item.d.ts +1 -1
  297. package/components/dropdown/themes/item.js.map +1 -1
  298. package/components/expansion-panel/expansion-panel.d.ts +27 -8
  299. package/components/expansion-panel/expansion-panel.js +33 -43
  300. package/components/expansion-panel/expansion-panel.js.map +1 -1
  301. package/components/expansion-panel/themes/themes.d.ts +1 -1
  302. package/components/expansion-panel/themes/themes.js.map +1 -1
  303. package/components/file-input/file-input.d.ts +19 -23
  304. package/components/file-input/file-input.js +21 -34
  305. package/components/file-input/file-input.js.map +1 -1
  306. package/components/file-input/themes/themes.d.ts +1 -1
  307. package/components/file-input/themes/themes.js.map +1 -1
  308. package/components/file-input/validators.d.ts +1 -1
  309. package/components/file-input/validators.js +1 -1
  310. package/components/file-input/validators.js.map +1 -1
  311. package/components/focus-trap/focus-trap.js +3 -2
  312. package/components/focus-trap/focus-trap.js.map +1 -1
  313. package/components/highlight/highlight.d.ts +6 -8
  314. package/components/highlight/highlight.js +14 -22
  315. package/components/highlight/highlight.js.map +1 -1
  316. package/components/highlight/service.d.ts +4 -1
  317. package/components/highlight/service.js +23 -7
  318. package/components/highlight/service.js.map +1 -1
  319. package/components/highlight/themes/themes.d.ts +1 -1
  320. package/components/highlight/themes/themes.js.map +1 -1
  321. package/components/icon/icon-references.d.ts +3 -2
  322. package/components/icon/icon-references.js +103 -491
  323. package/components/icon/icon-references.js.map +1 -1
  324. package/components/icon/icon-state.broadcast.d.ts +14 -17
  325. package/components/icon/icon-state.broadcast.js +19 -20
  326. package/components/icon/icon-state.broadcast.js.map +1 -1
  327. package/components/icon/icon.d.ts +11 -23
  328. package/components/icon/icon.js +36 -28
  329. package/components/icon/icon.js.map +1 -1
  330. package/components/icon/icon.registry.d.ts +69 -131
  331. package/components/icon/icon.registry.js +51 -53
  332. package/components/icon/icon.registry.js.map +1 -1
  333. package/components/icon/internal-icons-lib.js +2 -2
  334. package/components/icon/internal-icons-lib.js.map +1 -1
  335. package/components/icon/registry/parser.d.ts +15 -3
  336. package/components/icon/registry/parser.js +36 -11
  337. package/components/icon/registry/parser.js.map +1 -1
  338. package/components/icon/registry/types.d.ts +55 -11
  339. package/components/icon/registry/types.js.map +1 -1
  340. package/components/icon/themes/icon.base.css.js +1 -1
  341. package/components/icon/themes/icon.base.css.js.map +1 -1
  342. package/components/icon/themes/shared/icon.common.css.js +1 -1
  343. package/components/icon/themes/shared/icon.common.css.js.map +1 -1
  344. package/components/icon/themes/themes.d.ts +1 -1
  345. package/components/icon/themes/themes.js.map +1 -1
  346. package/components/input/input-base.d.ts +10 -25
  347. package/components/input/input-base.js +14 -23
  348. package/components/input/input-base.js.map +1 -1
  349. package/components/input/input.d.ts +23 -30
  350. package/components/input/input.js +38 -69
  351. package/components/input/input.js.map +1 -1
  352. package/components/input/themes/input.base.css.js +1 -1
  353. package/components/input/themes/input.base.css.js.map +1 -1
  354. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  355. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  356. package/components/input/themes/shared/input.common.css.js +1 -1
  357. package/components/input/themes/shared/input.common.css.js.map +1 -1
  358. package/components/input/themes/shared/input.fluent.css.js +1 -1
  359. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  360. package/components/input/themes/shared/input.indigo.css.js +1 -1
  361. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  362. package/components/input/themes/shared/input.material.css.js +1 -1
  363. package/components/input/themes/shared/input.material.css.js.map +1 -1
  364. package/components/input/themes/themes.d.ts +1 -1
  365. package/components/input/themes/themes.js.map +1 -1
  366. package/components/input/validators.d.ts +1 -1
  367. package/components/input/validators.js +1 -1
  368. package/components/input/validators.js.map +1 -1
  369. package/components/list/list-header.js +3 -3
  370. package/components/list/list-header.js.map +1 -1
  371. package/components/list/list-item.js +3 -3
  372. package/components/list/list-item.js.map +1 -1
  373. package/components/list/list.js +3 -3
  374. package/components/list/list.js.map +1 -1
  375. package/components/list/themes/container.d.ts +1 -1
  376. package/components/list/themes/container.js.map +1 -1
  377. package/components/list/themes/header.d.ts +1 -1
  378. package/components/list/themes/header.js.map +1 -1
  379. package/components/list/themes/item.d.ts +1 -1
  380. package/components/list/themes/item.js.map +1 -1
  381. package/components/mask-input/mask-history.d.ts +99 -0
  382. package/components/mask-input/mask-history.js +95 -0
  383. package/components/mask-input/mask-history.js.map +1 -0
  384. package/components/mask-input/mask-input.d.ts +14 -9
  385. package/components/mask-input/mask-input.js +20 -26
  386. package/components/mask-input/mask-input.js.map +1 -1
  387. package/components/mask-input/mask-parser.d.ts +20 -2
  388. package/components/mask-input/mask-parser.js +21 -13
  389. package/components/mask-input/mask-parser.js.map +1 -1
  390. package/components/mask-input/validators.d.ts +1 -1
  391. package/components/mask-input/validators.js +1 -1
  392. package/components/mask-input/validators.js.map +1 -1
  393. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -1
  394. package/components/nav-drawer/nav-drawer-header-item.js +2 -2
  395. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  396. package/components/nav-drawer/nav-drawer-item.d.ts +2 -2
  397. package/components/nav-drawer/nav-drawer-item.js +4 -4
  398. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  399. package/components/nav-drawer/nav-drawer.d.ts +10 -10
  400. package/components/nav-drawer/nav-drawer.js +23 -37
  401. package/components/nav-drawer/nav-drawer.js.map +1 -1
  402. package/components/nav-drawer/themes/container.base.css.js +1 -1
  403. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  404. package/components/nav-drawer/themes/container.d.ts +1 -1
  405. package/components/nav-drawer/themes/container.js +2 -3
  406. package/components/nav-drawer/themes/container.js.map +1 -1
  407. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +1 -1
  408. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -1
  409. package/components/nav-drawer/themes/header-item.d.ts +1 -1
  410. package/components/nav-drawer/themes/header-item.js.map +1 -1
  411. package/components/nav-drawer/themes/item.d.ts +1 -1
  412. package/components/nav-drawer/themes/item.js.map +1 -1
  413. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
  414. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
  415. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
  416. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
  417. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
  418. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
  419. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +1 -1
  420. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -1
  421. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  422. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  423. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  424. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  425. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  426. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  427. package/components/navbar/navbar.js +2 -2
  428. package/components/navbar/navbar.js.map +1 -1
  429. package/components/navbar/themes/themes.d.ts +1 -1
  430. package/components/navbar/themes/themes.js.map +1 -1
  431. package/components/popover/popover.d.ts +10 -3
  432. package/components/popover/popover.js +114 -99
  433. package/components/popover/popover.js.map +1 -1
  434. package/components/progress/base.d.ts +5 -8
  435. package/components/progress/base.js +25 -48
  436. package/components/progress/base.js.map +1 -1
  437. package/components/progress/circular-gradient.d.ts +2 -2
  438. package/components/progress/circular-gradient.js +1 -1
  439. package/components/progress/circular-gradient.js.map +1 -1
  440. package/components/progress/circular-progress.d.ts +15 -15
  441. package/components/progress/circular-progress.js +7 -6
  442. package/components/progress/circular-progress.js.map +1 -1
  443. package/components/progress/linear-progress.d.ts +12 -12
  444. package/components/progress/linear-progress.js +4 -4
  445. package/components/progress/linear-progress.js.map +1 -1
  446. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  447. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  448. package/components/progress/themes/circular/themes.d.ts +1 -1
  449. package/components/progress/themes/circular/themes.js.map +1 -1
  450. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  451. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  452. package/components/progress/themes/linear/themes.d.ts +1 -1
  453. package/components/progress/themes/linear/themes.js.map +1 -1
  454. package/components/qr-code/model/encode.d.ts +20 -0
  455. package/components/qr-code/model/encode.js +166 -0
  456. package/components/qr-code/model/encode.js.map +1 -0
  457. package/components/qr-code/model/error-correction.d.ts +15 -0
  458. package/components/qr-code/model/error-correction.js +1114 -0
  459. package/components/qr-code/model/error-correction.js.map +1 -0
  460. package/components/qr-code/model/mask.d.ts +11 -0
  461. package/components/qr-code/model/mask.js +161 -0
  462. package/components/qr-code/model/mask.js.map +1 -0
  463. package/components/qr-code/model/matrix.d.ts +15 -0
  464. package/components/qr-code/model/matrix.js +277 -0
  465. package/components/qr-code/model/matrix.js.map +1 -0
  466. package/components/qr-code/qr-code.d.ts +134 -0
  467. package/components/qr-code/qr-code.js +222 -0
  468. package/components/qr-code/qr-code.js.map +1 -0
  469. package/components/qr-code/renderer/constants.d.ts +26 -0
  470. package/components/qr-code/renderer/constants.js +5 -0
  471. package/components/qr-code/renderer/constants.js.map +1 -0
  472. package/components/qr-code/renderer/corner.d.ts +23 -0
  473. package/components/qr-code/renderer/corner.js +25 -0
  474. package/components/qr-code/renderer/corner.js.map +1 -0
  475. package/components/qr-code/renderer/dots.d.ts +14 -0
  476. package/components/qr-code/renderer/dots.js +7 -0
  477. package/components/qr-code/renderer/dots.js.map +1 -0
  478. package/components/qr-code/renderer/helpers.d.ts +18 -0
  479. package/components/qr-code/renderer/helpers.js +158 -0
  480. package/components/qr-code/renderer/helpers.js.map +1 -0
  481. package/components/qr-code/renderer/image.d.ts +23 -0
  482. package/components/qr-code/renderer/image.js +29 -0
  483. package/components/qr-code/renderer/image.js.map +1 -0
  484. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js +3 -0
  485. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js.map +1 -0
  486. package/components/qr-code/themes/dark/qr-code.fluent.css.d.ts +1 -0
  487. package/components/qr-code/themes/dark/qr-code.fluent.css.js +3 -0
  488. package/components/qr-code/themes/dark/qr-code.fluent.css.js.map +1 -0
  489. package/components/qr-code/themes/dark/qr-code.indigo.css.d.ts +1 -0
  490. package/components/qr-code/themes/dark/qr-code.indigo.css.js +3 -0
  491. package/components/qr-code/themes/dark/qr-code.indigo.css.js.map +1 -0
  492. package/components/qr-code/themes/dark/qr-code.material.css.d.ts +1 -0
  493. package/components/qr-code/themes/dark/qr-code.material.css.js +3 -0
  494. package/components/qr-code/themes/dark/qr-code.material.css.js.map +1 -0
  495. package/components/qr-code/themes/light/qr-code.bootstrap.css.d.ts +1 -0
  496. package/components/qr-code/themes/light/qr-code.bootstrap.css.js +3 -0
  497. package/components/qr-code/themes/light/qr-code.bootstrap.css.js.map +1 -0
  498. package/components/qr-code/themes/light/qr-code.fluent.css.d.ts +1 -0
  499. package/components/qr-code/themes/light/qr-code.fluent.css.js +3 -0
  500. package/components/qr-code/themes/light/qr-code.fluent.css.js.map +1 -0
  501. package/components/qr-code/themes/light/qr-code.indigo.css.d.ts +1 -0
  502. package/components/qr-code/themes/light/qr-code.indigo.css.js +3 -0
  503. package/components/qr-code/themes/light/qr-code.indigo.css.js.map +1 -0
  504. package/components/qr-code/themes/light/qr-code.material.css.d.ts +1 -0
  505. package/components/qr-code/themes/light/qr-code.material.css.js +3 -0
  506. package/components/qr-code/themes/light/qr-code.material.css.js.map +1 -0
  507. package/components/qr-code/themes/light/qr-code.shared.css.d.ts +1 -0
  508. package/components/qr-code/themes/light/qr-code.shared.css.js +3 -0
  509. package/components/qr-code/themes/light/qr-code.shared.css.js.map +1 -0
  510. package/components/qr-code/themes/qr-code.base.css.d.ts +1 -0
  511. package/components/qr-code/themes/qr-code.base.css.js +3 -0
  512. package/components/qr-code/themes/qr-code.base.css.js.map +1 -0
  513. package/components/qr-code/themes/shared/qr-code.common.css.d.ts +1 -0
  514. package/components/qr-code/themes/shared/qr-code.common.css.js +3 -0
  515. package/components/qr-code/themes/shared/qr-code.common.css.js.map +1 -0
  516. package/components/qr-code/themes/themes.d.ts +2 -0
  517. package/components/qr-code/themes/themes.js +46 -0
  518. package/components/qr-code/themes/themes.js.map +1 -0
  519. package/components/qr-code/types.d.ts +16 -0
  520. package/components/qr-code/types.js +2 -0
  521. package/components/qr-code/types.js.map +1 -0
  522. package/components/radio/controller.d.ts +7 -0
  523. package/components/radio/controller.js +14 -0
  524. package/components/radio/controller.js.map +1 -0
  525. package/components/radio/radio.d.ts +30 -18
  526. package/components/radio/radio.js +90 -89
  527. package/components/radio/radio.js.map +1 -1
  528. package/components/radio/themes/themes.d.ts +1 -1
  529. package/components/radio/themes/themes.js.map +1 -1
  530. package/components/radio/validators.d.ts +1 -1
  531. package/components/radio/validators.js +5 -3
  532. package/components/radio/validators.js.map +1 -1
  533. package/components/radio-group/radio-group.d.ts +17 -9
  534. package/components/radio-group/radio-group.js +46 -44
  535. package/components/radio-group/radio-group.js.map +1 -1
  536. package/components/radio-group/themes/themes.d.ts +1 -1
  537. package/components/radio-group/themes/themes.js.map +1 -1
  538. package/components/rating/rating-symbol.d.ts +1 -1
  539. package/components/rating/rating-symbol.js +1 -1
  540. package/components/rating/rating-symbol.js.map +1 -1
  541. package/components/rating/rating.d.ts +30 -18
  542. package/components/rating/rating.js +90 -81
  543. package/components/rating/rating.js.map +1 -1
  544. package/components/rating/themes/themes.d.ts +1 -1
  545. package/components/rating/themes/themes.js.map +1 -1
  546. package/components/resize-container/default-ghost.js +4 -3
  547. package/components/resize-container/default-ghost.js.map +1 -1
  548. package/components/resize-container/resize-container.d.ts +3 -3
  549. package/components/resize-container/resize-container.js +9 -7
  550. package/components/resize-container/resize-container.js.map +1 -1
  551. package/components/resize-container/resize-controller.js +6 -5
  552. package/components/resize-container/resize-controller.js.map +1 -1
  553. package/components/resize-container/themes/themes.d.ts +1 -1
  554. package/components/resize-container/themes/themes.js.map +1 -1
  555. package/components/ripple/ripple.d.ts +1 -1
  556. package/components/ripple/ripple.js +3 -2
  557. package/components/ripple/ripple.js.map +1 -1
  558. package/components/select/select-group.d.ts +11 -3
  559. package/components/select/select-group.js +21 -9
  560. package/components/select/select-group.js.map +1 -1
  561. package/components/select/select-header.d.ts +1 -1
  562. package/components/select/select-header.js +7 -2
  563. package/components/select/select-header.js.map +1 -1
  564. package/components/select/select-item.d.ts +4 -4
  565. package/components/select/select-item.js +3 -3
  566. package/components/select/select-item.js.map +1 -1
  567. package/components/select/select.d.ts +48 -28
  568. package/components/select/select.js +143 -94
  569. package/components/select/select.js.map +1 -1
  570. package/components/select/themes/select.base.css.js +1 -1
  571. package/components/select/themes/select.base.css.js.map +1 -1
  572. package/components/select/themes/themes.d.ts +1 -1
  573. package/components/select/themes/themes.js.map +1 -1
  574. package/components/select/validators.d.ts +1 -1
  575. package/components/select/validators.js +1 -1
  576. package/components/select/validators.js.map +1 -1
  577. package/components/slider/range-slider.d.ts +5 -4
  578. package/components/slider/range-slider.js +25 -73
  579. package/components/slider/range-slider.js.map +1 -1
  580. package/components/slider/slider-base.d.ts +9 -6
  581. package/components/slider/slider-base.js +35 -32
  582. package/components/slider/slider-base.js.map +1 -1
  583. package/components/slider/slider-label.js +1 -1
  584. package/components/slider/slider-label.js.map +1 -1
  585. package/components/slider/slider.d.ts +3 -3
  586. package/components/slider/slider.js +15 -11
  587. package/components/slider/slider.js.map +1 -1
  588. package/components/slider/themes/themes.d.ts +1 -1
  589. package/components/slider/themes/themes.js.map +1 -1
  590. package/components/snackbar/snackbar.d.ts +3 -3
  591. package/components/snackbar/snackbar.js +4 -4
  592. package/components/snackbar/snackbar.js.map +1 -1
  593. package/components/snackbar/themes/themes.d.ts +1 -1
  594. package/components/snackbar/themes/themes.js.map +1 -1
  595. package/components/splitter/splitter.d.ts +107 -24
  596. package/components/splitter/splitter.js +234 -147
  597. package/components/splitter/splitter.js.map +1 -1
  598. package/components/splitter/themes/themes.d.ts +1 -1
  599. package/components/splitter/themes/themes.js.map +1 -1
  600. package/components/splitter/types.d.ts +14 -3
  601. package/components/splitter/types.js.map +1 -1
  602. package/components/stepper/common/animations.d.ts +1 -1
  603. package/components/stepper/common/animations.js +2 -2
  604. package/components/stepper/common/animations.js.map +1 -1
  605. package/components/stepper/step.d.ts +4 -1
  606. package/components/stepper/step.js +16 -12
  607. package/components/stepper/step.js.map +1 -1
  608. package/components/stepper/stepper.d.ts +5 -16
  609. package/components/stepper/stepper.js +27 -89
  610. package/components/stepper/stepper.js.map +1 -1
  611. package/components/stepper/themes/step/themes.d.ts +1 -1
  612. package/components/stepper/themes/step/themes.js.map +1 -1
  613. package/components/tabs/tab-dom.d.ts +31 -28
  614. package/components/tabs/tab-dom.js +84 -34
  615. package/components/tabs/tab-dom.js.map +1 -1
  616. package/components/tabs/tab.d.ts +24 -6
  617. package/components/tabs/tab.js +36 -14
  618. package/components/tabs/tab.js.map +1 -1
  619. package/components/tabs/tabs.d.ts +37 -27
  620. package/components/tabs/tabs.js +118 -129
  621. package/components/tabs/tabs.js.map +1 -1
  622. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
  623. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
  624. package/components/tabs/themes/tab-themes.d.ts +1 -1
  625. package/components/tabs/themes/tab-themes.js.map +1 -1
  626. package/components/tabs/themes/tabs-themes.d.ts +1 -1
  627. package/components/tabs/themes/tabs-themes.js.map +1 -1
  628. package/components/tabs/themes/tabs.base.css.js +1 -1
  629. package/components/tabs/themes/tabs.base.css.js.map +1 -1
  630. package/components/textarea/textarea.d.ts +24 -20
  631. package/components/textarea/textarea.js +25 -27
  632. package/components/textarea/textarea.js.map +1 -1
  633. package/components/textarea/themes/themes.d.ts +1 -1
  634. package/components/textarea/themes/themes.js.map +1 -1
  635. package/components/textarea/validators.d.ts +1 -1
  636. package/components/textarea/validators.js +1 -1
  637. package/components/textarea/validators.js.map +1 -1
  638. package/components/theme-provider/theme-provider.d.ts +3 -5
  639. package/components/theme-provider/theme-provider.js +13 -23
  640. package/components/theme-provider/theme-provider.js.map +1 -1
  641. package/components/tile-manager/position.d.ts +1 -1
  642. package/components/tile-manager/position.js +2 -2
  643. package/components/tile-manager/position.js.map +1 -1
  644. package/components/tile-manager/resize-state.js +4 -3
  645. package/components/tile-manager/resize-state.js.map +1 -1
  646. package/components/tile-manager/themes/container.d.ts +1 -1
  647. package/components/tile-manager/themes/container.js.map +1 -1
  648. package/components/tile-manager/themes/tile.d.ts +1 -1
  649. package/components/tile-manager/themes/tile.js.map +1 -1
  650. package/components/tile-manager/tile-ghost-util.js +1 -1
  651. package/components/tile-manager/tile-ghost-util.js.map +1 -1
  652. package/components/tile-manager/tile-manager.d.ts +11 -22
  653. package/components/tile-manager/tile-manager.js +50 -81
  654. package/components/tile-manager/tile-manager.js.map +1 -1
  655. package/components/tile-manager/tile.d.ts +14 -22
  656. package/components/tile-manager/tile.js +66 -80
  657. package/components/tile-manager/tile.js.map +1 -1
  658. package/components/toast/themes/themes.d.ts +1 -1
  659. package/components/toast/themes/themes.js.map +1 -1
  660. package/components/toast/toast.d.ts +1 -1
  661. package/components/toast/toast.js +3 -3
  662. package/components/toast/toast.js.map +1 -1
  663. package/components/tooltip/controller.d.ts +18 -16
  664. package/components/tooltip/controller.js +62 -41
  665. package/components/tooltip/controller.js.map +1 -1
  666. package/components/tooltip/service.d.ts +2 -1
  667. package/components/tooltip/service.js +10 -15
  668. package/components/tooltip/service.js.map +1 -1
  669. package/components/tooltip/themes/shared/tooltip.common.css.js +1 -1
  670. package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -1
  671. package/components/tooltip/themes/shared/tooltip.indigo.css.js +1 -1
  672. package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -1
  673. package/components/tooltip/themes/themes.d.ts +1 -1
  674. package/components/tooltip/themes/themes.js.map +1 -1
  675. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  676. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  677. package/components/tooltip/tooltip.d.ts +68 -25
  678. package/components/tooltip/tooltip.js +130 -88
  679. package/components/tooltip/tooltip.js.map +1 -1
  680. package/components/tree/themes/container.base.css.js +1 -1
  681. package/components/tree/themes/container.base.css.js.map +1 -1
  682. package/components/tree/themes/container.d.ts +1 -1
  683. package/components/tree/themes/container.js.map +1 -1
  684. package/components/tree/themes/item.base.css.js +1 -1
  685. package/components/tree/themes/item.base.css.js.map +1 -1
  686. package/components/tree/themes/item.d.ts +1 -1
  687. package/components/tree/themes/item.js.map +1 -1
  688. package/components/tree/tree-item.d.ts +62 -36
  689. package/components/tree/tree-item.js +198 -208
  690. package/components/tree/tree-item.js.map +1 -1
  691. package/components/tree/tree.common.d.ts +16 -1
  692. package/components/tree/tree.common.js +40 -1
  693. package/components/tree/tree.common.js.map +1 -1
  694. package/components/tree/tree.d.ts +17 -23
  695. package/components/tree/tree.js +68 -94
  696. package/components/tree/tree.js.map +1 -1
  697. package/components/tree/tree.navigation.d.ts +39 -29
  698. package/components/tree/tree.navigation.js +140 -192
  699. package/components/tree/tree.navigation.js.map +1 -1
  700. package/components/tree/tree.selection.d.ts +32 -31
  701. package/components/tree/tree.selection.js +184 -178
  702. package/components/tree/tree.selection.js.map +1 -1
  703. package/components/types.js.map +1 -1
  704. package/components/validation-container/validation-container.d.ts +2 -3
  705. package/components/validation-container/validation-container.js +7 -6
  706. package/components/validation-container/validation-container.js.map +1 -1
  707. package/components/virtualization/engine.d.ts +94 -0
  708. package/components/virtualization/engine.js +217 -0
  709. package/components/virtualization/engine.js.map +1 -0
  710. package/components/virtualization/types.d.ts +54 -0
  711. package/components/virtualization/types.js +14 -0
  712. package/components/virtualization/types.js.map +1 -0
  713. package/components/virtualization/virtualization.d.ts +249 -0
  714. package/components/virtualization/virtualization.js +482 -0
  715. package/components/virtualization/virtualization.js.map +1 -0
  716. package/components/visually-hidden/visually-hidden.js +1 -1
  717. package/components/visually-hidden/visually-hidden.js.map +1 -1
  718. package/custom-elements.json +50649 -38832
  719. package/extras/chat-markdown-renderer.d.ts +1 -1
  720. package/extras/chat-markdown-renderer.js.map +1 -1
  721. package/igniteui-webcomponents.css-data.json +2 -2
  722. package/igniteui-webcomponents.html-data.json +1 -1
  723. package/index.d.ts +17 -12
  724. package/index.js +11 -9
  725. package/index.js.map +1 -1
  726. package/internals/abort-handler.js.map +1 -0
  727. package/internals/context.d.ts +39 -0
  728. package/{components/common → internals}/context.js +2 -1
  729. package/internals/context.js.map +1 -0
  730. package/internals/controllers/adopt-styles.d.ts +76 -0
  731. package/internals/controllers/adopt-styles.js +173 -0
  732. package/internals/controllers/adopt-styles.js.map +1 -0
  733. package/internals/controllers/aria-projection.d.ts +144 -0
  734. package/internals/controllers/aria-projection.js +138 -0
  735. package/internals/controllers/aria-projection.js.map +1 -0
  736. package/{components/common → internals}/controllers/async-consumer.js +8 -7
  737. package/internals/controllers/async-consumer.js.map +1 -0
  738. package/internals/controllers/command.js.map +1 -0
  739. package/internals/controllers/context-provider.d.ts +48 -0
  740. package/internals/controllers/context-provider.js +29 -0
  741. package/internals/controllers/context-provider.js.map +1 -0
  742. package/{components/common → internals}/controllers/drag.js +8 -7
  743. package/internals/controllers/drag.js.map +1 -0
  744. package/{components/common → internals}/controllers/focus-ring.js +5 -2
  745. package/internals/controllers/focus-ring.js.map +1 -0
  746. package/{components/common → internals}/controllers/fullscreen.js +6 -3
  747. package/internals/controllers/fullscreen.js.map +1 -0
  748. package/{components/common → internals}/controllers/gestures.d.ts +1 -1
  749. package/{components/common → internals}/controllers/gestures.js +7 -4
  750. package/internals/controllers/gestures.js.map +1 -0
  751. package/internals/controllers/group.d.ts +64 -0
  752. package/internals/controllers/group.js +104 -0
  753. package/internals/controllers/group.js.map +1 -0
  754. package/{components/common → internals}/controllers/id-resolver.js +15 -21
  755. package/internals/controllers/id-resolver.js.map +1 -0
  756. package/{components/common → internals}/controllers/internals.d.ts +52 -3
  757. package/{components/common → internals}/controllers/internals.js +35 -0
  758. package/internals/controllers/internals.js.map +1 -0
  759. package/{components/common → internals}/controllers/key-bindings.d.ts +8 -5
  760. package/{components/common → internals}/controllers/key-bindings.js +46 -29
  761. package/internals/controllers/key-bindings.js.map +1 -0
  762. package/{components/common → internals}/controllers/mutation-observer.d.ts +3 -2
  763. package/{components/common → internals}/controllers/mutation-observer.js +24 -22
  764. package/internals/controllers/mutation-observer.js.map +1 -0
  765. package/{components/common → internals}/controllers/resize-observer.d.ts +11 -1
  766. package/{components/common → internals}/controllers/resize-observer.js +13 -2
  767. package/internals/controllers/resize-observer.js.map +1 -0
  768. package/{components/common → internals}/controllers/root-click.js +8 -13
  769. package/internals/controllers/root-click.js.map +1 -0
  770. package/{components/common → internals}/controllers/root-scroll.d.ts +11 -8
  771. package/internals/controllers/root-scroll.js +71 -0
  772. package/internals/controllers/root-scroll.js.map +1 -0
  773. package/internals/controllers/roving-focus.d.ts +72 -0
  774. package/internals/controllers/roving-focus.js +61 -0
  775. package/internals/controllers/roving-focus.js.map +1 -0
  776. package/{components/common → internals}/controllers/slot.d.ts +25 -1
  777. package/{components/common → internals}/controllers/slot.js +22 -6
  778. package/internals/controllers/slot.js.map +1 -0
  779. package/internals/controllers/toggle.d.ts +96 -0
  780. package/internals/controllers/toggle.js +65 -0
  781. package/internals/controllers/toggle.js.map +1 -0
  782. package/internals/date/compare.d.ts +2 -0
  783. package/internals/date/compare.js +23 -0
  784. package/internals/date/compare.js.map +1 -0
  785. package/internals/date/converters.d.ts +18 -0
  786. package/internals/date/converters.js +70 -0
  787. package/internals/date/converters.js.map +1 -0
  788. package/{components/calendar → internals/date}/model.d.ts +10 -3
  789. package/{components/calendar → internals/date}/model.js +29 -0
  790. package/internals/date/model.js.map +1 -0
  791. package/internals/decorators/blazorAdditionalDependencies.js.map +1 -0
  792. package/internals/decorators/blazorDeepImport.js.map +1 -0
  793. package/internals/decorators/blazorInclude.js.map +1 -0
  794. package/internals/decorators/blazorIndirectRender.js.map +1 -0
  795. package/internals/decorators/blazorSuppressComponent.js.map +1 -0
  796. package/internals/decorators/coerced-property.d.ts +47 -0
  797. package/internals/decorators/coerced-property.js +36 -0
  798. package/internals/decorators/coerced-property.js.map +1 -0
  799. package/internals/decorators/shadow-options.js.map +1 -0
  800. package/internals/definitions/defineAllComponents.js +153 -0
  801. package/internals/definitions/defineAllComponents.js.map +1 -0
  802. package/internals/definitions/defineComponents.js.map +1 -0
  803. package/internals/definitions/register.js.map +1 -0
  804. package/{components/common → internals}/i18n/EN/calendar.resources.js +1 -1
  805. package/internals/i18n/EN/calendar.resources.js.map +1 -0
  806. package/internals/i18n/EN/chat.resources.js.map +1 -0
  807. package/internals/i18n/EN/date-picker.resources.js.map +1 -0
  808. package/internals/i18n/EN/date-range-picker.resources.js.map +1 -0
  809. package/{components/common → internals}/i18n/i18n-controller.d.ts +22 -3
  810. package/{components/common → internals}/i18n/i18n-controller.js +28 -6
  811. package/internals/i18n/i18n-controller.js.map +1 -0
  812. package/{components/common → internals}/i18n/utils.js +1 -1
  813. package/internals/i18n/utils.js.map +1 -0
  814. package/{components/common → internals}/mixins/alert.d.ts +3 -3
  815. package/{components/common → internals}/mixins/alert.js +8 -6
  816. package/internals/mixins/alert.js.map +1 -0
  817. package/{components/common → internals}/mixins/combo-box.d.ts +13 -14
  818. package/{components/common → internals}/mixins/combo-box.js +15 -36
  819. package/internals/mixins/combo-box.js.map +1 -0
  820. package/internals/mixins/constructor.js.map +1 -0
  821. package/internals/mixins/event-emitter.js.map +1 -0
  822. package/{components/common → internals}/mixins/forms/associated-required.js +10 -19
  823. package/internals/mixins/forms/associated-required.js.map +1 -0
  824. package/{components/common → internals}/mixins/forms/associated.js +63 -38
  825. package/internals/mixins/forms/associated.js.map +1 -0
  826. package/{components/common → internals}/mixins/forms/form-transformers.d.ts +1 -1
  827. package/{components/common → internals}/mixins/forms/form-transformers.js +2 -2
  828. package/internals/mixins/forms/form-transformers.js.map +1 -0
  829. package/internals/mixins/forms/form-value.js.map +1 -0
  830. package/{components/common → internals}/mixins/forms/types.d.ts +25 -7
  831. package/internals/mixins/forms/types.js.map +1 -0
  832. package/internals/mixins/i18n.d.ts +31 -0
  833. package/internals/mixins/i18n.js +36 -0
  834. package/internals/mixins/i18n.js.map +1 -0
  835. package/{components/common → internals}/mixins/mask-behavior.d.ts +17 -8
  836. package/{components/common → internals}/mixins/mask-behavior.js +118 -31
  837. package/internals/mixins/mask-behavior.js.map +1 -0
  838. package/{components/common → internals}/mixins/option.d.ts +0 -2
  839. package/{components/common → internals}/mixins/option.js +5 -6
  840. package/internals/mixins/option.js.map +1 -0
  841. package/internals/part-map.js.map +1 -0
  842. package/{components/common → internals}/templates/input-shell.d.ts +8 -1
  843. package/{components/common → internals}/templates/input-shell.js +14 -4
  844. package/internals/templates/input-shell.js.map +1 -0
  845. package/{components/common → internals}/templates/masked-input.d.ts +8 -4
  846. package/{components/common → internals}/templates/masked-input.js +4 -3
  847. package/internals/templates/masked-input.js.map +1 -0
  848. package/internals/templates/slotted-icon.d.ts +32 -0
  849. package/internals/templates/slotted-icon.js +19 -0
  850. package/internals/templates/slotted-icon.js.map +1 -0
  851. package/internals/templates/toggle-shell.d.ts +46 -0
  852. package/internals/templates/toggle-shell.js +38 -0
  853. package/internals/templates/toggle-shell.js.map +1 -0
  854. package/internals/timing.d.ts +32 -0
  855. package/internals/timing.js +20 -0
  856. package/internals/timing.js.map +1 -0
  857. package/internals/utils/arrays.d.ts +53 -0
  858. package/internals/utils/arrays.js +31 -0
  859. package/internals/utils/arrays.js.map +1 -0
  860. package/internals/utils/dom.d.ts +114 -0
  861. package/internals/utils/dom.js +157 -0
  862. package/internals/utils/dom.js.map +1 -0
  863. package/internals/utils/events.d.ts +41 -0
  864. package/internals/utils/events.js +37 -0
  865. package/internals/utils/events.js.map +1 -0
  866. package/internals/utils/lit.d.ts +8 -0
  867. package/internals/utils/lit.js +15 -0
  868. package/internals/utils/lit.js.map +1 -0
  869. package/internals/utils/math.d.ts +50 -0
  870. package/internals/utils/math.js +38 -0
  871. package/internals/utils/math.js.map +1 -0
  872. package/internals/utils/objects.d.ts +25 -0
  873. package/internals/utils/objects.js +125 -0
  874. package/internals/utils/objects.js.map +1 -0
  875. package/internals/utils/strings.d.ts +44 -0
  876. package/internals/utils/strings.js +46 -0
  877. package/internals/utils/strings.js.map +1 -0
  878. package/internals/utils/types.d.ts +13 -0
  879. package/internals/utils/types.js +31 -0
  880. package/internals/utils/types.js.map +1 -0
  881. package/{components/common → internals}/validators.d.ts +24 -1
  882. package/{components/common → internals}/validators.js +25 -2
  883. package/internals/validators.js.map +1 -0
  884. package/package.json +15 -7
  885. package/themes/dark/bootstrap.css +1 -1
  886. package/themes/dark/fluent.css +1 -1
  887. package/themes/dark/indigo.css +1 -1
  888. package/themes/dark/material.css +1 -1
  889. package/themes/light/bootstrap.css +1 -1
  890. package/themes/light/fluent.css +1 -1
  891. package/themes/light/indigo.css +1 -1
  892. package/themes/light/material.css +1 -1
  893. package/theming/theming-controller.d.ts +5 -5
  894. package/theming/theming-controller.js.map +1 -1
  895. package/web-types.json +3 -3
  896. package/components/calendar/model.js.map +0 -1
  897. package/components/combo/combo-list.d.ts +0 -11
  898. package/components/combo/combo-list.js +0 -13
  899. package/components/combo/combo-list.js.map +0 -1
  900. package/components/common/abort-handler.js.map +0 -1
  901. package/components/common/context.d.ts +0 -25
  902. package/components/common/context.js.map +0 -1
  903. package/components/common/controllers/adopt-styles.d.ts +0 -124
  904. package/components/common/controllers/adopt-styles.js +0 -75
  905. package/components/common/controllers/adopt-styles.js.map +0 -1
  906. package/components/common/controllers/async-consumer.js.map +0 -1
  907. package/components/common/controllers/command.js.map +0 -1
  908. package/components/common/controllers/drag.js.map +0 -1
  909. package/components/common/controllers/focus-ring.js.map +0 -1
  910. package/components/common/controllers/fullscreen.js.map +0 -1
  911. package/components/common/controllers/gestures.js.map +0 -1
  912. package/components/common/controllers/id-resolver.js.map +0 -1
  913. package/components/common/controllers/internals.js.map +0 -1
  914. package/components/common/controllers/key-bindings.js.map +0 -1
  915. package/components/common/controllers/mutation-observer.js.map +0 -1
  916. package/components/common/controllers/resize-observer.js.map +0 -1
  917. package/components/common/controllers/root-click.js.map +0 -1
  918. package/components/common/controllers/root-scroll.js +0 -63
  919. package/components/common/controllers/root-scroll.js.map +0 -1
  920. package/components/common/controllers/slot.js.map +0 -1
  921. package/components/common/decorators/blazorAdditionalDependencies.js.map +0 -1
  922. package/components/common/decorators/blazorDeepImport.js.map +0 -1
  923. package/components/common/decorators/blazorInclude.js.map +0 -1
  924. package/components/common/decorators/blazorIndirectRender.js.map +0 -1
  925. package/components/common/decorators/blazorSuppressComponent.js.map +0 -1
  926. package/components/common/decorators/shadow-options.js.map +0 -1
  927. package/components/common/decorators/watch.d.ts +0 -5
  928. package/components/common/decorators/watch.js +0 -19
  929. package/components/common/decorators/watch.js.map +0 -1
  930. package/components/common/definitions/defineAllComponents.js +0 -151
  931. package/components/common/definitions/defineAllComponents.js.map +0 -1
  932. package/components/common/definitions/defineComponents.js.map +0 -1
  933. package/components/common/definitions/register.js.map +0 -1
  934. package/components/common/i18n/EN/calendar.resources.js.map +0 -1
  935. package/components/common/i18n/EN/chat.resources.js.map +0 -1
  936. package/components/common/i18n/EN/date-picker.resources.js.map +0 -1
  937. package/components/common/i18n/EN/date-range-picker.resources.js.map +0 -1
  938. package/components/common/i18n/i18n-controller.js.map +0 -1
  939. package/components/common/i18n/utils.js.map +0 -1
  940. package/components/common/mixins/alert.js.map +0 -1
  941. package/components/common/mixins/combo-box.js.map +0 -1
  942. package/components/common/mixins/constructor.js.map +0 -1
  943. package/components/common/mixins/event-emitter.js.map +0 -1
  944. package/components/common/mixins/forms/associated-required.js.map +0 -1
  945. package/components/common/mixins/forms/associated.js.map +0 -1
  946. package/components/common/mixins/forms/form-transformers.js.map +0 -1
  947. package/components/common/mixins/forms/form-value.js.map +0 -1
  948. package/components/common/mixins/forms/types.js.map +0 -1
  949. package/components/common/mixins/mask-behavior.js.map +0 -1
  950. package/components/common/mixins/option.js.map +0 -1
  951. package/components/common/part-map.js.map +0 -1
  952. package/components/common/templates/input-shell.js.map +0 -1
  953. package/components/common/templates/masked-input.js.map +0 -1
  954. package/components/common/util.d.ts +0 -196
  955. package/components/common/util.js +0 -390
  956. package/components/common/util.js.map +0 -1
  957. package/components/common/validators.js.map +0 -1
  958. package/components/icon/registry/default-map.d.ts +0 -107
  959. package/components/icon/registry/default-map.js +0 -25
  960. package/components/icon/registry/default-map.js.map +0 -1
  961. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js +0 -3
  962. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js.map +0 -1
  963. package/components/radio/utils.d.ts +0 -13
  964. package/components/radio/utils.js +0 -37
  965. package/components/radio/utils.js.map +0 -1
  966. /package/components/{nav-drawer/themes/shared/container/nav-drawer.fluent.css.d.ts → qr-code/themes/dark/qr-code.bootstrap.css.d.ts} +0 -0
  967. /package/{components/common → internals}/abort-handler.d.ts +0 -0
  968. /package/{components/common → internals}/abort-handler.js +0 -0
  969. /package/{components/common → internals}/controllers/async-consumer.d.ts +0 -0
  970. /package/{components/common → internals}/controllers/command.d.ts +0 -0
  971. /package/{components/common → internals}/controllers/command.js +0 -0
  972. /package/{components/common → internals}/controllers/drag.d.ts +0 -0
  973. /package/{components/common → internals}/controllers/focus-ring.d.ts +0 -0
  974. /package/{components/common → internals}/controllers/fullscreen.d.ts +0 -0
  975. /package/{components/common → internals}/controllers/id-resolver.d.ts +0 -0
  976. /package/{components/common → internals}/controllers/root-click.d.ts +0 -0
  977. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.d.ts +0 -0
  978. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.js +0 -0
  979. /package/{components/common → internals}/decorators/blazorDeepImport.d.ts +0 -0
  980. /package/{components/common → internals}/decorators/blazorDeepImport.js +0 -0
  981. /package/{components/common → internals}/decorators/blazorInclude.d.ts +0 -0
  982. /package/{components/common → internals}/decorators/blazorInclude.js +0 -0
  983. /package/{components/common → internals}/decorators/blazorIndirectRender.d.ts +0 -0
  984. /package/{components/common → internals}/decorators/blazorIndirectRender.js +0 -0
  985. /package/{components/common → internals}/decorators/blazorSuppressComponent.d.ts +0 -0
  986. /package/{components/common → internals}/decorators/blazorSuppressComponent.js +0 -0
  987. /package/{components/common → internals}/decorators/shadow-options.d.ts +0 -0
  988. /package/{components/common → internals}/decorators/shadow-options.js +0 -0
  989. /package/{components/common → internals}/definitions/defineAllComponents.d.ts +0 -0
  990. /package/{components/common → internals}/definitions/defineComponents.d.ts +0 -0
  991. /package/{components/common → internals}/definitions/defineComponents.js +0 -0
  992. /package/{components/common → internals}/definitions/register.d.ts +0 -0
  993. /package/{components/common → internals}/definitions/register.js +0 -0
  994. /package/{components/common → internals}/i18n/EN/calendar.resources.d.ts +0 -0
  995. /package/{components/common → internals}/i18n/EN/chat.resources.d.ts +0 -0
  996. /package/{components/common → internals}/i18n/EN/chat.resources.js +0 -0
  997. /package/{components/common → internals}/i18n/EN/date-picker.resources.d.ts +0 -0
  998. /package/{components/common → internals}/i18n/EN/date-picker.resources.js +0 -0
  999. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.d.ts +0 -0
  1000. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.js +0 -0
  1001. /package/{components/common → internals}/i18n/utils.d.ts +0 -0
  1002. /package/{components/common → internals}/mixins/constructor.d.ts +0 -0
  1003. /package/{components/common → internals}/mixins/constructor.js +0 -0
  1004. /package/{components/common → internals}/mixins/event-emitter.d.ts +0 -0
  1005. /package/{components/common → internals}/mixins/event-emitter.js +0 -0
  1006. /package/{components/common → internals}/mixins/forms/associated-required.d.ts +0 -0
  1007. /package/{components/common → internals}/mixins/forms/associated.d.ts +0 -0
  1008. /package/{components/common → internals}/mixins/forms/form-value.d.ts +0 -0
  1009. /package/{components/common → internals}/mixins/forms/form-value.js +0 -0
  1010. /package/{components/common → internals}/mixins/forms/types.js +0 -0
  1011. /package/{components/common → internals}/part-map.d.ts +0 -0
  1012. /package/{components/common → internals}/part-map.js +0 -0
@@ -1,7 +1,14 @@
1
1
  import { nothing, type TemplateResult } from 'lit';
2
+ import type { SlotController } from '../controllers/slot.js';
2
3
  import type { IgcFormControl } from '../mixins/forms/types.js';
3
4
  /** Returns a unique id for native input elements rendered by input components. */
4
- export declare function nextInputId(): string;
5
+ export declare const nextInputId: () => string;
6
+ /**
7
+ * Resolves the shared container part names of an input-like component based
8
+ * on its current slotted and filled state.
9
+ * Used to apply conditional styling via CSS parts.
10
+ */
11
+ export declare function resolveInputPartNames(slots: Pick<SlotController<'prefix' | 'suffix'>, 'hasAssignedElements'>, base: string, filled: boolean): Record<string, boolean>;
5
12
  export interface InputShellOptions {
6
13
  /** Active theme name. The `material` theme uses the notch layout. */
7
14
  theme: string;
@@ -1,9 +1,19 @@
1
1
  import { html, nothing } from 'lit';
2
- import IgcValidationContainerComponent from '../../validation-container/validation-container.js';
2
+ import IgcValidationContainerComponent from '../../components/validation-container/validation-container.js';
3
3
  import { partMap } from '../part-map.js';
4
- let _nextInputId = 1;
5
- export function nextInputId() {
6
- return `input-${_nextInputId++}`;
4
+ import { createIdGenerator } from '../utils/strings.js';
5
+ export const nextInputId = createIdGenerator('input');
6
+ export function resolveInputPartNames(slots, base, filled) {
7
+ return {
8
+ [base]: true,
9
+ prefixed: slots.hasAssignedElements('prefix', {
10
+ selector: '[slot="prefix"]:not([hidden])',
11
+ }),
12
+ suffixed: slots.hasAssignedElements('suffix', {
13
+ selector: '[slot="suffix"]:not([hidden])',
14
+ }),
15
+ filled,
16
+ };
7
17
  }
8
18
  function renderLabel(forId, label) {
9
19
  return label
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-shell.js","sourceRoot":"","sources":["../../../src/internals/templates/input-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACzD,OAAO,+BAA+B,MAAM,+DAA+D,CAAC;AAG5G,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAOtD,MAAM,UAAU,qBAAqB,CACnC,KAAuE,EACvE,IAAY,EACZ,MAAe;IAEf,OAAO;QACL,CAAC,IAAI,CAAC,EAAE,IAAI;QACZ,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YAC5C,QAAQ,EAAE,+BAA+B;SAC1C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YAC5C,QAAQ,EAAE,+BAA+B;SAC1C,CAAC;QACF,MAAM;KACP,CAAC;AACJ,CAAC;AAiBD,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,OAAO,KAAK;QACV,CAAC,CAAC,IAAI,CAAA,2BAA2B,KAAK,IAAI,KAAK,UAAU;QACzD,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,IAAI,CAAA,sDAAsD,CAAC;AACpE,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,IAAI,CAAA,sDAAsD,CAAC;AACpE,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAC9B,IAAoB,EACpB,EACE,cAAc,EACd,eAAe,EACf,WAAW,EACX,KAAK,EACL,KAAK,EACL,OAAO,GACW;IAEpB,MAAM,SAAS,GAAG,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;IAEzD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;kBACG,OAAO,CAAC,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BACvC,YAAY,EAAE;UAChC,KAAK,GAAG,SAAS;4BACC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;;0BAE7B,YAAY,EAAE;;QAEhC,SAAS;KACZ,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAA;MACP,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;gBACjB,OAAO,CAAC,cAAc,CAAC;QAC/B,YAAY,EAAE,GAAG,SAAS,GAAG,KAAK,GAAG,YAAY,EAAE;;MAErD,SAAS;GACZ,CAAC;AACJ,CAAC","sourcesContent":["import { html, nothing, type TemplateResult } from 'lit';\nimport IgcValidationContainerComponent from '../../components/validation-container/validation-container.js';\nimport type { SlotController } from '../controllers/slot.js';\nimport type { IgcFormControl } from '../mixins/forms/types.js';\nimport { partMap } from '../part-map.js';\nimport { createIdGenerator } from '../utils/strings.js';\n\n/** Returns a unique id for native input elements rendered by input components. */\nexport const nextInputId = createIdGenerator('input');\n\n/**\n * Resolves the shared container part names of an input-like component based\n * on its current slotted and filled state.\n * Used to apply conditional styling via CSS parts.\n */\nexport function resolveInputPartNames(\n slots: Pick<SlotController<'prefix' | 'suffix'>, 'hasAssignedElements'>,\n base: string,\n filled: boolean\n): Record<string, boolean> {\n return {\n [base]: true,\n prefixed: slots.hasAssignedElements('prefix', {\n selector: '[slot=\"prefix\"]:not([hidden])',\n }),\n suffixed: slots.hasAssignedElements('suffix', {\n selector: '[slot=\"suffix\"]:not([hidden])',\n }),\n filled,\n };\n}\n\nexport interface InputShellOptions {\n /** Active theme name. The `material` theme uses the notch layout. */\n theme: string;\n /** The label text. Empty string skips label rendering. */\n label: string;\n /** The id of the input element used by the label `for` attribute. */\n labelId: string;\n /** Resolved part-name map for the container element. */\n containerParts: Record<string, boolean>;\n /** Renders the native `<input>` element. */\n renderInput: () => TemplateResult;\n /** Optional renderer for components that need extra parts inside the container (e.g. file-input). */\n renderFileParts?: () => TemplateResult | typeof nothing;\n}\n\nfunction renderLabel(forId: string, label: string) {\n return label\n ? html`<label part=\"label\" for=${forId}>${label}</label>`\n : nothing;\n}\n\nfunction renderPrefix() {\n return html`<div part=\"prefix\"><slot name=\"prefix\"></slot></div>`;\n}\n\nfunction renderSuffix() {\n return html`<div part=\"suffix\"><slot name=\"suffix\"></slot></div>`;\n}\n\n/**\n * Renders the shared input chrome (label, prefix, suffix, validator container)\n * around a leaf-provided input template, switching layouts between the\n * material notch and the standard flow.\n */\nexport function renderInputShell(\n host: IgcFormControl,\n {\n containerParts,\n renderFileParts,\n renderInput,\n theme,\n label,\n labelId,\n }: InputShellOptions\n): TemplateResult {\n const validator = IgcValidationContainerComponent.create(host);\n const input = renderInput.call(host);\n const fileParts = renderFileParts?.call(host) ?? nothing;\n\n if (theme === 'material') {\n return html`\n <div part=${partMap({ ...containerParts, labelled: !!label })}>\n <div part=\"start\">${renderPrefix()}</div>\n ${input}${fileParts}\n <div part=\"notch\">${renderLabel(labelId, label)}</div>\n <div part=\"filler\"></div>\n <div part=\"end\">${renderSuffix()}</div>\n </div>\n ${validator}\n `;\n }\n\n return html`\n ${renderLabel(labelId, label)}\n <div part=${partMap(containerParts)}>\n ${renderPrefix()}${fileParts}${input}${renderSuffix()}\n </div>\n ${validator}\n `;\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { type TemplateResult } from 'lit';
2
+ import { type ResolvedARIABindings } from '../controllers/aria-projection.js';
2
3
  export interface MaskedInputOptions {
3
4
  /** Optional id for the native input element. */
4
5
  id?: string;
@@ -16,11 +17,14 @@ export interface MaskedInputOptions {
16
17
  inputMode?: string;
17
18
  /** When provided, sets the `tabindex` attribute. */
18
19
  tabindex?: number;
19
- /** When provided, sets the `aria-describedby` attribute. */
20
- ariaDescribedBy?: string;
21
- /** When provided, sets the `aria-labelledby` attribute using the provided elements. */
22
- ariaLabelledByElements?: ReadonlyArray<Element> | null;
20
+ /**
21
+ * Resolved ARIA bindings for the native input - the projected host state
22
+ * merged with the editor's own (see `AriaTargetController.resolveBindings`).
23
+ */
24
+ aria: ResolvedARIABindings;
23
25
  onInput: (event: InputEvent) => void;
26
+ /** Wired to `beforeinput` so the component owns `historyUndo` / `historyRedo`. */
27
+ onBeforeInput: (event: InputEvent) => void;
24
28
  onFocus: (event: FocusEvent) => void;
25
29
  onBlur: (event: FocusEvent) => void;
26
30
  onClick: () => void;
@@ -1,8 +1,9 @@
1
1
  import { html } from 'lit';
2
2
  import { ifDefined } from 'lit/directives/if-defined.js';
3
3
  import { live } from 'lit/directives/live.js';
4
+ import { ariaBindings, } from '../controllers/aria-projection.js';
4
5
  import { partMap } from '../part-map.js';
5
- import { bindIf } from '../util.js';
6
+ import { bindIf } from '../utils/lit.js';
6
7
  export function renderMaskedNativeInput(opts) {
7
8
  return html `
8
9
  <input
@@ -17,9 +18,9 @@ export function renderMaskedNativeInput(opts) {
17
18
  ?autofocus=${opts.autofocus}
18
19
  inputmode=${ifDefined(opts.inputMode)}
19
20
  tabindex=${bindIf(opts.tabindex != null, opts.tabindex)}
20
- aria-describedby=${bindIf(!!opts.ariaDescribedBy, opts.ariaDescribedBy)}
21
- .ariaLabelledByElements=${opts.ariaLabelledByElements ?? null}
21
+ ${ariaBindings(opts.aria)}
22
22
  @input=${opts.onInput}
23
+ @beforeinput=${opts.onBeforeInput}
23
24
  @focus=${opts.onFocus}
24
25
  @blur=${opts.onBlur}
25
26
  @click=${opts.onClick}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"masked-input.js","sourceRoot":"","sources":["../../../src/internals/templates/masked-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EACL,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAiDzC,MAAM,UAAU,uBAAuB,CACrC,IAAwB;IAExB,OAAO,IAAI,CAAA;;WAEF,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;;aAEhB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;aACvB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;eAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACV,IAAI,CAAC,WAAW;kBACnB,IAAI,CAAC,QAAQ;kBACb,IAAI,CAAC,QAAQ;mBACZ,IAAI,CAAC,SAAS;kBACf,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QACrD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;eAChB,IAAI,CAAC,OAAO;qBACN,IAAI,CAAC,aAAa;eACxB,IAAI,CAAC,OAAO;cACb,IAAI,CAAC,MAAM;eACV,IAAI,CAAC,OAAO;iBACV,IAAI,CAAC,kBAAkB;aAC3B,IAAI,CAAC,kBAAkB;mBACjB,IAAI,CAAC,kBAAkB;0BAChB,IAAI,CAAC,kBAAkB;wBACzB,IAAI,CAAC,gBAAgB;gBAC7B,IAAI,CAAC,QAAQ;eACd,IAAI,CAAC,OAAO;mBACR,IAAI,CAAC,WAAW;mBAChB,IAAI,CAAC,WAAW;;GAEhC,CAAC;AACJ,CAAC","sourcesContent":["import { html, type TemplateResult } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport {\n ariaBindings,\n type ResolvedARIABindings,\n} from '../controllers/aria-projection.js';\nimport { partMap } from '../part-map.js';\nimport { bindIf } from '../utils/lit.js';\n\nexport interface MaskedInputOptions {\n /** Optional id for the native input element. */\n id?: string;\n /** Resolved part-name map applied to the input. */\n partNames: Record<string, boolean>;\n /** The form-associated name attribute. */\n name?: string;\n /** Current value to render through `live()`. */\n value: string;\n /** Pre-resolved placeholder text. Caller decides empty-string semantics. */\n placeholder: string;\n readOnly: boolean;\n disabled: boolean;\n autofocus?: boolean;\n inputMode?: string;\n /** When provided, sets the `tabindex` attribute. */\n tabindex?: number;\n /**\n * Resolved ARIA bindings for the native input - the projected host state\n * merged with the editor's own (see `AriaTargetController.resolveBindings`).\n */\n aria: ResolvedARIABindings;\n\n // Required mask handlers\n onInput: (event: InputEvent) => void;\n /** Wired to `beforeinput` so the component owns `historyUndo` / `historyRedo`. */\n onBeforeInput: (event: InputEvent) => void;\n onFocus: (event: FocusEvent) => void;\n onBlur: (event: FocusEvent) => void;\n onClick: () => void;\n /** Wired to `keydown`, `cut`, and `dragstart` to capture the current selection. */\n onSetMaskSelection: (event: Event) => void;\n onCompositionStart: () => void;\n onCompositionEnd: (event: CompositionEvent) => void;\n\n // Optional handlers\n onChange?: () => void;\n onWheel?: (event: WheelEvent) => void;\n onDragEnter?: () => void;\n onDragLeave?: () => void;\n}\n\n/**\n * Renders the native `<input>` element shared by mask-driven components\n * (`igc-mask-input`, `igc-date-time-input`, `igc-date-range-input`).\n * Centralizes mask event wiring so leaves only describe their extras.\n */\nexport function renderMaskedNativeInput(\n opts: MaskedInputOptions\n): TemplateResult {\n return html`\n <input\n id=${ifDefined(opts.id)}\n type=\"text\"\n part=${partMap(opts.partNames)}\n name=${ifDefined(opts.name)}\n .value=${live(opts.value)}\n .placeholder=${opts.placeholder}\n ?readonly=${opts.readOnly}\n ?disabled=${opts.disabled}\n ?autofocus=${opts.autofocus}\n inputmode=${ifDefined(opts.inputMode)}\n tabindex=${bindIf(opts.tabindex != null, opts.tabindex)}\n ${ariaBindings(opts.aria)}\n @input=${opts.onInput}\n @beforeinput=${opts.onBeforeInput}\n @focus=${opts.onFocus}\n @blur=${opts.onBlur}\n @click=${opts.onClick}\n @keydown=${opts.onSetMaskSelection}\n @cut=${opts.onSetMaskSelection}\n @dragstart=${opts.onSetMaskSelection}\n @compositionstart=${opts.onCompositionStart}\n @compositionend=${opts.onCompositionEnd}\n @change=${opts.onChange}\n @wheel=${opts.onWheel}\n @dragenter=${opts.onDragEnter}\n @dragleave=${opts.onDragLeave}\n />\n `;\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import { type TemplateResult } from 'lit';
2
+ import '../../components/icon/icon.js';
3
+ export interface SlottedIconOptions {
4
+ /** The name of the slot that overrides the default icon. */
5
+ slot: string;
6
+ /** The registry name of the default icon rendered as fallback content. */
7
+ icon: string;
8
+ /** Controls the `hidden` attribute of the slot element. */
9
+ hidden?: boolean;
10
+ /** The `title` of the default icon. */
11
+ title?: string;
12
+ /**
13
+ * The accessible label of the default icon. When set, the icon is exposed
14
+ * to the accessibility tree with that label instead of being `aria-hidden`.
15
+ */
16
+ label?: string;
17
+ /**
18
+ * Whether an unlabeled default icon carries `aria-hidden="true"`.
19
+ * Pass false when an ancestor element already hides the icon from the
20
+ * accessibility tree.
21
+ *
22
+ * @default true
23
+ */
24
+ ariaHidden?: boolean;
25
+ }
26
+ /**
27
+ * Renders a named slot with a default icon from the internal collection as
28
+ * fallback content - the "overridable built-in control" idiom of the library.
29
+ * Callers own the wrapping element with its parts, visibility gating and
30
+ * event handlers, and must register the icon component themselves.
31
+ */
32
+ export declare function renderSlottedIcon(options: SlottedIconOptions): TemplateResult;
@@ -0,0 +1,19 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit/directives/if-defined.js';
3
+ import '../../components/icon/icon.js';
4
+ import { bindIf } from '../utils/lit.js';
5
+ export function renderSlottedIcon(options) {
6
+ const ariaHidden = options.label ? false : (options.ariaHidden ?? true);
7
+ return html `
8
+ <slot name=${options.slot} ?hidden=${options.hidden ?? false}>
9
+ <igc-icon
10
+ name=${options.icon}
11
+ collection="default"
12
+ title=${ifDefined(options.title)}
13
+ aria-label=${ifDefined(options.label)}
14
+ aria-hidden=${bindIf(ariaHidden, 'true')}
15
+ ></igc-icon>
16
+ </slot>
17
+ `;
18
+ }
19
+ //# sourceMappingURL=slotted-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slotted-icon.js","sourceRoot":"","sources":["../../../src/internals/templates/slotted-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgCzC,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IAExE,OAAO,IAAI,CAAA;iBACI,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,MAAM,IAAI,KAAK;;eAEjD,OAAO,CAAC,IAAI;;gBAEX,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;qBACnB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;sBACvB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;;;GAG7C,CAAC;AACJ,CAAC","sourcesContent":["import { html, type TemplateResult } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n// The import satisfies the lit-analyzer element resolution for `igc-icon`.\n// It carries no side effects - registration stays with the consuming components.\nimport '../../components/icon/icon.js';\nimport { bindIf } from '../utils/lit.js';\n\nexport interface SlottedIconOptions {\n /** The name of the slot that overrides the default icon. */\n slot: string;\n /** The registry name of the default icon rendered as fallback content. */\n icon: string;\n /** Controls the `hidden` attribute of the slot element. */\n hidden?: boolean;\n /** The `title` of the default icon. */\n title?: string;\n /**\n * The accessible label of the default icon. When set, the icon is exposed\n * to the accessibility tree with that label instead of being `aria-hidden`.\n */\n label?: string;\n /**\n * Whether an unlabeled default icon carries `aria-hidden=\"true\"`.\n * Pass false when an ancestor element already hides the icon from the\n * accessibility tree.\n *\n * @default true\n */\n ariaHidden?: boolean;\n}\n\n/**\n * Renders a named slot with a default icon from the internal collection as\n * fallback content - the \"overridable built-in control\" idiom of the library.\n * Callers own the wrapping element with its parts, visibility gating and\n * event handlers, and must register the icon component themselves.\n */\nexport function renderSlottedIcon(options: SlottedIconOptions): TemplateResult {\n const ariaHidden = options.label ? false : (options.ariaHidden ?? true);\n\n return html`\n <slot name=${options.slot} ?hidden=${options.hidden ?? false}>\n <igc-icon\n name=${options.icon}\n collection=\"default\"\n title=${ifDefined(options.title)}\n aria-label=${ifDefined(options.label)}\n aria-hidden=${bindIf(ariaHidden, 'true')}\n ></igc-icon>\n </slot>\n `;\n}\n"]}
@@ -0,0 +1,46 @@
1
+ import { type TemplateResult } from 'lit';
2
+ export interface ToggleShellOptions {
3
+ /** The type of the native input element. */
4
+ type: 'checkbox' | 'radio';
5
+ /** The id of the native input; the wrapping label points at it through `for`. */
6
+ inputId: string;
7
+ /** The id of the label span, the fallback `aria-labelledby` target. */
8
+ labelId: string;
9
+ /** Resolved part-name map for the wrapping label element. */
10
+ baseParts: Record<string, boolean>;
11
+ /** Resolved part-name map for the control span. */
12
+ controlParts: Record<string, boolean>;
13
+ /** Resolved part-name map for the label span. */
14
+ labelParts: Record<string, boolean>;
15
+ /** Renders the control indicator inside the control span. */
16
+ renderControl: () => TemplateResult;
17
+ /** Current checked state rendered through `live()`. */
18
+ checked: boolean;
19
+ /** Hides the label span when the default slot has no assigned content. */
20
+ hideLabel: boolean;
21
+ name?: string;
22
+ value?: string;
23
+ required: boolean;
24
+ disabled: boolean;
25
+ /**
26
+ * Current indeterminate state rendered through `live()`. When absent, the
27
+ * binding stays `false` and `live()` skips the property write entirely.
28
+ */
29
+ indeterminate?: boolean;
30
+ /** When provided, sets the `tabindex` attribute. */
31
+ tabindex?: number;
32
+ /** Resolved `aria-labelledby` target - an external id or `labelId`. */
33
+ ariaLabelledBy: string;
34
+ /** When provided, sets the `aria-describedby` attribute. */
35
+ ariaDescribedBy?: string;
36
+ onClick: (event: PointerEvent) => void;
37
+ onKeyDown: (event: KeyboardEvent) => void;
38
+ onBlur?: () => void;
39
+ }
40
+ /**
41
+ * Renders the label-wrapped native input shared by the toggle controls
42
+ * (`igc-checkbox`, `igc-switch`, `igc-radio`).
43
+ * Centralizes the input binding set so leaves only describe their part maps
44
+ * and control indicator.
45
+ */
46
+ export declare function renderToggleShell(options: ToggleShellOptions): TemplateResult;
@@ -0,0 +1,38 @@
1
+ import { html, nothing } from 'lit';
2
+ import { ifDefined } from 'lit/directives/if-defined.js';
3
+ import { live } from 'lit/directives/live.js';
4
+ import { partMap } from '../part-map.js';
5
+ import { bindIf } from '../utils/lit.js';
6
+ export function renderToggleShell(options) {
7
+ return html `
8
+ <label part=${partMap(options.baseParts)} for=${options.inputId}>
9
+ <input
10
+ id=${options.inputId}
11
+ type=${options.type}
12
+ name=${ifDefined(options.name)}
13
+ value=${ifDefined(options.value)}
14
+ ?required=${options.required}
15
+ ?disabled=${options.disabled}
16
+ .checked=${live(options.checked)}
17
+ .indeterminate=${live(options.indeterminate ?? false)}
18
+ tabindex=${bindIf(options.tabindex != null, options.tabindex)}
19
+ aria-labelledby=${options.ariaLabelledBy}
20
+ aria-describedby=${ifDefined(options.ariaDescribedBy)}
21
+ @keydown=${options.onKeyDown}
22
+ @click=${options.onClick}
23
+ @blur=${options.onBlur ?? nothing}
24
+ />
25
+ <span part=${partMap(options.controlParts)}
26
+ >${options.renderControl()}</span
27
+ >
28
+ <span
29
+ id=${options.labelId}
30
+ part=${partMap(options.labelParts)}
31
+ ?hidden=${options.hideLabel}
32
+ >
33
+ <slot></slot>
34
+ </span>
35
+ </label>
36
+ `;
37
+ }
38
+ //# sourceMappingURL=toggle-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-shell.js","sourceRoot":"","sources":["../../../src/internals/templates/toggle-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgDzC,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,OAAO,IAAI,CAAA;kBACK,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO;;aAEtD,OAAO,CAAC,OAAO;eACb,OAAO,CAAC,IAAI;eACZ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpB,OAAO,CAAC,QAAQ;oBAChB,OAAO,CAAC,QAAQ;mBACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;yBACf,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;mBAC1C,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;0BAC3C,OAAO,CAAC,cAAc;2BACrB,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;mBAC1C,OAAO,CAAC,SAAS;iBACnB,OAAO,CAAC,OAAO;gBAChB,OAAO,CAAC,MAAM,IAAI,OAAO;;mBAEtB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;WACrC,OAAO,CAAC,aAAa,EAAE;;;aAGrB,OAAO,CAAC,OAAO;eACb,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;kBACxB,OAAO,CAAC,SAAS;;;;;GAKhC,CAAC;AACJ,CAAC","sourcesContent":["import { html, nothing, type TemplateResult } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { partMap } from '../part-map.js';\nimport { bindIf } from '../utils/lit.js';\n\nexport interface ToggleShellOptions {\n /** The type of the native input element. */\n type: 'checkbox' | 'radio';\n /** The id of the native input; the wrapping label points at it through `for`. */\n inputId: string;\n /** The id of the label span, the fallback `aria-labelledby` target. */\n labelId: string;\n /** Resolved part-name map for the wrapping label element. */\n baseParts: Record<string, boolean>;\n /** Resolved part-name map for the control span. */\n controlParts: Record<string, boolean>;\n /** Resolved part-name map for the label span. */\n labelParts: Record<string, boolean>;\n /** Renders the control indicator inside the control span. */\n renderControl: () => TemplateResult;\n /** Current checked state rendered through `live()`. */\n checked: boolean;\n /** Hides the label span when the default slot has no assigned content. */\n hideLabel: boolean;\n name?: string;\n value?: string;\n required: boolean;\n disabled: boolean;\n /**\n * Current indeterminate state rendered through `live()`. When absent, the\n * binding stays `false` and `live()` skips the property write entirely.\n */\n indeterminate?: boolean;\n /** When provided, sets the `tabindex` attribute. */\n tabindex?: number;\n /** Resolved `aria-labelledby` target - an external id or `labelId`. */\n ariaLabelledBy: string;\n /** When provided, sets the `aria-describedby` attribute. */\n ariaDescribedBy?: string;\n\n onClick: (event: PointerEvent) => void;\n onKeyDown: (event: KeyboardEvent) => void;\n onBlur?: () => void;\n}\n\n/**\n * Renders the label-wrapped native input shared by the toggle controls\n * (`igc-checkbox`, `igc-switch`, `igc-radio`).\n * Centralizes the input binding set so leaves only describe their part maps\n * and control indicator.\n */\nexport function renderToggleShell(options: ToggleShellOptions): TemplateResult {\n return html`\n <label part=${partMap(options.baseParts)} for=${options.inputId}>\n <input\n id=${options.inputId}\n type=${options.type}\n name=${ifDefined(options.name)}\n value=${ifDefined(options.value)}\n ?required=${options.required}\n ?disabled=${options.disabled}\n .checked=${live(options.checked)}\n .indeterminate=${live(options.indeterminate ?? false)}\n tabindex=${bindIf(options.tabindex != null, options.tabindex)}\n aria-labelledby=${options.ariaLabelledBy}\n aria-describedby=${ifDefined(options.ariaDescribedBy)}\n @keydown=${options.onKeyDown}\n @click=${options.onClick}\n @blur=${options.onBlur ?? nothing}\n />\n <span part=${partMap(options.controlParts)}\n >${options.renderControl()}</span\n >\n <span\n id=${options.labelId}\n part=${partMap(options.labelParts)}\n ?hidden=${options.hideLabel}\n >\n <slot></slot>\n </span>\n </label>\n `;\n}\n"]}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * A restartable timeout handle. See {@link createTimer}.
3
+ */
4
+ export type Timer = {
5
+ /** Whether the timer is currently armed. */
6
+ readonly active: boolean;
7
+ /**
8
+ * (Re)arms the timer, canceling a previously armed run.
9
+ *
10
+ * When `delay` is omitted, the default delay of the timer is used.
11
+ */
12
+ start(delay?: number): void;
13
+ /** Cancels the armed run, if any. */
14
+ stop(): void;
15
+ };
16
+ /**
17
+ * Creates a restartable timeout around `callback`.
18
+ *
19
+ * Every `start` supersedes the previous one, so the callback runs at most once,
20
+ * `delay` milliseconds after the most recent `start` - the recurring
21
+ * "clear the stored handle, then set it again" bookkeeping is kept in one place.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const timer = createTimer(() => this.hideTooltip(), 500);
26
+ *
27
+ * timer.start(); // arms the timer with the default delay
28
+ * timer.start(1000); // supersedes the run above
29
+ * timer.stop(); // cancels it altogether
30
+ * ```
31
+ */
32
+ export declare function createTimer(callback: () => void, defaultDelay?: number): Timer;
@@ -0,0 +1,20 @@
1
+ export function createTimer(callback, defaultDelay = 0) {
2
+ let handle;
3
+ return {
4
+ get active() {
5
+ return handle !== undefined;
6
+ },
7
+ start(delay = defaultDelay) {
8
+ clearTimeout(handle);
9
+ handle = setTimeout(() => {
10
+ handle = undefined;
11
+ callback();
12
+ }, delay);
13
+ },
14
+ stop() {
15
+ clearTimeout(handle);
16
+ handle = undefined;
17
+ },
18
+ };
19
+ }
20
+ //# sourceMappingURL=timing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/internals/timing.ts"],"names":[],"mappings":"AAgCA,MAAM,UAAU,WAAW,CAAC,QAAoB,EAAE,YAAY,GAAG,CAAC;IAChE,IAAI,MAAiD,CAAC;IAEtD,OAAO;QACL,IAAI,MAAM;YACR,OAAO,MAAM,KAAK,SAAS,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,YAAY;YACxB,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvB,MAAM,GAAG,SAAS,CAAC;gBACnB,QAAQ,EAAE,CAAC;YACb,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC;QACD,IAAI;YACF,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/**\n * A restartable timeout handle. See {@link createTimer}.\n */\nexport type Timer = {\n /** Whether the timer is currently armed. */\n readonly active: boolean;\n /**\n * (Re)arms the timer, canceling a previously armed run.\n *\n * When `delay` is omitted, the default delay of the timer is used.\n */\n start(delay?: number): void;\n /** Cancels the armed run, if any. */\n stop(): void;\n};\n\n/**\n * Creates a restartable timeout around `callback`.\n *\n * Every `start` supersedes the previous one, so the callback runs at most once,\n * `delay` milliseconds after the most recent `start` - the recurring\n * \"clear the stored handle, then set it again\" bookkeeping is kept in one place.\n *\n * @example\n * ```typescript\n * const timer = createTimer(() => this.hideTooltip(), 500);\n *\n * timer.start(); // arms the timer with the default delay\n * timer.start(1000); // supersedes the run above\n * timer.stop(); // cancels it altogether\n * ```\n */\nexport function createTimer(callback: () => void, defaultDelay = 0): Timer {\n let handle: ReturnType<typeof setTimeout> | undefined;\n\n return {\n get active(): boolean {\n return handle !== undefined;\n },\n start(delay = defaultDelay): void {\n clearTimeout(handle);\n handle = setTimeout(() => {\n handle = undefined;\n callback();\n }, delay);\n },\n stop(): void {\n clearTimeout(handle);\n handle = undefined;\n },\n };\n}\n"]}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Returns the first element of the given array.
3
+ *
4
+ * @remarks
5
+ * Assumes a non-empty array - for an empty one it returns `undefined`
6
+ * typed as `T`.
7
+ */
8
+ export declare function firstOf<T>(arr: T[]): T;
9
+ /**
10
+ * Returns the last element of the given array.
11
+ *
12
+ * @remarks
13
+ * Assumes a non-empty array - for an empty one it returns `undefined`
14
+ * typed as `T`.
15
+ */
16
+ export declare function lastOf<T>(arr: T[]): T;
17
+ /**
18
+ * Splits an array into chunks of a specified size and returns a generator that yields each chunk.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * [...chunk([1, 2, 3, 4, 5], 2)]; // [[1, 2], [3, 4], [5]]
23
+ * ```
24
+ *
25
+ * @throws If the `size` parameter is not a safe integer greater than or equal to 1.
26
+ */
27
+ export declare function chunk<T>(arr: T[], size: number): Generator<T[]>;
28
+ /**
29
+ * Returns whether a given collection is empty.
30
+ */
31
+ export declare function isEmpty<T, U extends object>(x: ArrayLike<T> | Set<T> | Map<U, T>): boolean;
32
+ /**
33
+ * Ensures the given value is wrapped in an array. If the value is already an array, it is returned as-is. If the value is undefined, an empty array is returned.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * asArray(5); // [5]
38
+ * asArray([1, 2, 3]); // [1, 2, 3]
39
+ * asArray(undefined); // []
40
+ * ```
41
+ */
42
+ export declare function asArray<T>(value?: T | T[]): T[];
43
+ /**
44
+ * Splits an array into two based on a predicate function, returning a tuple of [truthy, falsy] arrays.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const [evens, odds] = partition([1, 2, 3, 4], x => x % 2 === 0);
49
+ * console.log(evens); // [2, 4]
50
+ * console.log(odds); // [1, 3]
51
+ * ```
52
+ */
53
+ export declare function partition<T>(array: T[], isTruthy: (value: T) => boolean): [truthy: T[], falsy: T[]];
@@ -0,0 +1,31 @@
1
+ export function firstOf(arr) {
2
+ return arr.at(0);
3
+ }
4
+ export function lastOf(arr) {
5
+ return arr.at(-1);
6
+ }
7
+ export function* chunk(arr, size) {
8
+ if (!Number.isSafeInteger(size) || size < 1) {
9
+ throw new Error('size must be an integer >= 1');
10
+ }
11
+ for (let i = 0; i < arr.length; i += size) {
12
+ yield arr.slice(i, i + size);
13
+ }
14
+ }
15
+ export function isEmpty(x) {
16
+ return 'length' in x ? x.length < 1 : x.size < 1;
17
+ }
18
+ export function asArray(value) {
19
+ if (value == null)
20
+ return [];
21
+ return Array.isArray(value) ? value : [value];
22
+ }
23
+ export function partition(array, isTruthy) {
24
+ const truthy = [];
25
+ const falsy = [];
26
+ for (const item of array) {
27
+ (isTruthy(item) ? truthy : falsy).push(item);
28
+ }
29
+ return [truthy, falsy];
30
+ }
31
+ //# sourceMappingURL=arrays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/internals/utils/arrays.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,OAAO,CAAI,GAAQ;IACjC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAM,CAAC;AACxB,CAAC;AASD,MAAM,UAAU,MAAM,CAAI,GAAQ;IAChC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAM,CAAC;AACzB,CAAC;AAYD,MAAM,SAAS,CAAC,CAAC,KAAK,CAAI,GAAQ,EAAE,IAAY;IAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,OAAO,CACrB,CAAoC;IAEpC,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AACnD,CAAC;AAYD,MAAM,UAAU,OAAO,CAAI,KAAe;IACxC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAYD,MAAM,UAAU,SAAS,CACvB,KAAU,EACV,QAA+B;IAE/B,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC","sourcesContent":["/**\n * Returns the first element of the given array.\n *\n * @remarks\n * Assumes a non-empty array - for an empty one it returns `undefined`\n * typed as `T`.\n */\nexport function firstOf<T>(arr: T[]) {\n return arr.at(0) as T;\n}\n\n/**\n * Returns the last element of the given array.\n *\n * @remarks\n * Assumes a non-empty array - for an empty one it returns `undefined`\n * typed as `T`.\n */\nexport function lastOf<T>(arr: T[]) {\n return arr.at(-1) as T;\n}\n\n/**\n * Splits an array into chunks of a specified size and returns a generator that yields each chunk.\n *\n * @example\n * ```typescript\n * [...chunk([1, 2, 3, 4, 5], 2)]; // [[1, 2], [3, 4], [5]]\n * ```\n *\n * @throws If the `size` parameter is not a safe integer greater than or equal to 1.\n */\nexport function* chunk<T>(arr: T[], size: number): Generator<T[]> {\n if (!Number.isSafeInteger(size) || size < 1) {\n throw new Error('size must be an integer >= 1');\n }\n\n for (let i = 0; i < arr.length; i += size) {\n yield arr.slice(i, i + size);\n }\n}\n\n/**\n * Returns whether a given collection is empty.\n */\nexport function isEmpty<T, U extends object>(\n x: ArrayLike<T> | Set<T> | Map<U, T>\n): boolean {\n return 'length' in x ? x.length < 1 : x.size < 1;\n}\n\n/**\n * Ensures the given value is wrapped in an array. If the value is already an array, it is returned as-is. If the value is undefined, an empty array is returned.\n *\n * @example\n * ```typescript\n * asArray(5); // [5]\n * asArray([1, 2, 3]); // [1, 2, 3]\n * asArray(undefined); // []\n * ```\n */\nexport function asArray<T>(value?: T | T[]): T[] {\n if (value == null) return [];\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * Splits an array into two based on a predicate function, returning a tuple of [truthy, falsy] arrays.\n *\n * @example\n * ```typescript\n * const [evens, odds] = partition([1, 2, 3, 4], x => x % 2 === 0);\n * console.log(evens); // [2, 4]\n * console.log(odds); // [1, 3]\n * ```\n */\nexport function partition<T>(\n array: T[],\n isTruthy: (value: T) => boolean\n): [truthy: T[], falsy: T[]] {\n const truthy: T[] = [];\n const falsy: T[] = [];\n\n for (const item of array) {\n (isTruthy(item) ? truthy : falsy).push(item);\n }\n\n return [truthy, falsy];\n}\n"]}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Returns whether an element has a Left-to-Right directionality.
3
+ */
4
+ export declare function isLTR(element: HTMLElement): boolean;
5
+ /**
6
+ * Resolves a CSS length to pixels in the context of `element`.
7
+ *
8
+ * A registered custom property computes to an absolute length, which lets the
9
+ * browser do the conversion for font, viewport and container relative units
10
+ * instead of them being read as raw numbers. Percentages are not lengths -
11
+ * resolve those against whatever basis applies to the property at hand.
12
+ *
13
+ * Returns 0 for percentages, for values that are not valid lengths, and where
14
+ * the resolution is unavailable - during server-side rendering, or without
15
+ * support for registered custom properties. Guessing from the raw token would
16
+ * read `5rem` as 5 pixels, so callers get an obvious zero instead.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * resolveCssLength(element, '5rem'); // 80
21
+ * resolveCssLength(element, '2em'); // 2 x the element font size
22
+ * ```
23
+ */
24
+ export declare function resolveCssLength(element: HTMLElement, value: string): number;
25
+ export type IterNodesOptions<T = Node> = {
26
+ show?: keyof typeof NodeFilter;
27
+ filter?: (node: T) => boolean;
28
+ };
29
+ /**
30
+ * Iterates over the DOM subtree of `root` in document order, yielding the nodes
31
+ * matching the passed {@link IterNodesOptions | options}.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * for (const button of iterNodes<HTMLButtonElement>(root, { show: 'SHOW_ELEMENT', filter: isButton })) { ... }
36
+ * ```
37
+ */
38
+ export declare function iterNodes<T extends Node>(root: Node, options?: IterNodesOptions<T>): Generator<T>;
39
+ /**
40
+ * Iterates over `node` and its ancestors, crossing shadow DOM boundaries.
41
+ *
42
+ * Shadow roots are traversed through their host, so only elements are yielded.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * for (const ancestor of iterAncestors(element)) { ... }
47
+ * ```
48
+ */
49
+ export declare function iterAncestors(node?: Node | null): Generator<Element>;
50
+ /** Returns the root node (document or shadow root) of the given element. */
51
+ export declare function getRoot(element: Element, options?: GetRootNodeOptions): Document | ShadowRoot;
52
+ /** Returns the element with the given id in the root node of `root`, if any. */
53
+ export declare function getElementByIdFromRoot(root: HTMLElement, id: string): HTMLElement | null;
54
+ export declare function isElement(node: unknown): node is Element;
55
+ export declare function isDocument(node: unknown): node is Document;
56
+ /** Returns the center x/y coordinate of a given element. */
57
+ export declare function getCenterPoint(element: Element): {
58
+ x: number;
59
+ y: number;
60
+ };
61
+ /**
62
+ * Maps a pointer's `clientX` coordinate to a fraction in the [0, 1] range of the
63
+ * element's bounding box width, measured from the element's logical start edge -
64
+ * the left edge when `ltr` is true, the right one otherwise.
65
+ *
66
+ * Returns 0 for an element without layout.
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * // Pointer 30px into a 120px wide element
71
+ * pointToFraction(element, event.clientX); // 0.25
72
+ * pointToFraction(element, event.clientX, false); // 0.75
73
+ * ```
74
+ */
75
+ export declare function pointToFraction(element: Element, clientX: number, ltr?: boolean): number;
76
+ /**
77
+ * Concatenates the text content of the given nodes into a single string,
78
+ * trimmed and with consecutive whitespace collapsed.
79
+ *
80
+ * Useful for deriving an accessible label from projected content.
81
+ */
82
+ export declare function normalizedTextContent(nodes: Iterable<Node>): string;
83
+ /** Returns whether the given client coordinates lie within the bounding box of the element. */
84
+ export declare function isPointInsideElement(element: Element, x: number, y: number): boolean;
85
+ /** Returns the scale factor of a given element based on its bounding client rect and offset dimensions. */
86
+ export declare function getScaleFactor(element: HTMLElement): {
87
+ x: number;
88
+ y: number;
89
+ };
90
+ /** Rounds a CSS pixel value to the closest device-pixel boundary to avoid blurry rendering. */
91
+ export declare function roundByDPR(value: number): number;
92
+ /** Null-safe `Element.scrollIntoView` defaulting to the nearest block/inline position. */
93
+ export declare function scrollIntoView(element?: HTMLElement | null, config?: ScrollIntoViewOptions): void;
94
+ /** Applies the given CSS declarations to the inline style of the element. */
95
+ export declare function setStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): void;
96
+ /** Returns whether the given input has at least one selected file. */
97
+ export declare function hasFiles(input: {
98
+ files: FileList | null;
99
+ }): boolean;
100
+ /**
101
+ * Returns whether the given element is currently an open popover or not.
102
+ * This is useful to determine if the popover is open without relying on the `open` property, which may not be in sync with the actual popover state if the opening/closing animations are still running.
103
+ * Note: This function only works for elements that use the `:popover-open` pseudo-class to indicate
104
+ */
105
+ export declare function isPopoverOpen(element?: Element): boolean;
106
+ /**
107
+ * Returns whether the given element, or any of its ancestors across shadow DOM
108
+ * boundaries, is positioned as `sticky`.
109
+ */
110
+ export declare function hasStickyAncestor(element: Element): boolean;
111
+ /**
112
+ * Returns the nearest visible ancestor of a given node, traversing through shadow DOM boundaries if necessary. If no visible ancestor is found, returns null.
113
+ */
114
+ export declare function getVisibleAncestor(startNode: Node): HTMLElement | null;