igniteui-webcomponents 7.2.4 → 7.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (976) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/animations/player.js +1 -1
  3. package/animations/player.js.map +1 -1
  4. package/animations/view-transition.js +1 -1
  5. package/animations/view-transition.js.map +1 -1
  6. package/components/accordion/accordion.d.ts +1 -1
  7. package/components/accordion/accordion.js +7 -6
  8. package/components/accordion/accordion.js.map +1 -1
  9. package/components/avatar/avatar.js +3 -3
  10. package/components/avatar/avatar.js.map +1 -1
  11. package/components/avatar/themes/themes.d.ts +1 -1
  12. package/components/avatar/themes/themes.js.map +1 -1
  13. package/components/badge/badge.d.ts +1 -1
  14. package/components/badge/badge.js +5 -5
  15. package/components/badge/badge.js.map +1 -1
  16. package/components/badge/themes/themes.d.ts +1 -1
  17. package/components/badge/themes/themes.js.map +1 -1
  18. package/components/banner/banner.d.ts +2 -2
  19. package/components/banner/banner.js +8 -8
  20. package/components/banner/banner.js.map +1 -1
  21. package/components/banner/themes/themes.d.ts +1 -1
  22. package/components/banner/themes/themes.js.map +1 -1
  23. package/components/button/button-base.d.ts +2 -2
  24. package/components/button/button-base.js +9 -8
  25. package/components/button/button-base.js.map +1 -1
  26. package/components/button/button.d.ts +3 -3
  27. package/components/button/button.js +2 -2
  28. package/components/button/button.js.map +1 -1
  29. package/components/button/icon-button.js +3 -3
  30. package/components/button/icon-button.js.map +1 -1
  31. package/components/button/themes/button/themes.d.ts +1 -1
  32. package/components/button/themes/button/themes.js.map +1 -1
  33. package/components/button/themes/icon-button/themes.d.ts +1 -1
  34. package/components/button/themes/icon-button/themes.js.map +1 -1
  35. package/components/button-group/button-group.d.ts +42 -21
  36. package/components/button-group/button-group.js +101 -106
  37. package/components/button-group/button-group.js.map +1 -1
  38. package/components/button-group/themes/button.d.ts +1 -1
  39. package/components/button-group/themes/button.js.map +1 -1
  40. package/components/button-group/themes/group.d.ts +1 -1
  41. package/components/button-group/themes/group.js.map +1 -1
  42. package/components/button-group/toggle-button.d.ts +17 -10
  43. package/components/button-group/toggle-button.js +28 -13
  44. package/components/button-group/toggle-button.js.map +1 -1
  45. package/components/calendar/base.d.ts +29 -10
  46. package/components/calendar/base.js +12 -15
  47. package/components/calendar/base.js.map +1 -1
  48. package/components/calendar/calendar.d.ts +39 -8
  49. package/components/calendar/calendar.js +96 -85
  50. package/components/calendar/calendar.js.map +1 -1
  51. package/components/calendar/days-view/days-view.d.ts +49 -22
  52. package/components/calendar/days-view/days-view.js +102 -163
  53. package/components/calendar/days-view/days-view.js.map +1 -1
  54. package/components/calendar/helpers.d.ts +3 -62
  55. package/components/calendar/helpers.js +6 -110
  56. package/components/calendar/helpers.js.map +1 -1
  57. package/components/calendar/months-view/months-view.d.ts +7 -21
  58. package/components/calendar/months-view/months-view.js +30 -83
  59. package/components/calendar/months-view/months-view.js.map +1 -1
  60. package/components/calendar/selection.d.ts +21 -0
  61. package/components/calendar/selection.js +42 -0
  62. package/components/calendar/selection.js.map +1 -0
  63. package/components/calendar/themes/calendar.d.ts +1 -1
  64. package/components/calendar/themes/calendar.js.map +1 -1
  65. package/components/calendar/themes/days.d.ts +1 -1
  66. package/components/calendar/themes/days.js.map +1 -1
  67. package/components/calendar/themes/year-month.d.ts +1 -1
  68. package/components/calendar/themes/year-month.js.map +1 -1
  69. package/components/calendar/types.d.ts +18 -0
  70. package/components/calendar/types.js.map +1 -1
  71. package/components/calendar/year-month-view.base.d.ts +44 -0
  72. package/components/calendar/year-month-view.base.js +89 -0
  73. package/components/calendar/year-month-view.base.js.map +1 -0
  74. package/components/calendar/years-view/years-view.d.ts +7 -20
  75. package/components/calendar/years-view/years-view.js +25 -79
  76. package/components/calendar/years-view/years-view.js.map +1 -1
  77. package/components/card/card.actions.js +2 -2
  78. package/components/card/card.actions.js.map +1 -1
  79. package/components/card/card.content.d.ts +1 -1
  80. package/components/card/card.content.js +2 -2
  81. package/components/card/card.content.js.map +1 -1
  82. package/components/card/card.d.ts +1 -1
  83. package/components/card/card.header.js +2 -2
  84. package/components/card/card.header.js.map +1 -1
  85. package/components/card/card.js +2 -2
  86. package/components/card/card.js.map +1 -1
  87. package/components/card/card.media.d.ts +1 -1
  88. package/components/card/card.media.js +1 -1
  89. package/components/card/card.media.js.map +1 -1
  90. package/components/card/themes/actions.d.ts +1 -1
  91. package/components/card/themes/actions.js.map +1 -1
  92. package/components/card/themes/container.d.ts +1 -1
  93. package/components/card/themes/container.js.map +1 -1
  94. package/components/card/themes/content.d.ts +1 -1
  95. package/components/card/themes/content.js.map +1 -1
  96. package/components/card/themes/header.d.ts +1 -1
  97. package/components/card/themes/header.js.map +1 -1
  98. package/components/carousel/animations.d.ts +1 -1
  99. package/components/carousel/animations.js +2 -2
  100. package/components/carousel/animations.js.map +1 -1
  101. package/components/carousel/carousel-indicator-container.js +4 -4
  102. package/components/carousel/carousel-indicator-container.js.map +1 -1
  103. package/components/carousel/carousel-indicator.d.ts +1 -1
  104. package/components/carousel/carousel-indicator.js +5 -5
  105. package/components/carousel/carousel-indicator.js.map +1 -1
  106. package/components/carousel/carousel-slide.d.ts +1 -1
  107. package/components/carousel/carousel-slide.js +9 -9
  108. package/components/carousel/carousel-slide.js.map +1 -1
  109. package/components/carousel/carousel.d.ts +7 -7
  110. package/components/carousel/carousel.js +39 -28
  111. package/components/carousel/carousel.js.map +1 -1
  112. package/components/carousel/themes/container.d.ts +1 -1
  113. package/components/carousel/themes/container.js.map +1 -1
  114. package/components/carousel/themes/indicator-container.d.ts +1 -1
  115. package/components/carousel/themes/indicator-container.js.map +1 -1
  116. package/components/chat/chat-input.d.ts +4 -4
  117. package/components/chat/chat-input.js +9 -8
  118. package/components/chat/chat-input.js.map +1 -1
  119. package/components/chat/chat-message.d.ts +1 -1
  120. package/components/chat/chat-message.js +7 -6
  121. package/components/chat/chat-message.js.map +1 -1
  122. package/components/chat/chat-state.d.ts +2 -2
  123. package/components/chat/chat-state.js +2 -1
  124. package/components/chat/chat-state.js.map +1 -1
  125. package/components/chat/chat.d.ts +4 -4
  126. package/components/chat/chat.js +7 -7
  127. package/components/chat/chat.js.map +1 -1
  128. package/components/chat/message-attachments.js +5 -5
  129. package/components/chat/message-attachments.js.map +1 -1
  130. package/components/chat/themes/attachments.d.ts +1 -1
  131. package/components/chat/themes/attachments.js.map +1 -1
  132. package/components/chat/themes/input.d.ts +1 -1
  133. package/components/chat/themes/input.js.map +1 -1
  134. package/components/chat/themes/message.d.ts +1 -1
  135. package/components/chat/themes/message.js.map +1 -1
  136. package/components/chat/themes/themes.d.ts +1 -1
  137. package/components/chat/themes/themes.js.map +1 -1
  138. package/components/chat/types.d.ts +2 -2
  139. package/components/chat/types.js.map +1 -1
  140. package/components/chat/utils.d.ts +1 -1
  141. package/components/chat/utils.js +3 -3
  142. package/components/chat/utils.js.map +1 -1
  143. package/components/checkbox/checkbox-base.d.ts +7 -7
  144. package/components/checkbox/checkbox-base.js +7 -7
  145. package/components/checkbox/checkbox-base.js.map +1 -1
  146. package/components/checkbox/checkbox.js +7 -6
  147. package/components/checkbox/checkbox.js.map +1 -1
  148. package/components/checkbox/switch.js +7 -6
  149. package/components/checkbox/switch.js.map +1 -1
  150. package/components/checkbox/themes/checkbox-themes.d.ts +1 -1
  151. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  152. package/components/checkbox/themes/switch-themes.d.ts +1 -1
  153. package/components/checkbox/themes/switch-themes.js.map +1 -1
  154. package/components/checkbox/validators.d.ts +1 -1
  155. package/components/checkbox/validators.js +1 -1
  156. package/components/checkbox/validators.js.map +1 -1
  157. package/components/chip/chip.d.ts +9 -3
  158. package/components/chip/chip.js +10 -6
  159. package/components/chip/chip.js.map +1 -1
  160. package/components/chip/themes/chip.base.css.js +1 -1
  161. package/components/chip/themes/chip.base.css.js.map +1 -1
  162. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  163. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  164. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  165. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  166. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  167. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  168. package/components/chip/themes/dark/chip.material.css.js +1 -1
  169. package/components/chip/themes/dark/chip.material.css.js.map +1 -1
  170. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  171. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  172. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  173. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  174. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  175. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  176. package/components/chip/themes/light/chip.material.css.js +1 -1
  177. package/components/chip/themes/light/chip.material.css.js.map +1 -1
  178. package/components/chip/themes/light/chip.shared.css.js +1 -1
  179. package/components/chip/themes/light/chip.shared.css.js.map +1 -1
  180. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  181. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  182. package/components/chip/themes/shared/chip.common.css.js +1 -1
  183. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  184. package/components/chip/themes/shared/chip.fluent.css.js +1 -1
  185. package/components/chip/themes/shared/chip.fluent.css.js.map +1 -1
  186. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  187. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  188. package/components/chip/themes/themes.d.ts +1 -1
  189. package/components/chip/themes/themes.js.map +1 -1
  190. package/components/combo/combo-header.js +2 -2
  191. package/components/combo/combo-header.js.map +1 -1
  192. package/components/combo/combo-item.d.ts +0 -2
  193. package/components/combo/combo-item.js +4 -7
  194. package/components/combo/combo-item.js.map +1 -1
  195. package/components/combo/combo.d.ts +84 -27
  196. package/components/combo/combo.js +194 -157
  197. package/components/combo/combo.js.map +1 -1
  198. package/components/combo/controllers/data.d.ts +30 -3
  199. package/components/combo/controllers/data.js +34 -9
  200. package/components/combo/controllers/data.js.map +1 -1
  201. package/components/combo/controllers/navigation.d.ts +8 -2
  202. package/components/combo/controllers/navigation.js +11 -12
  203. package/components/combo/controllers/navigation.js.map +1 -1
  204. package/components/combo/operations/filter.d.ts +17 -1
  205. package/components/combo/operations/filter.js +29 -9
  206. package/components/combo/operations/filter.js.map +1 -1
  207. package/components/combo/operations/group.js +1 -1
  208. package/components/combo/operations/group.js.map +1 -1
  209. package/components/combo/themes/combo.base.css.js +1 -1
  210. package/components/combo/themes/combo.base.css.js.map +1 -1
  211. package/components/combo/themes/themes.d.ts +1 -1
  212. package/components/combo/themes/themes.js.map +1 -1
  213. package/components/combo/types.d.ts +8 -4
  214. package/components/combo/types.js.map +1 -1
  215. package/components/combo/validators.d.ts +1 -1
  216. package/components/combo/validators.js.map +1 -1
  217. package/components/date-picker/date-picker.base.d.ts +294 -0
  218. package/components/date-picker/date-picker.base.js +480 -0
  219. package/components/date-picker/date-picker.base.js.map +1 -0
  220. package/components/date-picker/date-picker.d.ts +53 -174
  221. package/components/date-picker/date-picker.js +88 -399
  222. package/components/date-picker/date-picker.js.map +1 -1
  223. package/components/date-picker/themes/themes.d.ts +1 -1
  224. package/components/date-picker/themes/themes.js.map +1 -1
  225. package/components/date-picker/validators.d.ts +1 -1
  226. package/components/date-picker/validators.js +2 -2
  227. package/components/date-picker/validators.js.map +1 -1
  228. package/components/date-range-picker/date-range-input.d.ts +12 -14
  229. package/components/date-range-picker/date-range-input.js +42 -98
  230. package/components/date-range-picker/date-range-input.js.map +1 -1
  231. package/components/date-range-picker/date-range-mask-parser.d.ts +22 -34
  232. package/components/date-range-picker/date-range-mask-parser.js +38 -69
  233. package/components/date-range-picker/date-range-mask-parser.js.map +1 -1
  234. package/components/date-range-picker/date-range-picker.d.ts +97 -191
  235. package/components/date-range-picker/date-range-picker.js +210 -532
  236. package/components/date-range-picker/date-range-picker.js.map +1 -1
  237. package/components/date-range-picker/predefined-ranges-area.d.ts +2 -2
  238. package/components/date-range-picker/predefined-ranges-area.js +5 -5
  239. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  240. package/components/date-range-picker/themes/ranges-themes.d.ts +1 -1
  241. package/components/date-range-picker/themes/ranges-themes.js.map +1 -1
  242. package/components/date-range-picker/themes/themes.d.ts +1 -1
  243. package/components/date-range-picker/themes/themes.js.map +1 -1
  244. package/components/date-range-picker/validators.d.ts +1 -1
  245. package/components/date-range-picker/validators.js +15 -22
  246. package/components/date-range-picker/validators.js.map +1 -1
  247. package/components/date-time-input/date-part.d.ts +18 -1
  248. package/components/date-time-input/date-part.js +10 -0
  249. package/components/date-time-input/date-part.js.map +1 -1
  250. package/components/date-time-input/date-time-input.base.d.ts +72 -25
  251. package/components/date-time-input/date-time-input.base.js +100 -36
  252. package/components/date-time-input/date-time-input.base.js.map +1 -1
  253. package/components/date-time-input/date-time-input.d.ts +13 -23
  254. package/components/date-time-input/date-time-input.js +45 -65
  255. package/components/date-time-input/date-time-input.js.map +1 -1
  256. package/components/date-time-input/datetime-mask-parser.d.ts +45 -109
  257. package/components/date-time-input/datetime-mask-parser.js +88 -139
  258. package/components/date-time-input/datetime-mask-parser.js.map +1 -1
  259. package/components/date-time-input/validators.d.ts +1 -1
  260. package/components/date-time-input/validators.js +2 -2
  261. package/components/date-time-input/validators.js.map +1 -1
  262. package/components/dialog/dialog.d.ts +2 -2
  263. package/components/dialog/dialog.js +17 -18
  264. package/components/dialog/dialog.js.map +1 -1
  265. package/components/dialog/themes/themes.d.ts +1 -1
  266. package/components/dialog/themes/themes.js.map +1 -1
  267. package/components/divider/divider.d.ts +2 -1
  268. package/components/divider/divider.js +3 -3
  269. package/components/divider/divider.js.map +1 -1
  270. package/components/divider/themes/themes.d.ts +1 -1
  271. package/components/divider/themes/themes.js.map +1 -1
  272. package/components/dropdown/dropdown-group.d.ts +10 -3
  273. package/components/dropdown/dropdown-group.js +21 -5
  274. package/components/dropdown/dropdown-group.js.map +1 -1
  275. package/components/dropdown/dropdown-header.d.ts +2 -2
  276. package/components/dropdown/dropdown-header.js +7 -2
  277. package/components/dropdown/dropdown-header.js.map +1 -1
  278. package/components/dropdown/dropdown-item.d.ts +4 -4
  279. package/components/dropdown/dropdown-item.js +3 -3
  280. package/components/dropdown/dropdown-item.js.map +1 -1
  281. package/components/dropdown/dropdown.d.ts +75 -32
  282. package/components/dropdown/dropdown.js +189 -110
  283. package/components/dropdown/dropdown.js.map +1 -1
  284. package/components/dropdown/themes/container.d.ts +1 -1
  285. package/components/dropdown/themes/container.js.map +1 -1
  286. package/components/dropdown/themes/group.d.ts +1 -1
  287. package/components/dropdown/themes/group.js.map +1 -1
  288. package/components/dropdown/themes/header.d.ts +1 -1
  289. package/components/dropdown/themes/header.js.map +1 -1
  290. package/components/dropdown/themes/item.d.ts +1 -1
  291. package/components/dropdown/themes/item.js.map +1 -1
  292. package/components/expansion-panel/expansion-panel.d.ts +14 -5
  293. package/components/expansion-panel/expansion-panel.js +10 -9
  294. package/components/expansion-panel/expansion-panel.js.map +1 -1
  295. package/components/expansion-panel/themes/themes.d.ts +1 -1
  296. package/components/expansion-panel/themes/themes.js.map +1 -1
  297. package/components/file-input/file-input.d.ts +20 -12
  298. package/components/file-input/file-input.js +17 -12
  299. package/components/file-input/file-input.js.map +1 -1
  300. package/components/file-input/themes/themes.d.ts +1 -1
  301. package/components/file-input/themes/themes.js.map +1 -1
  302. package/components/file-input/validators.d.ts +1 -1
  303. package/components/file-input/validators.js +1 -1
  304. package/components/file-input/validators.js.map +1 -1
  305. package/components/focus-trap/focus-trap.js +3 -2
  306. package/components/focus-trap/focus-trap.js.map +1 -1
  307. package/components/highlight/highlight.js +2 -2
  308. package/components/highlight/highlight.js.map +1 -1
  309. package/components/highlight/service.d.ts +4 -1
  310. package/components/highlight/service.js +23 -7
  311. package/components/highlight/service.js.map +1 -1
  312. package/components/highlight/themes/themes.d.ts +1 -1
  313. package/components/highlight/themes/themes.js.map +1 -1
  314. package/components/icon/icon-references.d.ts +3 -2
  315. package/components/icon/icon-references.js +103 -491
  316. package/components/icon/icon-references.js.map +1 -1
  317. package/components/icon/icon-state.broadcast.d.ts +14 -17
  318. package/components/icon/icon-state.broadcast.js +19 -20
  319. package/components/icon/icon-state.broadcast.js.map +1 -1
  320. package/components/icon/icon.d.ts +12 -24
  321. package/components/icon/icon.js +36 -28
  322. package/components/icon/icon.js.map +1 -1
  323. package/components/icon/icon.registry.d.ts +69 -131
  324. package/components/icon/icon.registry.js +51 -53
  325. package/components/icon/icon.registry.js.map +1 -1
  326. package/components/icon/internal-icons-lib.js +2 -2
  327. package/components/icon/internal-icons-lib.js.map +1 -1
  328. package/components/icon/registry/parser.d.ts +15 -3
  329. package/components/icon/registry/parser.js +36 -11
  330. package/components/icon/registry/parser.js.map +1 -1
  331. package/components/icon/registry/types.d.ts +55 -11
  332. package/components/icon/registry/types.js.map +1 -1
  333. package/components/icon/themes/icon.base.css.js +1 -1
  334. package/components/icon/themes/icon.base.css.js.map +1 -1
  335. package/components/icon/themes/shared/icon.common.css.js +1 -1
  336. package/components/icon/themes/shared/icon.common.css.js.map +1 -1
  337. package/components/icon/themes/themes.d.ts +1 -1
  338. package/components/icon/themes/themes.js.map +1 -1
  339. package/components/input/input-base.d.ts +10 -25
  340. package/components/input/input-base.js +14 -23
  341. package/components/input/input-base.js.map +1 -1
  342. package/components/input/input.d.ts +15 -12
  343. package/components/input/input.js +8 -9
  344. package/components/input/input.js.map +1 -1
  345. package/components/input/themes/input.base.css.js +1 -1
  346. package/components/input/themes/input.base.css.js.map +1 -1
  347. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  348. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  349. package/components/input/themes/shared/input.common.css.js +1 -1
  350. package/components/input/themes/shared/input.common.css.js.map +1 -1
  351. package/components/input/themes/shared/input.fluent.css.js +1 -1
  352. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  353. package/components/input/themes/shared/input.indigo.css.js +1 -1
  354. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  355. package/components/input/themes/shared/input.material.css.js +1 -1
  356. package/components/input/themes/shared/input.material.css.js.map +1 -1
  357. package/components/input/themes/themes.d.ts +1 -1
  358. package/components/input/themes/themes.js.map +1 -1
  359. package/components/input/validators.d.ts +1 -1
  360. package/components/input/validators.js +1 -1
  361. package/components/input/validators.js.map +1 -1
  362. package/components/list/list-header.js +3 -3
  363. package/components/list/list-header.js.map +1 -1
  364. package/components/list/list-item.js +3 -3
  365. package/components/list/list-item.js.map +1 -1
  366. package/components/list/list.js +3 -3
  367. package/components/list/list.js.map +1 -1
  368. package/components/list/themes/container.d.ts +1 -1
  369. package/components/list/themes/container.js.map +1 -1
  370. package/components/list/themes/header.d.ts +1 -1
  371. package/components/list/themes/header.js.map +1 -1
  372. package/components/list/themes/item.d.ts +1 -1
  373. package/components/list/themes/item.js.map +1 -1
  374. package/components/mask-input/mask-history.d.ts +99 -0
  375. package/components/mask-input/mask-history.js +95 -0
  376. package/components/mask-input/mask-history.js.map +1 -0
  377. package/components/mask-input/mask-input.d.ts +14 -9
  378. package/components/mask-input/mask-input.js +20 -24
  379. package/components/mask-input/mask-input.js.map +1 -1
  380. package/components/mask-input/mask-parser.d.ts +20 -2
  381. package/components/mask-input/mask-parser.js +21 -13
  382. package/components/mask-input/mask-parser.js.map +1 -1
  383. package/components/mask-input/validators.d.ts +1 -1
  384. package/components/mask-input/validators.js +1 -1
  385. package/components/mask-input/validators.js.map +1 -1
  386. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -1
  387. package/components/nav-drawer/nav-drawer-header-item.js +2 -2
  388. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  389. package/components/nav-drawer/nav-drawer-item.d.ts +2 -2
  390. package/components/nav-drawer/nav-drawer-item.js +4 -4
  391. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  392. package/components/nav-drawer/nav-drawer.d.ts +3 -3
  393. package/components/nav-drawer/nav-drawer.js +11 -14
  394. package/components/nav-drawer/nav-drawer.js.map +1 -1
  395. package/components/nav-drawer/themes/container.base.css.js +1 -1
  396. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  397. package/components/nav-drawer/themes/container.d.ts +1 -1
  398. package/components/nav-drawer/themes/container.js +2 -3
  399. package/components/nav-drawer/themes/container.js.map +1 -1
  400. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +1 -1
  401. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -1
  402. package/components/nav-drawer/themes/header-item.d.ts +1 -1
  403. package/components/nav-drawer/themes/header-item.js.map +1 -1
  404. package/components/nav-drawer/themes/item.d.ts +1 -1
  405. package/components/nav-drawer/themes/item.js.map +1 -1
  406. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
  407. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
  408. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
  409. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
  410. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
  411. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
  412. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +1 -1
  413. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -1
  414. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  415. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  416. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  417. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  418. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  419. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  420. package/components/navbar/navbar.js +2 -2
  421. package/components/navbar/navbar.js.map +1 -1
  422. package/components/navbar/themes/themes.d.ts +1 -1
  423. package/components/navbar/themes/themes.js.map +1 -1
  424. package/components/popover/popover.d.ts +10 -3
  425. package/components/popover/popover.js +114 -99
  426. package/components/popover/popover.js.map +1 -1
  427. package/components/progress/base.d.ts +1 -1
  428. package/components/progress/base.js +5 -4
  429. package/components/progress/base.js.map +1 -1
  430. package/components/progress/circular-gradient.d.ts +2 -2
  431. package/components/progress/circular-gradient.js +1 -1
  432. package/components/progress/circular-gradient.js.map +1 -1
  433. package/components/progress/circular-progress.d.ts +15 -15
  434. package/components/progress/circular-progress.js +7 -6
  435. package/components/progress/circular-progress.js.map +1 -1
  436. package/components/progress/linear-progress.d.ts +12 -12
  437. package/components/progress/linear-progress.js +4 -4
  438. package/components/progress/linear-progress.js.map +1 -1
  439. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  440. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  441. package/components/progress/themes/circular/themes.d.ts +1 -1
  442. package/components/progress/themes/circular/themes.js.map +1 -1
  443. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  444. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  445. package/components/progress/themes/linear/themes.d.ts +1 -1
  446. package/components/progress/themes/linear/themes.js.map +1 -1
  447. package/components/qr-code/model/encode.d.ts +20 -0
  448. package/components/qr-code/model/encode.js +166 -0
  449. package/components/qr-code/model/encode.js.map +1 -0
  450. package/components/qr-code/model/error-correction.d.ts +15 -0
  451. package/components/qr-code/model/error-correction.js +1114 -0
  452. package/components/qr-code/model/error-correction.js.map +1 -0
  453. package/components/qr-code/model/mask.d.ts +11 -0
  454. package/components/qr-code/model/mask.js +161 -0
  455. package/components/qr-code/model/mask.js.map +1 -0
  456. package/components/qr-code/model/matrix.d.ts +15 -0
  457. package/components/qr-code/model/matrix.js +277 -0
  458. package/components/qr-code/model/matrix.js.map +1 -0
  459. package/components/qr-code/qr-code.d.ts +134 -0
  460. package/components/qr-code/qr-code.js +221 -0
  461. package/components/qr-code/qr-code.js.map +1 -0
  462. package/components/qr-code/renderer/constants.d.ts +26 -0
  463. package/components/qr-code/renderer/constants.js +5 -0
  464. package/components/qr-code/renderer/constants.js.map +1 -0
  465. package/components/qr-code/renderer/corner.d.ts +23 -0
  466. package/components/qr-code/renderer/corner.js +25 -0
  467. package/components/qr-code/renderer/corner.js.map +1 -0
  468. package/components/qr-code/renderer/dots.d.ts +14 -0
  469. package/components/qr-code/renderer/dots.js +7 -0
  470. package/components/qr-code/renderer/dots.js.map +1 -0
  471. package/components/qr-code/renderer/helpers.d.ts +18 -0
  472. package/components/qr-code/renderer/helpers.js +158 -0
  473. package/components/qr-code/renderer/helpers.js.map +1 -0
  474. package/components/qr-code/renderer/image.d.ts +23 -0
  475. package/components/qr-code/renderer/image.js +29 -0
  476. package/components/qr-code/renderer/image.js.map +1 -0
  477. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js +3 -0
  478. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js.map +1 -0
  479. package/components/qr-code/themes/dark/qr-code.fluent.css.d.ts +1 -0
  480. package/components/qr-code/themes/dark/qr-code.fluent.css.js +3 -0
  481. package/components/qr-code/themes/dark/qr-code.fluent.css.js.map +1 -0
  482. package/components/qr-code/themes/dark/qr-code.indigo.css.d.ts +1 -0
  483. package/components/qr-code/themes/dark/qr-code.indigo.css.js +3 -0
  484. package/components/qr-code/themes/dark/qr-code.indigo.css.js.map +1 -0
  485. package/components/qr-code/themes/dark/qr-code.material.css.d.ts +1 -0
  486. package/components/qr-code/themes/dark/qr-code.material.css.js +3 -0
  487. package/components/qr-code/themes/dark/qr-code.material.css.js.map +1 -0
  488. package/components/qr-code/themes/light/qr-code.bootstrap.css.d.ts +1 -0
  489. package/components/qr-code/themes/light/qr-code.bootstrap.css.js +3 -0
  490. package/components/qr-code/themes/light/qr-code.bootstrap.css.js.map +1 -0
  491. package/components/qr-code/themes/light/qr-code.fluent.css.d.ts +1 -0
  492. package/components/qr-code/themes/light/qr-code.fluent.css.js +3 -0
  493. package/components/qr-code/themes/light/qr-code.fluent.css.js.map +1 -0
  494. package/components/qr-code/themes/light/qr-code.indigo.css.d.ts +1 -0
  495. package/components/qr-code/themes/light/qr-code.indigo.css.js +3 -0
  496. package/components/qr-code/themes/light/qr-code.indigo.css.js.map +1 -0
  497. package/components/qr-code/themes/light/qr-code.material.css.d.ts +1 -0
  498. package/components/qr-code/themes/light/qr-code.material.css.js +3 -0
  499. package/components/qr-code/themes/light/qr-code.material.css.js.map +1 -0
  500. package/components/qr-code/themes/light/qr-code.shared.css.d.ts +1 -0
  501. package/components/qr-code/themes/light/qr-code.shared.css.js +3 -0
  502. package/components/qr-code/themes/light/qr-code.shared.css.js.map +1 -0
  503. package/components/qr-code/themes/qr-code.base.css.d.ts +1 -0
  504. package/components/qr-code/themes/qr-code.base.css.js +3 -0
  505. package/components/qr-code/themes/qr-code.base.css.js.map +1 -0
  506. package/components/qr-code/themes/shared/qr-code.common.css.d.ts +1 -0
  507. package/components/qr-code/themes/shared/qr-code.common.css.js +3 -0
  508. package/components/qr-code/themes/shared/qr-code.common.css.js.map +1 -0
  509. package/components/qr-code/themes/themes.d.ts +2 -0
  510. package/components/qr-code/themes/themes.js +46 -0
  511. package/components/qr-code/themes/themes.js.map +1 -0
  512. package/components/qr-code/types.d.ts +16 -0
  513. package/components/qr-code/types.js +2 -0
  514. package/components/qr-code/types.js.map +1 -0
  515. package/components/radio/controller.d.ts +35 -0
  516. package/components/radio/controller.js +100 -0
  517. package/components/radio/controller.js.map +1 -0
  518. package/components/radio/radio.d.ts +26 -14
  519. package/components/radio/radio.js +47 -36
  520. package/components/radio/radio.js.map +1 -1
  521. package/components/radio/themes/themes.d.ts +1 -1
  522. package/components/radio/themes/themes.js.map +1 -1
  523. package/components/radio/validators.d.ts +1 -1
  524. package/components/radio/validators.js +5 -3
  525. package/components/radio/validators.js.map +1 -1
  526. package/components/radio-group/radio-group.d.ts +19 -10
  527. package/components/radio-group/radio-group.js +50 -41
  528. package/components/radio-group/radio-group.js.map +1 -1
  529. package/components/radio-group/themes/themes.d.ts +1 -1
  530. package/components/radio-group/themes/themes.js.map +1 -1
  531. package/components/rating/rating-symbol.d.ts +1 -1
  532. package/components/rating/rating-symbol.js +1 -1
  533. package/components/rating/rating-symbol.js.map +1 -1
  534. package/components/rating/rating.d.ts +6 -6
  535. package/components/rating/rating.js +12 -9
  536. package/components/rating/rating.js.map +1 -1
  537. package/components/rating/themes/themes.d.ts +1 -1
  538. package/components/rating/themes/themes.js.map +1 -1
  539. package/components/resize-container/resize-container.d.ts +4 -4
  540. package/components/resize-container/resize-container.js +4 -4
  541. package/components/resize-container/resize-container.js.map +1 -1
  542. package/components/resize-container/resize-controller.js +2 -2
  543. package/components/resize-container/resize-controller.js.map +1 -1
  544. package/components/resize-container/themes/themes.d.ts +1 -1
  545. package/components/resize-container/themes/themes.js.map +1 -1
  546. package/components/ripple/ripple.d.ts +1 -1
  547. package/components/ripple/ripple.js +3 -2
  548. package/components/ripple/ripple.js.map +1 -1
  549. package/components/select/select-group.d.ts +9 -2
  550. package/components/select/select-group.js +21 -5
  551. package/components/select/select-group.js.map +1 -1
  552. package/components/select/select-header.d.ts +1 -1
  553. package/components/select/select-header.js +7 -2
  554. package/components/select/select-header.js.map +1 -1
  555. package/components/select/select-item.d.ts +4 -4
  556. package/components/select/select-item.js +3 -3
  557. package/components/select/select-item.js.map +1 -1
  558. package/components/select/select.d.ts +48 -27
  559. package/components/select/select.js +128 -74
  560. package/components/select/select.js.map +1 -1
  561. package/components/select/themes/select.base.css.js +1 -1
  562. package/components/select/themes/select.base.css.js.map +1 -1
  563. package/components/select/themes/themes.d.ts +1 -1
  564. package/components/select/themes/themes.js.map +1 -1
  565. package/components/select/validators.d.ts +1 -1
  566. package/components/select/validators.js +1 -1
  567. package/components/select/validators.js.map +1 -1
  568. package/components/slider/range-slider.d.ts +2 -2
  569. package/components/slider/range-slider.js +3 -3
  570. package/components/slider/range-slider.js.map +1 -1
  571. package/components/slider/slider-base.js +9 -5
  572. package/components/slider/slider-base.js.map +1 -1
  573. package/components/slider/slider-label.js +1 -1
  574. package/components/slider/slider-label.js.map +1 -1
  575. package/components/slider/slider.d.ts +3 -3
  576. package/components/slider/slider.js +6 -6
  577. package/components/slider/slider.js.map +1 -1
  578. package/components/slider/themes/themes.d.ts +1 -1
  579. package/components/slider/themes/themes.js.map +1 -1
  580. package/components/snackbar/snackbar.d.ts +3 -3
  581. package/components/snackbar/snackbar.js +4 -4
  582. package/components/snackbar/snackbar.js.map +1 -1
  583. package/components/snackbar/themes/themes.d.ts +1 -1
  584. package/components/snackbar/themes/themes.js.map +1 -1
  585. package/components/splitter/splitter.d.ts +106 -23
  586. package/components/splitter/splitter.js +234 -147
  587. package/components/splitter/splitter.js.map +1 -1
  588. package/components/splitter/themes/themes.d.ts +1 -1
  589. package/components/splitter/themes/themes.js.map +1 -1
  590. package/components/splitter/types.d.ts +14 -3
  591. package/components/splitter/types.js.map +1 -1
  592. package/components/stepper/common/animations.d.ts +1 -1
  593. package/components/stepper/common/animations.js +2 -2
  594. package/components/stepper/common/animations.js.map +1 -1
  595. package/components/stepper/step.d.ts +1 -1
  596. package/components/stepper/step.js +7 -7
  597. package/components/stepper/step.js.map +1 -1
  598. package/components/stepper/stepper.d.ts +5 -5
  599. package/components/stepper/stepper.js +12 -9
  600. package/components/stepper/stepper.js.map +1 -1
  601. package/components/stepper/themes/step/themes.d.ts +1 -1
  602. package/components/stepper/themes/step/themes.js.map +1 -1
  603. package/components/tabs/tab-dom.d.ts +31 -28
  604. package/components/tabs/tab-dom.js +84 -34
  605. package/components/tabs/tab-dom.js.map +1 -1
  606. package/components/tabs/tab.d.ts +24 -6
  607. package/components/tabs/tab.js +34 -13
  608. package/components/tabs/tab.js.map +1 -1
  609. package/components/tabs/tabs.d.ts +36 -22
  610. package/components/tabs/tabs.js +113 -102
  611. package/components/tabs/tabs.js.map +1 -1
  612. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
  613. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
  614. package/components/tabs/themes/tab-themes.d.ts +1 -1
  615. package/components/tabs/themes/tab-themes.js.map +1 -1
  616. package/components/tabs/themes/tabs-themes.d.ts +1 -1
  617. package/components/tabs/themes/tabs-themes.js.map +1 -1
  618. package/components/tabs/themes/tabs.base.css.js +1 -1
  619. package/components/tabs/themes/tabs.base.css.js.map +1 -1
  620. package/components/textarea/textarea.d.ts +19 -14
  621. package/components/textarea/textarea.js +22 -17
  622. package/components/textarea/textarea.js.map +1 -1
  623. package/components/textarea/themes/themes.d.ts +1 -1
  624. package/components/textarea/themes/themes.js.map +1 -1
  625. package/components/textarea/validators.d.ts +1 -1
  626. package/components/textarea/validators.js +1 -1
  627. package/components/textarea/validators.js.map +1 -1
  628. package/components/theme-provider/theme-provider.d.ts +1 -1
  629. package/components/theme-provider/theme-provider.js +2 -2
  630. package/components/theme-provider/theme-provider.js.map +1 -1
  631. package/components/tile-manager/position.d.ts +1 -1
  632. package/components/tile-manager/position.js +2 -2
  633. package/components/tile-manager/position.js.map +1 -1
  634. package/components/tile-manager/resize-state.js +4 -3
  635. package/components/tile-manager/resize-state.js.map +1 -1
  636. package/components/tile-manager/themes/container.d.ts +1 -1
  637. package/components/tile-manager/themes/container.js.map +1 -1
  638. package/components/tile-manager/themes/tile.d.ts +1 -1
  639. package/components/tile-manager/themes/tile.js.map +1 -1
  640. package/components/tile-manager/tile-ghost-util.js +1 -1
  641. package/components/tile-manager/tile-ghost-util.js.map +1 -1
  642. package/components/tile-manager/tile-manager.d.ts +1 -1
  643. package/components/tile-manager/tile-manager.js +7 -7
  644. package/components/tile-manager/tile-manager.js.map +1 -1
  645. package/components/tile-manager/tile.d.ts +4 -4
  646. package/components/tile-manager/tile.js +16 -13
  647. package/components/tile-manager/tile.js.map +1 -1
  648. package/components/toast/themes/themes.d.ts +1 -1
  649. package/components/toast/themes/themes.js.map +1 -1
  650. package/components/toast/toast.d.ts +1 -1
  651. package/components/toast/toast.js +3 -3
  652. package/components/toast/toast.js.map +1 -1
  653. package/components/tooltip/controller.d.ts +18 -16
  654. package/components/tooltip/controller.js +62 -41
  655. package/components/tooltip/controller.js.map +1 -1
  656. package/components/tooltip/service.d.ts +2 -1
  657. package/components/tooltip/service.js +10 -15
  658. package/components/tooltip/service.js.map +1 -1
  659. package/components/tooltip/themes/shared/tooltip.common.css.js +1 -1
  660. package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -1
  661. package/components/tooltip/themes/shared/tooltip.indigo.css.js +1 -1
  662. package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -1
  663. package/components/tooltip/themes/themes.d.ts +1 -1
  664. package/components/tooltip/themes/themes.js.map +1 -1
  665. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  666. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  667. package/components/tooltip/tooltip.d.ts +64 -18
  668. package/components/tooltip/tooltip.js +110 -60
  669. package/components/tooltip/tooltip.js.map +1 -1
  670. package/components/tree/themes/container.base.css.js +1 -1
  671. package/components/tree/themes/container.base.css.js.map +1 -1
  672. package/components/tree/themes/container.d.ts +1 -1
  673. package/components/tree/themes/container.js.map +1 -1
  674. package/components/tree/themes/item.base.css.js +1 -1
  675. package/components/tree/themes/item.base.css.js.map +1 -1
  676. package/components/tree/themes/item.d.ts +1 -1
  677. package/components/tree/themes/item.js.map +1 -1
  678. package/components/tree/tree-item.d.ts +62 -36
  679. package/components/tree/tree-item.js +198 -208
  680. package/components/tree/tree-item.js.map +1 -1
  681. package/components/tree/tree.common.d.ts +16 -1
  682. package/components/tree/tree.common.js +40 -1
  683. package/components/tree/tree.common.js.map +1 -1
  684. package/components/tree/tree.d.ts +21 -14
  685. package/components/tree/tree.js +64 -72
  686. package/components/tree/tree.js.map +1 -1
  687. package/components/tree/tree.navigation.d.ts +39 -29
  688. package/components/tree/tree.navigation.js +140 -192
  689. package/components/tree/tree.navigation.js.map +1 -1
  690. package/components/tree/tree.selection.d.ts +32 -31
  691. package/components/tree/tree.selection.js +184 -178
  692. package/components/tree/tree.selection.js.map +1 -1
  693. package/components/types.js.map +1 -1
  694. package/components/validation-container/validation-container.d.ts +1 -1
  695. package/components/validation-container/validation-container.js +7 -6
  696. package/components/validation-container/validation-container.js.map +1 -1
  697. package/components/virtualization/engine.d.ts +92 -0
  698. package/components/virtualization/engine.js +217 -0
  699. package/components/virtualization/engine.js.map +1 -0
  700. package/components/virtualization/types.d.ts +53 -0
  701. package/components/virtualization/types.js +14 -0
  702. package/components/virtualization/types.js.map +1 -0
  703. package/components/virtualization/virtualization.d.ts +235 -0
  704. package/components/virtualization/virtualization.js +474 -0
  705. package/components/virtualization/virtualization.js.map +1 -0
  706. package/components/visually-hidden/visually-hidden.js +1 -1
  707. package/components/visually-hidden/visually-hidden.js.map +1 -1
  708. package/custom-elements.json +57745 -48130
  709. package/extras/chat-markdown-renderer.d.ts +1 -1
  710. package/extras/chat-markdown-renderer.js.map +1 -1
  711. package/igniteui-webcomponents.css-data.json +2 -2
  712. package/igniteui-webcomponents.html-data.json +1 -1
  713. package/index.d.ts +17 -12
  714. package/index.js +11 -9
  715. package/index.js.map +1 -1
  716. package/internals/abort-handler.js.map +1 -0
  717. package/internals/context.d.ts +39 -0
  718. package/{components/common → internals}/context.js +2 -1
  719. package/internals/context.js.map +1 -0
  720. package/internals/controllers/adopt-styles.d.ts +76 -0
  721. package/internals/controllers/adopt-styles.js +173 -0
  722. package/internals/controllers/adopt-styles.js.map +1 -0
  723. package/internals/controllers/aria-projection.d.ts +144 -0
  724. package/internals/controllers/aria-projection.js +138 -0
  725. package/internals/controllers/aria-projection.js.map +1 -0
  726. package/{components/common → internals}/controllers/async-consumer.js +8 -7
  727. package/internals/controllers/async-consumer.js.map +1 -0
  728. package/internals/controllers/command.js.map +1 -0
  729. package/{components/common → internals}/controllers/drag.js +3 -2
  730. package/internals/controllers/drag.js.map +1 -0
  731. package/{components/common → internals}/controllers/focus-ring.js +5 -2
  732. package/internals/controllers/focus-ring.js.map +1 -0
  733. package/{components/common → internals}/controllers/fullscreen.js +6 -3
  734. package/internals/controllers/fullscreen.js.map +1 -0
  735. package/{components/common → internals}/controllers/gestures.d.ts +1 -1
  736. package/{components/common → internals}/controllers/gestures.js +4 -4
  737. package/internals/controllers/gestures.js.map +1 -0
  738. package/{components/common → internals}/controllers/id-resolver.js +15 -21
  739. package/internals/controllers/id-resolver.js.map +1 -0
  740. package/{components/common → internals}/controllers/internals.d.ts +39 -3
  741. package/{components/common → internals}/controllers/internals.js +28 -0
  742. package/internals/controllers/internals.js.map +1 -0
  743. package/{components/common → internals}/controllers/key-bindings.d.ts +3 -6
  744. package/{components/common → internals}/controllers/key-bindings.js +43 -29
  745. package/internals/controllers/key-bindings.js.map +1 -0
  746. package/{components/common → internals}/controllers/mutation-observer.d.ts +3 -2
  747. package/{components/common → internals}/controllers/mutation-observer.js +24 -22
  748. package/internals/controllers/mutation-observer.js.map +1 -0
  749. package/{components/common → internals}/controllers/resize-observer.d.ts +11 -1
  750. package/{components/common → internals}/controllers/resize-observer.js +13 -2
  751. package/internals/controllers/resize-observer.js.map +1 -0
  752. package/{components/common → internals}/controllers/root-click.js +8 -13
  753. package/internals/controllers/root-click.js.map +1 -0
  754. package/{components/common → internals}/controllers/root-scroll.d.ts +11 -8
  755. package/internals/controllers/root-scroll.js +71 -0
  756. package/internals/controllers/root-scroll.js.map +1 -0
  757. package/{components/common → internals}/controllers/slot.d.ts +17 -1
  758. package/{components/common → internals}/controllers/slot.js +18 -6
  759. package/internals/controllers/slot.js.map +1 -0
  760. package/internals/date/compare.d.ts +2 -0
  761. package/internals/date/compare.js +23 -0
  762. package/internals/date/compare.js.map +1 -0
  763. package/internals/date/converters.d.ts +18 -0
  764. package/internals/date/converters.js +73 -0
  765. package/internals/date/converters.js.map +1 -0
  766. package/{components/calendar → internals/date}/model.d.ts +6 -3
  767. package/{components/calendar → internals/date}/model.js +23 -0
  768. package/internals/date/model.js.map +1 -0
  769. package/internals/decorators/blazorAdditionalDependencies.js.map +1 -0
  770. package/internals/decorators/blazorDeepImport.js.map +1 -0
  771. package/internals/decorators/blazorInclude.js.map +1 -0
  772. package/internals/decorators/blazorIndirectRender.js.map +1 -0
  773. package/internals/decorators/blazorSuppressComponent.js.map +1 -0
  774. package/internals/decorators/shadow-options.js.map +1 -0
  775. package/internals/decorators/watch.js.map +1 -0
  776. package/internals/definitions/defineAllComponents.js +153 -0
  777. package/internals/definitions/defineAllComponents.js.map +1 -0
  778. package/internals/definitions/defineComponents.js.map +1 -0
  779. package/internals/definitions/register.js.map +1 -0
  780. package/{components/common → internals}/i18n/EN/calendar.resources.js +1 -1
  781. package/internals/i18n/EN/calendar.resources.js.map +1 -0
  782. package/internals/i18n/EN/chat.resources.js.map +1 -0
  783. package/internals/i18n/EN/date-picker.resources.js.map +1 -0
  784. package/internals/i18n/EN/date-range-picker.resources.js.map +1 -0
  785. package/internals/i18n/i18n-controller.js.map +1 -0
  786. package/{components/common → internals}/i18n/utils.js +1 -1
  787. package/internals/i18n/utils.js.map +1 -0
  788. package/{components/common → internals}/mixins/alert.d.ts +2 -2
  789. package/{components/common → internals}/mixins/alert.js +3 -3
  790. package/internals/mixins/alert.js.map +1 -0
  791. package/{components/common → internals}/mixins/combo-box.d.ts +10 -2
  792. package/{components/common → internals}/mixins/combo-box.js +9 -4
  793. package/internals/mixins/combo-box.js.map +1 -0
  794. package/internals/mixins/constructor.js.map +1 -0
  795. package/internals/mixins/event-emitter.js.map +1 -0
  796. package/{components/common → internals}/mixins/forms/associated-required.js +10 -19
  797. package/internals/mixins/forms/associated-required.js.map +1 -0
  798. package/{components/common → internals}/mixins/forms/associated.js +45 -38
  799. package/internals/mixins/forms/associated.js.map +1 -0
  800. package/{components/common → internals}/mixins/forms/form-transformers.d.ts +1 -1
  801. package/{components/common → internals}/mixins/forms/form-transformers.js +2 -2
  802. package/internals/mixins/forms/form-transformers.js.map +1 -0
  803. package/internals/mixins/forms/form-value.js.map +1 -0
  804. package/{components/common → internals}/mixins/forms/types.d.ts +5 -6
  805. package/internals/mixins/forms/types.js.map +1 -0
  806. package/{components/common → internals}/mixins/mask-behavior.d.ts +11 -3
  807. package/{components/common → internals}/mixins/mask-behavior.js +117 -29
  808. package/internals/mixins/mask-behavior.js.map +1 -0
  809. package/{components/common → internals}/mixins/option.d.ts +0 -2
  810. package/{components/common → internals}/mixins/option.js +1 -4
  811. package/internals/mixins/option.js.map +1 -0
  812. package/internals/part-map.js.map +1 -0
  813. package/{components/common → internals}/templates/input-shell.d.ts +8 -1
  814. package/{components/common → internals}/templates/input-shell.js +14 -4
  815. package/internals/templates/input-shell.js.map +1 -0
  816. package/{components/common → internals}/templates/masked-input.d.ts +8 -4
  817. package/{components/common → internals}/templates/masked-input.js +4 -3
  818. package/internals/templates/masked-input.js.map +1 -0
  819. package/internals/utils/arrays.d.ts +53 -0
  820. package/internals/utils/arrays.js +31 -0
  821. package/internals/utils/arrays.js.map +1 -0
  822. package/internals/utils/dom.d.ts +92 -0
  823. package/internals/utils/dom.js +143 -0
  824. package/internals/utils/dom.js.map +1 -0
  825. package/internals/utils/events.d.ts +41 -0
  826. package/internals/utils/events.js +37 -0
  827. package/internals/utils/events.js.map +1 -0
  828. package/internals/utils/lit.d.ts +8 -0
  829. package/internals/utils/lit.js +15 -0
  830. package/internals/utils/lit.js.map +1 -0
  831. package/internals/utils/math.d.ts +50 -0
  832. package/internals/utils/math.js +38 -0
  833. package/internals/utils/math.js.map +1 -0
  834. package/internals/utils/objects.d.ts +25 -0
  835. package/internals/utils/objects.js +125 -0
  836. package/internals/utils/objects.js.map +1 -0
  837. package/internals/utils/strings.d.ts +44 -0
  838. package/internals/utils/strings.js +46 -0
  839. package/internals/utils/strings.js.map +1 -0
  840. package/internals/utils/types.d.ts +13 -0
  841. package/internals/utils/types.js +31 -0
  842. package/internals/utils/types.js.map +1 -0
  843. package/{components/common → internals}/validators.d.ts +1 -1
  844. package/{components/common → internals}/validators.js +4 -2
  845. package/internals/validators.js.map +1 -0
  846. package/package.json +15 -7
  847. package/themes/dark/bootstrap.css +1 -1
  848. package/themes/dark/fluent.css +1 -1
  849. package/themes/dark/indigo.css +1 -1
  850. package/themes/dark/material.css +1 -1
  851. package/themes/light/bootstrap.css +1 -1
  852. package/themes/light/fluent.css +1 -1
  853. package/themes/light/indigo.css +1 -1
  854. package/themes/light/material.css +1 -1
  855. package/theming/theming-controller.d.ts +2 -2
  856. package/theming/theming-controller.js.map +1 -1
  857. package/web-types.json +3 -3
  858. package/components/calendar/model.js.map +0 -1
  859. package/components/combo/combo-list.d.ts +0 -11
  860. package/components/combo/combo-list.js +0 -13
  861. package/components/combo/combo-list.js.map +0 -1
  862. package/components/common/abort-handler.js.map +0 -1
  863. package/components/common/context.d.ts +0 -25
  864. package/components/common/context.js.map +0 -1
  865. package/components/common/controllers/adopt-styles.d.ts +0 -124
  866. package/components/common/controllers/adopt-styles.js +0 -75
  867. package/components/common/controllers/adopt-styles.js.map +0 -1
  868. package/components/common/controllers/async-consumer.js.map +0 -1
  869. package/components/common/controllers/command.js.map +0 -1
  870. package/components/common/controllers/drag.js.map +0 -1
  871. package/components/common/controllers/focus-ring.js.map +0 -1
  872. package/components/common/controllers/fullscreen.js.map +0 -1
  873. package/components/common/controllers/gestures.js.map +0 -1
  874. package/components/common/controllers/id-resolver.js.map +0 -1
  875. package/components/common/controllers/internals.js.map +0 -1
  876. package/components/common/controllers/key-bindings.js.map +0 -1
  877. package/components/common/controllers/mutation-observer.js.map +0 -1
  878. package/components/common/controllers/resize-observer.js.map +0 -1
  879. package/components/common/controllers/root-click.js.map +0 -1
  880. package/components/common/controllers/root-scroll.js +0 -63
  881. package/components/common/controllers/root-scroll.js.map +0 -1
  882. package/components/common/controllers/slot.js.map +0 -1
  883. package/components/common/decorators/blazorAdditionalDependencies.js.map +0 -1
  884. package/components/common/decorators/blazorDeepImport.js.map +0 -1
  885. package/components/common/decorators/blazorInclude.js.map +0 -1
  886. package/components/common/decorators/blazorIndirectRender.js.map +0 -1
  887. package/components/common/decorators/blazorSuppressComponent.js.map +0 -1
  888. package/components/common/decorators/shadow-options.js.map +0 -1
  889. package/components/common/decorators/watch.js.map +0 -1
  890. package/components/common/definitions/defineAllComponents.js +0 -151
  891. package/components/common/definitions/defineAllComponents.js.map +0 -1
  892. package/components/common/definitions/defineComponents.js.map +0 -1
  893. package/components/common/definitions/register.js.map +0 -1
  894. package/components/common/i18n/EN/calendar.resources.js.map +0 -1
  895. package/components/common/i18n/EN/chat.resources.js.map +0 -1
  896. package/components/common/i18n/EN/date-picker.resources.js.map +0 -1
  897. package/components/common/i18n/EN/date-range-picker.resources.js.map +0 -1
  898. package/components/common/i18n/i18n-controller.js.map +0 -1
  899. package/components/common/i18n/utils.js.map +0 -1
  900. package/components/common/mixins/alert.js.map +0 -1
  901. package/components/common/mixins/combo-box.js.map +0 -1
  902. package/components/common/mixins/constructor.js.map +0 -1
  903. package/components/common/mixins/event-emitter.js.map +0 -1
  904. package/components/common/mixins/forms/associated-required.js.map +0 -1
  905. package/components/common/mixins/forms/associated.js.map +0 -1
  906. package/components/common/mixins/forms/form-transformers.js.map +0 -1
  907. package/components/common/mixins/forms/form-value.js.map +0 -1
  908. package/components/common/mixins/forms/types.js.map +0 -1
  909. package/components/common/mixins/mask-behavior.js.map +0 -1
  910. package/components/common/mixins/option.js.map +0 -1
  911. package/components/common/part-map.js.map +0 -1
  912. package/components/common/templates/input-shell.js.map +0 -1
  913. package/components/common/templates/masked-input.js.map +0 -1
  914. package/components/common/util.d.ts +0 -196
  915. package/components/common/util.js +0 -390
  916. package/components/common/util.js.map +0 -1
  917. package/components/common/validators.js.map +0 -1
  918. package/components/icon/registry/default-map.d.ts +0 -107
  919. package/components/icon/registry/default-map.js +0 -25
  920. package/components/icon/registry/default-map.js.map +0 -1
  921. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js +0 -3
  922. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js.map +0 -1
  923. package/components/radio/utils.d.ts +0 -13
  924. package/components/radio/utils.js +0 -37
  925. package/components/radio/utils.js.map +0 -1
  926. /package/components/{nav-drawer/themes/shared/container/nav-drawer.fluent.css.d.ts → qr-code/themes/dark/qr-code.bootstrap.css.d.ts} +0 -0
  927. /package/{components/common → internals}/abort-handler.d.ts +0 -0
  928. /package/{components/common → internals}/abort-handler.js +0 -0
  929. /package/{components/common → internals}/controllers/async-consumer.d.ts +0 -0
  930. /package/{components/common → internals}/controllers/command.d.ts +0 -0
  931. /package/{components/common → internals}/controllers/command.js +0 -0
  932. /package/{components/common → internals}/controllers/drag.d.ts +0 -0
  933. /package/{components/common → internals}/controllers/focus-ring.d.ts +0 -0
  934. /package/{components/common → internals}/controllers/fullscreen.d.ts +0 -0
  935. /package/{components/common → internals}/controllers/id-resolver.d.ts +0 -0
  936. /package/{components/common → internals}/controllers/root-click.d.ts +0 -0
  937. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.d.ts +0 -0
  938. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.js +0 -0
  939. /package/{components/common → internals}/decorators/blazorDeepImport.d.ts +0 -0
  940. /package/{components/common → internals}/decorators/blazorDeepImport.js +0 -0
  941. /package/{components/common → internals}/decorators/blazorInclude.d.ts +0 -0
  942. /package/{components/common → internals}/decorators/blazorInclude.js +0 -0
  943. /package/{components/common → internals}/decorators/blazorIndirectRender.d.ts +0 -0
  944. /package/{components/common → internals}/decorators/blazorIndirectRender.js +0 -0
  945. /package/{components/common → internals}/decorators/blazorSuppressComponent.d.ts +0 -0
  946. /package/{components/common → internals}/decorators/blazorSuppressComponent.js +0 -0
  947. /package/{components/common → internals}/decorators/shadow-options.d.ts +0 -0
  948. /package/{components/common → internals}/decorators/shadow-options.js +0 -0
  949. /package/{components/common → internals}/decorators/watch.d.ts +0 -0
  950. /package/{components/common → internals}/decorators/watch.js +0 -0
  951. /package/{components/common → internals}/definitions/defineAllComponents.d.ts +0 -0
  952. /package/{components/common → internals}/definitions/defineComponents.d.ts +0 -0
  953. /package/{components/common → internals}/definitions/defineComponents.js +0 -0
  954. /package/{components/common → internals}/definitions/register.d.ts +0 -0
  955. /package/{components/common → internals}/definitions/register.js +0 -0
  956. /package/{components/common → internals}/i18n/EN/calendar.resources.d.ts +0 -0
  957. /package/{components/common → internals}/i18n/EN/chat.resources.d.ts +0 -0
  958. /package/{components/common → internals}/i18n/EN/chat.resources.js +0 -0
  959. /package/{components/common → internals}/i18n/EN/date-picker.resources.d.ts +0 -0
  960. /package/{components/common → internals}/i18n/EN/date-picker.resources.js +0 -0
  961. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.d.ts +0 -0
  962. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.js +0 -0
  963. /package/{components/common → internals}/i18n/i18n-controller.d.ts +0 -0
  964. /package/{components/common → internals}/i18n/i18n-controller.js +0 -0
  965. /package/{components/common → internals}/i18n/utils.d.ts +0 -0
  966. /package/{components/common → internals}/mixins/constructor.d.ts +0 -0
  967. /package/{components/common → internals}/mixins/constructor.js +0 -0
  968. /package/{components/common → internals}/mixins/event-emitter.d.ts +0 -0
  969. /package/{components/common → internals}/mixins/event-emitter.js +0 -0
  970. /package/{components/common → internals}/mixins/forms/associated-required.d.ts +0 -0
  971. /package/{components/common → internals}/mixins/forms/associated.d.ts +0 -0
  972. /package/{components/common → internals}/mixins/forms/form-value.d.ts +0 -0
  973. /package/{components/common → internals}/mixins/forms/form-value.js +0 -0
  974. /package/{components/common → internals}/mixins/forms/types.js +0 -0
  975. /package/{components/common → internals}/part-map.d.ts +0 -0
  976. /package/{components/common → internals}/part-map.js +0 -0
@@ -7,33 +7,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var IgcDateRangePickerComponent_1;
8
8
  import { CalendarResourceStringsEN, DateRangePickerResourceStringsEN, getDateFormatter, } 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 } 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, getDefaultDateTimeFormat, } 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,183 @@ 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._localeDisplayFormat;
86
83
  }
87
- set displayFormat(value) {
88
- this._displayFormat = value;
84
+ get _defaultInputFormat() {
85
+ return this._defaultMask;
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;
131
141
  }
132
- get activeDate() {
133
- return this._activeDate ?? this._calendar?.activeDate;
142
+ set placeholder(value) {
143
+ this._placeholder = value;
144
+ }
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
159
  onResourceChange: this._updateDefaultMask,
150
160
  });
151
- this._activeDate = null;
152
- this._min = null;
153
- this._max = null;
154
- this._disabledDates = [];
155
- this._dateConstraints = [];
156
- this._oldValue = null;
161
+ this._formValue = createFormValueState(this, {
162
+ initialValue: { start: null, end: null },
163
+ transformers: FormValueDateRangeTransformers,
164
+ });
157
165
  this._visibleMonths = 2;
166
+ this._calendarRange = null;
158
167
  this.customRanges = [];
159
- this.mode = 'dropdown';
160
168
  this.useTwoInputs = false;
161
169
  this.usePredefinedRanges = false;
162
- this.readOnly = false;
163
- this.nonEditable = false;
164
- this.outlined = false;
165
170
  this.labelStart = '';
166
171
  this.labelEnd = '';
167
172
  this.placeholderStart = '';
168
173
  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;
174
+ addAriaProjector(this, {
175
+ target: () => this._inputs[1] ?? null,
176
+ state: () => ({ hasPopup: 'dialog' }),
177
+ });
178
+ }
179
+ willUpdate(changedProperties) {
180
+ super.willUpdate(changedProperties);
181
+ if (changedProperties.has('locale')) {
182
+ this._updateDefaultMask();
183
+ }
184
+ if (changedProperties.has('mode') && !this._isDropDown) {
185
+ this.keepOpenOnSelect = true;
186
+ }
187
+ if (changedProperties.has('useTwoInputs')) {
188
+ this._syncEditors();
189
+ }
190
+ else if (changedProperties.has('mode')) {
191
+ this._syncCalendarRange();
192
+ }
188
193
  }
189
194
  firstUpdated() {
190
- this._setCalendarRangeValues();
191
195
  this._delegateInputsValidity();
192
196
  }
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
197
  formResetCallback() {
201
198
  super.formResetCallback();
202
199
  this._setCalendarRangeValues();
203
200
  }
204
201
  hasDateParts() {
205
- return this.useTwoInputs
206
- ? this._inputs[0].hasDateParts()
207
- : this._input.hasDateParts();
202
+ return this._startEditor.hasDateParts();
208
203
  }
209
204
  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
- }
205
+ return this._startEditor.hasTimeParts();
225
206
  }
226
207
  select(value) {
227
208
  this._select(value);
228
209
  }
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
210
  _dialogCancel() {
266
211
  this._revertValue();
267
212
  this._hide(true);
268
213
  }
269
214
  _dialogDone() {
270
- if (!equal(this.value, this._oldValue)) {
271
- this.emitEvent('igcChange', { detail: this.value });
272
- this._oldValue = this.value;
273
- }
215
+ this._emitChangeIfDirty();
274
216
  this._hide(true);
275
217
  }
276
218
  _handleInput(event) {
@@ -280,24 +222,19 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
280
222
  return;
281
223
  }
282
224
  const input = event.target;
283
- const newValue = input.value ? CalendarDay.from(input.value).native : null;
284
- this.value = this._getUpdatedDateRange(input, newValue);
225
+ const draft = input._uncommittedValue;
226
+ const newValue = draft ? CalendarDay.from(draft).native : null;
227
+ const range = this._getUpdatedDateRange(input, newValue);
228
+ this._setCalendarRangeValues(range);
285
229
  this._calendar.activeDate =
286
- newValue ?? this._firstDefinedInRange ?? this._calendar.activeDate;
287
- this.emitEvent('igcInput', { detail: this.value });
230
+ newValue ?? range.start ?? range.end ?? this._calendar.activeDate;
231
+ this.emitEvent('igcInput', { detail: range });
288
232
  }
289
233
  _handleInputChange(event) {
290
234
  event.stopPropagation();
291
235
  const input = event.target;
292
236
  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 });
237
+ this._commitRange(this._getUpdatedDateRange(input, newValue));
301
238
  }
302
239
  async _handleDateRangeInput(event) {
303
240
  event.stopPropagation();
@@ -306,68 +243,26 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
306
243
  return;
307
244
  }
308
245
  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 });
246
+ const draft = input._uncommittedValue;
247
+ this._setCalendarRangeValues(draft);
248
+ this._calendar.activeDate = draft?.start;
249
+ this.emitEvent('igcInput', { detail: draft });
313
250
  }
314
251
  _handleDateRangeInputChange(event) {
315
252
  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
- }
330
- }
331
- _handleInputClick(event) {
332
- if (getElementFromPath('input', event)) {
333
- this._handleAnchorClick();
334
- }
253
+ this._commitRange(event.target.value);
335
254
  }
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 });
255
+ _updateDefaultMask() {
256
+ this._defaultMask = getDefaultDateTimeFormat(this.locale);
257
+ this._localeDisplayFormat = getDateFormatter().getLocaleDateTimeFormat(this.locale);
349
258
  }
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();
259
+ async _syncCalendarRange() {
260
+ await this._calendar?.updateComplete;
261
+ this._setCalendarRangeValues();
368
262
  }
369
- _handleCalendarIconSlotPointerDown(event) {
370
- event.preventDefault();
263
+ async _syncEditors() {
264
+ await this._syncCalendarRange();
265
+ this._delegateInputsValidity();
371
266
  }
372
267
  _revertValue() {
373
268
  this.value = this._oldValue;
@@ -379,37 +274,38 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
379
274
  this._calendar[activeDaysViewIndex] = 0;
380
275
  }
381
276
  _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 };
277
+ const [startInput, endInput] = this._inputs;
278
+ return input === startInput
279
+ ? { start: newValue, end: endInput?._uncommittedValue ?? null }
280
+ : { start: startInput?._uncommittedValue ?? null, end: newValue };
386
281
  }
387
282
  _delegateInputsValidity() {
388
- const inputs = this.useTwoInputs ? this._inputs : [this._input];
389
- inputs.forEach((input) => {
283
+ for (const input of this._editors) {
390
284
  input.checkValidity = () => !this._pristine ? this.checkValidity() : true;
391
285
  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
286
  }
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;
287
+ }
288
+ _setCalendarRangeValues(range = this.value) {
289
+ if (isCompleteDateRange(range)) {
290
+ this._calendarRange =
291
+ CalendarDay.compare(range.start, range.end) === 0
292
+ ? [range.start]
293
+ : [range.start, range.end];
294
+ if (this._calendar) {
295
+ this._calendar.activeDate = range.start;
296
+ }
408
297
  return;
409
298
  }
410
- this._calendar.values = this._firstDefinedInRange
411
- ? [this._firstDefinedInRange]
412
- : null;
299
+ const first = range?.start ?? range?.end ?? null;
300
+ this._calendarRange = first ? [first] : null;
301
+ }
302
+ _commitRange(range) {
303
+ const { start, end } = (range && this._swapDates(range)) ?? {
304
+ start: null,
305
+ end: null,
306
+ };
307
+ this.value = { start, end };
308
+ this.emitEvent('igcChange', { detail: this.value });
413
309
  }
414
310
  _swapDates(range) {
415
311
  return isCompleteDateRange(range) &&
@@ -417,13 +313,6 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
417
313
  ? { start: range.end, end: range.start }
418
314
  : range;
419
315
  }
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
316
  _select(value, emitEvent = false) {
428
317
  this.value = value;
429
318
  this._calendar.activeDate =
@@ -434,88 +323,8 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
434
323
  this._hide(true);
435
324
  }
436
325
  }
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
326
  _renderActions() {
518
- const hasActions = !isEmpty(this._actions);
327
+ const hasActions = this._slots.hasAssignedElements('actions');
519
328
  const slot = this._isDropDown || hasActions ? undefined : 'footer';
520
329
  return html `
521
330
  <div part="actions" ?hidden=${!hasActions} slot=${ifDefined(slot)}>
@@ -537,70 +346,44 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
537
346
  `
538
347
  : nothing;
539
348
  }
540
- _renderPicker(id) {
541
- const isIndigo = this._themes.theme === 'indigo';
349
+ _renderPickerContent(id) {
542
350
  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);
351
+ ? html `${this._renderCalendar(id)} ${this._renderPredefinedRanges()}
352
+ ${this._renderActions()}`
353
+ : html `${this._renderCalendar(id)} ${this._renderActions()}
354
+ ${this._renderPredefinedRanges()}`;
355
+ }
356
+ _renderDialogFooter() {
357
+ const isIndigo = this._themes.theme === 'indigo';
358
+ return html `
359
+ <igc-button
360
+ slot="footer"
361
+ @click=${this._dialogCancel}
362
+ variant=${isIndigo ? 'outlined' : 'flat'}
363
+ >${this.resourceStrings.date_range_picker_cancel_button}</igc-button
364
+ >
365
+ <igc-button
366
+ slot="footer"
367
+ @click=${this._dialogDone}
368
+ variant=${isIndigo ? 'contained' : 'flat'}
369
+ >${this.resourceStrings.date_range_picker_done_button}</igc-button
370
+ >
371
+ `;
581
372
  }
582
373
  _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;
374
+ const isStart = picker === DateRangePosition.Start;
375
+ const placeholder = isStart ? this.placeholderStart : this.placeholderEnd;
376
+ const label = isStart ? this.labelStart : this.labelEnd;
586
377
  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';
378
+ const value = isStart ? this.value?.start : this.value?.end;
379
+ const hasClickHandler = !(this._isDropDown || this.readOnly);
596
380
  return html `
597
381
  <igc-date-time-input
598
382
  id=${id}
599
- aria-haspopup="dialog"
600
383
  input-format=${ifDefined(this._inputFormat)}
601
384
  display-format=${ifDefined(format)}
602
385
  ?disabled=${this.disabled}
603
- ?readonly=${readOnly}
386
+ ?readonly=${this._isEditorReadOnly}
604
387
  .value=${value ?? null}
605
388
  .locale=${live(this.locale)}
606
389
  .prompt=${this.prompt}
@@ -613,13 +396,10 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
613
396
  @igcChange=${this._handleInputChange}
614
397
  @igcInput=${this._handleInput}
615
398
  @keydown=${this._handleEnterKeydown}
616
- @click=${this._isDropDown || this.readOnly ? nothing : this._handleInputClick}
399
+ @click=${bindIf(hasClickHandler, this._handleInputClick)}
617
400
  exportparts="input, label, prefix, suffix"
618
401
  >
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>
402
+ ${this._renderEditorSlots(`-${picker}`)}
623
403
  </igc-date-time-input>
624
404
  `;
625
405
  }
@@ -638,18 +418,15 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
638
418
  `;
639
419
  }
640
420
  _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';
421
+ const format = getDateTimeFormat(this.displayFormat) ?? this._localeDisplayFormat;
422
+ const hasClickHandler = !(this._isDropDown || this.readOnly);
645
423
  return html `
646
424
  <igc-date-range-input
647
425
  id=${id}
648
426
  .value=${live(this.value)}
649
427
  .placeholder=${this.placeholder}
650
- aria-haspopup="dialog"
651
428
  label=${this.label}
652
- ?readonly=${readOnly}
429
+ ?readonly=${this._isEditorReadOnly}
653
430
  ?required=${this.required}
654
431
  .outlined=${this.outlined}
655
432
  ?invalid=${live(this.invalid)}
@@ -661,13 +438,10 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
661
438
  @igcInput=${this._handleDateRangeInput}
662
439
  @igcChange=${this._handleDateRangeInputChange}
663
440
  @keydown=${this._handleEnterKeydown}
664
- @click=${this._isDropDown || this.readOnly ? nothing : this._handleInputClick}
441
+ @click=${bindIf(hasClickHandler, this._handleInputClick)}
665
442
  exportparts="input, label, prefix, suffix"
666
443
  >
667
- ${this._renderCalendarIcon()}
668
- <slot name="prefix" slot=${ifDefined(prefix)}></slot>
669
- ${this._renderClearIcon()}
670
- <slot name="suffix" slot=${ifDefined(suffix)}></slot>
444
+ ${this._renderEditorSlots()}
671
445
  </igc-date-range-input>
672
446
  ${this._renderHelperText()} ${this._renderPicker(id)}
673
447
  `;
@@ -679,48 +453,24 @@ let IgcDateRangePickerComponent = class IgcDateRangePickerComponent extends Form
679
453
  : this._renderInputs(`${id}-start`, `${id}-end`))}`;
680
454
  }
681
455
  };
456
+ __decorate([
457
+ state()
458
+ ], IgcDateRangePickerComponent.prototype, "_calendarRange", void 0);
682
459
  __decorate([
683
460
  queryAll(IgcDateTimeInputComponent.tagName)
684
461
  ], IgcDateRangePickerComponent.prototype, "_inputs", void 0);
685
462
  __decorate([
686
463
  query(IgcDateRangeInputComponent.tagName)
687
464
  ], 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
465
  __decorate([
716
466
  property({ converter: convertToDateRange })
717
467
  ], IgcDateRangePickerComponent.prototype, "value", null);
468
+ __decorate([
469
+ property({ type: Number, attribute: 'visible-months' })
470
+ ], IgcDateRangePickerComponent.prototype, "visibleMonths", null);
718
471
  __decorate([
719
472
  property({ attribute: false })
720
473
  ], IgcDateRangePickerComponent.prototype, "customRanges", void 0);
721
- __decorate([
722
- property()
723
- ], IgcDateRangePickerComponent.prototype, "mode", void 0);
724
474
  __decorate([
725
475
  property({ type: Boolean, reflect: true, attribute: 'use-two-inputs' })
726
476
  ], IgcDateRangePickerComponent.prototype, "useTwoInputs", void 0);
@@ -731,24 +481,9 @@ __decorate([
731
481
  attribute: 'use-predefined-ranges',
732
482
  })
733
483
  ], IgcDateRangePickerComponent.prototype, "usePredefinedRanges", void 0);
734
- __decorate([
735
- property()
736
- ], IgcDateRangePickerComponent.prototype, "locale", null);
737
484
  __decorate([
738
485
  property({ attribute: false })
739
486
  ], 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
487
  __decorate([
753
488
  property({ attribute: 'label-start' })
754
489
  ], IgcDateRangePickerComponent.prototype, "labelStart", void 0);
@@ -764,63 +499,6 @@ __decorate([
764
499
  __decorate([
765
500
  property({ attribute: 'placeholder-end' })
766
501
  ], 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
502
  IgcDateRangePickerComponent = IgcDateRangePickerComponent_1 = __decorate([
825
503
  blazorAdditionalDependencies('IgcCalendarComponent, IgcDateTimeInputComponent, IgcDialogComponent, IgcIconComponent, IgcChipComponent, IgcInputComponent'),
826
504
  shadowOptions({ delegatesFocus: true })