igniteui-webcomponents 7.2.4 → 7.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (976) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/animations/player.js +1 -1
  3. package/animations/player.js.map +1 -1
  4. package/animations/view-transition.js +1 -1
  5. package/animations/view-transition.js.map +1 -1
  6. package/components/accordion/accordion.d.ts +1 -1
  7. package/components/accordion/accordion.js +7 -6
  8. package/components/accordion/accordion.js.map +1 -1
  9. package/components/avatar/avatar.js +3 -3
  10. package/components/avatar/avatar.js.map +1 -1
  11. package/components/avatar/themes/themes.d.ts +1 -1
  12. package/components/avatar/themes/themes.js.map +1 -1
  13. package/components/badge/badge.d.ts +1 -1
  14. package/components/badge/badge.js +5 -5
  15. package/components/badge/badge.js.map +1 -1
  16. package/components/badge/themes/themes.d.ts +1 -1
  17. package/components/badge/themes/themes.js.map +1 -1
  18. package/components/banner/banner.d.ts +2 -2
  19. package/components/banner/banner.js +8 -8
  20. package/components/banner/banner.js.map +1 -1
  21. package/components/banner/themes/themes.d.ts +1 -1
  22. package/components/banner/themes/themes.js.map +1 -1
  23. package/components/button/button-base.d.ts +2 -2
  24. package/components/button/button-base.js +9 -8
  25. package/components/button/button-base.js.map +1 -1
  26. package/components/button/button.d.ts +3 -3
  27. package/components/button/button.js +2 -2
  28. package/components/button/button.js.map +1 -1
  29. package/components/button/icon-button.js +3 -3
  30. package/components/button/icon-button.js.map +1 -1
  31. package/components/button/themes/button/themes.d.ts +1 -1
  32. package/components/button/themes/button/themes.js.map +1 -1
  33. package/components/button/themes/icon-button/themes.d.ts +1 -1
  34. package/components/button/themes/icon-button/themes.js.map +1 -1
  35. package/components/button-group/button-group.d.ts +42 -21
  36. package/components/button-group/button-group.js +101 -106
  37. package/components/button-group/button-group.js.map +1 -1
  38. package/components/button-group/themes/button.d.ts +1 -1
  39. package/components/button-group/themes/button.js.map +1 -1
  40. package/components/button-group/themes/group.d.ts +1 -1
  41. package/components/button-group/themes/group.js.map +1 -1
  42. package/components/button-group/toggle-button.d.ts +17 -10
  43. package/components/button-group/toggle-button.js +28 -13
  44. package/components/button-group/toggle-button.js.map +1 -1
  45. package/components/calendar/base.d.ts +29 -10
  46. package/components/calendar/base.js +12 -15
  47. package/components/calendar/base.js.map +1 -1
  48. package/components/calendar/calendar.d.ts +39 -8
  49. package/components/calendar/calendar.js +96 -85
  50. package/components/calendar/calendar.js.map +1 -1
  51. package/components/calendar/days-view/days-view.d.ts +49 -22
  52. package/components/calendar/days-view/days-view.js +102 -163
  53. package/components/calendar/days-view/days-view.js.map +1 -1
  54. package/components/calendar/helpers.d.ts +3 -62
  55. package/components/calendar/helpers.js +6 -110
  56. package/components/calendar/helpers.js.map +1 -1
  57. package/components/calendar/months-view/months-view.d.ts +7 -21
  58. package/components/calendar/months-view/months-view.js +30 -83
  59. package/components/calendar/months-view/months-view.js.map +1 -1
  60. package/components/calendar/selection.d.ts +21 -0
  61. package/components/calendar/selection.js +42 -0
  62. package/components/calendar/selection.js.map +1 -0
  63. package/components/calendar/themes/calendar.d.ts +1 -1
  64. package/components/calendar/themes/calendar.js.map +1 -1
  65. package/components/calendar/themes/days.d.ts +1 -1
  66. package/components/calendar/themes/days.js.map +1 -1
  67. package/components/calendar/themes/year-month.d.ts +1 -1
  68. package/components/calendar/themes/year-month.js.map +1 -1
  69. package/components/calendar/types.d.ts +18 -0
  70. package/components/calendar/types.js.map +1 -1
  71. package/components/calendar/year-month-view.base.d.ts +44 -0
  72. package/components/calendar/year-month-view.base.js +89 -0
  73. package/components/calendar/year-month-view.base.js.map +1 -0
  74. package/components/calendar/years-view/years-view.d.ts +7 -20
  75. package/components/calendar/years-view/years-view.js +25 -79
  76. package/components/calendar/years-view/years-view.js.map +1 -1
  77. package/components/card/card.actions.js +2 -2
  78. package/components/card/card.actions.js.map +1 -1
  79. package/components/card/card.content.d.ts +1 -1
  80. package/components/card/card.content.js +2 -2
  81. package/components/card/card.content.js.map +1 -1
  82. package/components/card/card.d.ts +1 -1
  83. package/components/card/card.header.js +2 -2
  84. package/components/card/card.header.js.map +1 -1
  85. package/components/card/card.js +2 -2
  86. package/components/card/card.js.map +1 -1
  87. package/components/card/card.media.d.ts +1 -1
  88. package/components/card/card.media.js +1 -1
  89. package/components/card/card.media.js.map +1 -1
  90. package/components/card/themes/actions.d.ts +1 -1
  91. package/components/card/themes/actions.js.map +1 -1
  92. package/components/card/themes/container.d.ts +1 -1
  93. package/components/card/themes/container.js.map +1 -1
  94. package/components/card/themes/content.d.ts +1 -1
  95. package/components/card/themes/content.js.map +1 -1
  96. package/components/card/themes/header.d.ts +1 -1
  97. package/components/card/themes/header.js.map +1 -1
  98. package/components/carousel/animations.d.ts +1 -1
  99. package/components/carousel/animations.js +2 -2
  100. package/components/carousel/animations.js.map +1 -1
  101. package/components/carousel/carousel-indicator-container.js +4 -4
  102. package/components/carousel/carousel-indicator-container.js.map +1 -1
  103. package/components/carousel/carousel-indicator.d.ts +1 -1
  104. package/components/carousel/carousel-indicator.js +5 -5
  105. package/components/carousel/carousel-indicator.js.map +1 -1
  106. package/components/carousel/carousel-slide.d.ts +1 -1
  107. package/components/carousel/carousel-slide.js +9 -9
  108. package/components/carousel/carousel-slide.js.map +1 -1
  109. package/components/carousel/carousel.d.ts +7 -7
  110. package/components/carousel/carousel.js +39 -28
  111. package/components/carousel/carousel.js.map +1 -1
  112. package/components/carousel/themes/container.d.ts +1 -1
  113. package/components/carousel/themes/container.js.map +1 -1
  114. package/components/carousel/themes/indicator-container.d.ts +1 -1
  115. package/components/carousel/themes/indicator-container.js.map +1 -1
  116. package/components/chat/chat-input.d.ts +4 -4
  117. package/components/chat/chat-input.js +9 -8
  118. package/components/chat/chat-input.js.map +1 -1
  119. package/components/chat/chat-message.d.ts +1 -1
  120. package/components/chat/chat-message.js +7 -6
  121. package/components/chat/chat-message.js.map +1 -1
  122. package/components/chat/chat-state.d.ts +2 -2
  123. package/components/chat/chat-state.js +2 -1
  124. package/components/chat/chat-state.js.map +1 -1
  125. package/components/chat/chat.d.ts +4 -4
  126. package/components/chat/chat.js +7 -7
  127. package/components/chat/chat.js.map +1 -1
  128. package/components/chat/message-attachments.js +5 -5
  129. package/components/chat/message-attachments.js.map +1 -1
  130. package/components/chat/themes/attachments.d.ts +1 -1
  131. package/components/chat/themes/attachments.js.map +1 -1
  132. package/components/chat/themes/input.d.ts +1 -1
  133. package/components/chat/themes/input.js.map +1 -1
  134. package/components/chat/themes/message.d.ts +1 -1
  135. package/components/chat/themes/message.js.map +1 -1
  136. package/components/chat/themes/themes.d.ts +1 -1
  137. package/components/chat/themes/themes.js.map +1 -1
  138. package/components/chat/types.d.ts +2 -2
  139. package/components/chat/types.js.map +1 -1
  140. package/components/chat/utils.d.ts +1 -1
  141. package/components/chat/utils.js +3 -3
  142. package/components/chat/utils.js.map +1 -1
  143. package/components/checkbox/checkbox-base.d.ts +7 -7
  144. package/components/checkbox/checkbox-base.js +7 -7
  145. package/components/checkbox/checkbox-base.js.map +1 -1
  146. package/components/checkbox/checkbox.js +7 -6
  147. package/components/checkbox/checkbox.js.map +1 -1
  148. package/components/checkbox/switch.js +7 -6
  149. package/components/checkbox/switch.js.map +1 -1
  150. package/components/checkbox/themes/checkbox-themes.d.ts +1 -1
  151. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  152. package/components/checkbox/themes/switch-themes.d.ts +1 -1
  153. package/components/checkbox/themes/switch-themes.js.map +1 -1
  154. package/components/checkbox/validators.d.ts +1 -1
  155. package/components/checkbox/validators.js +1 -1
  156. package/components/checkbox/validators.js.map +1 -1
  157. package/components/chip/chip.d.ts +9 -3
  158. package/components/chip/chip.js +10 -6
  159. package/components/chip/chip.js.map +1 -1
  160. package/components/chip/themes/chip.base.css.js +1 -1
  161. package/components/chip/themes/chip.base.css.js.map +1 -1
  162. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  163. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  164. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  165. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  166. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  167. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  168. package/components/chip/themes/dark/chip.material.css.js +1 -1
  169. package/components/chip/themes/dark/chip.material.css.js.map +1 -1
  170. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  171. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  172. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  173. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  174. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  175. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  176. package/components/chip/themes/light/chip.material.css.js +1 -1
  177. package/components/chip/themes/light/chip.material.css.js.map +1 -1
  178. package/components/chip/themes/light/chip.shared.css.js +1 -1
  179. package/components/chip/themes/light/chip.shared.css.js.map +1 -1
  180. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  181. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  182. package/components/chip/themes/shared/chip.common.css.js +1 -1
  183. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  184. package/components/chip/themes/shared/chip.fluent.css.js +1 -1
  185. package/components/chip/themes/shared/chip.fluent.css.js.map +1 -1
  186. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  187. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  188. package/components/chip/themes/themes.d.ts +1 -1
  189. package/components/chip/themes/themes.js.map +1 -1
  190. package/components/combo/combo-header.js +2 -2
  191. package/components/combo/combo-header.js.map +1 -1
  192. package/components/combo/combo-item.d.ts +0 -2
  193. package/components/combo/combo-item.js +4 -7
  194. package/components/combo/combo-item.js.map +1 -1
  195. package/components/combo/combo.d.ts +84 -27
  196. package/components/combo/combo.js +194 -157
  197. package/components/combo/combo.js.map +1 -1
  198. package/components/combo/controllers/data.d.ts +30 -3
  199. package/components/combo/controllers/data.js +34 -9
  200. package/components/combo/controllers/data.js.map +1 -1
  201. package/components/combo/controllers/navigation.d.ts +8 -2
  202. package/components/combo/controllers/navigation.js +11 -12
  203. package/components/combo/controllers/navigation.js.map +1 -1
  204. package/components/combo/operations/filter.d.ts +17 -1
  205. package/components/combo/operations/filter.js +29 -9
  206. package/components/combo/operations/filter.js.map +1 -1
  207. package/components/combo/operations/group.js +1 -1
  208. package/components/combo/operations/group.js.map +1 -1
  209. package/components/combo/themes/combo.base.css.js +1 -1
  210. package/components/combo/themes/combo.base.css.js.map +1 -1
  211. package/components/combo/themes/themes.d.ts +1 -1
  212. package/components/combo/themes/themes.js.map +1 -1
  213. package/components/combo/types.d.ts +8 -4
  214. package/components/combo/types.js.map +1 -1
  215. package/components/combo/validators.d.ts +1 -1
  216. package/components/combo/validators.js.map +1 -1
  217. package/components/date-picker/date-picker.base.d.ts +294 -0
  218. package/components/date-picker/date-picker.base.js +480 -0
  219. package/components/date-picker/date-picker.base.js.map +1 -0
  220. package/components/date-picker/date-picker.d.ts +53 -174
  221. package/components/date-picker/date-picker.js +88 -399
  222. package/components/date-picker/date-picker.js.map +1 -1
  223. package/components/date-picker/themes/themes.d.ts +1 -1
  224. package/components/date-picker/themes/themes.js.map +1 -1
  225. package/components/date-picker/validators.d.ts +1 -1
  226. package/components/date-picker/validators.js +2 -2
  227. package/components/date-picker/validators.js.map +1 -1
  228. package/components/date-range-picker/date-range-input.d.ts +12 -14
  229. package/components/date-range-picker/date-range-input.js +42 -98
  230. package/components/date-range-picker/date-range-input.js.map +1 -1
  231. package/components/date-range-picker/date-range-mask-parser.d.ts +22 -34
  232. package/components/date-range-picker/date-range-mask-parser.js +38 -69
  233. package/components/date-range-picker/date-range-mask-parser.js.map +1 -1
  234. package/components/date-range-picker/date-range-picker.d.ts +97 -191
  235. package/components/date-range-picker/date-range-picker.js +210 -532
  236. package/components/date-range-picker/date-range-picker.js.map +1 -1
  237. package/components/date-range-picker/predefined-ranges-area.d.ts +2 -2
  238. package/components/date-range-picker/predefined-ranges-area.js +5 -5
  239. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  240. package/components/date-range-picker/themes/ranges-themes.d.ts +1 -1
  241. package/components/date-range-picker/themes/ranges-themes.js.map +1 -1
  242. package/components/date-range-picker/themes/themes.d.ts +1 -1
  243. package/components/date-range-picker/themes/themes.js.map +1 -1
  244. package/components/date-range-picker/validators.d.ts +1 -1
  245. package/components/date-range-picker/validators.js +15 -22
  246. package/components/date-range-picker/validators.js.map +1 -1
  247. package/components/date-time-input/date-part.d.ts +18 -1
  248. package/components/date-time-input/date-part.js +10 -0
  249. package/components/date-time-input/date-part.js.map +1 -1
  250. package/components/date-time-input/date-time-input.base.d.ts +72 -25
  251. package/components/date-time-input/date-time-input.base.js +100 -36
  252. package/components/date-time-input/date-time-input.base.js.map +1 -1
  253. package/components/date-time-input/date-time-input.d.ts +13 -23
  254. package/components/date-time-input/date-time-input.js +45 -65
  255. package/components/date-time-input/date-time-input.js.map +1 -1
  256. package/components/date-time-input/datetime-mask-parser.d.ts +45 -109
  257. package/components/date-time-input/datetime-mask-parser.js +88 -139
  258. package/components/date-time-input/datetime-mask-parser.js.map +1 -1
  259. package/components/date-time-input/validators.d.ts +1 -1
  260. package/components/date-time-input/validators.js +2 -2
  261. package/components/date-time-input/validators.js.map +1 -1
  262. package/components/dialog/dialog.d.ts +2 -2
  263. package/components/dialog/dialog.js +17 -18
  264. package/components/dialog/dialog.js.map +1 -1
  265. package/components/dialog/themes/themes.d.ts +1 -1
  266. package/components/dialog/themes/themes.js.map +1 -1
  267. package/components/divider/divider.d.ts +2 -1
  268. package/components/divider/divider.js +3 -3
  269. package/components/divider/divider.js.map +1 -1
  270. package/components/divider/themes/themes.d.ts +1 -1
  271. package/components/divider/themes/themes.js.map +1 -1
  272. package/components/dropdown/dropdown-group.d.ts +10 -3
  273. package/components/dropdown/dropdown-group.js +21 -5
  274. package/components/dropdown/dropdown-group.js.map +1 -1
  275. package/components/dropdown/dropdown-header.d.ts +2 -2
  276. package/components/dropdown/dropdown-header.js +7 -2
  277. package/components/dropdown/dropdown-header.js.map +1 -1
  278. package/components/dropdown/dropdown-item.d.ts +4 -4
  279. package/components/dropdown/dropdown-item.js +3 -3
  280. package/components/dropdown/dropdown-item.js.map +1 -1
  281. package/components/dropdown/dropdown.d.ts +75 -32
  282. package/components/dropdown/dropdown.js +189 -110
  283. package/components/dropdown/dropdown.js.map +1 -1
  284. package/components/dropdown/themes/container.d.ts +1 -1
  285. package/components/dropdown/themes/container.js.map +1 -1
  286. package/components/dropdown/themes/group.d.ts +1 -1
  287. package/components/dropdown/themes/group.js.map +1 -1
  288. package/components/dropdown/themes/header.d.ts +1 -1
  289. package/components/dropdown/themes/header.js.map +1 -1
  290. package/components/dropdown/themes/item.d.ts +1 -1
  291. package/components/dropdown/themes/item.js.map +1 -1
  292. package/components/expansion-panel/expansion-panel.d.ts +14 -5
  293. package/components/expansion-panel/expansion-panel.js +10 -9
  294. package/components/expansion-panel/expansion-panel.js.map +1 -1
  295. package/components/expansion-panel/themes/themes.d.ts +1 -1
  296. package/components/expansion-panel/themes/themes.js.map +1 -1
  297. package/components/file-input/file-input.d.ts +20 -12
  298. package/components/file-input/file-input.js +17 -12
  299. package/components/file-input/file-input.js.map +1 -1
  300. package/components/file-input/themes/themes.d.ts +1 -1
  301. package/components/file-input/themes/themes.js.map +1 -1
  302. package/components/file-input/validators.d.ts +1 -1
  303. package/components/file-input/validators.js +1 -1
  304. package/components/file-input/validators.js.map +1 -1
  305. package/components/focus-trap/focus-trap.js +3 -2
  306. package/components/focus-trap/focus-trap.js.map +1 -1
  307. package/components/highlight/highlight.js +2 -2
  308. package/components/highlight/highlight.js.map +1 -1
  309. package/components/highlight/service.d.ts +4 -1
  310. package/components/highlight/service.js +23 -7
  311. package/components/highlight/service.js.map +1 -1
  312. package/components/highlight/themes/themes.d.ts +1 -1
  313. package/components/highlight/themes/themes.js.map +1 -1
  314. package/components/icon/icon-references.d.ts +3 -2
  315. package/components/icon/icon-references.js +103 -491
  316. package/components/icon/icon-references.js.map +1 -1
  317. package/components/icon/icon-state.broadcast.d.ts +14 -17
  318. package/components/icon/icon-state.broadcast.js +19 -20
  319. package/components/icon/icon-state.broadcast.js.map +1 -1
  320. package/components/icon/icon.d.ts +12 -24
  321. package/components/icon/icon.js +36 -28
  322. package/components/icon/icon.js.map +1 -1
  323. package/components/icon/icon.registry.d.ts +69 -131
  324. package/components/icon/icon.registry.js +51 -53
  325. package/components/icon/icon.registry.js.map +1 -1
  326. package/components/icon/internal-icons-lib.js +2 -2
  327. package/components/icon/internal-icons-lib.js.map +1 -1
  328. package/components/icon/registry/parser.d.ts +15 -3
  329. package/components/icon/registry/parser.js +36 -11
  330. package/components/icon/registry/parser.js.map +1 -1
  331. package/components/icon/registry/types.d.ts +55 -11
  332. package/components/icon/registry/types.js.map +1 -1
  333. package/components/icon/themes/icon.base.css.js +1 -1
  334. package/components/icon/themes/icon.base.css.js.map +1 -1
  335. package/components/icon/themes/shared/icon.common.css.js +1 -1
  336. package/components/icon/themes/shared/icon.common.css.js.map +1 -1
  337. package/components/icon/themes/themes.d.ts +1 -1
  338. package/components/icon/themes/themes.js.map +1 -1
  339. package/components/input/input-base.d.ts +10 -25
  340. package/components/input/input-base.js +14 -23
  341. package/components/input/input-base.js.map +1 -1
  342. package/components/input/input.d.ts +15 -12
  343. package/components/input/input.js +8 -9
  344. package/components/input/input.js.map +1 -1
  345. package/components/input/themes/input.base.css.js +1 -1
  346. package/components/input/themes/input.base.css.js.map +1 -1
  347. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  348. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  349. package/components/input/themes/shared/input.common.css.js +1 -1
  350. package/components/input/themes/shared/input.common.css.js.map +1 -1
  351. package/components/input/themes/shared/input.fluent.css.js +1 -1
  352. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  353. package/components/input/themes/shared/input.indigo.css.js +1 -1
  354. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  355. package/components/input/themes/shared/input.material.css.js +1 -1
  356. package/components/input/themes/shared/input.material.css.js.map +1 -1
  357. package/components/input/themes/themes.d.ts +1 -1
  358. package/components/input/themes/themes.js.map +1 -1
  359. package/components/input/validators.d.ts +1 -1
  360. package/components/input/validators.js +1 -1
  361. package/components/input/validators.js.map +1 -1
  362. package/components/list/list-header.js +3 -3
  363. package/components/list/list-header.js.map +1 -1
  364. package/components/list/list-item.js +3 -3
  365. package/components/list/list-item.js.map +1 -1
  366. package/components/list/list.js +3 -3
  367. package/components/list/list.js.map +1 -1
  368. package/components/list/themes/container.d.ts +1 -1
  369. package/components/list/themes/container.js.map +1 -1
  370. package/components/list/themes/header.d.ts +1 -1
  371. package/components/list/themes/header.js.map +1 -1
  372. package/components/list/themes/item.d.ts +1 -1
  373. package/components/list/themes/item.js.map +1 -1
  374. package/components/mask-input/mask-history.d.ts +99 -0
  375. package/components/mask-input/mask-history.js +95 -0
  376. package/components/mask-input/mask-history.js.map +1 -0
  377. package/components/mask-input/mask-input.d.ts +14 -9
  378. package/components/mask-input/mask-input.js +20 -24
  379. package/components/mask-input/mask-input.js.map +1 -1
  380. package/components/mask-input/mask-parser.d.ts +20 -2
  381. package/components/mask-input/mask-parser.js +21 -13
  382. package/components/mask-input/mask-parser.js.map +1 -1
  383. package/components/mask-input/validators.d.ts +1 -1
  384. package/components/mask-input/validators.js +1 -1
  385. package/components/mask-input/validators.js.map +1 -1
  386. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -1
  387. package/components/nav-drawer/nav-drawer-header-item.js +2 -2
  388. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  389. package/components/nav-drawer/nav-drawer-item.d.ts +2 -2
  390. package/components/nav-drawer/nav-drawer-item.js +4 -4
  391. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  392. package/components/nav-drawer/nav-drawer.d.ts +3 -3
  393. package/components/nav-drawer/nav-drawer.js +11 -14
  394. package/components/nav-drawer/nav-drawer.js.map +1 -1
  395. package/components/nav-drawer/themes/container.base.css.js +1 -1
  396. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  397. package/components/nav-drawer/themes/container.d.ts +1 -1
  398. package/components/nav-drawer/themes/container.js +2 -3
  399. package/components/nav-drawer/themes/container.js.map +1 -1
  400. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +1 -1
  401. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -1
  402. package/components/nav-drawer/themes/header-item.d.ts +1 -1
  403. package/components/nav-drawer/themes/header-item.js.map +1 -1
  404. package/components/nav-drawer/themes/item.d.ts +1 -1
  405. package/components/nav-drawer/themes/item.js.map +1 -1
  406. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
  407. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
  408. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
  409. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
  410. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
  411. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
  412. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +1 -1
  413. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -1
  414. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  415. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  416. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  417. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  418. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  419. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  420. package/components/navbar/navbar.js +2 -2
  421. package/components/navbar/navbar.js.map +1 -1
  422. package/components/navbar/themes/themes.d.ts +1 -1
  423. package/components/navbar/themes/themes.js.map +1 -1
  424. package/components/popover/popover.d.ts +10 -3
  425. package/components/popover/popover.js +114 -99
  426. package/components/popover/popover.js.map +1 -1
  427. package/components/progress/base.d.ts +1 -1
  428. package/components/progress/base.js +5 -4
  429. package/components/progress/base.js.map +1 -1
  430. package/components/progress/circular-gradient.d.ts +2 -2
  431. package/components/progress/circular-gradient.js +1 -1
  432. package/components/progress/circular-gradient.js.map +1 -1
  433. package/components/progress/circular-progress.d.ts +15 -15
  434. package/components/progress/circular-progress.js +7 -6
  435. package/components/progress/circular-progress.js.map +1 -1
  436. package/components/progress/linear-progress.d.ts +12 -12
  437. package/components/progress/linear-progress.js +4 -4
  438. package/components/progress/linear-progress.js.map +1 -1
  439. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  440. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  441. package/components/progress/themes/circular/themes.d.ts +1 -1
  442. package/components/progress/themes/circular/themes.js.map +1 -1
  443. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  444. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  445. package/components/progress/themes/linear/themes.d.ts +1 -1
  446. package/components/progress/themes/linear/themes.js.map +1 -1
  447. package/components/qr-code/model/encode.d.ts +20 -0
  448. package/components/qr-code/model/encode.js +166 -0
  449. package/components/qr-code/model/encode.js.map +1 -0
  450. package/components/qr-code/model/error-correction.d.ts +15 -0
  451. package/components/qr-code/model/error-correction.js +1114 -0
  452. package/components/qr-code/model/error-correction.js.map +1 -0
  453. package/components/qr-code/model/mask.d.ts +11 -0
  454. package/components/qr-code/model/mask.js +161 -0
  455. package/components/qr-code/model/mask.js.map +1 -0
  456. package/components/qr-code/model/matrix.d.ts +15 -0
  457. package/components/qr-code/model/matrix.js +277 -0
  458. package/components/qr-code/model/matrix.js.map +1 -0
  459. package/components/qr-code/qr-code.d.ts +134 -0
  460. package/components/qr-code/qr-code.js +221 -0
  461. package/components/qr-code/qr-code.js.map +1 -0
  462. package/components/qr-code/renderer/constants.d.ts +26 -0
  463. package/components/qr-code/renderer/constants.js +5 -0
  464. package/components/qr-code/renderer/constants.js.map +1 -0
  465. package/components/qr-code/renderer/corner.d.ts +23 -0
  466. package/components/qr-code/renderer/corner.js +25 -0
  467. package/components/qr-code/renderer/corner.js.map +1 -0
  468. package/components/qr-code/renderer/dots.d.ts +14 -0
  469. package/components/qr-code/renderer/dots.js +7 -0
  470. package/components/qr-code/renderer/dots.js.map +1 -0
  471. package/components/qr-code/renderer/helpers.d.ts +18 -0
  472. package/components/qr-code/renderer/helpers.js +158 -0
  473. package/components/qr-code/renderer/helpers.js.map +1 -0
  474. package/components/qr-code/renderer/image.d.ts +23 -0
  475. package/components/qr-code/renderer/image.js +29 -0
  476. package/components/qr-code/renderer/image.js.map +1 -0
  477. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js +3 -0
  478. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js.map +1 -0
  479. package/components/qr-code/themes/dark/qr-code.fluent.css.d.ts +1 -0
  480. package/components/qr-code/themes/dark/qr-code.fluent.css.js +3 -0
  481. package/components/qr-code/themes/dark/qr-code.fluent.css.js.map +1 -0
  482. package/components/qr-code/themes/dark/qr-code.indigo.css.d.ts +1 -0
  483. package/components/qr-code/themes/dark/qr-code.indigo.css.js +3 -0
  484. package/components/qr-code/themes/dark/qr-code.indigo.css.js.map +1 -0
  485. package/components/qr-code/themes/dark/qr-code.material.css.d.ts +1 -0
  486. package/components/qr-code/themes/dark/qr-code.material.css.js +3 -0
  487. package/components/qr-code/themes/dark/qr-code.material.css.js.map +1 -0
  488. package/components/qr-code/themes/light/qr-code.bootstrap.css.d.ts +1 -0
  489. package/components/qr-code/themes/light/qr-code.bootstrap.css.js +3 -0
  490. package/components/qr-code/themes/light/qr-code.bootstrap.css.js.map +1 -0
  491. package/components/qr-code/themes/light/qr-code.fluent.css.d.ts +1 -0
  492. package/components/qr-code/themes/light/qr-code.fluent.css.js +3 -0
  493. package/components/qr-code/themes/light/qr-code.fluent.css.js.map +1 -0
  494. package/components/qr-code/themes/light/qr-code.indigo.css.d.ts +1 -0
  495. package/components/qr-code/themes/light/qr-code.indigo.css.js +3 -0
  496. package/components/qr-code/themes/light/qr-code.indigo.css.js.map +1 -0
  497. package/components/qr-code/themes/light/qr-code.material.css.d.ts +1 -0
  498. package/components/qr-code/themes/light/qr-code.material.css.js +3 -0
  499. package/components/qr-code/themes/light/qr-code.material.css.js.map +1 -0
  500. package/components/qr-code/themes/light/qr-code.shared.css.d.ts +1 -0
  501. package/components/qr-code/themes/light/qr-code.shared.css.js +3 -0
  502. package/components/qr-code/themes/light/qr-code.shared.css.js.map +1 -0
  503. package/components/qr-code/themes/qr-code.base.css.d.ts +1 -0
  504. package/components/qr-code/themes/qr-code.base.css.js +3 -0
  505. package/components/qr-code/themes/qr-code.base.css.js.map +1 -0
  506. package/components/qr-code/themes/shared/qr-code.common.css.d.ts +1 -0
  507. package/components/qr-code/themes/shared/qr-code.common.css.js +3 -0
  508. package/components/qr-code/themes/shared/qr-code.common.css.js.map +1 -0
  509. package/components/qr-code/themes/themes.d.ts +2 -0
  510. package/components/qr-code/themes/themes.js +46 -0
  511. package/components/qr-code/themes/themes.js.map +1 -0
  512. package/components/qr-code/types.d.ts +16 -0
  513. package/components/qr-code/types.js +2 -0
  514. package/components/qr-code/types.js.map +1 -0
  515. package/components/radio/controller.d.ts +35 -0
  516. package/components/radio/controller.js +100 -0
  517. package/components/radio/controller.js.map +1 -0
  518. package/components/radio/radio.d.ts +26 -14
  519. package/components/radio/radio.js +47 -36
  520. package/components/radio/radio.js.map +1 -1
  521. package/components/radio/themes/themes.d.ts +1 -1
  522. package/components/radio/themes/themes.js.map +1 -1
  523. package/components/radio/validators.d.ts +1 -1
  524. package/components/radio/validators.js +5 -3
  525. package/components/radio/validators.js.map +1 -1
  526. package/components/radio-group/radio-group.d.ts +19 -10
  527. package/components/radio-group/radio-group.js +50 -41
  528. package/components/radio-group/radio-group.js.map +1 -1
  529. package/components/radio-group/themes/themes.d.ts +1 -1
  530. package/components/radio-group/themes/themes.js.map +1 -1
  531. package/components/rating/rating-symbol.d.ts +1 -1
  532. package/components/rating/rating-symbol.js +1 -1
  533. package/components/rating/rating-symbol.js.map +1 -1
  534. package/components/rating/rating.d.ts +6 -6
  535. package/components/rating/rating.js +12 -9
  536. package/components/rating/rating.js.map +1 -1
  537. package/components/rating/themes/themes.d.ts +1 -1
  538. package/components/rating/themes/themes.js.map +1 -1
  539. package/components/resize-container/resize-container.d.ts +4 -4
  540. package/components/resize-container/resize-container.js +4 -4
  541. package/components/resize-container/resize-container.js.map +1 -1
  542. package/components/resize-container/resize-controller.js +2 -2
  543. package/components/resize-container/resize-controller.js.map +1 -1
  544. package/components/resize-container/themes/themes.d.ts +1 -1
  545. package/components/resize-container/themes/themes.js.map +1 -1
  546. package/components/ripple/ripple.d.ts +1 -1
  547. package/components/ripple/ripple.js +3 -2
  548. package/components/ripple/ripple.js.map +1 -1
  549. package/components/select/select-group.d.ts +9 -2
  550. package/components/select/select-group.js +21 -5
  551. package/components/select/select-group.js.map +1 -1
  552. package/components/select/select-header.d.ts +1 -1
  553. package/components/select/select-header.js +7 -2
  554. package/components/select/select-header.js.map +1 -1
  555. package/components/select/select-item.d.ts +4 -4
  556. package/components/select/select-item.js +3 -3
  557. package/components/select/select-item.js.map +1 -1
  558. package/components/select/select.d.ts +48 -27
  559. package/components/select/select.js +128 -74
  560. package/components/select/select.js.map +1 -1
  561. package/components/select/themes/select.base.css.js +1 -1
  562. package/components/select/themes/select.base.css.js.map +1 -1
  563. package/components/select/themes/themes.d.ts +1 -1
  564. package/components/select/themes/themes.js.map +1 -1
  565. package/components/select/validators.d.ts +1 -1
  566. package/components/select/validators.js +1 -1
  567. package/components/select/validators.js.map +1 -1
  568. package/components/slider/range-slider.d.ts +2 -2
  569. package/components/slider/range-slider.js +3 -3
  570. package/components/slider/range-slider.js.map +1 -1
  571. package/components/slider/slider-base.js +9 -5
  572. package/components/slider/slider-base.js.map +1 -1
  573. package/components/slider/slider-label.js +1 -1
  574. package/components/slider/slider-label.js.map +1 -1
  575. package/components/slider/slider.d.ts +3 -3
  576. package/components/slider/slider.js +6 -6
  577. package/components/slider/slider.js.map +1 -1
  578. package/components/slider/themes/themes.d.ts +1 -1
  579. package/components/slider/themes/themes.js.map +1 -1
  580. package/components/snackbar/snackbar.d.ts +3 -3
  581. package/components/snackbar/snackbar.js +4 -4
  582. package/components/snackbar/snackbar.js.map +1 -1
  583. package/components/snackbar/themes/themes.d.ts +1 -1
  584. package/components/snackbar/themes/themes.js.map +1 -1
  585. package/components/splitter/splitter.d.ts +106 -23
  586. package/components/splitter/splitter.js +234 -147
  587. package/components/splitter/splitter.js.map +1 -1
  588. package/components/splitter/themes/themes.d.ts +1 -1
  589. package/components/splitter/themes/themes.js.map +1 -1
  590. package/components/splitter/types.d.ts +14 -3
  591. package/components/splitter/types.js.map +1 -1
  592. package/components/stepper/common/animations.d.ts +1 -1
  593. package/components/stepper/common/animations.js +2 -2
  594. package/components/stepper/common/animations.js.map +1 -1
  595. package/components/stepper/step.d.ts +1 -1
  596. package/components/stepper/step.js +7 -7
  597. package/components/stepper/step.js.map +1 -1
  598. package/components/stepper/stepper.d.ts +5 -5
  599. package/components/stepper/stepper.js +12 -9
  600. package/components/stepper/stepper.js.map +1 -1
  601. package/components/stepper/themes/step/themes.d.ts +1 -1
  602. package/components/stepper/themes/step/themes.js.map +1 -1
  603. package/components/tabs/tab-dom.d.ts +31 -28
  604. package/components/tabs/tab-dom.js +84 -34
  605. package/components/tabs/tab-dom.js.map +1 -1
  606. package/components/tabs/tab.d.ts +24 -6
  607. package/components/tabs/tab.js +34 -13
  608. package/components/tabs/tab.js.map +1 -1
  609. package/components/tabs/tabs.d.ts +36 -22
  610. package/components/tabs/tabs.js +113 -102
  611. package/components/tabs/tabs.js.map +1 -1
  612. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
  613. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
  614. package/components/tabs/themes/tab-themes.d.ts +1 -1
  615. package/components/tabs/themes/tab-themes.js.map +1 -1
  616. package/components/tabs/themes/tabs-themes.d.ts +1 -1
  617. package/components/tabs/themes/tabs-themes.js.map +1 -1
  618. package/components/tabs/themes/tabs.base.css.js +1 -1
  619. package/components/tabs/themes/tabs.base.css.js.map +1 -1
  620. package/components/textarea/textarea.d.ts +19 -14
  621. package/components/textarea/textarea.js +22 -17
  622. package/components/textarea/textarea.js.map +1 -1
  623. package/components/textarea/themes/themes.d.ts +1 -1
  624. package/components/textarea/themes/themes.js.map +1 -1
  625. package/components/textarea/validators.d.ts +1 -1
  626. package/components/textarea/validators.js +1 -1
  627. package/components/textarea/validators.js.map +1 -1
  628. package/components/theme-provider/theme-provider.d.ts +1 -1
  629. package/components/theme-provider/theme-provider.js +2 -2
  630. package/components/theme-provider/theme-provider.js.map +1 -1
  631. package/components/tile-manager/position.d.ts +1 -1
  632. package/components/tile-manager/position.js +2 -2
  633. package/components/tile-manager/position.js.map +1 -1
  634. package/components/tile-manager/resize-state.js +4 -3
  635. package/components/tile-manager/resize-state.js.map +1 -1
  636. package/components/tile-manager/themes/container.d.ts +1 -1
  637. package/components/tile-manager/themes/container.js.map +1 -1
  638. package/components/tile-manager/themes/tile.d.ts +1 -1
  639. package/components/tile-manager/themes/tile.js.map +1 -1
  640. package/components/tile-manager/tile-ghost-util.js +1 -1
  641. package/components/tile-manager/tile-ghost-util.js.map +1 -1
  642. package/components/tile-manager/tile-manager.d.ts +1 -1
  643. package/components/tile-manager/tile-manager.js +7 -7
  644. package/components/tile-manager/tile-manager.js.map +1 -1
  645. package/components/tile-manager/tile.d.ts +4 -4
  646. package/components/tile-manager/tile.js +16 -13
  647. package/components/tile-manager/tile.js.map +1 -1
  648. package/components/toast/themes/themes.d.ts +1 -1
  649. package/components/toast/themes/themes.js.map +1 -1
  650. package/components/toast/toast.d.ts +1 -1
  651. package/components/toast/toast.js +3 -3
  652. package/components/toast/toast.js.map +1 -1
  653. package/components/tooltip/controller.d.ts +18 -16
  654. package/components/tooltip/controller.js +62 -41
  655. package/components/tooltip/controller.js.map +1 -1
  656. package/components/tooltip/service.d.ts +2 -1
  657. package/components/tooltip/service.js +10 -15
  658. package/components/tooltip/service.js.map +1 -1
  659. package/components/tooltip/themes/shared/tooltip.common.css.js +1 -1
  660. package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -1
  661. package/components/tooltip/themes/shared/tooltip.indigo.css.js +1 -1
  662. package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -1
  663. package/components/tooltip/themes/themes.d.ts +1 -1
  664. package/components/tooltip/themes/themes.js.map +1 -1
  665. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  666. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  667. package/components/tooltip/tooltip.d.ts +64 -18
  668. package/components/tooltip/tooltip.js +110 -60
  669. package/components/tooltip/tooltip.js.map +1 -1
  670. package/components/tree/themes/container.base.css.js +1 -1
  671. package/components/tree/themes/container.base.css.js.map +1 -1
  672. package/components/tree/themes/container.d.ts +1 -1
  673. package/components/tree/themes/container.js.map +1 -1
  674. package/components/tree/themes/item.base.css.js +1 -1
  675. package/components/tree/themes/item.base.css.js.map +1 -1
  676. package/components/tree/themes/item.d.ts +1 -1
  677. package/components/tree/themes/item.js.map +1 -1
  678. package/components/tree/tree-item.d.ts +62 -36
  679. package/components/tree/tree-item.js +198 -208
  680. package/components/tree/tree-item.js.map +1 -1
  681. package/components/tree/tree.common.d.ts +16 -1
  682. package/components/tree/tree.common.js +40 -1
  683. package/components/tree/tree.common.js.map +1 -1
  684. package/components/tree/tree.d.ts +21 -14
  685. package/components/tree/tree.js +64 -72
  686. package/components/tree/tree.js.map +1 -1
  687. package/components/tree/tree.navigation.d.ts +39 -29
  688. package/components/tree/tree.navigation.js +140 -192
  689. package/components/tree/tree.navigation.js.map +1 -1
  690. package/components/tree/tree.selection.d.ts +32 -31
  691. package/components/tree/tree.selection.js +184 -178
  692. package/components/tree/tree.selection.js.map +1 -1
  693. package/components/types.js.map +1 -1
  694. package/components/validation-container/validation-container.d.ts +1 -1
  695. package/components/validation-container/validation-container.js +7 -6
  696. package/components/validation-container/validation-container.js.map +1 -1
  697. package/components/virtualization/engine.d.ts +92 -0
  698. package/components/virtualization/engine.js +217 -0
  699. package/components/virtualization/engine.js.map +1 -0
  700. package/components/virtualization/types.d.ts +53 -0
  701. package/components/virtualization/types.js +14 -0
  702. package/components/virtualization/types.js.map +1 -0
  703. package/components/virtualization/virtualization.d.ts +235 -0
  704. package/components/virtualization/virtualization.js +474 -0
  705. package/components/virtualization/virtualization.js.map +1 -0
  706. package/components/visually-hidden/visually-hidden.js +1 -1
  707. package/components/visually-hidden/visually-hidden.js.map +1 -1
  708. package/custom-elements.json +57745 -48130
  709. package/extras/chat-markdown-renderer.d.ts +1 -1
  710. package/extras/chat-markdown-renderer.js.map +1 -1
  711. package/igniteui-webcomponents.css-data.json +2 -2
  712. package/igniteui-webcomponents.html-data.json +1 -1
  713. package/index.d.ts +17 -12
  714. package/index.js +11 -9
  715. package/index.js.map +1 -1
  716. package/internals/abort-handler.js.map +1 -0
  717. package/internals/context.d.ts +39 -0
  718. package/{components/common → internals}/context.js +2 -1
  719. package/internals/context.js.map +1 -0
  720. package/internals/controllers/adopt-styles.d.ts +76 -0
  721. package/internals/controllers/adopt-styles.js +173 -0
  722. package/internals/controllers/adopt-styles.js.map +1 -0
  723. package/internals/controllers/aria-projection.d.ts +144 -0
  724. package/internals/controllers/aria-projection.js +138 -0
  725. package/internals/controllers/aria-projection.js.map +1 -0
  726. package/{components/common → internals}/controllers/async-consumer.js +8 -7
  727. package/internals/controllers/async-consumer.js.map +1 -0
  728. package/internals/controllers/command.js.map +1 -0
  729. package/{components/common → internals}/controllers/drag.js +3 -2
  730. package/internals/controllers/drag.js.map +1 -0
  731. package/{components/common → internals}/controllers/focus-ring.js +5 -2
  732. package/internals/controllers/focus-ring.js.map +1 -0
  733. package/{components/common → internals}/controllers/fullscreen.js +6 -3
  734. package/internals/controllers/fullscreen.js.map +1 -0
  735. package/{components/common → internals}/controllers/gestures.d.ts +1 -1
  736. package/{components/common → internals}/controllers/gestures.js +4 -4
  737. package/internals/controllers/gestures.js.map +1 -0
  738. package/{components/common → internals}/controllers/id-resolver.js +15 -21
  739. package/internals/controllers/id-resolver.js.map +1 -0
  740. package/{components/common → internals}/controllers/internals.d.ts +39 -3
  741. package/{components/common → internals}/controllers/internals.js +28 -0
  742. package/internals/controllers/internals.js.map +1 -0
  743. package/{components/common → internals}/controllers/key-bindings.d.ts +3 -6
  744. package/{components/common → internals}/controllers/key-bindings.js +43 -29
  745. package/internals/controllers/key-bindings.js.map +1 -0
  746. package/{components/common → internals}/controllers/mutation-observer.d.ts +3 -2
  747. package/{components/common → internals}/controllers/mutation-observer.js +24 -22
  748. package/internals/controllers/mutation-observer.js.map +1 -0
  749. package/{components/common → internals}/controllers/resize-observer.d.ts +11 -1
  750. package/{components/common → internals}/controllers/resize-observer.js +13 -2
  751. package/internals/controllers/resize-observer.js.map +1 -0
  752. package/{components/common → internals}/controllers/root-click.js +8 -13
  753. package/internals/controllers/root-click.js.map +1 -0
  754. package/{components/common → internals}/controllers/root-scroll.d.ts +11 -8
  755. package/internals/controllers/root-scroll.js +71 -0
  756. package/internals/controllers/root-scroll.js.map +1 -0
  757. package/{components/common → internals}/controllers/slot.d.ts +17 -1
  758. package/{components/common → internals}/controllers/slot.js +18 -6
  759. package/internals/controllers/slot.js.map +1 -0
  760. package/internals/date/compare.d.ts +2 -0
  761. package/internals/date/compare.js +23 -0
  762. package/internals/date/compare.js.map +1 -0
  763. package/internals/date/converters.d.ts +18 -0
  764. package/internals/date/converters.js +73 -0
  765. package/internals/date/converters.js.map +1 -0
  766. package/{components/calendar → internals/date}/model.d.ts +6 -3
  767. package/{components/calendar → internals/date}/model.js +23 -0
  768. package/internals/date/model.js.map +1 -0
  769. package/internals/decorators/blazorAdditionalDependencies.js.map +1 -0
  770. package/internals/decorators/blazorDeepImport.js.map +1 -0
  771. package/internals/decorators/blazorInclude.js.map +1 -0
  772. package/internals/decorators/blazorIndirectRender.js.map +1 -0
  773. package/internals/decorators/blazorSuppressComponent.js.map +1 -0
  774. package/internals/decorators/shadow-options.js.map +1 -0
  775. package/internals/decorators/watch.js.map +1 -0
  776. package/internals/definitions/defineAllComponents.js +153 -0
  777. package/internals/definitions/defineAllComponents.js.map +1 -0
  778. package/internals/definitions/defineComponents.js.map +1 -0
  779. package/internals/definitions/register.js.map +1 -0
  780. package/{components/common → internals}/i18n/EN/calendar.resources.js +1 -1
  781. package/internals/i18n/EN/calendar.resources.js.map +1 -0
  782. package/internals/i18n/EN/chat.resources.js.map +1 -0
  783. package/internals/i18n/EN/date-picker.resources.js.map +1 -0
  784. package/internals/i18n/EN/date-range-picker.resources.js.map +1 -0
  785. package/internals/i18n/i18n-controller.js.map +1 -0
  786. package/{components/common → internals}/i18n/utils.js +1 -1
  787. package/internals/i18n/utils.js.map +1 -0
  788. package/{components/common → internals}/mixins/alert.d.ts +2 -2
  789. package/{components/common → internals}/mixins/alert.js +3 -3
  790. package/internals/mixins/alert.js.map +1 -0
  791. package/{components/common → internals}/mixins/combo-box.d.ts +10 -2
  792. package/{components/common → internals}/mixins/combo-box.js +9 -4
  793. package/internals/mixins/combo-box.js.map +1 -0
  794. package/internals/mixins/constructor.js.map +1 -0
  795. package/internals/mixins/event-emitter.js.map +1 -0
  796. package/{components/common → internals}/mixins/forms/associated-required.js +10 -19
  797. package/internals/mixins/forms/associated-required.js.map +1 -0
  798. package/{components/common → internals}/mixins/forms/associated.js +45 -38
  799. package/internals/mixins/forms/associated.js.map +1 -0
  800. package/{components/common → internals}/mixins/forms/form-transformers.d.ts +1 -1
  801. package/{components/common → internals}/mixins/forms/form-transformers.js +2 -2
  802. package/internals/mixins/forms/form-transformers.js.map +1 -0
  803. package/internals/mixins/forms/form-value.js.map +1 -0
  804. package/{components/common → internals}/mixins/forms/types.d.ts +5 -6
  805. package/internals/mixins/forms/types.js.map +1 -0
  806. package/{components/common → internals}/mixins/mask-behavior.d.ts +11 -3
  807. package/{components/common → internals}/mixins/mask-behavior.js +117 -29
  808. package/internals/mixins/mask-behavior.js.map +1 -0
  809. package/{components/common → internals}/mixins/option.d.ts +0 -2
  810. package/{components/common → internals}/mixins/option.js +1 -4
  811. package/internals/mixins/option.js.map +1 -0
  812. package/internals/part-map.js.map +1 -0
  813. package/{components/common → internals}/templates/input-shell.d.ts +8 -1
  814. package/{components/common → internals}/templates/input-shell.js +14 -4
  815. package/internals/templates/input-shell.js.map +1 -0
  816. package/{components/common → internals}/templates/masked-input.d.ts +8 -4
  817. package/{components/common → internals}/templates/masked-input.js +4 -3
  818. package/internals/templates/masked-input.js.map +1 -0
  819. package/internals/utils/arrays.d.ts +53 -0
  820. package/internals/utils/arrays.js +31 -0
  821. package/internals/utils/arrays.js.map +1 -0
  822. package/internals/utils/dom.d.ts +92 -0
  823. package/internals/utils/dom.js +143 -0
  824. package/internals/utils/dom.js.map +1 -0
  825. package/internals/utils/events.d.ts +41 -0
  826. package/internals/utils/events.js +37 -0
  827. package/internals/utils/events.js.map +1 -0
  828. package/internals/utils/lit.d.ts +8 -0
  829. package/internals/utils/lit.js +15 -0
  830. package/internals/utils/lit.js.map +1 -0
  831. package/internals/utils/math.d.ts +50 -0
  832. package/internals/utils/math.js +38 -0
  833. package/internals/utils/math.js.map +1 -0
  834. package/internals/utils/objects.d.ts +25 -0
  835. package/internals/utils/objects.js +125 -0
  836. package/internals/utils/objects.js.map +1 -0
  837. package/internals/utils/strings.d.ts +44 -0
  838. package/internals/utils/strings.js +46 -0
  839. package/internals/utils/strings.js.map +1 -0
  840. package/internals/utils/types.d.ts +13 -0
  841. package/internals/utils/types.js +31 -0
  842. package/internals/utils/types.js.map +1 -0
  843. package/{components/common → internals}/validators.d.ts +1 -1
  844. package/{components/common → internals}/validators.js +4 -2
  845. package/internals/validators.js.map +1 -0
  846. package/package.json +15 -7
  847. package/themes/dark/bootstrap.css +1 -1
  848. package/themes/dark/fluent.css +1 -1
  849. package/themes/dark/indigo.css +1 -1
  850. package/themes/dark/material.css +1 -1
  851. package/themes/light/bootstrap.css +1 -1
  852. package/themes/light/fluent.css +1 -1
  853. package/themes/light/indigo.css +1 -1
  854. package/themes/light/material.css +1 -1
  855. package/theming/theming-controller.d.ts +2 -2
  856. package/theming/theming-controller.js.map +1 -1
  857. package/web-types.json +3 -3
  858. package/components/calendar/model.js.map +0 -1
  859. package/components/combo/combo-list.d.ts +0 -11
  860. package/components/combo/combo-list.js +0 -13
  861. package/components/combo/combo-list.js.map +0 -1
  862. package/components/common/abort-handler.js.map +0 -1
  863. package/components/common/context.d.ts +0 -25
  864. package/components/common/context.js.map +0 -1
  865. package/components/common/controllers/adopt-styles.d.ts +0 -124
  866. package/components/common/controllers/adopt-styles.js +0 -75
  867. package/components/common/controllers/adopt-styles.js.map +0 -1
  868. package/components/common/controllers/async-consumer.js.map +0 -1
  869. package/components/common/controllers/command.js.map +0 -1
  870. package/components/common/controllers/drag.js.map +0 -1
  871. package/components/common/controllers/focus-ring.js.map +0 -1
  872. package/components/common/controllers/fullscreen.js.map +0 -1
  873. package/components/common/controllers/gestures.js.map +0 -1
  874. package/components/common/controllers/id-resolver.js.map +0 -1
  875. package/components/common/controllers/internals.js.map +0 -1
  876. package/components/common/controllers/key-bindings.js.map +0 -1
  877. package/components/common/controllers/mutation-observer.js.map +0 -1
  878. package/components/common/controllers/resize-observer.js.map +0 -1
  879. package/components/common/controllers/root-click.js.map +0 -1
  880. package/components/common/controllers/root-scroll.js +0 -63
  881. package/components/common/controllers/root-scroll.js.map +0 -1
  882. package/components/common/controllers/slot.js.map +0 -1
  883. package/components/common/decorators/blazorAdditionalDependencies.js.map +0 -1
  884. package/components/common/decorators/blazorDeepImport.js.map +0 -1
  885. package/components/common/decorators/blazorInclude.js.map +0 -1
  886. package/components/common/decorators/blazorIndirectRender.js.map +0 -1
  887. package/components/common/decorators/blazorSuppressComponent.js.map +0 -1
  888. package/components/common/decorators/shadow-options.js.map +0 -1
  889. package/components/common/decorators/watch.js.map +0 -1
  890. package/components/common/definitions/defineAllComponents.js +0 -151
  891. package/components/common/definitions/defineAllComponents.js.map +0 -1
  892. package/components/common/definitions/defineComponents.js.map +0 -1
  893. package/components/common/definitions/register.js.map +0 -1
  894. package/components/common/i18n/EN/calendar.resources.js.map +0 -1
  895. package/components/common/i18n/EN/chat.resources.js.map +0 -1
  896. package/components/common/i18n/EN/date-picker.resources.js.map +0 -1
  897. package/components/common/i18n/EN/date-range-picker.resources.js.map +0 -1
  898. package/components/common/i18n/i18n-controller.js.map +0 -1
  899. package/components/common/i18n/utils.js.map +0 -1
  900. package/components/common/mixins/alert.js.map +0 -1
  901. package/components/common/mixins/combo-box.js.map +0 -1
  902. package/components/common/mixins/constructor.js.map +0 -1
  903. package/components/common/mixins/event-emitter.js.map +0 -1
  904. package/components/common/mixins/forms/associated-required.js.map +0 -1
  905. package/components/common/mixins/forms/associated.js.map +0 -1
  906. package/components/common/mixins/forms/form-transformers.js.map +0 -1
  907. package/components/common/mixins/forms/form-value.js.map +0 -1
  908. package/components/common/mixins/forms/types.js.map +0 -1
  909. package/components/common/mixins/mask-behavior.js.map +0 -1
  910. package/components/common/mixins/option.js.map +0 -1
  911. package/components/common/part-map.js.map +0 -1
  912. package/components/common/templates/input-shell.js.map +0 -1
  913. package/components/common/templates/masked-input.js.map +0 -1
  914. package/components/common/util.d.ts +0 -196
  915. package/components/common/util.js +0 -390
  916. package/components/common/util.js.map +0 -1
  917. package/components/common/validators.js.map +0 -1
  918. package/components/icon/registry/default-map.d.ts +0 -107
  919. package/components/icon/registry/default-map.js +0 -25
  920. package/components/icon/registry/default-map.js.map +0 -1
  921. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js +0 -3
  922. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js.map +0 -1
  923. package/components/radio/utils.d.ts +0 -13
  924. package/components/radio/utils.js +0 -37
  925. package/components/radio/utils.js.map +0 -1
  926. /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
  927. /package/{components/common → internals}/abort-handler.d.ts +0 -0
  928. /package/{components/common → internals}/abort-handler.js +0 -0
  929. /package/{components/common → internals}/controllers/async-consumer.d.ts +0 -0
  930. /package/{components/common → internals}/controllers/command.d.ts +0 -0
  931. /package/{components/common → internals}/controllers/command.js +0 -0
  932. /package/{components/common → internals}/controllers/drag.d.ts +0 -0
  933. /package/{components/common → internals}/controllers/focus-ring.d.ts +0 -0
  934. /package/{components/common → internals}/controllers/fullscreen.d.ts +0 -0
  935. /package/{components/common → internals}/controllers/id-resolver.d.ts +0 -0
  936. /package/{components/common → internals}/controllers/root-click.d.ts +0 -0
  937. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.d.ts +0 -0
  938. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.js +0 -0
  939. /package/{components/common → internals}/decorators/blazorDeepImport.d.ts +0 -0
  940. /package/{components/common → internals}/decorators/blazorDeepImport.js +0 -0
  941. /package/{components/common → internals}/decorators/blazorInclude.d.ts +0 -0
  942. /package/{components/common → internals}/decorators/blazorInclude.js +0 -0
  943. /package/{components/common → internals}/decorators/blazorIndirectRender.d.ts +0 -0
  944. /package/{components/common → internals}/decorators/blazorIndirectRender.js +0 -0
  945. /package/{components/common → internals}/decorators/blazorSuppressComponent.d.ts +0 -0
  946. /package/{components/common → internals}/decorators/blazorSuppressComponent.js +0 -0
  947. /package/{components/common → internals}/decorators/shadow-options.d.ts +0 -0
  948. /package/{components/common → internals}/decorators/shadow-options.js +0 -0
  949. /package/{components/common → internals}/decorators/watch.d.ts +0 -0
  950. /package/{components/common → internals}/decorators/watch.js +0 -0
  951. /package/{components/common → internals}/definitions/defineAllComponents.d.ts +0 -0
  952. /package/{components/common → internals}/definitions/defineComponents.d.ts +0 -0
  953. /package/{components/common → internals}/definitions/defineComponents.js +0 -0
  954. /package/{components/common → internals}/definitions/register.d.ts +0 -0
  955. /package/{components/common → internals}/definitions/register.js +0 -0
  956. /package/{components/common → internals}/i18n/EN/calendar.resources.d.ts +0 -0
  957. /package/{components/common → internals}/i18n/EN/chat.resources.d.ts +0 -0
  958. /package/{components/common → internals}/i18n/EN/chat.resources.js +0 -0
  959. /package/{components/common → internals}/i18n/EN/date-picker.resources.d.ts +0 -0
  960. /package/{components/common → internals}/i18n/EN/date-picker.resources.js +0 -0
  961. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.d.ts +0 -0
  962. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.js +0 -0
  963. /package/{components/common → internals}/i18n/i18n-controller.d.ts +0 -0
  964. /package/{components/common → internals}/i18n/i18n-controller.js +0 -0
  965. /package/{components/common → internals}/i18n/utils.d.ts +0 -0
  966. /package/{components/common → internals}/mixins/constructor.d.ts +0 -0
  967. /package/{components/common → internals}/mixins/constructor.js +0 -0
  968. /package/{components/common → internals}/mixins/event-emitter.d.ts +0 -0
  969. /package/{components/common → internals}/mixins/event-emitter.js +0 -0
  970. /package/{components/common → internals}/mixins/forms/associated-required.d.ts +0 -0
  971. /package/{components/common → internals}/mixins/forms/associated.d.ts +0 -0
  972. /package/{components/common → internals}/mixins/forms/form-value.d.ts +0 -0
  973. /package/{components/common → internals}/mixins/forms/form-value.js +0 -0
  974. /package/{components/common → internals}/mixins/forms/types.js +0 -0
  975. /package/{components/common → internals}/part-map.d.ts +0 -0
  976. /package/{components/common → internals}/part-map.js +0 -0
@@ -8,24 +8,28 @@ import { html, LitElement } from 'lit';
8
8
  import { eventOptions, property, query, state } from 'lit/decorators.js';
9
9
  import { createRef, ref } from 'lit/directives/ref.js';
10
10
  import { styleMap } from 'lit/directives/style-map.js';
11
- import { addThemingController } from '../../theming/theming-controller.js';
12
- import { addInternalsController } from '../common/controllers/internals.js';
13
- import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, ctrlKey, endKey, homeKey, } from '../common/controllers/key-bindings.js';
14
- import { createResizeObserverController } from '../common/controllers/resize-observer.js';
15
- import { addSlotController, setSlots } from '../common/controllers/slot.js';
16
- import { registerComponent } from '../common/definitions/register.js';
17
- import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
18
- import { partMap } from '../common/part-map.js';
19
- import { asNumber, asPercent, bindIf, clamp, isLTR, roundPrecise, } from '../common/util.js';
11
+ import { addInternalsController } from '#internals/controllers/internals.js';
12
+ import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, ctrlKey, endKey, homeKey, } from '#internals/controllers/key-bindings.js';
13
+ import { createResizeObserverController } from '#internals/controllers/resize-observer.js';
14
+ import { addSlotController, setSlots } from '#internals/controllers/slot.js';
15
+ import { registerComponent } from '#internals/definitions/register.js';
16
+ import { EventEmitterMixin } from '#internals/mixins/event-emitter.js';
17
+ import { partMap } from '#internals/part-map.js';
18
+ import { isLTR, resolveCssLength } from '#internals/utils/dom.js';
19
+ import { bindIf } from '#internals/utils/lit.js';
20
+ import { asNumber, asPercent, clamp, roundPrecise, } from '#internals/utils/math.js';
21
+ import { addThemingController } from '#theming/theming-controller.js';
20
22
  import IgcVisuallyHiddenComponent from '../visually-hidden/visually-hidden.js';
21
23
  import { styles as shared } from './themes/shared/splitter.common.css.js';
22
24
  import { styles } from './themes/splitter.base.css.js';
23
25
  import { all } from './themes/themes.js';
24
26
  const KEYBOARD_RESIZE_STEP = 10;
27
+ const PANES = ['start', 'end'];
28
+ const CSS_LENGTH = /^[+-]?(\d+\.?\d*|\.\d+)(%|px|em|rem|ch|ex|cap|ic|lh|rlh|vw|vh|vi|vb|vmin|vmax|cm|mm|q|in|pt|pc)$/i;
29
+ const UNITLESS_NUMBER = /^[+-]?(\d+\.?\d*|\.\d+)$/;
25
30
  const DEFAULT_RESIZE_STATE = {
26
31
  startPane: null,
27
32
  endPane: null,
28
- isDragging: false,
29
33
  dragStartPosition: { x: 0, y: 0 },
30
34
  dragPointerId: -1,
31
35
  };
@@ -38,6 +42,9 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
38
42
  get _separator() {
39
43
  return this._separatorRef.value;
40
44
  }
45
+ get _isDragging() {
46
+ return this._resizeState.dragPointerId !== -1;
47
+ }
41
48
  get _resizeDisallowed() {
42
49
  return this.disableResize || this._collapsedPane != null;
43
50
  }
@@ -75,25 +82,45 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
75
82
  return this._endPaneState.maxSize;
76
83
  }
77
84
  set startSize(value) {
78
- this._startPaneState.size = this._normalizeValue(value, 'auto');
85
+ this._setPaneSize('start', value);
79
86
  }
80
87
  get startSize() {
81
88
  return this._startPaneState.size;
82
89
  }
83
90
  set endSize(value) {
84
- this._endPaneState.size = this._normalizeValue(value, 'auto');
91
+ this._setPaneSize('end', value);
85
92
  }
86
93
  get endSize() {
87
94
  return this._endPaneState.size;
88
95
  }
96
+ set startCollapsed(value) {
97
+ this._setCollapsed('start', value);
98
+ }
99
+ get startCollapsed() {
100
+ return this._isCollapsed('start');
101
+ }
102
+ set endCollapsed(value) {
103
+ this._setCollapsed('end', value);
104
+ }
105
+ get endCollapsed() {
106
+ return this._isCollapsed('end');
107
+ }
89
108
  constructor() {
90
109
  super();
91
110
  this._internals = addInternalsController(this);
92
111
  this._separatorRef = createRef();
93
- this._startPaneState = { size: 'auto', styles: {} };
94
- this._endPaneState = { size: 'auto', styles: {} };
112
+ this._startPaneState = {
113
+ size: 'auto',
114
+ styles: {},
115
+ };
116
+ this._endPaneState = {
117
+ size: 'auto',
118
+ styles: {},
119
+ };
95
120
  this._collapsedPane = null;
96
121
  this._resizeState = { ...DEFAULT_RESIZE_STATE };
122
+ this._measurement = null;
123
+ this._observedSize = -1;
97
124
  this.orientation = 'horizontal';
98
125
  this.disableCollapse = false;
99
126
  this.disableResize = false;
@@ -102,7 +129,7 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
102
129
  addThemingController(this, all);
103
130
  addSlotController(this, { slots: setSlots('start', 'end') });
104
131
  createResizeObserverController(this, {
105
- callback: () => this.requestUpdate(),
132
+ callback: () => this._handleContainerResize(),
106
133
  });
107
134
  addKeybindings(this, {
108
135
  ref: this._separatorRef,
@@ -119,13 +146,9 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
119
146
  .set([ctrlKey, arrowRight], () => this._handleArrowsExpandCollapse('end', 'horizontal'));
120
147
  }
121
148
  update(changed) {
149
+ this._measurement = null;
122
150
  if (changed.get('orientation') != null) {
123
- for (const pane of ['start', 'end']) {
124
- const state = this._getPaneState(pane);
125
- state.size = 'auto';
126
- state.minSize = undefined;
127
- state.maxSize = undefined;
128
- }
151
+ this._resetPaneSizes();
129
152
  }
130
153
  if (this.hasUpdated) {
131
154
  this._updatePanes();
@@ -133,16 +156,20 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
133
156
  super.update(changed);
134
157
  }
135
158
  updated() {
159
+ this._measurement = null;
136
160
  this._updateBarAria();
137
161
  }
162
+ disconnectedCallback() {
163
+ this._endDrag();
164
+ super.disconnectedCallback();
165
+ }
138
166
  _handleBarPointerDown(e) {
139
- if (e.button !== 0) {
167
+ if (e.button !== 0 || this._isDragging) {
140
168
  return;
141
169
  }
142
170
  e.preventDefault();
143
171
  this._resizeState = {
144
172
  ...this._resizeState,
145
- isDragging: true,
146
173
  dragPointerId: e.pointerId,
147
174
  dragStartPosition: { x: e.clientX, y: e.clientY },
148
175
  };
@@ -167,30 +194,74 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
167
194
  if (e.pointerId !== this._resizeState.dragPointerId) {
168
195
  return;
169
196
  }
170
- const delta = this._getDragDelta(e);
171
- if (delta !== 0) {
172
- this._resizeEnd(delta);
197
+ this._resizeEnd(this._getDragDelta(e));
198
+ this._endDrag();
199
+ }
200
+ _handleCancelDrag(e) {
201
+ if (e.pointerId !== this._resizeState.dragPointerId) {
202
+ return;
173
203
  }
204
+ this._resizeEnd(0);
174
205
  this._endDrag();
175
206
  }
176
207
  _endDrag() {
177
- if (this._resizeState.dragPointerId !== -1) {
178
- this._separator?.releasePointerCapture(this._resizeState.dragPointerId);
208
+ const { dragPointerId } = this._resizeState;
209
+ if (this._separator?.hasPointerCapture(dragPointerId)) {
210
+ this._separator.releasePointerCapture(dragPointerId);
179
211
  }
180
212
  this._resizeState = { ...DEFAULT_RESIZE_STATE };
181
213
  }
182
214
  toggle(position) {
183
- if (this._collapsedPane === null) {
215
+ this._applyCollapse(this._collapsedPane === position ? null : position);
216
+ }
217
+ _applyCollapse(target) {
218
+ if (this._collapsedPane === null && target !== null) {
184
219
  this._savePaneSizes();
185
220
  }
186
- this._collapsedPane = this._collapsedPane === position ? null : position;
221
+ const wasStartCollapsed = this._isCollapsed('start');
222
+ const wasEndCollapsed = this._isCollapsed('end');
223
+ this._collapsedPane = target;
224
+ this.requestUpdate('startCollapsed', wasStartCollapsed);
225
+ this.requestUpdate('endCollapsed', wasEndCollapsed);
187
226
  this._internals.setState('start-collapsed', this._isCollapsed('start'));
188
227
  this._internals.setState('end-collapsed', this._isCollapsed('end'));
189
228
  this._restoreSizesOnExpandCollapse();
190
229
  }
230
+ _setPaneSize(pane, value) {
231
+ this._getPaneState(pane).size = this._normalizeValue(value, 'auto');
232
+ if (this._collapsedPane !== null) {
233
+ for (const target of PANES) {
234
+ this._getPaneState(target).savedSize = undefined;
235
+ }
236
+ }
237
+ }
238
+ _resetPaneSizes() {
239
+ for (const pane of PANES) {
240
+ const state = this._getPaneState(pane);
241
+ state.size = 'auto';
242
+ state.minSize = undefined;
243
+ state.maxSize = undefined;
244
+ state.savedSize = undefined;
245
+ for (const suffix of ['size', 'min-size', 'max-size']) {
246
+ this.removeAttribute(`${pane}-${suffix}`);
247
+ }
248
+ }
249
+ }
250
+ _setCollapsed(pane, value) {
251
+ if (this._isCollapsed(pane) === value) {
252
+ return;
253
+ }
254
+ this._applyCollapse(value ? pane : null);
255
+ }
191
256
  _savePaneSizes() {
192
- this._startPaneState.savedSize = `${this._paneRectAsPercent(0)}%`;
193
- this._endPaneState.savedSize = `${this._paneRectAsPercent(1)}%`;
257
+ if (this._getTotalSize() === 0) {
258
+ this._startPaneState.savedSize = this._startPaneState.size;
259
+ this._endPaneState.savedSize = this._endPaneState.size;
260
+ return;
261
+ }
262
+ const [start, end] = this._rectSize();
263
+ this._startPaneState.savedSize = `${this._asPercentOfContainer(start, 2)}%`;
264
+ this._endPaneState.savedSize = `${this._asPercentOfContainer(end, 2)}%`;
194
265
  }
195
266
  _restoreSizesOnExpandCollapse() {
196
267
  if (this._collapsedPane !== null) {
@@ -203,23 +274,17 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
203
274
  this._endPaneState.size = this._endPaneState.savedSize ?? this.endSize;
204
275
  }
205
276
  }
206
- _paneRectAsPercent(paneIndex) {
207
- const totalSize = this._getTotalSize();
208
- if (totalSize === 0) {
209
- return 0;
210
- }
211
- return roundPrecise(asPercent(this._rectSize()[paneIndex], totalSize), 0);
277
+ _asPercentOfContainer(size, precision = 0) {
278
+ const containerSize = this._getContainerSize();
279
+ return containerSize === 0
280
+ ? 0
281
+ : roundPrecise(asPercent(size, containerSize), precision);
212
282
  }
213
- _sizeToPercent(sizeValue) {
214
- const totalSize = this._getTotalSize();
215
- if (totalSize === 0) {
216
- return 0;
217
- }
218
- if (sizeValue.includes('%')) {
219
- return asNumber(sizeValue);
283
+ _toPixels(value) {
284
+ if (value.endsWith('%')) {
285
+ return (asNumber(value) / 100) * this._getContainerSize();
220
286
  }
221
- const pxValue = asNumber(sizeValue);
222
- return roundPrecise(asPercent(pxValue, totalSize), 0);
287
+ return this._base ? resolveCssLength(this._base, value) : 0;
223
288
  }
224
289
  _getStartPaneSizePercent() {
225
290
  if (!this._startPane || this._isCollapsed('start')) {
@@ -228,21 +293,29 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
228
293
  if (this._isCollapsed('end')) {
229
294
  return 100;
230
295
  }
231
- return this._paneRectAsPercent(0);
296
+ return this._asPercentOfContainer(this._rectSize()[0]);
232
297
  }
233
298
  _getMinMaxAsPercent(type) {
234
299
  const value = type === 'min' ? this.startMinSize : this.startMaxSize;
235
- const defaultValue = type === 'min' ? 0 : 100;
236
- return value ? this._sizeToPercent(value) : defaultValue;
300
+ if (!value) {
301
+ return type === 'min' ? 0 : 100;
302
+ }
303
+ return this._asPercentOfContainer(this._toPixels(value));
237
304
  }
238
305
  _isCollapsed(which) {
239
306
  return this._collapsedPane === which;
240
307
  }
308
+ _otherPane(pane) {
309
+ return pane === 'start' ? 'end' : 'start';
310
+ }
241
311
  _updateBarAria() {
242
- if (this._separator) {
243
- this._separator.ariaValueNow = this._getStartPaneSizePercent().toString();
244
- this._separator.ariaValueMin = this._getMinMaxAsPercent('min').toString();
245
- this._separator.ariaValueMax = this._getMinMaxAsPercent('max').toString();
312
+ const separator = this._separator;
313
+ if (separator) {
314
+ const value = this._getStartPaneSizePercent();
315
+ separator.ariaValueNow = value.toString();
316
+ separator.ariaValueText = `${value}%`;
317
+ separator.ariaValueMin = this._getMinMaxAsPercent('min').toString();
318
+ separator.ariaValueMax = this._getMinMaxAsPercent('max').toString();
246
319
  }
247
320
  }
248
321
  _getPaneState(which) {
@@ -265,10 +338,11 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
265
338
  return fallback;
266
339
  if (trimmed.includes('%') && numericValue > 100)
267
340
  return fallback;
268
- return trimmed;
341
+ const isUnitlessZero = numericValue === 0 && UNITLESS_NUMBER.test(trimmed);
342
+ return isUnitlessZero || CSS_LENGTH.test(trimmed) ? trimmed : fallback;
269
343
  }
270
- _getFlex(which) {
271
- const isAuto = this._isAutoSize(which);
344
+ _getFlex(which, forceAuto = false) {
345
+ const isAuto = forceAuto || this._isAutoSize(which);
272
346
  const size = isAuto ? '0px' : this._getPaneState(which).size;
273
347
  return `${isAuto ? 1 : 0} 1 ${size}`;
274
348
  }
@@ -277,9 +351,13 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
277
351
  return;
278
352
  }
279
353
  const delta = this._resolveDelta(KEYBOARD_RESIZE_STEP, KEYBOARD_RESIZE_STEP, direction);
354
+ this._runResize(delta);
355
+ }
356
+ _runResize(delta) {
280
357
  this._resizeStart();
281
358
  this._resizing(delta);
282
359
  this._resizeEnd(delta);
360
+ this._endDrag();
283
361
  }
284
362
  _preventDefaultForEvent(e) {
285
363
  e.preventDefault();
@@ -294,66 +372,63 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
294
372
  if (this._resizeDisallowed) {
295
373
  return;
296
374
  }
297
- const totalSize = this._getTotalSize();
298
- const boundaryValue = type === 'min' ? this.startMinSize : this.startMaxSize;
299
- const isPercentage = boundaryValue
300
- ? boundaryValue.includes('%')
301
- : type === 'max';
302
- const targetStartSizePx = this._setMinMaxInPx('start', type) ?? (type === 'min' ? 0 : totalSize);
303
- const targetEndSizePx = totalSize - targetStartSizePx;
304
- if (isPercentage) {
305
- this.startSize = `${roundPrecise(asPercent(targetStartSizePx, totalSize), 2)}%`;
306
- this.endSize = `${roundPrecise(asPercent(targetEndSizePx, totalSize), 2)}%`;
307
- }
308
- else {
309
- this.startSize = `${targetStartSizePx}px`;
310
- this.endSize = `${targetEndSizePx}px`;
311
- }
375
+ const targetStartSizePx = this._getConstraintInPx('start', type) ??
376
+ (type === 'min' ? 0 : this._getTotalSize());
377
+ this._runResize(targetStartSizePx - this._rectSize()[0]);
312
378
  }
313
379
  _handleExpanderAction(pane) {
314
- const other = pane === 'start' ? 'end' : 'start';
315
- this.toggle(this._collapsedPane === other ? other : pane);
380
+ const other = this._otherPane(pane);
381
+ this._toggleWithEvent(this._collapsedPane === other ? other : pane);
382
+ }
383
+ _toggleWithEvent(position) {
384
+ this.toggle(position);
385
+ this._emitLayoutChanged();
386
+ }
387
+ _reportedSize(pane) {
388
+ const state = this._getPaneState(pane);
389
+ return ((this._collapsedPane !== null ? state.savedSize : state.size) ?? 'auto');
390
+ }
391
+ _emitLayoutChanged() {
392
+ const detail = {
393
+ startSize: this._reportedSize('start'),
394
+ endSize: this._reportedSize('end'),
395
+ startCollapsed: this.startCollapsed,
396
+ endCollapsed: this.endCollapsed,
397
+ };
398
+ this.emitEvent('igcLayoutChanged', { detail });
316
399
  }
317
400
  _handleArrowsExpandCollapse(target, validOrientation) {
318
401
  if (this.disableCollapse || this.orientation !== validOrientation) {
319
402
  return;
320
403
  }
321
- const effectiveTarget = validOrientation === 'horizontal' && !isLTR(this)
322
- ? target === 'start'
323
- ? 'end'
324
- : 'start'
325
- : target;
326
- this._handleExpanderAction(effectiveTarget);
404
+ const isFlipped = validOrientation === 'horizontal' && !isLTR(this);
405
+ this._handleExpanderAction(isFlipped ? this._otherPane(target) : target);
327
406
  }
328
407
  _resizeStart() {
329
408
  const [startSize, endSize] = this._rectSize();
330
- const totalSize = this._getTotalSize();
331
- this._resizeState.startPane = this._createPaneState('start', startSize, totalSize);
332
- this._resizeState.endPane = this._createPaneState('end', endSize, totalSize);
409
+ this._resizeState.startPane = this._createPaneState('start', startSize);
410
+ this._resizeState.endPane = this._createPaneState('end', endSize);
333
411
  this.emitEvent('igcResizeStart', {
334
412
  detail: { startPanelSize: startSize, endPanelSize: endSize },
335
413
  });
336
414
  }
337
- _createPaneState(pane, size, totalSize) {
415
+ _createPaneState(pane, size) {
338
416
  return {
339
417
  initialSize: size,
340
418
  isPercentageBased: this._isPercentageSize(pane) || this._isAutoSize(pane),
341
- minSizePx: this._setMinMaxInPx(pane, 'min', totalSize),
342
- maxSizePx: this._setMinMaxInPx(pane, 'max', totalSize),
419
+ minSizePx: this._getConstraintInPx(pane, 'min'),
420
+ maxSizePx: this._getConstraintInPx(pane, 'max'),
343
421
  };
344
422
  }
345
- _setMinMaxInPx(pane, type, totalSize) {
346
- const paneState = this._getPaneState(pane);
347
- const value = type === 'max' ? paneState.maxSize : paneState.minSize;
348
- const valueAsNumber = asNumber(value);
349
- if (!value) {
350
- return undefined;
351
- }
352
- return value.includes('%')
353
- ? (valueAsNumber / 100) * (totalSize ?? this._getTotalSize())
354
- : valueAsNumber;
423
+ _getConstraintInPx(pane, type) {
424
+ const { minSize, maxSize } = this._getPaneState(pane);
425
+ const value = type === 'max' ? maxSize : minSize;
426
+ return value ? this._toPixels(value) : undefined;
355
427
  }
356
428
  _resizing(delta) {
429
+ if (!this._resizeState.startPane || !this._resizeState.endPane) {
430
+ return;
431
+ }
357
432
  const [startPaneSize, endPaneSize] = this._calcNewSizes(delta);
358
433
  this.startSize = `${startPaneSize}px`;
359
434
  this.endSize = `${endPaneSize}px`;
@@ -365,19 +440,22 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
365
440
  },
366
441
  });
367
442
  }
368
- _computeSize(pane, paneSize, totalSize) {
443
+ _computeSize(pane, paneSize, containerSize) {
369
444
  return pane.isPercentageBased
370
- ? `${asPercent(paneSize, totalSize)}%`
445
+ ? `${asPercent(paneSize, containerSize)}%`
371
446
  : `${roundPrecise(paneSize, 0)}px`;
372
447
  }
373
448
  _resizeEnd(delta) {
374
- if (!this._resizeState.startPane || !this._resizeState.endPane) {
449
+ const { startPane, endPane } = this._resizeState;
450
+ if (!startPane || !endPane) {
375
451
  return;
376
452
  }
377
- const [startPaneSize, endPaneSize] = this._calcNewSizes(delta);
378
- const totalSize = this._getTotalSize();
379
- this.startSize = this._computeSize(this._resizeState.startPane, startPaneSize, totalSize);
380
- this.endSize = this._computeSize(this._resizeState.endPane, endPaneSize, totalSize);
453
+ const [startPaneSize, endPaneSize] = delta === 0
454
+ ? [startPane.initialSize, endPane.initialSize]
455
+ : this._calcNewSizes(delta);
456
+ const containerSize = this._getContainerSize();
457
+ this.startSize = this._computeSize(startPane, startPaneSize, containerSize);
458
+ this.endSize = this._computeSize(endPane, endPaneSize, containerSize);
381
459
  this.emitEvent('igcResizeEnd', {
382
460
  detail: {
383
461
  startPanelSize: startPaneSize,
@@ -385,6 +463,7 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
385
463
  delta,
386
464
  },
387
465
  });
466
+ this._emitLayoutChanged();
388
467
  }
389
468
  _rectSize() {
390
469
  const axis = this._isHorizontal ? 'width' : 'height';
@@ -406,62 +485,64 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
406
485
  const finalDelta = clamp(delta, -maxNegDelta, maxPosDelta);
407
486
  return [start.initialSize + finalDelta, end.initialSize - finalDelta];
408
487
  }
488
+ _measure() {
489
+ const axis = this._isHorizontal ? 'width' : 'height';
490
+ this._measurement ??= {
491
+ container: this._base ? this._base.getBoundingClientRect()[axis] : 0,
492
+ bar: this._separator
493
+ ? roundPrecise(this._separator.getBoundingClientRect()[axis])
494
+ : 0,
495
+ };
496
+ return this._measurement;
497
+ }
498
+ _getContainerSize() {
499
+ return this._measure().container;
500
+ }
409
501
  _getTotalSize() {
410
- if (!this._base) {
411
- return 0;
502
+ const { container, bar } = this._measure();
503
+ return container === 0 ? 0 : container - bar;
504
+ }
505
+ _handleContainerResize() {
506
+ this._measurement = null;
507
+ const size = this._getContainerSize();
508
+ if (size !== this._observedSize) {
509
+ this._observedSize = size;
510
+ this.requestUpdate();
412
511
  }
413
- const axis = this._isHorizontal ? 'width' : 'height';
414
- const barSize = this._separator
415
- ? roundPrecise(this._separator.getBoundingClientRect()[axis])
416
- : 0;
417
- const rect = this._base.getBoundingClientRect();
418
- const size = rect[axis];
419
- return size - barSize;
420
512
  }
421
513
  _updatePanes() {
422
- const totalSize = this._getTotalSize();
423
514
  const isCollapsed = this._collapsedPane !== null;
424
- for (const pane of ['start', 'end']) {
425
- const state = this._getPaneState(pane);
426
- if (isCollapsed) {
427
- state.size = 'auto';
428
- state.minSize = undefined;
429
- state.maxSize = undefined;
430
- }
431
- this._setPaneMinMaxSizes(pane, isCollapsed ? '0' : state.minSize, isCollapsed ? '100%' : state.maxSize, totalSize);
432
- this._updatePaneStyles(pane, { flex: this._getFlex(pane) });
515
+ for (const pane of PANES) {
516
+ const { minSize, maxSize } = this._getPaneState(pane);
517
+ this._setPaneMinMaxSizes(pane, isCollapsed ? '0' : minSize, isCollapsed ? '100%' : maxSize);
518
+ this._updatePaneStyles(pane, { flex: this._getFlex(pane, isCollapsed) });
433
519
  }
434
520
  }
435
521
  _updatePaneStyles(pane, styles) {
436
522
  Object.assign(this._getPaneState(pane).styles, styles);
437
523
  }
438
- _setPaneMinMaxSizes(pane, minSize, maxSize, totalSize) {
439
- const min = this._ensureMinConstraintIsWithinBounds(pane, minSize, totalSize) ?? 0;
524
+ _setPaneMinMaxSizes(pane, minSize, maxSize) {
525
+ const min = this._ensureMinConstraintIsWithinBounds(pane, minSize) ?? 0;
440
526
  const max = maxSize ?? '100%';
441
527
  this._updatePaneStyles(pane, this._isHorizontal
442
528
  ? { minWidth: min, maxWidth: max, minHeight: 0, maxHeight: '100%' }
443
529
  : { minWidth: 0, maxWidth: '100%', minHeight: min, maxHeight: max });
444
530
  }
445
- _ensureMinConstraintIsWithinBounds(pane, minSize, totalSize) {
446
- const total = totalSize ?? this._getTotalSize();
447
- if (minSize && total > 0) {
448
- const minPx = this._setMinMaxInPx(pane, 'min', total) ?? 0;
449
- const other = pane === 'start' ? 'end' : 'start';
450
- const otherMinPx = this._getPaneState(other).minSize
451
- ? (this._setMinMaxInPx(other, 'min', total) ?? 0)
452
- : 0;
453
- if (minPx > total || minPx + otherMinPx > total) {
454
- return undefined;
455
- }
531
+ _ensureMinConstraintIsWithinBounds(pane, minSize) {
532
+ const total = this._getTotalSize();
533
+ if (!minSize || total <= 0) {
534
+ return minSize;
456
535
  }
457
- return minSize;
536
+ const minPx = this._getConstraintInPx(pane, 'min') ?? 0;
537
+ const otherMinPx = this._getConstraintInPx(this._otherPane(pane), 'min') ?? 0;
538
+ return minPx + otherMinPx > total ? undefined : minSize;
458
539
  }
459
540
  _handleExpanderClick(pane, event) {
460
541
  event.stopPropagation();
461
542
  this._handleExpanderAction(pane);
462
543
  }
463
544
  _resolvePartNames(expander) {
464
- const other = expander === 'start' ? 'end' : 'start';
545
+ const other = this._otherPane(expander);
465
546
  const otherIsCollapsed = this._isCollapsed(other);
466
547
  return {
467
548
  [`${other}-expand-btn`]: otherIsCollapsed,
@@ -489,7 +570,10 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
489
570
  }
490
571
  _renderAccessibleLabel() {
491
572
  return html `
492
- <igc-visually-hidden id="splitter-label">
573
+ <igc-visually-hidden id="splitter-label"
574
+ >Resize panes</igc-visually-hidden
575
+ >
576
+ <igc-visually-hidden id="splitter-state">
493
577
  ${this._isCollapsed('start')
494
578
  ? 'Start pane collapsed'
495
579
  : 'Start pane expanded'}
@@ -499,7 +583,6 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
499
583
  `;
500
584
  }
501
585
  _renderSeparator() {
502
- const isDragging = this._resizeState.isDragging;
503
586
  const canResize = !this._resizeDisallowed;
504
587
  return html `
505
588
  <div
@@ -509,15 +592,16 @@ export default class IgcSplitterComponent extends EventEmitterMixin(LitElement)
509
592
  tabindex=${this.disableCollapse && this.disableResize ? -1 : 0}
510
593
  aria-controls="start-pane end-pane"
511
594
  aria-labelledby="splitter-label"
595
+ aria-describedby="splitter-state"
512
596
  aria-orientation=${this.orientation}
513
597
  style=${styleMap({ '--cursor': this._separatorCursor })}
514
598
  @touchstart=${bindIf(canResize, this._preventDefaultForEvent)}
515
599
  @contextmenu=${bindIf(canResize, this._preventDefaultForEvent)}
516
600
  @pointerdown=${bindIf(canResize, this._handleBarPointerDown)}
517
- @pointermove=${bindIf(isDragging, this._handleBarPointerMove)}
518
- @pointerup=${bindIf(isDragging, this._handleEndDrag)}
519
- @lostpointercapture=${bindIf(isDragging, this._handleEndDrag)}
520
- @pointercancel=${bindIf(isDragging, this._endDrag)}
601
+ @pointermove=${this._handleBarPointerMove}
602
+ @pointerup=${this._handleEndDrag}
603
+ @lostpointercapture=${this._handleEndDrag}
604
+ @pointercancel=${this._handleCancelDrag}
521
605
  >
522
606
  ${this._renderBarControls()}
523
607
  </div>
@@ -550,10 +634,7 @@ __decorate([
550
634
  state()
551
635
  ], IgcSplitterComponent.prototype, "_collapsedPane", void 0);
552
636
  __decorate([
553
- state()
554
- ], IgcSplitterComponent.prototype, "_resizeState", void 0);
555
- __decorate([
556
- query('[part~="base"]', true)
637
+ query('[part~="base"]')
557
638
  ], IgcSplitterComponent.prototype, "_base", void 0);
558
639
  __decorate([
559
640
  query('[part~="start-pane"]', true)
@@ -602,6 +683,12 @@ __decorate([
602
683
  __decorate([
603
684
  property({ attribute: 'end-size' })
604
685
  ], IgcSplitterComponent.prototype, "endSize", null);
686
+ __decorate([
687
+ property({ type: Boolean, reflect: true, attribute: 'start-collapsed' })
688
+ ], IgcSplitterComponent.prototype, "startCollapsed", null);
689
+ __decorate([
690
+ property({ type: Boolean, reflect: true, attribute: 'end-collapsed' })
691
+ ], IgcSplitterComponent.prototype, "endCollapsed", null);
605
692
  __decorate([
606
693
  eventOptions({ passive: false })
607
694
  ], IgcSplitterComponent.prototype, "_preventDefaultForEvent", null);