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
@@ -1,390 +0,0 @@
1
- import { html, isServer, nothing } from 'lit';
2
- export const asPercent = (part, whole) => (part / whole) * 100;
3
- export const clamp = (number, min, max) => Math.max(min, Math.min(number, max));
4
- export function numberOfDecimals(number) {
5
- const [_, decimals] = number.toString().split('.');
6
- return decimals ? decimals.length : 0;
7
- }
8
- export function roundPrecise(number, magnitude = 1) {
9
- const factor = 10 ** magnitude;
10
- return Math.round(number * factor) / factor;
11
- }
12
- export function numberInRangeInclusive(value, min, max) {
13
- return value >= min && value <= max;
14
- }
15
- export function isLTR(element) {
16
- return element.matches(':dir(ltr)');
17
- }
18
- export function formatString(template, ...params) {
19
- const length = params.length;
20
- return template.replace(/{(\d+)}/g, (match, index) => index >= length ? match : `${params[index]}`);
21
- }
22
- export function asNumber(value, fallback = 0) {
23
- const parsed = Number.parseFloat(value);
24
- return Number.isNaN(parsed) ? fallback : parsed;
25
- }
26
- export function wrap(min, max, value) {
27
- if (value < min) {
28
- return max;
29
- }
30
- if (value > max) {
31
- return min;
32
- }
33
- return value;
34
- }
35
- export function isDefined(value) {
36
- return value !== undefined;
37
- }
38
- function createNodeFilter(predicate) {
39
- return {
40
- acceptNode: (node) => !predicate || predicate(node)
41
- ? NodeFilter.FILTER_ACCEPT
42
- : NodeFilter.FILTER_SKIP,
43
- };
44
- }
45
- export function* iterNodes(root, options) {
46
- if (!isDefined(globalThis.document)) {
47
- return;
48
- }
49
- const whatToShow = options?.show
50
- ? NodeFilter[options.show]
51
- : NodeFilter.SHOW_ALL;
52
- const nodeFilter = options?.filter
53
- ? createNodeFilter(options.filter)
54
- : undefined;
55
- const treeWalker = document.createTreeWalker(root, whatToShow, nodeFilter);
56
- while (treeWalker.nextNode()) {
57
- yield treeWalker.currentNode;
58
- }
59
- }
60
- export function getRoot(element, options) {
61
- return element.getRootNode(options);
62
- }
63
- export function getElementByIdFromRoot(root, id) {
64
- return getRoot(root).getElementById(id);
65
- }
66
- export function isElement(node) {
67
- return node instanceof Node && node.nodeType === Node.ELEMENT_NODE;
68
- }
69
- export function isDocument(node) {
70
- return node instanceof Node && node.nodeType === Node.DOCUMENT_NODE;
71
- }
72
- export function getElementFromPath(predicate, event) {
73
- const func = isString(predicate)
74
- ? (e) => e.matches(predicate)
75
- : (e) => predicate(e);
76
- return Iterator.from(event.composedPath()).find((item) => isElement(item) && func(item));
77
- }
78
- export function stopPropagation(event) {
79
- event.stopPropagation();
80
- }
81
- export function first(arr) {
82
- return arr.at(0);
83
- }
84
- export function last(arr) {
85
- return arr.at(-1);
86
- }
87
- export function modulo(n, d) {
88
- return ((n % d) + d) % d;
89
- }
90
- export function* chunk(arr, size) {
91
- if (!Number.isSafeInteger(size) || size < 1) {
92
- throw new Error('size must be an integer >= 1');
93
- }
94
- const iterator = Iterator.from(arr);
95
- const length = arr.length;
96
- let i = 0;
97
- while (i < length) {
98
- yield iterator.take(size).toArray();
99
- i += size;
100
- }
101
- }
102
- export function splitToWords(text) {
103
- const input = text.replaceAll(/[^a-zA-Z0-9\s-_]/g, '');
104
- if (/[\s-_]+/.test(input))
105
- return input.split(/[\s-_]+/);
106
- return input.split(/(?=[A-Z])+/);
107
- }
108
- export function toKebabCase(text) {
109
- const input = text.trim();
110
- return splitToWords(input).join('-').toLocaleLowerCase();
111
- }
112
- export function isFunction(value) {
113
- return typeof value === 'function';
114
- }
115
- export function isString(value) {
116
- return typeof value === 'string';
117
- }
118
- export function isObject(value) {
119
- return value != null && typeof value === 'object';
120
- }
121
- export function isPlainObject(value) {
122
- if (!isObject(value)) {
123
- return false;
124
- }
125
- const proto = Object.getPrototypeOf(value);
126
- const hasObjectPrototype = proto === null ||
127
- proto === Object.prototype ||
128
- Object.getPrototypeOf(proto) === null;
129
- return hasObjectPrototype
130
- ? Object.prototype.toString.call(value) === '[object Object]'
131
- : false;
132
- }
133
- function isUnsafeProperty(key) {
134
- return key === '__proto__' || key === 'constructor' || key === 'prototype';
135
- }
136
- export function isEventListenerObject(x) {
137
- return isObject(x) && 'handleEvent' in x;
138
- }
139
- export function addWeakEventListener(element, event, listener, options) {
140
- const weakRef = new WeakRef(listener);
141
- const wrapped = (evt) => {
142
- const handler = weakRef.deref();
143
- return isEventListenerObject(handler)
144
- ? handler.handleEvent(evt)
145
- : handler?.(evt);
146
- };
147
- element.addEventListener(event, wrapped, options);
148
- }
149
- export function addSafeEventListener(target, eventName, handler, options) {
150
- if (isServer) {
151
- return;
152
- }
153
- const boundHandler = (event) => handler.call(target, event);
154
- target.addEventListener(eventName, boundHandler, options);
155
- }
156
- export function isEmpty(x) {
157
- return 'length' in x ? x.length < 1 : x.size < 1;
158
- }
159
- export function asArray(value) {
160
- if (value == null)
161
- return [];
162
- return Array.isArray(value) ? value : [value];
163
- }
164
- export function partition(array, isTruthy) {
165
- const truthy = [];
166
- const falsy = [];
167
- for (const item of array) {
168
- (isTruthy(item) ? truthy : falsy).push(item);
169
- }
170
- return [truthy, falsy];
171
- }
172
- export function getCenterPoint(element) {
173
- const { left, top, width, height } = element.getBoundingClientRect();
174
- return {
175
- x: left + width * 0.5,
176
- y: top + height * 0.5,
177
- };
178
- }
179
- export function getScaleFactor(element) {
180
- const { offsetWidth, offsetHeight } = element;
181
- const { width, height } = element.getBoundingClientRect();
182
- return { x: offsetWidth / width || 1, y: offsetHeight / height || 1 };
183
- }
184
- export function roundByDPR(value) {
185
- const dpr = globalThis.devicePixelRatio || 1;
186
- return Math.round(value * dpr) / dpr;
187
- }
188
- export function scrollIntoView(element, config) {
189
- if (!element) {
190
- return;
191
- }
192
- element.scrollIntoView(Object.assign({
193
- behavior: 'auto',
194
- block: 'nearest',
195
- inline: 'nearest',
196
- }, config));
197
- }
198
- export function isRegExp(value) {
199
- return value != null && value.constructor === RegExp;
200
- }
201
- export function equal(a, b, visited = new WeakSet()) {
202
- if (Object.is(a, b)) {
203
- return true;
204
- }
205
- if (isObject(a) && isObject(b)) {
206
- if (a.constructor !== b.constructor) {
207
- return false;
208
- }
209
- if (visited.has(a) && visited.has(b)) {
210
- return true;
211
- }
212
- visited.add(a);
213
- visited.add(b);
214
- if (isRegExp(a) && isRegExp(b)) {
215
- return a.source === b.source && a.flags === b.flags;
216
- }
217
- if (a instanceof Map && b instanceof Map) {
218
- if (a.size !== b.size) {
219
- return false;
220
- }
221
- for (const [keyA, valueA] of a.entries()) {
222
- let found = false;
223
- for (const [keyB, valueB] of b.entries()) {
224
- if (equal(keyA, keyB, visited) && equal(valueA, valueB, visited)) {
225
- found = true;
226
- break;
227
- }
228
- }
229
- if (!found) {
230
- return false;
231
- }
232
- }
233
- return true;
234
- }
235
- if (a instanceof Set && b instanceof Set) {
236
- if (a.size !== b.size) {
237
- return false;
238
- }
239
- for (const valueA of a) {
240
- let found = false;
241
- for (const valueB of b) {
242
- if (equal(valueA, valueB, visited)) {
243
- found = true;
244
- break;
245
- }
246
- }
247
- if (!found) {
248
- return false;
249
- }
250
- }
251
- return true;
252
- }
253
- if (Array.isArray(a) && Array.isArray(b)) {
254
- const length = a.length;
255
- if (length !== b.length) {
256
- return false;
257
- }
258
- for (let i = 0; i < length; i++) {
259
- if (!equal(a[i], b[i], visited)) {
260
- return false;
261
- }
262
- }
263
- return true;
264
- }
265
- if (a.valueOf !== Object.prototype.valueOf) {
266
- return a.valueOf() === b.valueOf();
267
- }
268
- if (a.toString !== Object.prototype.toString) {
269
- return a.toString() === b.toString();
270
- }
271
- const aKeys = Object.keys(a);
272
- const bKeys = Object.keys(b);
273
- if (aKeys.length !== bKeys.length) {
274
- return false;
275
- }
276
- for (const key of aKeys) {
277
- if (!Object.hasOwn(b, key)) {
278
- return false;
279
- }
280
- }
281
- for (const key of aKeys) {
282
- if (!equal(a[key], b[key], visited)) {
283
- return false;
284
- }
285
- }
286
- visited.delete(a);
287
- visited.delete(b);
288
- return true;
289
- }
290
- return false;
291
- }
292
- export function escapeRegex(value) {
293
- return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
294
- }
295
- export function setStyles(element, styles) {
296
- merge(element.style, styles);
297
- }
298
- export function merge(target, source) {
299
- const sourceKeys = Object.keys(source);
300
- const length = sourceKeys.length;
301
- for (let i = 0; i < length; i++) {
302
- const key = sourceKeys[i];
303
- if (isUnsafeProperty(key)) {
304
- continue;
305
- }
306
- const sourceValue = source[key];
307
- const targetValue = target[key];
308
- if (Array.isArray(sourceValue)) {
309
- if (Array.isArray(targetValue)) {
310
- target[key] = merge(targetValue, sourceValue);
311
- }
312
- else {
313
- target[key] = merge([], sourceValue);
314
- }
315
- }
316
- else if (isPlainObject(sourceValue)) {
317
- if (isPlainObject(targetValue)) {
318
- target[key] = merge(targetValue, sourceValue);
319
- }
320
- else {
321
- target[key] = merge({}, sourceValue);
322
- }
323
- }
324
- else if (targetValue === undefined || sourceValue !== undefined) {
325
- target[key] = sourceValue;
326
- }
327
- }
328
- return target;
329
- }
330
- export function toMerged(target, source) {
331
- return merge(structuredClone(target), source);
332
- }
333
- export function bindIf(assertion, value) {
334
- return assertion
335
- ? (value ?? nothing)
336
- : nothing;
337
- }
338
- let pool;
339
- let poolOffset;
340
- const urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
341
- function fillPool(bytes) {
342
- if (!pool || pool.length < bytes) {
343
- pool = new Uint8Array(new ArrayBuffer(bytes * 128));
344
- crypto.getRandomValues(pool);
345
- poolOffset = 0;
346
- }
347
- else if (poolOffset + bytes > pool.length) {
348
- crypto.getRandomValues(pool);
349
- poolOffset = 0;
350
- }
351
- poolOffset += bytes;
352
- }
353
- export function nanoid(size = 21) {
354
- const bytes = size | 0;
355
- fillPool(bytes);
356
- let id = '';
357
- for (let i = poolOffset - bytes; i < poolOffset; i++) {
358
- id += urlAlphabet[pool[i] & 63];
359
- }
360
- return id;
361
- }
362
- export function hasFiles(input) {
363
- return input.files != null && input.files.length > 0;
364
- }
365
- const trimmedCache = new WeakMap();
366
- export function trimmedHtml(strings, ...values) {
367
- if (!trimmedCache.has(strings)) {
368
- const trimmedStrings = strings.map((s) => s.trim().replaceAll('\n', ''));
369
- trimmedCache.set(strings, Object.assign([...trimmedStrings], { raw: [...strings.raw] }));
370
- }
371
- return html(trimmedCache.get(strings), ...values);
372
- }
373
- export function isPopoverOpen(element) {
374
- return element?.matches(':popover-open') ?? false;
375
- }
376
- export function getVisibleAncestor(startNode) {
377
- let node = startNode.parentNode;
378
- while (node) {
379
- if (node instanceof ShadowRoot) {
380
- node = node.host;
381
- continue;
382
- }
383
- if (node instanceof HTMLElement && node.checkVisibility()) {
384
- return node;
385
- }
386
- node = node.parentNode;
387
- }
388
- return null;
389
- }
390
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/common/util.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, isServer, nothing, type TemplateResult } from 'lit';\nimport type IgcFileInputComponent from '../file-input/file-input.js';\n\nexport const asPercent = (part: number, whole: number) => (part / whole) * 100;\n\nexport const clamp = (number: number, min: number, max: number) =>\n Math.max(min, Math.min(number, max));\n\nexport function numberOfDecimals(number: number): number {\n const [_, decimals] = number.toString().split('.');\n return decimals ? decimals.length : 0;\n}\n\nexport function roundPrecise(number: number, magnitude = 1): number {\n const factor = 10 ** magnitude;\n return Math.round(number * factor) / factor;\n}\n\nexport function numberInRangeInclusive(\n value: number,\n min: number,\n max: number\n) {\n return value >= min && value <= max;\n}\n\n/**\n * Returns whether an element has a Left-to-Right directionality.\n */\nexport function isLTR(element: HTMLElement) {\n return element.matches(':dir(ltr)');\n}\n\n/**\n * Builds a string from format specifiers and replacement parameters.\n * Will coerce non-string parameters to their string representations.\n *\n * @example\n * ```typescript\n * formatString('{0} says \"{1}\".', 'John', 'Hello'); // 'John says \"Hello\".'\n * formatString('{1} is greater than {0}', 0, 1); // '1 is greater than 0'\n * ```\n */\nexport function formatString(template: string, ...params: unknown[]): string {\n const length = params.length;\n\n return template.replace(/{(\\d+)}/g, (match: string, index: number) =>\n index >= length ? match : `${params[index]}`\n );\n}\n\n/**\n * Parse the passed `value` as a number or return the `fallback` if it can't be done.\n *\n * @example\n * ```typescript\n * asNumber('5'); // 5\n * asNumber('3.14'); // 3.14\n * asNumber('five'); // 0\n * asNUmber('five', 5); // 5\n * ```\n */\nexport function asNumber(value: unknown, fallback = 0) {\n const parsed = Number.parseFloat(value as string);\n return Number.isNaN(parsed) ? fallback : parsed;\n}\n\n/**\n * Returns the value wrapped between the min and max bounds.\n *\n * If the value is greater than max, returns the min and vice-versa.\n * If the value is between the bounds, it is returned unchanged.\n *\n * @example\n * ```typescript\n * wrap(1, 4, 2); // 2\n * wrap(1, 4, 5); // 1\n * wrap(1, 4, -1); // 4\n * ```\n */\nexport function wrap(min: number, max: number, value: number) {\n if (value < min) {\n return max;\n }\n if (value > max) {\n return min;\n }\n\n return value;\n}\n\nexport function isDefined<T = unknown>(value: T) {\n return value !== undefined;\n}\n\nexport type IterNodesOptions<T = Node> = {\n show?: keyof typeof NodeFilter;\n filter?: (node: T) => boolean;\n};\n\nfunction createNodeFilter<T extends Node>(predicate: (node: T) => boolean) {\n return {\n acceptNode: (node: T): number =>\n !predicate || predicate(node)\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP,\n };\n}\n\nexport function* iterNodes<T extends Node>(\n root: Node,\n options?: IterNodesOptions<T>\n): Generator<T> {\n if (!isDefined(globalThis.document)) {\n return;\n }\n\n const whatToShow = options?.show\n ? NodeFilter[options.show]\n : NodeFilter.SHOW_ALL;\n\n const nodeFilter = options?.filter\n ? createNodeFilter(options.filter)\n : undefined;\n\n const treeWalker = document.createTreeWalker(root, whatToShow, nodeFilter);\n\n while (treeWalker.nextNode()) {\n yield treeWalker.currentNode as T;\n }\n}\n\nexport function getRoot(\n element: Element,\n options?: GetRootNodeOptions\n): Document | ShadowRoot {\n return element.getRootNode(options) as Document | ShadowRoot;\n}\n\nexport function getElementByIdFromRoot(root: HTMLElement, id: string) {\n return getRoot(root).getElementById(id);\n}\n\nexport function isElement(node: unknown): node is Element {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function isDocument(node: unknown): node is Document {\n return node instanceof Node && node.nodeType === Node.DOCUMENT_NODE;\n}\n\n/**\n * Finds the first element in the event's composed path that matches the provided predicate, which can be either a string selector or a function.\n *\n * @param predicate - A string representing a CSS selector or a function that takes an Element and returns a boolean indicating a match.\n * @param event - The event whose composed path will be searched for the matching element.\n * @returns The first Element that matches the predicate, or undefined if no match is found.\n *\n * @example\n * ```typescript\n * // Using a string selector\n * const button = getElementFromPath('button', event);\n * ```\n * ```typescript\n * // Using a predicate function\n * const customElement = getElementFromPath((el) => el.tagName === 'MY-ELEMENT', event);\n * ```\n */\nexport function getElementFromPath<K extends keyof HTMLElementTagNameMap>(\n predicate: K,\n event: Event\n): HTMLElementTagNameMap[K] | undefined;\nexport function getElementFromPath<T extends Element>(\n predicate: string | ((element: Element) => boolean),\n event: Event\n): T | undefined;\nexport function getElementFromPath(\n predicate: string | ((element: Element) => boolean),\n event: Event\n) {\n const func = isString(predicate)\n ? (e: Element) => e.matches(predicate)\n : (e: Element) => predicate(e);\n\n return Iterator.from(event.composedPath()).find(\n (item) => isElement(item) && func(item)\n ) as Element | undefined;\n}\n\nexport function stopPropagation(event: Event): void {\n event.stopPropagation();\n}\n\nexport function first<T>(arr: T[]) {\n return arr.at(0) as T;\n}\n\nexport function last<T>(arr: T[]) {\n return arr.at(-1) as T;\n}\n\nexport function modulo(n: number, d: number) {\n return ((n % d) + d) % d;\n}\n\n/**\n * Splits an array into chunks of a specified size and returns a generator that yields each chunk.\n *\n * @example\n * ```typescript\n * [...chunk([1, 2, 3, 4, 5], 2)]; // [[1, 2], [3, 4], [5]]\n * ```\n *\n * @throws If the `size` parameter is not a safe integer greater than or equal to 1.\n */\nexport function* chunk<T>(arr: T[], size: number): Generator<T[]> {\n if (!Number.isSafeInteger(size) || size < 1) {\n throw new Error('size must be an integer >= 1');\n }\n\n const iterator = Iterator.from(arr);\n const length = arr.length;\n let i = 0;\n\n while (i < length) {\n yield iterator.take(size).toArray();\n i += size;\n }\n}\n\nexport function splitToWords(text: string) {\n const input = text.replaceAll(/[^a-zA-Z0-9\\s-_]/g, '');\n if (/[\\s-_]+/.test(input)) return input.split(/[\\s-_]+/);\n return input.split(/(?=[A-Z])+/);\n}\n\nexport function toKebabCase(text: string): string {\n const input = text.trim();\n return splitToWords(input).join('-').toLocaleLowerCase();\n}\n\nexport function isFunction(value: unknown): value is CallableFunction {\n return typeof value === 'function';\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isObject(value: unknown): value is object {\n return value != null && typeof value === 'object';\n}\n\nexport function isPlainObject(\n value: unknown\n): value is Record<PropertyKey, unknown> {\n if (!isObject(value)) {\n return false;\n }\n\n const proto = Object.getPrototypeOf(value) as typeof Object.prototype | null;\n\n const hasObjectPrototype =\n proto === null ||\n proto === Object.prototype ||\n Object.getPrototypeOf(proto) === null;\n\n return hasObjectPrototype\n ? Object.prototype.toString.call(value) === '[object Object]'\n : false;\n}\n\nfunction isUnsafeProperty(key: PropertyKey) {\n return key === '__proto__' || key === 'constructor' || key === 'prototype';\n}\n\nexport function isEventListenerObject(x: unknown): x is EventListenerObject {\n return isObject(x) && 'handleEvent' in x;\n}\n\nexport function addWeakEventListener(\n element: Element,\n event: string,\n listener: EventListenerOrEventListenerObject,\n options?: AddEventListenerOptions | boolean\n): void {\n const weakRef = new WeakRef(listener);\n const wrapped = (evt: Event) => {\n const handler = weakRef.deref();\n\n return isEventListenerObject(handler)\n ? handler.handleEvent(evt)\n : handler?.(evt);\n };\n\n element.addEventListener(event, wrapped, options);\n}\n\ntype EventTypeOf<T extends keyof HTMLElementEventMap | keyof WindowEventMap> =\n (HTMLElementEventMap & WindowEventMap)[T];\n\n/**\n * Safely adds an event listener to an HTMLElement, automatically handling\n * server-side rendering environments by doing nothing if `isServer` is true.\n * This function also correctly binds the `handler`'s `this` context to the `target` element\n * and ensures proper event type inference.\n */\nexport function addSafeEventListener<\n E extends keyof HTMLElementEventMap | keyof WindowEventMap,\n>(\n target: HTMLElement,\n eventName: E,\n handler: (event: EventTypeOf<E>) => unknown,\n options?: boolean | AddEventListenerOptions\n): void {\n if (isServer) {\n return;\n }\n\n const boundHandler = (event: Event) =>\n handler.call(target, event as EventTypeOf<E>);\n\n target.addEventListener(eventName, boundHandler, options);\n}\n\n/**\n * Returns whether a given collection is empty.\n */\nexport function isEmpty<T, U extends object>(\n x: ArrayLike<T> | Set<T> | Map<U, T>\n): boolean {\n return 'length' in x ? x.length < 1 : x.size < 1;\n}\n\n/**\n * Ensures the given value is wrapped in an array. If the value is already an array, it is returned as-is. If the value is undefined, an empty array is returned.\n *\n * @example\n * ```typescript\n * asArray(5); // [5]\n * asArray([1, 2, 3]); // [1, 2, 3]\n * asArray(undefined); // []\n * ```\n */\nexport function asArray<T>(value?: T | T[]): T[] {\n if (value == null) return [];\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * Splits an array into two based on a predicate function, returning a tuple of [truthy, falsy] arrays.\n *\n * @example\n * ```typescript\n * const [evens, odds] = partition([1, 2, 3, 4], x => x % 2 === 0);\n * console.log(evens); // [2, 4]\n * console.log(odds); // [1, 3]\n * ```\n */\nexport function partition<T>(\n array: T[],\n isTruthy: (value: T) => boolean\n): [truthy: T[], falsy: T[]] {\n const truthy: T[] = [];\n const falsy: T[] = [];\n\n for (const item of array) {\n (isTruthy(item) ? truthy : falsy).push(item);\n }\n\n return [truthy, falsy];\n}\n\n/** Returns the center x/y coordinate of a given element. */\nexport function getCenterPoint(element: Element): { x: number; y: number } {\n const { left, top, width, height } = element.getBoundingClientRect();\n\n return {\n x: left + width * 0.5,\n y: top + height * 0.5,\n };\n}\n\n/** Returns the scale factor of a given element based on its bounding client rect and offset dimensions. */\nexport function getScaleFactor(element: HTMLElement): { x: number; y: number } {\n const { offsetWidth, offsetHeight } = element;\n const { width, height } = element.getBoundingClientRect();\n return { x: offsetWidth / width || 1, y: offsetHeight / height || 1 };\n}\n\nexport function roundByDPR(value: number): number {\n const dpr = globalThis.devicePixelRatio || 1;\n return Math.round(value * dpr) / dpr;\n}\n\nexport function scrollIntoView(\n element?: HTMLElement | null,\n config?: ScrollIntoViewOptions\n): void {\n if (!element) {\n return;\n }\n\n element.scrollIntoView(\n Object.assign(\n {\n behavior: 'auto',\n block: 'nearest',\n inline: 'nearest',\n },\n config\n )\n );\n}\n\nexport function isRegExp(value: unknown): value is RegExp {\n return value != null && value.constructor === RegExp;\n}\n\nexport function equal<T>(a: unknown, b: T, visited = new WeakSet()): boolean {\n // Early return\n if (Object.is(a, b)) {\n return true;\n }\n\n if (isObject(a) && isObject(b)) {\n if (a.constructor !== b.constructor) {\n return false;\n }\n\n // Circular references\n if (visited.has(a) && visited.has(b)) {\n return true;\n }\n\n visited.add(a);\n visited.add(b);\n\n // RegExp\n if (isRegExp(a) && isRegExp(b)) {\n return a.source === b.source && a.flags === b.flags;\n }\n\n // Maps\n if (a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [keyA, valueA] of a.entries()) {\n let found = false;\n for (const [keyB, valueB] of b.entries()) {\n if (equal(keyA, keyB, visited) && equal(valueA, valueB, visited)) {\n found = true;\n break;\n }\n }\n if (!found) {\n return false;\n }\n }\n return true;\n }\n\n // Sets\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) {\n return false;\n }\n for (const valueA of a) {\n let found = false;\n for (const valueB of b) {\n if (equal(valueA, valueB, visited)) {\n found = true;\n break;\n }\n }\n if (!found) {\n return false;\n }\n }\n return true;\n }\n\n // Arrays\n if (Array.isArray(a) && Array.isArray(b)) {\n const length = a.length;\n if (length !== b.length) {\n return false;\n }\n for (let i = 0; i < length; i++) {\n if (!equal(a[i], b[i], visited)) {\n return false;\n }\n }\n return true;\n }\n\n // toPrimitive\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf();\n }\n // Strings based\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString();\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n for (const key of aKeys) {\n if (!Object.hasOwn(b, key)) {\n return false;\n }\n }\n\n for (const key of aKeys) {\n if (!equal(a[key as keyof typeof a], b[key as keyof typeof b], visited)) {\n return false;\n }\n }\n\n visited.delete(a);\n visited.delete(b);\n\n return true;\n }\n\n return false;\n}\n\n/**\n * Escapes any potential regex syntax characters in a string, and returns a new string\n * that can be safely used as a literal pattern for the `RegExp()` constructor.\n *\n * @remarks\n * Substitute with `RegExp.escape` once it has enough support:\n *\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/escape#browser_compatibility\n */\nexport function escapeRegex(value: string): string {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n/** Required utility type for specific props */\nexport type RequiredProps<T, K extends keyof T> = T & {\n [P in K]-?: T[P];\n};\n\nexport function setStyles(\n element: HTMLElement,\n styles: Partial<CSSStyleDeclaration>\n): void {\n merge(element.style, styles);\n}\n\n/**\n * Merges the properties of `source` into `target` performing a recursive deep merge over POJOs and arrays.\n *\n * @remarks\n * This function mutates the `target` object.\n * If that is not the desired outcome, see {@link toMerged} for another approach.\n */\nexport function merge<\n T extends Record<PropertyKey, any>,\n S extends Record<PropertyKey, any>,\n>(target: T, source: S): T & S {\n const sourceKeys = Object.keys(source) as Array<keyof S>;\n const length = sourceKeys.length;\n\n for (let i = 0; i < length; i++) {\n const key = sourceKeys[i];\n\n if (isUnsafeProperty(key)) {\n continue;\n }\n\n const sourceValue = source[key];\n const targetValue = target[key];\n\n if (Array.isArray(sourceValue)) {\n if (Array.isArray(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n } else {\n target[key] = merge([], sourceValue);\n }\n } else if (isPlainObject(sourceValue)) {\n if (isPlainObject(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n } else {\n target[key] = merge({}, sourceValue);\n }\n } else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n\n return target;\n}\n\n/**\n * Just like {@link merge} but it does not mutate the `target` object instead\n * mutating a structured clone of it.\n */\nexport function toMerged<\n T extends Record<PropertyKey, any>,\n S extends Record<PropertyKey, any>,\n>(target: T, source: S): T & S {\n return merge(structuredClone(target), source);\n}\n\n/**\n * Similar to Lit's `ifDefined` directive except one can check `assertion`\n * and bind a different `value` through this wrapper.\n */\nexport function bindIf<T>(assertion: unknown, value: T): NonNullable<T> {\n return assertion\n ? (value ?? (nothing as NonNullable<T>))\n : (nothing as NonNullable<T>);\n}\n\nlet pool: Uint8Array<ArrayBuffer>;\nlet poolOffset: number;\nconst urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';\n\nfunction fillPool(bytes: number): void {\n if (!pool || pool.length < bytes) {\n pool = new Uint8Array(new ArrayBuffer(bytes * 128));\n crypto.getRandomValues(pool);\n poolOffset = 0;\n } else if (poolOffset + bytes > pool.length) {\n crypto.getRandomValues(pool);\n poolOffset = 0;\n }\n poolOffset += bytes;\n}\n\nexport function nanoid(size = 21): string {\n const bytes = size | 0;\n fillPool(bytes);\n\n let id = '';\n for (let i = poolOffset - bytes; i < poolOffset; i++) {\n id += urlAlphabet[pool[i] & 63];\n }\n\n return id;\n}\n\nexport function hasFiles(\n input: HTMLInputElement | IgcFileInputComponent\n): boolean {\n return input.files != null && input.files.length > 0;\n}\n\nconst trimmedCache = new WeakMap<TemplateStringsArray, TemplateStringsArray>();\n\n/** @internal */\nexport function trimmedHtml(\n strings: TemplateStringsArray,\n ...values: unknown[]\n): TemplateResult {\n if (!trimmedCache.has(strings)) {\n const trimmedStrings = strings.map((s) => s.trim().replaceAll('\\n', ''));\n trimmedCache.set(\n strings,\n Object.assign([...trimmedStrings], { raw: [...strings.raw] })\n );\n }\n\n return html(trimmedCache.get(strings)!, ...values);\n}\n\n/**\n * Returns whether the given element is currently an open popover or not.\n * This is useful to determine if the popover is open without relying on the `open` property, which may not be in sync with the actual popover state if the opening/closing animations are still running.\n * Note: This function only works for elements that use the `:popover-open` pseudo-class to indicate\n */\nexport function isPopoverOpen(element?: Element): boolean {\n return element?.matches(':popover-open') ?? false;\n}\n\n/**\n * Returns the nearest visible ancestor of a given node, traversing through shadow DOM boundaries if necessary. If no visible ancestor is found, returns null.\n */\nexport function getVisibleAncestor(startNode: Node): HTMLElement | null {\n let node: Node | null = startNode.parentNode;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof HTMLElement && node.checkVisibility()) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return null;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/common/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { ValidationResourceStringsEN } from 'igniteui-i18n-core';\nimport { CalendarDay } from '../calendar/model.js';\nimport {\n asNumber,\n formatString,\n isDefined,\n numberOfDecimals,\n roundPrecise,\n} from './util.js';\n\ntype ValidatorHandler<T> = (host: T) => boolean;\ntype ValidatorMessageFormat<T> = (host: T) => string;\n\n/** @ignore */\nexport interface Validator<T = any> {\n key: keyof ValidityStateFlags;\n message: string | ValidatorMessageFormat<T>;\n isValid: ValidatorHandler<T>;\n}\n\nconst emailRegex =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\nexport const requiredValidator: Validator<{\n required: boolean;\n value?: unknown;\n}> = {\n key: 'valueMissing',\n message: ValidationResourceStringsEN.required_validation_error!,\n isValid: ({ required, value }) => (required ? !!value : true),\n};\n\nexport const requiredBooleanValidator: Validator<{\n required: boolean;\n checked: boolean;\n}> = {\n key: 'valueMissing',\n message: ValidationResourceStringsEN.required_validation_error!,\n isValid: ({ required, checked }) => (required ? checked : true),\n};\n\nexport const minLengthValidator: Validator<{\n minLength?: number;\n value: string;\n}> = {\n key: 'tooShort',\n message: ({ minLength }) =>\n formatString(\n ValidationResourceStringsEN.min_length_validation_error!,\n minLength\n ),\n isValid: ({ minLength, value }) =>\n minLength && value ? value.length >= asNumber(minLength) : true,\n};\n\nexport const maxLengthValidator: Validator<{\n maxLength?: number;\n value: string;\n}> = {\n key: 'tooLong',\n message: ({ maxLength }) =>\n formatString(\n ValidationResourceStringsEN.max_length_validation_error!,\n maxLength\n ),\n isValid: ({ maxLength, value }) =>\n maxLength && value ? value.length <= asNumber(maxLength) : true,\n};\n\nexport const patternValidator: Validator<{ pattern?: string; value: string }> =\n {\n key: 'patternMismatch',\n message: ValidationResourceStringsEN.pattern_validation_error!,\n isValid: ({ pattern, value }) =>\n pattern && value ? new RegExp(pattern, 'u').test(value) : true,\n };\n\nexport const minValidator: Validator<{\n min?: number;\n value: number | string;\n}> = {\n key: 'rangeUnderflow',\n message: ({ min }) =>\n formatString(ValidationResourceStringsEN.min_validation_error!, min),\n isValid: ({ min, value }) =>\n isDefined(value) && value !== '' && isDefined(min)\n ? asNumber(value) >= asNumber(min)\n : true,\n};\n\nexport const maxValidator: Validator<{\n max?: number;\n value: number | string;\n}> = {\n key: 'rangeOverflow',\n message: ({ max }) =>\n formatString(ValidationResourceStringsEN.max_validation_error!, max),\n isValid: ({ max, value }) =>\n isDefined(value) && value !== '' && isDefined(max)\n ? asNumber(value) <= asNumber(max)\n : true,\n};\n\nexport const stepValidator: Validator<{\n min?: number;\n step?: number;\n value: number | string;\n}> = {\n key: 'stepMismatch',\n message: 'Value does not conform to step constraint',\n isValid: ({ min, step, value }) => {\n if (isDefined(value) && value !== '' && isDefined(step)) {\n const _value = asNumber(value) - asNumber(min);\n const _step = asNumber(step);\n const magnitude = numberOfDecimals(_step) + 1;\n const rem = roundPrecise(\n Math.abs(_value - _step * Math.round(_value / _step)),\n magnitude\n );\n\n return !rem;\n }\n return true;\n },\n};\n\nexport const emailValidator: Validator<{ value: string }> = {\n key: 'typeMismatch',\n message: ValidationResourceStringsEN.email_validation_error!,\n isValid: ({ value }) => (value ? emailRegex.test(value) : true),\n};\n\nexport const urlValidator: Validator<{ value: string }> = {\n key: 'typeMismatch',\n message: ValidationResourceStringsEN.url_validation_error!,\n isValid: ({ value }) => (value ? URL.canParse(value) : true),\n};\n\nexport const minDateValidator: Validator<{\n value?: Date | null;\n min?: Date | null;\n}> = {\n key: 'rangeUnderflow',\n message: ({ min }) =>\n formatString(ValidationResourceStringsEN.min_validation_error!, min),\n isValid: ({ value, min }) =>\n value && min ? CalendarDay.compare(value, min) >= 0 : true,\n};\n\nexport const maxDateValidator: Validator<{\n value?: Date | null;\n max?: Date | null;\n}> = {\n key: 'rangeOverflow',\n message: ({ max }) =>\n formatString(ValidationResourceStringsEN.max_validation_error!, max),\n isValid: ({ value, max }) =>\n value && max ? CalendarDay.compare(value, max) <= 0 : true,\n};\n"]}
@@ -1,107 +0,0 @@
1
- /**
2
- * A Map that automatically creates default values for missing keys.
3
- *
4
- * @remarks
5
- * Extends the native `Map` class with a `getOrCreate` method that returns
6
- * an existing value or creates a new one using the provided factory function.
7
- *
8
- * @example
9
- * Creating a DefaultMap with a factory function:
10
- * ```typescript
11
- * const map = new DefaultMap<string, number[]>(undefined, () => []);
12
- * map.getOrCreate('items').push(1, 2, 3);
13
- * ```
14
- *
15
- * @example
16
- * Creating a DefaultMap with initial entries:
17
- * ```typescript
18
- * const initial: [string, Set<number>][] = [
19
- * ['evens', new Set([2, 4, 6])],
20
- * ['odds', new Set([1, 3, 5])],
21
- * ];
22
- * const map = new DefaultMap(initial, () => new Set<number>());
23
- * map.getOrCreate('primes').add(2).add(3).add(5);
24
- * ```
25
- */
26
- declare class DefaultMap<K, V> extends Map<K, V> {
27
- private readonly _factoryFn;
28
- get [Symbol.toStringTag](): string;
29
- /**
30
- * Creates a new DefaultMap instance.
31
- *
32
- * @param entries - Optional iterable of key-value pairs to initialize the map.
33
- * @param factoryFn - Factory function that creates default values for missing keys.
34
- * Defaults to creating a new `Map` instance.
35
- */
36
- constructor(entries?: Iterable<readonly [K, V]>, factoryFn?: () => V);
37
- /**
38
- * Returns the value for the given key, creating it if it doesn't exist.
39
- *
40
- * @param key - The key to look up or create a value for.
41
- * @returns The existing or newly created value for the key.
42
- */
43
- getOrCreate(key: K): V;
44
- /**
45
- * Converts the DefaultMap to a plain Map for structured cloning.
46
- *
47
- * @remarks
48
- * This method helps with cross-browser compatibility when using BroadcastChannel
49
- * or postMessage, as custom Map subclasses are not properly cloned in Safari.
50
- * Returns a plain Map instance so that the container itself can be structured-cloned
51
- * consistently across browsers. Structured cloning will still only succeed if the
52
- * map's keys and values are themselves structured-cloneable.
53
- *
54
- * @returns A plain Map with the same entries as this DefaultMap.
55
- *
56
- * @example
57
- * ```typescript
58
- * const defaultMap = new DefaultMap<string, Set<number>>();
59
- * const plainMap = defaultMap.toPlainMap();
60
- * channel.postMessage({ data: plainMap });
61
- * ```
62
- */
63
- toPlainMap(): Map<K, V>;
64
- }
65
- /**
66
- * Creates a new DefaultMap with the specified entries and factory function.
67
- *
68
- * @param entries - Optional iterable of key-value pairs to initialize the map.
69
- * @param factoryFn - Factory function that creates default values for missing keys.
70
- * @returns A new DefaultMap instance.
71
- *
72
- * @example
73
- * Creating a DefaultMap with a factory function:
74
- * ```typescript
75
- * const counters = createDefaultMap<string, number>(undefined, () => 0);
76
- * counters.set('visits', counters.getOrCreate('visits') + 1);
77
- * ```
78
- *
79
- * @example
80
- * Creating a DefaultMap with initial entries:
81
- * ```typescript
82
- * const defaults: [string, string[]][] = [
83
- * ['fruits', ['apple', 'banana']],
84
- * ['vegetables', ['carrot', 'broccoli']],
85
- * ];
86
- * const categories = createDefaultMap(defaults, () => [] as string[]);
87
- * categories.getOrCreate('dairy').push('milk', 'cheese');
88
- * ```
89
- */
90
- export declare function createDefaultMap<K, V>(entries?: Iterable<readonly [K, V]>, factoryFn?: () => V): DefaultMap<K, V>;
91
- /**
92
- * Creates a DefaultMap for icon collections with nested Map values.
93
- *
94
- * @remarks
95
- * This is a convenience function for creating the nested map structure
96
- * used by the icon registry to organize icons by collection and name.
97
- *
98
- * @returns A DefaultMap where each value is itself a Map.
99
- *
100
- * @example
101
- * ```typescript
102
- * const icons = createIconDefaultMap<string, SvgIcon>();
103
- * icons.getOrCreate('material').set('home', { svg: '...' });
104
- * ```
105
- */
106
- export declare function createIconDefaultMap<K, V>(): DefaultMap<K, Map<K, V>>;
107
- export type { DefaultMap };
@@ -1,25 +0,0 @@
1
- class DefaultMap extends Map {
2
- get [Symbol.toStringTag]() {
3
- return 'DefaultMap';
4
- }
5
- constructor(entries, factoryFn) {
6
- super(entries);
7
- this._factoryFn = factoryFn ?? (() => new Map());
8
- }
9
- getOrCreate(key) {
10
- if (!this.has(key)) {
11
- this.set(key, this._factoryFn());
12
- }
13
- return this.get(key);
14
- }
15
- toPlainMap() {
16
- return new Map(this.entries());
17
- }
18
- }
19
- export function createDefaultMap(entries, factoryFn) {
20
- return new DefaultMap(entries, factoryFn);
21
- }
22
- export function createIconDefaultMap() {
23
- return new DefaultMap();
24
- }
25
- //# sourceMappingURL=default-map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-map.js","sourceRoot":"","sources":["../../../../src/components/icon/registry/default-map.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAiB,SAAQ,GAAS;IAGtC,IAAoB,CAAC,MAAM,CAAC,WAAW,CAAC;QACtC,OAAO,YAAY,CAAC;IACtB,CAAC;IASD,YAAY,OAAmC,EAAE,SAAmB;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAO,CAAC,CAAC;IACxD,CAAC;IAQM,WAAW,CAAC,GAAM;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IAC5B,CAAC;IAqBM,UAAU;QACf,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;CACF;AA2BD,MAAM,UAAU,gBAAgB,CAC9B,OAAmC,EACnC,SAAmB;IAEnB,OAAO,IAAI,UAAU,CAAO,OAAO,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAiBD,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,UAAU,EAAgB,CAAC;AACxC,CAAC","sourcesContent":["/**\n * A Map that automatically creates default values for missing keys.\n *\n * @remarks\n * Extends the native `Map` class with a `getOrCreate` method that returns\n * an existing value or creates a new one using the provided factory function.\n *\n * @example\n * Creating a DefaultMap with a factory function:\n * ```typescript\n * const map = new DefaultMap<string, number[]>(undefined, () => []);\n * map.getOrCreate('items').push(1, 2, 3);\n * ```\n *\n * @example\n * Creating a DefaultMap with initial entries:\n * ```typescript\n * const initial: [string, Set<number>][] = [\n * ['evens', new Set([2, 4, 6])],\n * ['odds', new Set([1, 3, 5])],\n * ];\n * const map = new DefaultMap(initial, () => new Set<number>());\n * map.getOrCreate('primes').add(2).add(3).add(5);\n * ```\n */\nclass DefaultMap<K, V> extends Map<K, V> {\n private readonly _factoryFn: () => V;\n\n public override get [Symbol.toStringTag](): string {\n return 'DefaultMap';\n }\n\n /**\n * Creates a new DefaultMap instance.\n *\n * @param entries - Optional iterable of key-value pairs to initialize the map.\n * @param factoryFn - Factory function that creates default values for missing keys.\n * Defaults to creating a new `Map` instance.\n */\n constructor(entries?: Iterable<readonly [K, V]>, factoryFn?: () => V) {\n super(entries);\n this._factoryFn = factoryFn ?? (() => new Map() as V);\n }\n\n /**\n * Returns the value for the given key, creating it if it doesn't exist.\n *\n * @param key - The key to look up or create a value for.\n * @returns The existing or newly created value for the key.\n */\n public getOrCreate(key: K): V {\n if (!this.has(key)) {\n this.set(key, this._factoryFn());\n }\n\n return this.get(key) as V;\n }\n\n /**\n * Converts the DefaultMap to a plain Map for structured cloning.\n *\n * @remarks\n * This method helps with cross-browser compatibility when using BroadcastChannel\n * or postMessage, as custom Map subclasses are not properly cloned in Safari.\n * Returns a plain Map instance so that the container itself can be structured-cloned\n * consistently across browsers. Structured cloning will still only succeed if the\n * map's keys and values are themselves structured-cloneable.\n *\n * @returns A plain Map with the same entries as this DefaultMap.\n *\n * @example\n * ```typescript\n * const defaultMap = new DefaultMap<string, Set<number>>();\n * const plainMap = defaultMap.toPlainMap();\n * channel.postMessage({ data: plainMap });\n * ```\n */\n public toPlainMap(): Map<K, V> {\n return new Map(this.entries());\n }\n}\n\n/**\n * Creates a new DefaultMap with the specified entries and factory function.\n *\n * @param entries - Optional iterable of key-value pairs to initialize the map.\n * @param factoryFn - Factory function that creates default values for missing keys.\n * @returns A new DefaultMap instance.\n *\n * @example\n * Creating a DefaultMap with a factory function:\n * ```typescript\n * const counters = createDefaultMap<string, number>(undefined, () => 0);\n * counters.set('visits', counters.getOrCreate('visits') + 1);\n * ```\n *\n * @example\n * Creating a DefaultMap with initial entries:\n * ```typescript\n * const defaults: [string, string[]][] = [\n * ['fruits', ['apple', 'banana']],\n * ['vegetables', ['carrot', 'broccoli']],\n * ];\n * const categories = createDefaultMap(defaults, () => [] as string[]);\n * categories.getOrCreate('dairy').push('milk', 'cheese');\n * ```\n */\nexport function createDefaultMap<K, V>(\n entries?: Iterable<readonly [K, V]>,\n factoryFn?: () => V\n): DefaultMap<K, V> {\n return new DefaultMap<K, V>(entries, factoryFn);\n}\n\n/**\n * Creates a DefaultMap for icon collections with nested Map values.\n *\n * @remarks\n * This is a convenience function for creating the nested map structure\n * used by the icon registry to organize icons by collection and name.\n *\n * @returns A DefaultMap where each value is itself a Map.\n *\n * @example\n * ```typescript\n * const icons = createIconDefaultMap<string, SvgIcon>();\n * icons.getOrCreate('material').set('home', { svg: '...' });\n * ```\n */\nexport function createIconDefaultMap<K, V>() {\n return new DefaultMap<K, Map<K, V>>();\n}\n\nexport type { DefaultMap };\n"]}
@@ -1,3 +0,0 @@
1
- import { css } from 'lit';
2
- export const styles = css `:host{--menu-mini-width: 2.5rem}`;
3
- //# sourceMappingURL=nav-drawer.fluent.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nav-drawer.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kCAAkC,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--menu-mini-width: 2.5rem}`;\n "]}
@@ -1,13 +0,0 @@
1
- import type IgcRadioComponent from './radio.js';
2
- type RadioQueryResult = {
3
- /** Radio components under the same group name */
4
- radios: IgcRadioComponent[];
5
- /** Radio components under the same group name that are not disabled */
6
- active: IgcRadioComponent[];
7
- /** Radio components under the same group name sans the radio member passed in `getGroup` */
8
- siblings: IgcRadioComponent[];
9
- /** Radio components under the same group name that are marked as checked */
10
- checked: IgcRadioComponent[];
11
- };
12
- export declare function getGroup(member: IgcRadioComponent): RadioQueryResult;
13
- export {};