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
@@ -5,35 +5,30 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var IgcDateRangePickerComponent_1;
8
- import { CalendarResourceStringsEN, DateRangePickerResourceStringsEN, getDateFormatter, } from 'igniteui-i18n-core';
8
+ import { CalendarResourceStringsEN, DateRangePickerResourceStringsEN, } from 'igniteui-i18n-core';
9
9
  import { html, nothing } from 'lit';
10
- import { property, query, queryAll, queryAssignedElements, } from 'lit/decorators.js';
10
+ import { property, query, queryAll, state } from 'lit/decorators.js';
11
11
  import { cache } from 'lit/directives/cache.js';
12
12
  import { ifDefined } from 'lit/directives/if-defined.js';
13
13
  import { live } from 'lit/directives/live.js';
14
- import { addThemingController } from '../../theming/theming-controller.js';
15
- import IgcCalendarComponent, { focusActiveDate } from '../calendar/calendar.js';
16
- import { convertToDate, convertToDateRange, createDateConstraints, } from '../calendar/helpers.js';
17
- import { CalendarDay } from '../calendar/model.js';
18
- import { addKeybindings, altKey, arrowDown, arrowUp, escapeKey, } from '../common/controllers/key-bindings.js';
19
- import { addRootClickController } from '../common/controllers/root-click.js';
20
- import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
21
- import { shadowOptions } from '../common/decorators/shadow-options.js';
22
- import { watch } from '../common/decorators/watch.js';
23
- import { registerComponent } from '../common/definitions/register.js';
24
- import { addI18nController, getDateTimeFormat, getDefaultDateTimeFormat, } from '../common/i18n/i18n-controller.js';
25
- import { IgcComboBoxBaseLikeComponent } from '../common/mixins/combo-box.js';
26
- import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
27
- import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
28
- import { FormValueDateRangeTransformers } from '../common/mixins/forms/form-transformers.js';
29
- import { createFormValueState } from '../common/mixins/forms/form-value.js';
30
- import { addSafeEventListener, asNumber, clamp, equal, getElementFromPath, isEmpty, } from '../common/util.js';
14
+ import { addAriaProjector } from '#internals/controllers/aria-projection.js';
15
+ import { addSlotController, setSlots } from '#internals/controllers/slot.js';
16
+ import { convertToDateRange } from '#internals/date/converters.js';
17
+ import { CalendarDay, truncateTime } from '#internals/date/model.js';
18
+ import { blazorAdditionalDependencies } from '#internals/decorators/blazorAdditionalDependencies.js';
19
+ import { shadowOptions } from '#internals/decorators/shadow-options.js';
20
+ import { registerComponent } from '#internals/definitions/register.js';
21
+ import { addI18nController, getDateTimeFormat, } from '#internals/i18n/i18n-controller.js';
22
+ import { EventEmitterMixin } from '#internals/mixins/event-emitter.js';
23
+ import { FormValueDateRangeTransformers } from '#internals/mixins/forms/form-transformers.js';
24
+ import { createFormValueState } from '#internals/mixins/forms/form-value.js';
25
+ import { firstOf, isEmpty, lastOf } from '#internals/utils/arrays.js';
26
+ import { bindIf } from '#internals/utils/lit.js';
27
+ import { asNumber, clamp } from '#internals/utils/math.js';
28
+ import { createIdGenerator } from '#internals/utils/strings.js';
29
+ import { addThemingController } from '#theming/theming-controller.js';
30
+ import { IgcDatePickerBaseComponent, pickerDependencies, } from '../date-picker/date-picker.base.js';
31
31
  import IgcDateTimeInputComponent from '../date-time-input/date-time-input.js';
32
- import IgcDialogComponent from '../dialog/dialog.js';
33
- import IgcFocusTrapComponent from '../focus-trap/focus-trap.js';
34
- import IgcIconComponent from '../icon/icon.js';
35
- import IgcPopoverComponent from '../popover/popover.js';
36
- import IgcValidationContainerComponent from '../validation-container/validation-container.js';
37
32
  import IgcDateRangeInputComponent from './date-range-input.js';
38
33
  import { DateRangePosition } from './date-range-mask-parser.js';
39
34
  import { styles } from './date-range-picker.base.css.js';
@@ -41,236 +36,179 @@ import IgcPredefinedRangesAreaComponent from './predefined-ranges-area.js';
41
36
  import { styles as shared } from './themes/shared/date-range-picker.common.css.js';
42
37
  import { all } from './themes/themes.js';
43
38
  import { dateRangeValidators, isCompleteDateRange } from './validators.js';
44
- let nextId = 1;
45
- let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(IgcComboBoxBaseLikeComponent)) {
39
+ const nextId = createIdGenerator('date-range-picker');
40
+ const Slots = setSlots('prefix', 'prefix-start', 'prefix-end', 'suffix', 'suffix-start', 'suffix-end', 'helper-text', 'bad-input', 'value-missing', 'range-overflow', 'range-underflow', 'custom-error', 'invalid', 'title', 'header-date', 'clear-icon', 'clear-icon-start', 'clear-icon-end', 'calendar-icon', 'calendar-icon-start', 'calendar-icon-end', 'calendar-icon-open', 'calendar-icon-open-start', 'calendar-icon-open-end', 'actions', 'separator');
41
+ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends EventEmitterMixin(IgcDatePickerBaseComponent) {
46
42
  static { IgcDateRangePickerComponent_1 = this; }
47
43
  static { this.tagName = 'igc-date-range-picker'; }
48
44
  static { this.styles = [styles, shared]; }
49
45
  static register() {
50
- registerComponent(IgcDateRangePickerComponent_1, IgcDateRangeInputComponent, IgcCalendarComponent, IgcDateTimeInputComponent, IgcFocusTrapComponent, IgcIconComponent, IgcPopoverComponent, IgcDialogComponent, IgcValidationContainerComponent, IgcPredefinedRangesAreaComponent);
46
+ registerComponent(IgcDateRangePickerComponent_1, IgcDateRangeInputComponent, IgcDateTimeInputComponent, IgcPredefinedRangesAreaComponent, ...pickerDependencies);
51
47
  }
52
48
  get __validators() {
53
49
  return dateRangeValidators;
54
50
  }
55
- get _isDropDown() {
56
- return this.mode === 'dropdown';
51
+ get _editors() {
52
+ return this.useTwoInputs ? Array.from(this._inputs) : [this._input];
53
+ }
54
+ get _startEditor() {
55
+ return firstOf(this._editors);
57
56
  }
58
57
  get _firstDefinedInRange() {
59
58
  return this.value?.start ?? this.value?.end ?? null;
60
59
  }
61
- set value(value) {
62
- this._formValue.setValueAndFormState(convertToDateRange(value));
63
- this._setCalendarRangeValues();
60
+ get _value() {
61
+ return this.value;
64
62
  }
65
- get value() {
66
- return this._formValue.value;
63
+ set _value(value) {
64
+ this.value = value;
67
65
  }
68
- set locale(value) {
69
- this._i18nController.locale = value;
66
+ get _hasValue() {
67
+ return this._firstDefinedInRange !== null;
70
68
  }
71
- get locale() {
72
- return this._i18nController.locale;
69
+ get _calendarSelection() {
70
+ return 'range';
73
71
  }
74
- set resourceStrings(value) {
75
- this._i18nController.resourceStrings = value;
72
+ get _calendarValues() {
73
+ return this._calendarRange;
76
74
  }
77
- get resourceStrings() {
78
- return this._i18nController.resourceStrings;
75
+ get _defaultActiveDate() {
76
+ return this._firstDefinedInRange;
79
77
  }
80
- set placeholder(value) {
81
- this._placeholder = value;
78
+ get _selectDateLabel() {
79
+ return this.resourceStrings.calendar_select_date;
82
80
  }
83
- get placeholder() {
84
- const rangePlaceholder = `${this.inputFormat} - ${this.inputFormat}`;
85
- return this._placeholder ?? rangePlaceholder;
81
+ get _defaultDisplayFormat() {
82
+ return this._inputFormat ?? this._i18nController.localeDisplayFormat;
86
83
  }
87
- set displayFormat(value) {
88
- this._displayFormat = value;
84
+ get _defaultInputFormat() {
85
+ return this._i18nController.localeInputFormat;
89
86
  }
90
- get displayFormat() {
91
- return (this._displayFormat ?? this._inputFormat ?? this._defaultDisplayFormat);
87
+ get _projectionTarget() {
88
+ return this._input ?? this._inputs?.[0] ?? null;
92
89
  }
93
- set inputFormat(value) {
94
- this._inputFormat = value;
90
+ _focusInput() {
91
+ this._startEditor.focus();
95
92
  }
96
- get inputFormat() {
97
- return this._inputFormat ?? this._defaultMask;
93
+ _focusAndSelectInput() {
94
+ this.useTwoInputs ? this._inputs[0].select() : this._input.focus();
98
95
  }
99
- set min(value) {
100
- this._min = convertToDate(value);
101
- this._setDateConstraints();
102
- this._validate();
96
+ _canCloseOnSelect() {
97
+ return this._calendar.values.length > 1;
103
98
  }
104
- get min() {
105
- return this._min;
99
+ _handleDismiss() {
100
+ if (!this._isDropDown) {
101
+ this._revertValue();
102
+ }
106
103
  }
107
- set max(value) {
108
- this._max = convertToDate(value);
109
- this._setDateConstraints();
110
- this._validate();
104
+ _syncCalendarOnToggle() {
105
+ this._setCalendarActiveDateAndViewIndex();
111
106
  }
112
- get max() {
113
- return this._max;
107
+ _clearEditors() {
108
+ for (const editor of this._editors) {
109
+ editor?.clear();
110
+ }
114
111
  }
115
- set disabledDates(dates) {
116
- this._disabledDates = dates;
117
- this._setDateConstraints();
118
- this._validate();
112
+ _onDialogClosing() {
113
+ this._emitChangeIfDirty();
119
114
  }
120
- get disabledDates() {
121
- return this._disabledDates;
115
+ _commitsCalendarSelection() {
116
+ return this._isDropDown;
122
117
  }
123
- get visibleMonths() {
124
- return this._visibleMonths;
118
+ _valueFromCalendarSelection(dates) {
119
+ return isEmpty(dates)
120
+ ? { start: null, end: null }
121
+ : { start: firstOf(dates), end: lastOf(dates) };
122
+ }
123
+ set value(value) {
124
+ this._formValue.setValueAndFormState(convertToDateRange(value));
125
+ this._setCalendarRangeValues();
126
+ }
127
+ get value() {
128
+ return this._formValue.value;
125
129
  }
126
130
  set visibleMonths(value) {
127
131
  this._visibleMonths = clamp(asNumber(value, 2), 1, 2);
128
132
  }
129
- set activeDate(value) {
130
- this._activeDate = convertToDate(value);
133
+ get visibleMonths() {
134
+ return this._visibleMonths;
135
+ }
136
+ set resourceStrings(value) {
137
+ this._i18nController.resourceStrings = value;
138
+ }
139
+ get resourceStrings() {
140
+ return this._i18nController.resourceStrings;
141
+ }
142
+ set placeholder(value) {
143
+ this._placeholder = value;
131
144
  }
132
- get activeDate() {
133
- return this._activeDate ?? this._calendar?.activeDate;
145
+ get placeholder() {
146
+ const rangePlaceholder = `${this.inputFormat} - ${this.inputFormat}`;
147
+ return this._placeholder ?? rangePlaceholder;
134
148
  }
135
149
  constructor() {
136
150
  super();
137
- this._inputId = `date-range-picker-${nextId++}`;
151
+ this._inputId = nextId();
138
152
  this._themes = addThemingController(this, all);
139
- this._formValue = createFormValueState(this, {
140
- initialValue: { start: null, end: null },
141
- transformers: FormValueDateRangeTransformers,
142
- });
143
- this._rootClickController = addRootClickController(this, {
144
- onHide: this._handleClosing,
153
+ this._slots = addSlotController(this, {
154
+ slots: Slots,
145
155
  });
146
156
  this._i18nController = addI18nController(this, {
147
157
  defaultEN: Object.assign({}, DateRangePickerResourceStringsEN, CalendarResourceStringsEN),
148
158
  resourceMapName: 'date-range-picker',
149
- onResourceChange: this._updateDefaultMask,
150
159
  });
151
- this._activeDate = null;
152
- this._min = null;
153
- this._max = null;
154
- this._disabledDates = [];
155
- this._dateConstraints = [];
156
- this._oldValue = null;
160
+ this._formValue = createFormValueState(this, {
161
+ initialValue: { start: null, end: null },
162
+ transformers: FormValueDateRangeTransformers,
163
+ });
157
164
  this._visibleMonths = 2;
165
+ this._calendarRange = null;
158
166
  this.customRanges = [];
159
- this.mode = 'dropdown';
160
167
  this.useTwoInputs = false;
161
168
  this.usePredefinedRanges = false;
162
- this.readOnly = false;
163
- this.nonEditable = false;
164
- this.outlined = false;
165
169
  this.labelStart = '';
166
170
  this.labelEnd = '';
167
171
  this.placeholderStart = '';
168
172
  this.placeholderEnd = '';
169
- this.prompt = '_';
170
- this.headerOrientation = 'horizontal';
171
- this.orientation = 'horizontal';
172
- this.hideHeader = false;
173
- this.showWeekNumbers = false;
174
- this.hideOutsideDays = false;
175
- this.weekStart = 'sunday';
176
- addSafeEventListener(this, 'focusout', this._handleFocusOut);
177
- addKeybindings(this, {
178
- skip: () => this.disabled || this.readOnly,
179
- })
180
- .set([altKey, arrowDown], this._handleAnchorClick)
181
- .set([altKey, arrowUp], this._onEscapeKey)
182
- .set(escapeKey, this._onEscapeKey);
183
- }
184
- createRenderRoot() {
185
- const root = super.createRenderRoot();
186
- root.addEventListener('slotchange', () => this.requestUpdate());
187
- return root;
173
+ addAriaProjector(this, {
174
+ target: () => this._inputs[1] ?? null,
175
+ state: () => ({ hasPopup: 'dialog' }),
176
+ });
177
+ }
178
+ willUpdate(changedProperties) {
179
+ super.willUpdate(changedProperties);
180
+ if (changedProperties.has('mode') && !this._isDropDown) {
181
+ this.keepOpenOnSelect = true;
182
+ }
183
+ if (changedProperties.has('useTwoInputs')) {
184
+ this._syncEditors();
185
+ }
186
+ else if (changedProperties.has('mode')) {
187
+ this._syncCalendarRange();
188
+ }
188
189
  }
189
190
  firstUpdated() {
190
- this._setCalendarRangeValues();
191
191
  this._delegateInputsValidity();
192
192
  }
193
- updated(changedProperties) {
194
- super.updated(changedProperties);
195
- const target = this._input ?? this._inputs?.[0];
196
- if (target) {
197
- target._labelElements = this._internals.labels;
198
- }
199
- }
200
193
  formResetCallback() {
201
194
  super.formResetCallback();
202
195
  this._setCalendarRangeValues();
203
196
  }
204
197
  hasDateParts() {
205
- return this.useTwoInputs
206
- ? this._inputs[0].hasDateParts()
207
- : this._input.hasDateParts();
198
+ return this._startEditor.hasDateParts();
208
199
  }
209
200
  hasTimeParts() {
210
- return this.useTwoInputs
211
- ? this._inputs[0].hasTimeParts()
212
- : this._input.hasTimeParts();
213
- }
214
- clear() {
215
- this._oldValue = this.value;
216
- this.value = null;
217
- if (this.useTwoInputs) {
218
- this._inputs[0]?.clear();
219
- this._inputs[1]?.clear();
220
- }
221
- else {
222
- this._input.value = null;
223
- this._input?.clear();
224
- }
201
+ return this._startEditor.hasTimeParts();
225
202
  }
226
203
  select(value) {
227
204
  this._select(value);
228
205
  }
229
- _openChange() {
230
- this._rootClickController.update();
231
- if (this.open) {
232
- this._oldValue = this.value;
233
- }
234
- }
235
- _updateDefaultMask() {
236
- this._defaultMask = getDefaultDateTimeFormat(this.locale);
237
- this._defaultDisplayFormat = getDateFormatter().getLocaleDateTimeFormat(this.locale);
238
- }
239
- async _updateDateRange() {
240
- await this._calendar?.updateComplete;
241
- this._setCalendarRangeValues();
242
- this._delegateInputsValidity();
243
- }
244
- async _modeChanged() {
245
- if (!this._isDropDown) {
246
- this.keepOpenOnSelect = true;
247
- }
248
- await this._calendar?.updateComplete;
249
- this._setCalendarRangeValues();
250
- }
251
- _handleClosing() {
252
- this._hide(true);
253
- }
254
- _handleDialogClosing(event) {
255
- event.stopPropagation();
256
- if (!equal(this.value, this._oldValue)) {
257
- this.emitEvent('igcChange', { detail: this.value });
258
- this._oldValue = this.value;
259
- }
260
- this._hide(true);
261
- }
262
- _handleDialogClosed(event) {
263
- event.stopPropagation();
264
- }
265
206
  _dialogCancel() {
266
207
  this._revertValue();
267
208
  this._hide(true);
268
209
  }
269
210
  _dialogDone() {
270
- if (!equal(this.value, this._oldValue)) {
271
- this.emitEvent('igcChange', { detail: this.value });
272
- this._oldValue = this.value;
273
- }
211
+ this._emitChangeIfDirty();
274
212
  this._hide(true);
275
213
  }
276
214
  _handleInput(event) {
@@ -280,24 +218,17 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
280
218
  return;
281
219
  }
282
220
  const input = event.target;
283
- const newValue = input.value ? CalendarDay.from(input.value).native : null;
284
- this.value = this._getUpdatedDateRange(input, newValue);
285
- this._calendar.activeDate =
286
- newValue ?? this._firstDefinedInRange ?? this._calendar.activeDate;
287
- this.emitEvent('igcInput', { detail: this.value });
221
+ const newValue = truncateTime(input._uncommittedValue);
222
+ const range = this._getUpdatedDateRange(input, newValue);
223
+ this._setCalendarRangeValues(range);
224
+ this._setCalendarActiveDate(newValue, range.start, range.end);
225
+ this.emitEvent('igcInput', { detail: range });
288
226
  }
289
227
  _handleInputChange(event) {
290
228
  event.stopPropagation();
291
229
  const input = event.target;
292
- const newValue = input.value ? CalendarDay.from(input.value).native : null;
293
- const updatedRange = this._getUpdatedDateRange(input, newValue);
294
- const { start, end } = this._swapDates(updatedRange) ?? {
295
- start: null,
296
- end: null,
297
- };
298
- this._setCalendarRangeValues();
299
- this.value = { start, end };
300
- this.emitEvent('igcChange', { detail: this.value });
230
+ const newValue = truncateTime(input.value);
231
+ this._commitRange(this._getUpdatedDateRange(input, newValue));
301
232
  }
302
233
  async _handleDateRangeInput(event) {
303
234
  event.stopPropagation();
@@ -306,110 +237,62 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
306
237
  return;
307
238
  }
308
239
  const input = event.target;
309
- const newValue = input.value;
310
- this.value = newValue;
311
- this._calendar.activeDate = newValue?.start;
312
- this.emitEvent('igcInput', { detail: this.value });
240
+ const draft = input._uncommittedValue;
241
+ this._setCalendarRangeValues(draft);
242
+ this._calendar.activeDate = draft?.start;
243
+ this.emitEvent('igcInput', { detail: draft });
313
244
  }
314
245
  _handleDateRangeInputChange(event) {
315
246
  event.stopPropagation();
316
- const input = event.target;
317
- const newValue = input.value;
318
- const { start, end } = this._swapDates(newValue) ?? {
319
- start: null,
320
- end: null,
321
- };
322
- this._setCalendarRangeValues();
323
- this.value = { start, end };
324
- this.emitEvent('igcChange', { detail: this.value });
325
- }
326
- _handleFocusOut({ relatedTarget }) {
327
- if (!this.contains(relatedTarget)) {
328
- this._handleBlur();
329
- }
247
+ this._commitRange(event.target.value);
330
248
  }
331
- _handleInputClick(event) {
332
- if (getElementFromPath('input', event)) {
333
- this._handleAnchorClick();
334
- }
335
- }
336
- async _onEscapeKey() {
337
- if (await this._hide(true)) {
338
- if (!this._isDropDown) {
339
- this._revertValue();
340
- }
341
- this.useTwoInputs ? this._inputs[0].focus() : this._input.focus();
342
- }
343
- }
344
- async _handleAnchorClick() {
345
- super._handleAnchorClick();
346
- this._setCalendarActiveDateAndViewIndex();
347
- await this.updateComplete;
348
- this._calendar[focusActiveDate]({ preventScroll: true });
349
- }
350
- async _handleCalendarChangeEvent(event) {
351
- event.stopPropagation();
352
- this._setTouchedState();
353
- if (this.readOnly) {
354
- await this._calendar.updateComplete;
355
- const dateRange = [this.value?.start, this.value?.end];
356
- this._calendar.values = dateRange?.map((d) => d ?? '');
357
- return;
358
- }
359
- const rangeValues = event.target.values;
360
- this.value = {
361
- start: rangeValues[0],
362
- end: rangeValues[rangeValues.length - 1],
363
- };
364
- if (this._isDropDown) {
365
- this.emitEvent('igcChange', { detail: this.value });
366
- }
367
- this._shouldCloseCalendarDropdown();
249
+ async _syncCalendarRange() {
250
+ await this._calendar?.updateComplete;
251
+ this._setCalendarRangeValues();
368
252
  }
369
- _handleCalendarIconSlotPointerDown(event) {
370
- event.preventDefault();
253
+ async _syncEditors() {
254
+ await this._syncCalendarRange();
255
+ this._delegateInputsValidity();
371
256
  }
372
257
  _revertValue() {
373
258
  this.value = this._oldValue;
374
259
  }
375
260
  _setCalendarActiveDateAndViewIndex() {
376
261
  const activeDaysViewIndex = '_activeDaysViewIndex';
377
- this._calendar.activeDate =
378
- this._firstDefinedInRange ?? this._calendar.activeDate;
262
+ this._setCalendarActiveDate(this._firstDefinedInRange);
379
263
  this._calendar[activeDaysViewIndex] = 0;
380
264
  }
381
265
  _getUpdatedDateRange(input, newValue) {
382
- const { start = null, end = null } = this.value ?? {};
383
- return input === this._inputs[0]
384
- ? { start: newValue, end }
385
- : { start, end: newValue };
266
+ const [startInput, endInput] = this._inputs;
267
+ return input === startInput
268
+ ? { start: newValue, end: endInput?._uncommittedValue ?? null }
269
+ : { start: startInput?._uncommittedValue ?? null, end: newValue };
386
270
  }
387
271
  _delegateInputsValidity() {
388
- const inputs = this.useTwoInputs ? this._inputs : [this._input];
389
- inputs.forEach((input) => {
272
+ for (const input of this._editors) {
390
273
  input.checkValidity = () => !this._pristine ? this.checkValidity() : true;
391
274
  input.reportValidity = () => !this._pristine ? this.reportValidity() : true;
392
- });
393
- }
394
- _setDateConstraints() {
395
- this._dateConstraints =
396
- createDateConstraints(this.min, this.max, this.disabledDates) ?? [];
397
- }
398
- _setCalendarRangeValues() {
399
- if (!this._calendar) {
400
- return;
401
275
  }
402
- if (isCompleteDateRange(this.value)) {
403
- this._calendar.values =
404
- CalendarDay.compare(this.value.start, this.value.end) === 0
405
- ? [this.value.start]
406
- : [this.value.start, this.value.end];
407
- this._calendar.activeDate = this._firstDefinedInRange;
276
+ }
277
+ _setCalendarRangeValues(range = this.value) {
278
+ if (isCompleteDateRange(range)) {
279
+ this._calendarRange =
280
+ CalendarDay.compare(range.start, range.end) === 0
281
+ ? [range.start]
282
+ : [range.start, range.end];
283
+ this._setCalendarActiveDate(range.start);
408
284
  return;
409
285
  }
410
- this._calendar.values = this._firstDefinedInRange
411
- ? [this._firstDefinedInRange]
412
- : null;
286
+ const first = range?.start ?? range?.end ?? null;
287
+ this._calendarRange = first ? [first] : null;
288
+ }
289
+ _commitRange(range) {
290
+ const { start, end } = (range && this._swapDates(range)) ?? {
291
+ start: null,
292
+ end: null,
293
+ };
294
+ this.value = { start, end };
295
+ this.emitEvent('igcChange', { detail: this.value });
413
296
  }
414
297
  _swapDates(range) {
415
298
  return isCompleteDateRange(range) &&
@@ -417,105 +300,17 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
417
300
  ? { start: range.end, end: range.start }
418
301
  : range;
419
302
  }
420
- async _shouldCloseCalendarDropdown() {
421
- if (!this.keepOpenOnSelect &&
422
- this._calendar.values.length > 1 &&
423
- (await this._hide(true))) {
424
- return this.useTwoInputs ? this._inputs[0].select() : this._input.focus();
425
- }
426
- }
427
303
  _select(value, emitEvent = false) {
428
304
  this.value = value;
429
- this._calendar.activeDate =
430
- this._firstDefinedInRange ?? this._calendar.activeDate;
305
+ this._setCalendarActiveDate(this._firstDefinedInRange);
431
306
  if (emitEvent) {
432
307
  this.emitEvent('igcChange', { detail: this.value });
433
308
  this._oldValue = this.value;
434
309
  this._hide(true);
435
310
  }
436
311
  }
437
- _renderClearIcon(picker = DateRangePosition.Start) {
438
- const clearIcon = this.useTwoInputs ? `clear-icon-${picker}` : 'clear-icon';
439
- return this._firstDefinedInRange
440
- ? html `
441
- <span
442
- slot="suffix"
443
- part=${clearIcon}
444
- @click=${this.readOnly ? nothing : this.clear}
445
- >
446
- <slot name=${clearIcon}>
447
- <igc-icon
448
- name="input_clear"
449
- collection="default"
450
- aria-hidden="true"
451
- ></igc-icon>
452
- </slot>
453
- </span>
454
- `
455
- : nothing;
456
- }
457
- _renderCalendarIcon(picker = DateRangePosition.Start) {
458
- const defaultIcon = html `
459
- <igc-icon name="today" collection="default" aria-hidden="true"></igc-icon>
460
- `;
461
- const state = this.open ? 'calendar-icon-open' : 'calendar-icon';
462
- const calendarIcon = this.useTwoInputs ? `${state}-${picker}` : state;
463
- return html `
464
- <span
465
- slot="prefix"
466
- part=${calendarIcon}
467
- @pointerdown=${this._handleCalendarIconSlotPointerDown}
468
- @click=${this.readOnly ? nothing : this._handleAnchorClick}
469
- >
470
- <slot name=${calendarIcon}>${defaultIcon}</slot>
471
- </span>
472
- `;
473
- }
474
- _renderCalendarSlots() {
475
- if (this._isDropDown) {
476
- return nothing;
477
- }
478
- const hasHeaderDate = isEmpty(this._headerDateSlotItems)
479
- ? ''
480
- : 'header-date';
481
- return html `
482
- <slot name="title" slot="title">
483
- ${this.resourceStrings.calendar_select_date}
484
- </slot>
485
- <slot name="header-date" slot=${hasHeaderDate}></slot>
486
- `;
487
- }
488
- _renderCalendar(id) {
489
- const hideHeader = this._isDropDown ? true : this.hideHeader;
490
- return html `
491
- <igc-calendar
492
- aria-labelledby=${id}
493
- role="dialog"
494
- selection="range"
495
- .inert=${!this.open || this.disabled}
496
- ?show-week-numbers=${this.showWeekNumbers}
497
- ?hide-outside-days=${this.hideOutsideDays}
498
- ?hide-header=${hideHeader}
499
- .activeDate=${this.activeDate ?? this._firstDefinedInRange}
500
- .headerOrientation=${this.headerOrientation}
501
- .orientation=${this.orientation}
502
- .visibleMonths=${this._visibleMonths}
503
- .disabledDates=${this._dateConstraints}
504
- .specialDates=${this.specialDates}
505
- .weekStart=${this.weekStart}
506
- @igcChange=${this._handleCalendarChangeEvent}
507
- exportparts="header, header-title, header-date, content: calendar-content, navigation, months-navigation,
508
- years-navigation, years-range, navigation-buttons, navigation-button, days-view-container,
509
- days-view, months-view, years-view, days-row, label: calendar-label, week-number, week-number-inner, date,
510
- date-inner, first, last, inactive, hidden, weekend, range, special, disabled, single, preview,
511
- month, month-inner, year, year-inner, selected, current"
512
- >
513
- ${this._renderCalendarSlots()}
514
- </igc-calendar>
515
- `;
516
- }
517
312
  _renderActions() {
518
- const hasActions = !isEmpty(this._actions);
313
+ const hasActions = this._slots.hasAssignedElements('actions');
519
314
  const slot = this._isDropDown || hasActions ? undefined : 'footer';
520
315
  return html `
521
316
  <div part="actions" ?hidden=${!hasActions} slot=${ifDefined(slot)}>
@@ -537,70 +332,44 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
537
332
  `
538
333
  : nothing;
539
334
  }
540
- _renderPicker(id) {
541
- const isIndigo = this._themes.theme === 'indigo';
335
+ _renderPickerContent(id) {
542
336
  return this._isDropDown
543
- ? html `
544
- <igc-popover ?open=${this.open} anchor=${id} flip shift>
545
- <igc-focus-trap ?disabled=${!this.open || this.disabled}>
546
- ${this._renderCalendar(id)} ${this._renderPredefinedRanges()}
547
- ${this._renderActions()}
548
- </igc-focus-trap>
549
- </igc-popover>
550
- `
551
- : html `
552
- <igc-dialog
553
- aria-label=${ifDefined(this.resourceStrings.calendar_select_date)}
554
- role="dialog"
555
- ?open=${this.open}
556
- ?close-on-outside-click=${!this.keepOpenOnOutsideClick}
557
- hide-default-action
558
- @igcClosing=${this._handleDialogClosing}
559
- @igcClosed=${this._handleDialogClosed}
560
- exportparts="base: dialog-base, title, footer, overlay"
561
- >
562
- ${this._renderCalendar(id)} ${this._renderActions()}
563
- ${this._renderPredefinedRanges()}
564
- <igc-button
565
- slot="footer"
566
- @click=${this._dialogCancel}
567
- variant=${isIndigo ? 'outlined' : 'flat'}
568
- >${this.resourceStrings.date_range_picker_cancel_button}</igc-button
569
- >
570
- <igc-button
571
- slot="footer"
572
- @click=${this._dialogDone}
573
- variant=${isIndigo ? 'contained' : 'flat'}
574
- >${this.resourceStrings.date_range_picker_done_button}</igc-button
575
- >
576
- </igc-dialog>
577
- `;
578
- }
579
- _renderHelperText() {
580
- return IgcValidationContainerComponent.create(this);
337
+ ? html `${this._renderCalendar(id)} ${this._renderPredefinedRanges()}
338
+ ${this._renderActions()}`
339
+ : html `${this._renderCalendar(id)} ${this._renderActions()}
340
+ ${this._renderPredefinedRanges()}`;
341
+ }
342
+ _renderDialogFooter() {
343
+ const isIndigo = this._themes.theme === 'indigo';
344
+ return html `
345
+ <igc-button
346
+ slot="footer"
347
+ @click=${this._dialogCancel}
348
+ variant=${isIndigo ? 'outlined' : 'flat'}
349
+ >${this.resourceStrings.date_range_picker_cancel_button}</igc-button
350
+ >
351
+ <igc-button
352
+ slot="footer"
353
+ @click=${this._dialogDone}
354
+ variant=${isIndigo ? 'contained' : 'flat'}
355
+ >${this.resourceStrings.date_range_picker_done_button}</igc-button
356
+ >
357
+ `;
581
358
  }
582
359
  _renderInput(id, picker = DateRangePosition.Start) {
583
- const readOnly = !this._isDropDown || this.readOnly || this.nonEditable;
584
- const placeholder = picker === 'start' ? this.placeholderStart : this.placeholderEnd;
585
- const label = picker === 'start' ? this.labelStart : this.labelEnd;
360
+ const isStart = picker === DateRangePosition.Start;
361
+ const placeholder = isStart ? this.placeholderStart : this.placeholderEnd;
362
+ const label = isStart ? this.labelStart : this.labelEnd;
586
363
  const format = getDateTimeFormat(this._displayFormat);
587
- const value = picker === 'start' ? this.value?.start : this.value?.end;
588
- const prefixes = picker === DateRangePosition.Start
589
- ? this._startPrefixes
590
- : this._endPrefixes;
591
- const suffixes = picker === DateRangePosition.Start
592
- ? this._startSuffixes
593
- : this._endSuffixes;
594
- const prefix = isEmpty(prefixes) ? undefined : 'prefix';
595
- const suffix = isEmpty(suffixes) ? undefined : 'suffix';
364
+ const value = isStart ? this.value?.start : this.value?.end;
365
+ const hasClickHandler = !(this._isDropDown || this.readOnly);
596
366
  return html `
597
367
  <igc-date-time-input
598
368
  id=${id}
599
- aria-haspopup="dialog"
600
369
  input-format=${ifDefined(this._inputFormat)}
601
370
  display-format=${ifDefined(format)}
602
371
  ?disabled=${this.disabled}
603
- ?readonly=${readOnly}
372
+ ?readonly=${this._isEditorReadOnly}
604
373
  .value=${value ?? null}
605
374
  .locale=${live(this.locale)}
606
375
  .prompt=${this.prompt}
@@ -613,13 +382,10 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
613
382
  @igcChange=${this._handleInputChange}
614
383
  @igcInput=${this._handleInput}
615
384
  @keydown=${this._handleEnterKeydown}
616
- @click=${this._isDropDown || this.readOnly ? nothing : this._handleInputClick}
385
+ @click=${bindIf(hasClickHandler, this._handleInputClick)}
617
386
  exportparts="input, label, prefix, suffix"
618
387
  >
619
- ${this._renderCalendarIcon(picker)}
620
- <slot name=${`prefix-${picker}`} slot=${ifDefined(prefix)}></slot>
621
- ${this._renderClearIcon(picker)}
622
- <slot name=${`suffix-${picker}`} slot=${ifDefined(suffix)}></slot>
388
+ ${this._renderEditorSlots(`-${picker}`)}
623
389
  </igc-date-time-input>
624
390
  `;
625
391
  }
@@ -634,22 +400,20 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
634
400
  </div>
635
401
  ${this._renderInput(idEnd, DateRangePosition.End)}
636
402
  </div>
637
- ${this._renderPicker(idStart)} ${this._renderHelperText()}
403
+ ${this._renderPicker(idStart)} ${this._renderValidationContainer()}
638
404
  `;
639
405
  }
640
406
  _renderSingleInput(id) {
641
- const readOnly = !this._isDropDown || this.readOnly || this.nonEditable;
642
- const format = getDateTimeFormat(this.displayFormat) ?? this._defaultDisplayFormat;
643
- const prefix = isEmpty(this._prefixes) ? undefined : 'prefix';
644
- const suffix = isEmpty(this._suffixes) ? undefined : 'suffix';
407
+ const format = getDateTimeFormat(this.displayFormat) ??
408
+ this._i18nController.localeDisplayFormat;
409
+ const hasClickHandler = !(this._isDropDown || this.readOnly);
645
410
  return html `
646
411
  <igc-date-range-input
647
412
  id=${id}
648
413
  .value=${live(this.value)}
649
414
  .placeholder=${this.placeholder}
650
- aria-haspopup="dialog"
651
415
  label=${this.label}
652
- ?readonly=${readOnly}
416
+ ?readonly=${this._isEditorReadOnly}
653
417
  ?required=${this.required}
654
418
  .outlined=${this.outlined}
655
419
  ?invalid=${live(this.invalid)}
@@ -661,15 +425,12 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
661
425
  @igcInput=${this._handleDateRangeInput}
662
426
  @igcChange=${this._handleDateRangeInputChange}
663
427
  @keydown=${this._handleEnterKeydown}
664
- @click=${this._isDropDown || this.readOnly ? nothing : this._handleInputClick}
428
+ @click=${bindIf(hasClickHandler, this._handleInputClick)}
665
429
  exportparts="input, label, prefix, suffix"
666
430
  >
667
- ${this._renderCalendarIcon()}
668
- <slot name="prefix" slot=${ifDefined(prefix)}></slot>
669
- ${this._renderClearIcon()}
670
- <slot name="suffix" slot=${ifDefined(suffix)}></slot>
431
+ ${this._renderEditorSlots()}
671
432
  </igc-date-range-input>
672
- ${this._renderHelperText()} ${this._renderPicker(id)}
433
+ ${this._renderValidationContainer()} ${this._renderPicker(id)}
673
434
  `;
674
435
  }
675
436
  render() {
@@ -679,48 +440,24 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
679
440
  : this._renderInputs(`${id}-start`, `${id}-end`))}`;
680
441
  }
681
442
  };
443
+ __decorate([
444
+ state()
445
+ ], IgcDateRangePickerComponent.prototype, "_calendarRange", void 0);
682
446
  __decorate([
683
447
  queryAll(IgcDateTimeInputComponent.tagName)
684
448
  ], IgcDateRangePickerComponent.prototype, "_inputs", void 0);
685
449
  __decorate([
686
450
  query(IgcDateRangeInputComponent.tagName)
687
451
  ], IgcDateRangePickerComponent.prototype, "_input", void 0);
688
- __decorate([
689
- query(IgcCalendarComponent.tagName)
690
- ], IgcDateRangePickerComponent.prototype, "_calendar", void 0);
691
- __decorate([
692
- queryAssignedElements({ slot: 'prefix' })
693
- ], IgcDateRangePickerComponent.prototype, "_prefixes", void 0);
694
- __decorate([
695
- queryAssignedElements({ slot: 'prefix-start' })
696
- ], IgcDateRangePickerComponent.prototype, "_startPrefixes", void 0);
697
- __decorate([
698
- queryAssignedElements({ slot: 'prefix-end' })
699
- ], IgcDateRangePickerComponent.prototype, "_endPrefixes", void 0);
700
- __decorate([
701
- queryAssignedElements({ slot: 'suffix' })
702
- ], IgcDateRangePickerComponent.prototype, "_suffixes", void 0);
703
- __decorate([
704
- queryAssignedElements({ slot: 'suffix-start' })
705
- ], IgcDateRangePickerComponent.prototype, "_startSuffixes", void 0);
706
- __decorate([
707
- queryAssignedElements({ slot: 'suffix-end' })
708
- ], IgcDateRangePickerComponent.prototype, "_endSuffixes", void 0);
709
- __decorate([
710
- queryAssignedElements({ slot: 'actions' })
711
- ], IgcDateRangePickerComponent.prototype, "_actions", void 0);
712
- __decorate([
713
- queryAssignedElements({ slot: 'header-date' })
714
- ], IgcDateRangePickerComponent.prototype, "_headerDateSlotItems", void 0);
715
452
  __decorate([
716
453
  property({ converter: convertToDateRange })
717
454
  ], IgcDateRangePickerComponent.prototype, "value", null);
455
+ __decorate([
456
+ property({ type: Number, attribute: 'visible-months' })
457
+ ], IgcDateRangePickerComponent.prototype, "visibleMonths", null);
718
458
  __decorate([
719
459
  property({ attribute: false })
720
460
  ], IgcDateRangePickerComponent.prototype, "customRanges", void 0);
721
- __decorate([
722
- property()
723
- ], IgcDateRangePickerComponent.prototype, "mode", void 0);
724
461
  __decorate([
725
462
  property({ type: Boolean, reflect: true, attribute: 'use-two-inputs' })
726
463
  ], IgcDateRangePickerComponent.prototype, "useTwoInputs", void 0);
@@ -731,24 +468,9 @@ __decorate([
731
468
  attribute: 'use-predefined-ranges',
732
469
  })
733
470
  ], IgcDateRangePickerComponent.prototype, "usePredefinedRanges", void 0);
734
- __decorate([
735
- property()
736
- ], IgcDateRangePickerComponent.prototype, "locale", null);
737
471
  __decorate([
738
472
  property({ attribute: false })
739
473
  ], IgcDateRangePickerComponent.prototype, "resourceStrings", null);
740
- __decorate([
741
- property({ type: Boolean, reflect: true, attribute: 'readonly' })
742
- ], IgcDateRangePickerComponent.prototype, "readOnly", void 0);
743
- __decorate([
744
- property({ type: Boolean, reflect: true, attribute: 'non-editable' })
745
- ], IgcDateRangePickerComponent.prototype, "nonEditable", void 0);
746
- __decorate([
747
- property({ type: Boolean, reflect: true })
748
- ], IgcDateRangePickerComponent.prototype, "outlined", void 0);
749
- __decorate([
750
- property()
751
- ], IgcDateRangePickerComponent.prototype, "label", void 0);
752
474
  __decorate([
753
475
  property({ attribute: 'label-start' })
754
476
  ], IgcDateRangePickerComponent.prototype, "labelStart", void 0);
@@ -764,63 +486,6 @@ __decorate([
764
486
  __decorate([
765
487
  property({ attribute: 'placeholder-end' })
766
488
  ], IgcDateRangePickerComponent.prototype, "placeholderEnd", void 0);
767
- __decorate([
768
- property()
769
- ], IgcDateRangePickerComponent.prototype, "prompt", void 0);
770
- __decorate([
771
- property({ attribute: 'display-format' })
772
- ], IgcDateRangePickerComponent.prototype, "displayFormat", null);
773
- __decorate([
774
- property({ attribute: 'input-format' })
775
- ], IgcDateRangePickerComponent.prototype, "inputFormat", null);
776
- __decorate([
777
- property({ converter: convertToDate })
778
- ], IgcDateRangePickerComponent.prototype, "min", null);
779
- __decorate([
780
- property({ converter: convertToDate })
781
- ], IgcDateRangePickerComponent.prototype, "max", null);
782
- __decorate([
783
- property({ attribute: false })
784
- ], IgcDateRangePickerComponent.prototype, "disabledDates", null);
785
- __decorate([
786
- property({ type: Number, attribute: 'visible-months' })
787
- ], IgcDateRangePickerComponent.prototype, "visibleMonths", null);
788
- __decorate([
789
- property({ attribute: 'header-orientation', reflect: true })
790
- ], IgcDateRangePickerComponent.prototype, "headerOrientation", void 0);
791
- __decorate([
792
- property()
793
- ], IgcDateRangePickerComponent.prototype, "orientation", void 0);
794
- __decorate([
795
- property({ type: Boolean, reflect: true, attribute: 'hide-header' })
796
- ], IgcDateRangePickerComponent.prototype, "hideHeader", void 0);
797
- __decorate([
798
- property({ attribute: 'active-date', converter: convertToDate })
799
- ], IgcDateRangePickerComponent.prototype, "activeDate", null);
800
- __decorate([
801
- property({ type: Boolean, reflect: true, attribute: 'show-week-numbers' })
802
- ], IgcDateRangePickerComponent.prototype, "showWeekNumbers", void 0);
803
- __decorate([
804
- property({ type: Boolean, reflect: true, attribute: 'hide-outside-days' })
805
- ], IgcDateRangePickerComponent.prototype, "hideOutsideDays", void 0);
806
- __decorate([
807
- property({ attribute: false })
808
- ], IgcDateRangePickerComponent.prototype, "specialDates", void 0);
809
- __decorate([
810
- property({ attribute: 'week-start' })
811
- ], IgcDateRangePickerComponent.prototype, "weekStart", void 0);
812
- __decorate([
813
- watch('open')
814
- ], IgcDateRangePickerComponent.prototype, "_openChange", null);
815
- __decorate([
816
- watch('locale')
817
- ], IgcDateRangePickerComponent.prototype, "_updateDefaultMask", null);
818
- __decorate([
819
- watch('useTwoInputs')
820
- ], IgcDateRangePickerComponent.prototype, "_updateDateRange", null);
821
- __decorate([
822
- watch('mode')
823
- ], IgcDateRangePickerComponent.prototype, "_modeChanged", null);
824
489
  IgcDateRangePickerComponent = IgcDateRangePickerComponent_1 = __decorate([
825
490
  blazorAdditionalDependencies('IgcCalendarComponent, IgcDateTimeInputComponent, IgcDialogComponent, IgcIconComponent, IgcChipComponent, IgcInputComponent'),
826
491
  shadowOptions({ delegatesFocus: true })