igniteui-webcomponents 7.2.3 → 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 (980) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/animations/player.d.ts +4 -11
  3. package/animations/player.js +4 -10
  4. package/animations/player.js.map +1 -1
  5. package/animations/view-transition.d.ts +44 -0
  6. package/animations/view-transition.js +81 -0
  7. package/animations/view-transition.js.map +1 -0
  8. package/components/accordion/accordion.d.ts +1 -1
  9. package/components/accordion/accordion.js +7 -6
  10. package/components/accordion/accordion.js.map +1 -1
  11. package/components/avatar/avatar.js +10 -10
  12. package/components/avatar/avatar.js.map +1 -1
  13. package/components/avatar/themes/themes.d.ts +1 -1
  14. package/components/avatar/themes/themes.js.map +1 -1
  15. package/components/badge/badge.d.ts +1 -1
  16. package/components/badge/badge.js +5 -5
  17. package/components/badge/badge.js.map +1 -1
  18. package/components/badge/themes/themes.d.ts +1 -1
  19. package/components/badge/themes/themes.js.map +1 -1
  20. package/components/banner/banner.d.ts +2 -2
  21. package/components/banner/banner.js +8 -8
  22. package/components/banner/banner.js.map +1 -1
  23. package/components/banner/themes/themes.d.ts +1 -1
  24. package/components/banner/themes/themes.js.map +1 -1
  25. package/components/button/button-base.d.ts +2 -2
  26. package/components/button/button-base.js +15 -12
  27. package/components/button/button-base.js.map +1 -1
  28. package/components/button/button.d.ts +3 -3
  29. package/components/button/button.js +2 -2
  30. package/components/button/button.js.map +1 -1
  31. package/components/button/icon-button.js +12 -12
  32. package/components/button/icon-button.js.map +1 -1
  33. package/components/button/themes/button/themes.d.ts +1 -1
  34. package/components/button/themes/button/themes.js.map +1 -1
  35. package/components/button/themes/icon-button/themes.d.ts +1 -1
  36. package/components/button/themes/icon-button/themes.js.map +1 -1
  37. package/components/button-group/button-group.d.ts +42 -21
  38. package/components/button-group/button-group.js +101 -106
  39. package/components/button-group/button-group.js.map +1 -1
  40. package/components/button-group/themes/button.d.ts +1 -1
  41. package/components/button-group/themes/button.js.map +1 -1
  42. package/components/button-group/themes/group.d.ts +1 -1
  43. package/components/button-group/themes/group.js.map +1 -1
  44. package/components/button-group/toggle-button.d.ts +17 -10
  45. package/components/button-group/toggle-button.js +28 -13
  46. package/components/button-group/toggle-button.js.map +1 -1
  47. package/components/calendar/base.d.ts +29 -10
  48. package/components/calendar/base.js +12 -15
  49. package/components/calendar/base.js.map +1 -1
  50. package/components/calendar/calendar.d.ts +39 -8
  51. package/components/calendar/calendar.js +96 -85
  52. package/components/calendar/calendar.js.map +1 -1
  53. package/components/calendar/days-view/days-view.d.ts +49 -22
  54. package/components/calendar/days-view/days-view.js +102 -163
  55. package/components/calendar/days-view/days-view.js.map +1 -1
  56. package/components/calendar/helpers.d.ts +3 -62
  57. package/components/calendar/helpers.js +6 -110
  58. package/components/calendar/helpers.js.map +1 -1
  59. package/components/calendar/months-view/months-view.d.ts +7 -21
  60. package/components/calendar/months-view/months-view.js +30 -83
  61. package/components/calendar/months-view/months-view.js.map +1 -1
  62. package/components/calendar/selection.d.ts +21 -0
  63. package/components/calendar/selection.js +42 -0
  64. package/components/calendar/selection.js.map +1 -0
  65. package/components/calendar/themes/calendar.d.ts +1 -1
  66. package/components/calendar/themes/calendar.js.map +1 -1
  67. package/components/calendar/themes/days.d.ts +1 -1
  68. package/components/calendar/themes/days.js.map +1 -1
  69. package/components/calendar/themes/year-month.d.ts +1 -1
  70. package/components/calendar/themes/year-month.js.map +1 -1
  71. package/components/calendar/types.d.ts +18 -0
  72. package/components/calendar/types.js.map +1 -1
  73. package/components/calendar/year-month-view.base.d.ts +44 -0
  74. package/components/calendar/year-month-view.base.js +89 -0
  75. package/components/calendar/year-month-view.base.js.map +1 -0
  76. package/components/calendar/years-view/years-view.d.ts +7 -20
  77. package/components/calendar/years-view/years-view.js +25 -79
  78. package/components/calendar/years-view/years-view.js.map +1 -1
  79. package/components/card/card.actions.js +2 -2
  80. package/components/card/card.actions.js.map +1 -1
  81. package/components/card/card.content.d.ts +1 -1
  82. package/components/card/card.content.js +2 -2
  83. package/components/card/card.content.js.map +1 -1
  84. package/components/card/card.d.ts +1 -1
  85. package/components/card/card.header.js +2 -2
  86. package/components/card/card.header.js.map +1 -1
  87. package/components/card/card.js +2 -2
  88. package/components/card/card.js.map +1 -1
  89. package/components/card/card.media.d.ts +1 -1
  90. package/components/card/card.media.js +1 -1
  91. package/components/card/card.media.js.map +1 -1
  92. package/components/card/themes/actions.d.ts +1 -1
  93. package/components/card/themes/actions.js.map +1 -1
  94. package/components/card/themes/container.d.ts +1 -1
  95. package/components/card/themes/container.js.map +1 -1
  96. package/components/card/themes/content.d.ts +1 -1
  97. package/components/card/themes/content.js.map +1 -1
  98. package/components/card/themes/header.d.ts +1 -1
  99. package/components/card/themes/header.js.map +1 -1
  100. package/components/carousel/animations.d.ts +1 -1
  101. package/components/carousel/animations.js +2 -2
  102. package/components/carousel/animations.js.map +1 -1
  103. package/components/carousel/carousel-indicator-container.js +4 -4
  104. package/components/carousel/carousel-indicator-container.js.map +1 -1
  105. package/components/carousel/carousel-indicator.d.ts +1 -1
  106. package/components/carousel/carousel-indicator.js +5 -5
  107. package/components/carousel/carousel-indicator.js.map +1 -1
  108. package/components/carousel/carousel-slide.d.ts +1 -1
  109. package/components/carousel/carousel-slide.js +9 -9
  110. package/components/carousel/carousel-slide.js.map +1 -1
  111. package/components/carousel/carousel.d.ts +7 -7
  112. package/components/carousel/carousel.js +40 -30
  113. package/components/carousel/carousel.js.map +1 -1
  114. package/components/carousel/themes/container.d.ts +1 -1
  115. package/components/carousel/themes/container.js.map +1 -1
  116. package/components/carousel/themes/indicator-container.d.ts +1 -1
  117. package/components/carousel/themes/indicator-container.js.map +1 -1
  118. package/components/chat/chat-input.d.ts +4 -4
  119. package/components/chat/chat-input.js +13 -12
  120. package/components/chat/chat-input.js.map +1 -1
  121. package/components/chat/chat-message.d.ts +1 -1
  122. package/components/chat/chat-message.js +7 -6
  123. package/components/chat/chat-message.js.map +1 -1
  124. package/components/chat/chat-state.d.ts +2 -2
  125. package/components/chat/chat-state.js +2 -1
  126. package/components/chat/chat-state.js.map +1 -1
  127. package/components/chat/chat.d.ts +4 -4
  128. package/components/chat/chat.js +13 -13
  129. package/components/chat/chat.js.map +1 -1
  130. package/components/chat/message-attachments.js +5 -5
  131. package/components/chat/message-attachments.js.map +1 -1
  132. package/components/chat/themes/attachments.d.ts +1 -1
  133. package/components/chat/themes/attachments.js.map +1 -1
  134. package/components/chat/themes/input.d.ts +1 -1
  135. package/components/chat/themes/input.js.map +1 -1
  136. package/components/chat/themes/message.d.ts +1 -1
  137. package/components/chat/themes/message.js.map +1 -1
  138. package/components/chat/themes/themes.d.ts +1 -1
  139. package/components/chat/themes/themes.js.map +1 -1
  140. package/components/chat/types.d.ts +2 -2
  141. package/components/chat/types.js.map +1 -1
  142. package/components/chat/utils.d.ts +1 -1
  143. package/components/chat/utils.js +3 -3
  144. package/components/chat/utils.js.map +1 -1
  145. package/components/checkbox/checkbox-base.d.ts +7 -7
  146. package/components/checkbox/checkbox-base.js +7 -7
  147. package/components/checkbox/checkbox-base.js.map +1 -1
  148. package/components/checkbox/checkbox.js +7 -6
  149. package/components/checkbox/checkbox.js.map +1 -1
  150. package/components/checkbox/switch.js +7 -6
  151. package/components/checkbox/switch.js.map +1 -1
  152. package/components/checkbox/themes/checkbox-themes.d.ts +1 -1
  153. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  154. package/components/checkbox/themes/switch-themes.d.ts +1 -1
  155. package/components/checkbox/themes/switch-themes.js.map +1 -1
  156. package/components/checkbox/validators.d.ts +1 -1
  157. package/components/checkbox/validators.js +1 -1
  158. package/components/checkbox/validators.js.map +1 -1
  159. package/components/chip/chip.d.ts +9 -3
  160. package/components/chip/chip.js +10 -6
  161. package/components/chip/chip.js.map +1 -1
  162. package/components/chip/themes/chip.base.css.js +1 -1
  163. package/components/chip/themes/chip.base.css.js.map +1 -1
  164. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  165. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  166. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  167. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  168. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  169. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  170. package/components/chip/themes/dark/chip.material.css.js +1 -1
  171. package/components/chip/themes/dark/chip.material.css.js.map +1 -1
  172. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  173. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  174. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  175. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  176. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  177. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  178. package/components/chip/themes/light/chip.material.css.js +1 -1
  179. package/components/chip/themes/light/chip.material.css.js.map +1 -1
  180. package/components/chip/themes/light/chip.shared.css.js +1 -1
  181. package/components/chip/themes/light/chip.shared.css.js.map +1 -1
  182. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  183. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  184. package/components/chip/themes/shared/chip.common.css.js +1 -1
  185. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  186. package/components/chip/themes/shared/chip.fluent.css.js +1 -1
  187. package/components/chip/themes/shared/chip.fluent.css.js.map +1 -1
  188. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  189. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  190. package/components/chip/themes/themes.d.ts +1 -1
  191. package/components/chip/themes/themes.js.map +1 -1
  192. package/components/combo/combo-header.js +2 -2
  193. package/components/combo/combo-header.js.map +1 -1
  194. package/components/combo/combo-item.d.ts +0 -2
  195. package/components/combo/combo-item.js +4 -7
  196. package/components/combo/combo-item.js.map +1 -1
  197. package/components/combo/combo.d.ts +84 -26
  198. package/components/combo/combo.js +197 -152
  199. package/components/combo/combo.js.map +1 -1
  200. package/components/combo/controllers/data.d.ts +30 -3
  201. package/components/combo/controllers/data.js +34 -9
  202. package/components/combo/controllers/data.js.map +1 -1
  203. package/components/combo/controllers/navigation.d.ts +8 -2
  204. package/components/combo/controllers/navigation.js +11 -12
  205. package/components/combo/controllers/navigation.js.map +1 -1
  206. package/components/combo/operations/filter.d.ts +17 -1
  207. package/components/combo/operations/filter.js +29 -9
  208. package/components/combo/operations/filter.js.map +1 -1
  209. package/components/combo/operations/group.js +1 -1
  210. package/components/combo/operations/group.js.map +1 -1
  211. package/components/combo/themes/combo.base.css.js +1 -1
  212. package/components/combo/themes/combo.base.css.js.map +1 -1
  213. package/components/combo/themes/themes.d.ts +1 -1
  214. package/components/combo/themes/themes.js.map +1 -1
  215. package/components/combo/types.d.ts +8 -4
  216. package/components/combo/types.js.map +1 -1
  217. package/components/combo/validators.d.ts +1 -1
  218. package/components/combo/validators.js.map +1 -1
  219. package/components/date-picker/date-picker.base.d.ts +294 -0
  220. package/components/date-picker/date-picker.base.js +480 -0
  221. package/components/date-picker/date-picker.base.js.map +1 -0
  222. package/components/date-picker/date-picker.d.ts +52 -172
  223. package/components/date-picker/date-picker.js +88 -393
  224. package/components/date-picker/date-picker.js.map +1 -1
  225. package/components/date-picker/themes/themes.d.ts +1 -1
  226. package/components/date-picker/themes/themes.js.map +1 -1
  227. package/components/date-picker/validators.d.ts +1 -1
  228. package/components/date-picker/validators.js +2 -2
  229. package/components/date-picker/validators.js.map +1 -1
  230. package/components/date-range-picker/date-range-input.d.ts +12 -14
  231. package/components/date-range-picker/date-range-input.js +42 -98
  232. package/components/date-range-picker/date-range-input.js.map +1 -1
  233. package/components/date-range-picker/date-range-mask-parser.d.ts +22 -34
  234. package/components/date-range-picker/date-range-mask-parser.js +38 -69
  235. package/components/date-range-picker/date-range-mask-parser.js.map +1 -1
  236. package/components/date-range-picker/date-range-picker.d.ts +98 -191
  237. package/components/date-range-picker/date-range-picker.js +210 -530
  238. package/components/date-range-picker/date-range-picker.js.map +1 -1
  239. package/components/date-range-picker/predefined-ranges-area.d.ts +2 -2
  240. package/components/date-range-picker/predefined-ranges-area.js +5 -5
  241. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  242. package/components/date-range-picker/themes/ranges-themes.d.ts +1 -1
  243. package/components/date-range-picker/themes/ranges-themes.js.map +1 -1
  244. package/components/date-range-picker/themes/themes.d.ts +1 -1
  245. package/components/date-range-picker/themes/themes.js.map +1 -1
  246. package/components/date-range-picker/validators.d.ts +1 -1
  247. package/components/date-range-picker/validators.js +15 -22
  248. package/components/date-range-picker/validators.js.map +1 -1
  249. package/components/date-time-input/date-part.d.ts +18 -1
  250. package/components/date-time-input/date-part.js +10 -0
  251. package/components/date-time-input/date-part.js.map +1 -1
  252. package/components/date-time-input/date-time-input.base.d.ts +74 -12
  253. package/components/date-time-input/date-time-input.base.js +99 -27
  254. package/components/date-time-input/date-time-input.base.js.map +1 -1
  255. package/components/date-time-input/date-time-input.d.ts +13 -23
  256. package/components/date-time-input/date-time-input.js +45 -65
  257. package/components/date-time-input/date-time-input.js.map +1 -1
  258. package/components/date-time-input/datetime-mask-parser.d.ts +45 -109
  259. package/components/date-time-input/datetime-mask-parser.js +88 -139
  260. package/components/date-time-input/datetime-mask-parser.js.map +1 -1
  261. package/components/date-time-input/validators.d.ts +1 -1
  262. package/components/date-time-input/validators.js +2 -2
  263. package/components/date-time-input/validators.js.map +1 -1
  264. package/components/dialog/dialog.d.ts +2 -2
  265. package/components/dialog/dialog.js +21 -22
  266. package/components/dialog/dialog.js.map +1 -1
  267. package/components/dialog/themes/themes.d.ts +1 -1
  268. package/components/dialog/themes/themes.js.map +1 -1
  269. package/components/divider/divider.d.ts +2 -1
  270. package/components/divider/divider.js +3 -3
  271. package/components/divider/divider.js.map +1 -1
  272. package/components/divider/themes/themes.d.ts +1 -1
  273. package/components/divider/themes/themes.js.map +1 -1
  274. package/components/dropdown/dropdown-group.d.ts +10 -3
  275. package/components/dropdown/dropdown-group.js +21 -5
  276. package/components/dropdown/dropdown-group.js.map +1 -1
  277. package/components/dropdown/dropdown-header.d.ts +2 -2
  278. package/components/dropdown/dropdown-header.js +7 -2
  279. package/components/dropdown/dropdown-header.js.map +1 -1
  280. package/components/dropdown/dropdown-item.d.ts +4 -4
  281. package/components/dropdown/dropdown-item.js +3 -3
  282. package/components/dropdown/dropdown-item.js.map +1 -1
  283. package/components/dropdown/dropdown.d.ts +75 -32
  284. package/components/dropdown/dropdown.js +189 -110
  285. package/components/dropdown/dropdown.js.map +1 -1
  286. package/components/dropdown/themes/container.d.ts +1 -1
  287. package/components/dropdown/themes/container.js.map +1 -1
  288. package/components/dropdown/themes/group.d.ts +1 -1
  289. package/components/dropdown/themes/group.js.map +1 -1
  290. package/components/dropdown/themes/header.d.ts +1 -1
  291. package/components/dropdown/themes/header.js.map +1 -1
  292. package/components/dropdown/themes/item.d.ts +1 -1
  293. package/components/dropdown/themes/item.js.map +1 -1
  294. package/components/expansion-panel/expansion-panel.d.ts +14 -5
  295. package/components/expansion-panel/expansion-panel.js +10 -9
  296. package/components/expansion-panel/expansion-panel.js.map +1 -1
  297. package/components/expansion-panel/themes/themes.d.ts +1 -1
  298. package/components/expansion-panel/themes/themes.js.map +1 -1
  299. package/components/file-input/file-input.d.ts +20 -12
  300. package/components/file-input/file-input.js +17 -12
  301. package/components/file-input/file-input.js.map +1 -1
  302. package/components/file-input/themes/themes.d.ts +1 -1
  303. package/components/file-input/themes/themes.js.map +1 -1
  304. package/components/file-input/validators.d.ts +1 -1
  305. package/components/file-input/validators.js +1 -1
  306. package/components/file-input/validators.js.map +1 -1
  307. package/components/focus-trap/focus-trap.js +3 -2
  308. package/components/focus-trap/focus-trap.js.map +1 -1
  309. package/components/highlight/highlight.js +2 -2
  310. package/components/highlight/highlight.js.map +1 -1
  311. package/components/highlight/service.d.ts +4 -1
  312. package/components/highlight/service.js +23 -7
  313. package/components/highlight/service.js.map +1 -1
  314. package/components/highlight/themes/themes.d.ts +1 -1
  315. package/components/highlight/themes/themes.js.map +1 -1
  316. package/components/icon/icon-references.d.ts +3 -2
  317. package/components/icon/icon-references.js +103 -491
  318. package/components/icon/icon-references.js.map +1 -1
  319. package/components/icon/icon-state.broadcast.d.ts +14 -17
  320. package/components/icon/icon-state.broadcast.js +19 -20
  321. package/components/icon/icon-state.broadcast.js.map +1 -1
  322. package/components/icon/icon.d.ts +14 -25
  323. package/components/icon/icon.js +37 -24
  324. package/components/icon/icon.js.map +1 -1
  325. package/components/icon/icon.registry.d.ts +69 -131
  326. package/components/icon/icon.registry.js +51 -53
  327. package/components/icon/icon.registry.js.map +1 -1
  328. package/components/icon/internal-icons-lib.js +2 -2
  329. package/components/icon/internal-icons-lib.js.map +1 -1
  330. package/components/icon/registry/parser.d.ts +15 -3
  331. package/components/icon/registry/parser.js +36 -11
  332. package/components/icon/registry/parser.js.map +1 -1
  333. package/components/icon/registry/types.d.ts +55 -11
  334. package/components/icon/registry/types.js.map +1 -1
  335. package/components/icon/themes/icon.base.css.js +1 -1
  336. package/components/icon/themes/icon.base.css.js.map +1 -1
  337. package/components/icon/themes/shared/icon.common.css.js +1 -1
  338. package/components/icon/themes/shared/icon.common.css.js.map +1 -1
  339. package/components/icon/themes/themes.d.ts +1 -1
  340. package/components/icon/themes/themes.js.map +1 -1
  341. package/components/input/input-base.d.ts +12 -12
  342. package/components/input/input-base.js +13 -15
  343. package/components/input/input-base.js.map +1 -1
  344. package/components/input/input.d.ts +15 -12
  345. package/components/input/input.js +8 -8
  346. package/components/input/input.js.map +1 -1
  347. package/components/input/themes/input.base.css.js +1 -1
  348. package/components/input/themes/input.base.css.js.map +1 -1
  349. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  350. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  351. package/components/input/themes/shared/input.common.css.js +1 -1
  352. package/components/input/themes/shared/input.common.css.js.map +1 -1
  353. package/components/input/themes/shared/input.fluent.css.js +1 -1
  354. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  355. package/components/input/themes/shared/input.indigo.css.js +1 -1
  356. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  357. package/components/input/themes/shared/input.material.css.js +1 -1
  358. package/components/input/themes/shared/input.material.css.js.map +1 -1
  359. package/components/input/themes/themes.d.ts +1 -1
  360. package/components/input/themes/themes.js.map +1 -1
  361. package/components/input/validators.d.ts +1 -1
  362. package/components/input/validators.js +1 -1
  363. package/components/input/validators.js.map +1 -1
  364. package/components/list/list-header.js +3 -3
  365. package/components/list/list-header.js.map +1 -1
  366. package/components/list/list-item.js +3 -3
  367. package/components/list/list-item.js.map +1 -1
  368. package/components/list/list.js +3 -3
  369. package/components/list/list.js.map +1 -1
  370. package/components/list/themes/container.d.ts +1 -1
  371. package/components/list/themes/container.js.map +1 -1
  372. package/components/list/themes/header.d.ts +1 -1
  373. package/components/list/themes/header.js.map +1 -1
  374. package/components/list/themes/item.d.ts +1 -1
  375. package/components/list/themes/item.js.map +1 -1
  376. package/components/mask-input/mask-history.d.ts +99 -0
  377. package/components/mask-input/mask-history.js +95 -0
  378. package/components/mask-input/mask-history.js.map +1 -0
  379. package/components/mask-input/mask-input.d.ts +14 -9
  380. package/components/mask-input/mask-input.js +20 -23
  381. package/components/mask-input/mask-input.js.map +1 -1
  382. package/components/mask-input/mask-parser.d.ts +20 -2
  383. package/components/mask-input/mask-parser.js +21 -13
  384. package/components/mask-input/mask-parser.js.map +1 -1
  385. package/components/mask-input/validators.d.ts +1 -1
  386. package/components/mask-input/validators.js +1 -1
  387. package/components/mask-input/validators.js.map +1 -1
  388. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -1
  389. package/components/nav-drawer/nav-drawer-header-item.js +2 -2
  390. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  391. package/components/nav-drawer/nav-drawer-item.d.ts +2 -2
  392. package/components/nav-drawer/nav-drawer-item.js +4 -4
  393. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  394. package/components/nav-drawer/nav-drawer.d.ts +3 -3
  395. package/components/nav-drawer/nav-drawer.js +11 -14
  396. package/components/nav-drawer/nav-drawer.js.map +1 -1
  397. package/components/nav-drawer/themes/container.base.css.js +1 -1
  398. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  399. package/components/nav-drawer/themes/container.d.ts +1 -1
  400. package/components/nav-drawer/themes/container.js +2 -3
  401. package/components/nav-drawer/themes/container.js.map +1 -1
  402. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +1 -1
  403. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -1
  404. package/components/nav-drawer/themes/header-item.d.ts +1 -1
  405. package/components/nav-drawer/themes/header-item.js.map +1 -1
  406. package/components/nav-drawer/themes/item.d.ts +1 -1
  407. package/components/nav-drawer/themes/item.js.map +1 -1
  408. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
  409. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
  410. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
  411. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
  412. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
  413. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
  414. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +1 -1
  415. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -1
  416. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  417. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  418. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  419. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  420. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  421. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  422. package/components/navbar/navbar.js +2 -2
  423. package/components/navbar/navbar.js.map +1 -1
  424. package/components/navbar/themes/themes.d.ts +1 -1
  425. package/components/navbar/themes/themes.js.map +1 -1
  426. package/components/popover/popover.d.ts +10 -3
  427. package/components/popover/popover.js +114 -99
  428. package/components/popover/popover.js.map +1 -1
  429. package/components/progress/base.d.ts +1 -1
  430. package/components/progress/base.js +5 -4
  431. package/components/progress/base.js.map +1 -1
  432. package/components/progress/circular-gradient.d.ts +2 -2
  433. package/components/progress/circular-gradient.js +1 -1
  434. package/components/progress/circular-gradient.js.map +1 -1
  435. package/components/progress/circular-progress.d.ts +15 -15
  436. package/components/progress/circular-progress.js +7 -6
  437. package/components/progress/circular-progress.js.map +1 -1
  438. package/components/progress/linear-progress.d.ts +12 -12
  439. package/components/progress/linear-progress.js +4 -4
  440. package/components/progress/linear-progress.js.map +1 -1
  441. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  442. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  443. package/components/progress/themes/circular/themes.d.ts +1 -1
  444. package/components/progress/themes/circular/themes.js.map +1 -1
  445. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  446. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  447. package/components/progress/themes/linear/themes.d.ts +1 -1
  448. package/components/progress/themes/linear/themes.js.map +1 -1
  449. package/components/qr-code/model/encode.d.ts +20 -0
  450. package/components/qr-code/model/encode.js +166 -0
  451. package/components/qr-code/model/encode.js.map +1 -0
  452. package/components/qr-code/model/error-correction.d.ts +15 -0
  453. package/components/qr-code/model/error-correction.js +1114 -0
  454. package/components/qr-code/model/error-correction.js.map +1 -0
  455. package/components/qr-code/model/mask.d.ts +11 -0
  456. package/components/qr-code/model/mask.js +161 -0
  457. package/components/qr-code/model/mask.js.map +1 -0
  458. package/components/qr-code/model/matrix.d.ts +15 -0
  459. package/components/qr-code/model/matrix.js +277 -0
  460. package/components/qr-code/model/matrix.js.map +1 -0
  461. package/components/qr-code/qr-code.d.ts +134 -0
  462. package/components/qr-code/qr-code.js +221 -0
  463. package/components/qr-code/qr-code.js.map +1 -0
  464. package/components/qr-code/renderer/constants.d.ts +26 -0
  465. package/components/qr-code/renderer/constants.js +5 -0
  466. package/components/qr-code/renderer/constants.js.map +1 -0
  467. package/components/qr-code/renderer/corner.d.ts +23 -0
  468. package/components/qr-code/renderer/corner.js +25 -0
  469. package/components/qr-code/renderer/corner.js.map +1 -0
  470. package/components/qr-code/renderer/dots.d.ts +14 -0
  471. package/components/qr-code/renderer/dots.js +7 -0
  472. package/components/qr-code/renderer/dots.js.map +1 -0
  473. package/components/qr-code/renderer/helpers.d.ts +18 -0
  474. package/components/qr-code/renderer/helpers.js +158 -0
  475. package/components/qr-code/renderer/helpers.js.map +1 -0
  476. package/components/qr-code/renderer/image.d.ts +23 -0
  477. package/components/qr-code/renderer/image.js +29 -0
  478. package/components/qr-code/renderer/image.js.map +1 -0
  479. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js +3 -0
  480. package/components/qr-code/themes/dark/qr-code.bootstrap.css.js.map +1 -0
  481. package/components/qr-code/themes/dark/qr-code.fluent.css.d.ts +1 -0
  482. package/components/qr-code/themes/dark/qr-code.fluent.css.js +3 -0
  483. package/components/qr-code/themes/dark/qr-code.fluent.css.js.map +1 -0
  484. package/components/qr-code/themes/dark/qr-code.indigo.css.d.ts +1 -0
  485. package/components/qr-code/themes/dark/qr-code.indigo.css.js +3 -0
  486. package/components/qr-code/themes/dark/qr-code.indigo.css.js.map +1 -0
  487. package/components/qr-code/themes/dark/qr-code.material.css.d.ts +1 -0
  488. package/components/qr-code/themes/dark/qr-code.material.css.js +3 -0
  489. package/components/qr-code/themes/dark/qr-code.material.css.js.map +1 -0
  490. package/components/qr-code/themes/light/qr-code.bootstrap.css.d.ts +1 -0
  491. package/components/qr-code/themes/light/qr-code.bootstrap.css.js +3 -0
  492. package/components/qr-code/themes/light/qr-code.bootstrap.css.js.map +1 -0
  493. package/components/qr-code/themes/light/qr-code.fluent.css.d.ts +1 -0
  494. package/components/qr-code/themes/light/qr-code.fluent.css.js +3 -0
  495. package/components/qr-code/themes/light/qr-code.fluent.css.js.map +1 -0
  496. package/components/qr-code/themes/light/qr-code.indigo.css.d.ts +1 -0
  497. package/components/qr-code/themes/light/qr-code.indigo.css.js +3 -0
  498. package/components/qr-code/themes/light/qr-code.indigo.css.js.map +1 -0
  499. package/components/qr-code/themes/light/qr-code.material.css.d.ts +1 -0
  500. package/components/qr-code/themes/light/qr-code.material.css.js +3 -0
  501. package/components/qr-code/themes/light/qr-code.material.css.js.map +1 -0
  502. package/components/qr-code/themes/light/qr-code.shared.css.d.ts +1 -0
  503. package/components/qr-code/themes/light/qr-code.shared.css.js +3 -0
  504. package/components/qr-code/themes/light/qr-code.shared.css.js.map +1 -0
  505. package/components/qr-code/themes/qr-code.base.css.d.ts +1 -0
  506. package/components/qr-code/themes/qr-code.base.css.js +3 -0
  507. package/components/qr-code/themes/qr-code.base.css.js.map +1 -0
  508. package/components/qr-code/themes/shared/qr-code.common.css.d.ts +1 -0
  509. package/components/qr-code/themes/shared/qr-code.common.css.js +3 -0
  510. package/components/qr-code/themes/shared/qr-code.common.css.js.map +1 -0
  511. package/components/qr-code/themes/themes.d.ts +2 -0
  512. package/components/qr-code/themes/themes.js +46 -0
  513. package/components/qr-code/themes/themes.js.map +1 -0
  514. package/components/qr-code/types.d.ts +16 -0
  515. package/components/qr-code/types.js +2 -0
  516. package/components/qr-code/types.js.map +1 -0
  517. package/components/radio/controller.d.ts +35 -0
  518. package/components/radio/controller.js +100 -0
  519. package/components/radio/controller.js.map +1 -0
  520. package/components/radio/radio.d.ts +26 -14
  521. package/components/radio/radio.js +47 -36
  522. package/components/radio/radio.js.map +1 -1
  523. package/components/radio/themes/themes.d.ts +1 -1
  524. package/components/radio/themes/themes.js.map +1 -1
  525. package/components/radio/validators.d.ts +1 -1
  526. package/components/radio/validators.js +5 -3
  527. package/components/radio/validators.js.map +1 -1
  528. package/components/radio-group/radio-group.d.ts +19 -10
  529. package/components/radio-group/radio-group.js +50 -41
  530. package/components/radio-group/radio-group.js.map +1 -1
  531. package/components/radio-group/themes/themes.d.ts +1 -1
  532. package/components/radio-group/themes/themes.js.map +1 -1
  533. package/components/rating/rating-symbol.d.ts +1 -1
  534. package/components/rating/rating-symbol.js +1 -1
  535. package/components/rating/rating-symbol.js.map +1 -1
  536. package/components/rating/rating.d.ts +6 -6
  537. package/components/rating/rating.js +12 -9
  538. package/components/rating/rating.js.map +1 -1
  539. package/components/rating/themes/themes.d.ts +1 -1
  540. package/components/rating/themes/themes.js.map +1 -1
  541. package/components/resize-container/resize-container.d.ts +4 -4
  542. package/components/resize-container/resize-container.js +4 -4
  543. package/components/resize-container/resize-container.js.map +1 -1
  544. package/components/resize-container/resize-controller.js +2 -2
  545. package/components/resize-container/resize-controller.js.map +1 -1
  546. package/components/resize-container/themes/themes.d.ts +1 -1
  547. package/components/resize-container/themes/themes.js.map +1 -1
  548. package/components/ripple/ripple.d.ts +1 -1
  549. package/components/ripple/ripple.js +3 -2
  550. package/components/ripple/ripple.js.map +1 -1
  551. package/components/select/select-group.d.ts +9 -2
  552. package/components/select/select-group.js +21 -5
  553. package/components/select/select-group.js.map +1 -1
  554. package/components/select/select-header.d.ts +1 -1
  555. package/components/select/select-header.js +7 -2
  556. package/components/select/select-header.js.map +1 -1
  557. package/components/select/select-item.d.ts +4 -4
  558. package/components/select/select-item.js +3 -3
  559. package/components/select/select-item.js.map +1 -1
  560. package/components/select/select.d.ts +49 -22
  561. package/components/select/select.js +132 -67
  562. package/components/select/select.js.map +1 -1
  563. package/components/select/themes/select.base.css.js +1 -1
  564. package/components/select/themes/select.base.css.js.map +1 -1
  565. package/components/select/themes/themes.d.ts +1 -1
  566. package/components/select/themes/themes.js.map +1 -1
  567. package/components/select/validators.d.ts +1 -1
  568. package/components/select/validators.js +1 -1
  569. package/components/select/validators.js.map +1 -1
  570. package/components/slider/range-slider.d.ts +2 -2
  571. package/components/slider/range-slider.js +8 -8
  572. package/components/slider/range-slider.js.map +1 -1
  573. package/components/slider/slider-base.js +18 -14
  574. package/components/slider/slider-base.js.map +1 -1
  575. package/components/slider/slider-label.js +1 -1
  576. package/components/slider/slider-label.js.map +1 -1
  577. package/components/slider/slider.d.ts +3 -3
  578. package/components/slider/slider.js +6 -6
  579. package/components/slider/slider.js.map +1 -1
  580. package/components/slider/themes/themes.d.ts +1 -1
  581. package/components/slider/themes/themes.js.map +1 -1
  582. package/components/snackbar/snackbar.d.ts +3 -3
  583. package/components/snackbar/snackbar.js +8 -8
  584. package/components/snackbar/snackbar.js.map +1 -1
  585. package/components/snackbar/themes/themes.d.ts +1 -1
  586. package/components/snackbar/themes/themes.js.map +1 -1
  587. package/components/splitter/splitter.d.ts +106 -23
  588. package/components/splitter/splitter.js +234 -147
  589. package/components/splitter/splitter.js.map +1 -1
  590. package/components/splitter/themes/themes.d.ts +1 -1
  591. package/components/splitter/themes/themes.js.map +1 -1
  592. package/components/splitter/types.d.ts +14 -3
  593. package/components/splitter/types.js.map +1 -1
  594. package/components/stepper/common/animations.d.ts +1 -1
  595. package/components/stepper/common/animations.js +2 -2
  596. package/components/stepper/common/animations.js.map +1 -1
  597. package/components/stepper/step.d.ts +1 -1
  598. package/components/stepper/step.js +7 -7
  599. package/components/stepper/step.js.map +1 -1
  600. package/components/stepper/stepper.d.ts +5 -5
  601. package/components/stepper/stepper.js +12 -9
  602. package/components/stepper/stepper.js.map +1 -1
  603. package/components/stepper/themes/step/themes.d.ts +1 -1
  604. package/components/stepper/themes/step/themes.js.map +1 -1
  605. package/components/tabs/tab-dom.d.ts +31 -28
  606. package/components/tabs/tab-dom.js +84 -34
  607. package/components/tabs/tab-dom.js.map +1 -1
  608. package/components/tabs/tab.d.ts +24 -6
  609. package/components/tabs/tab.js +34 -13
  610. package/components/tabs/tab.js.map +1 -1
  611. package/components/tabs/tabs.d.ts +36 -22
  612. package/components/tabs/tabs.js +118 -88
  613. package/components/tabs/tabs.js.map +1 -1
  614. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
  615. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
  616. package/components/tabs/themes/tab-themes.d.ts +1 -1
  617. package/components/tabs/themes/tab-themes.js.map +1 -1
  618. package/components/tabs/themes/tabs-themes.d.ts +1 -1
  619. package/components/tabs/themes/tabs-themes.js.map +1 -1
  620. package/components/tabs/themes/tabs.base.css.js +1 -1
  621. package/components/tabs/themes/tabs.base.css.js.map +1 -1
  622. package/components/textarea/textarea.d.ts +19 -14
  623. package/components/textarea/textarea.js +22 -16
  624. package/components/textarea/textarea.js.map +1 -1
  625. package/components/textarea/themes/themes.d.ts +1 -1
  626. package/components/textarea/themes/themes.js.map +1 -1
  627. package/components/textarea/validators.d.ts +1 -1
  628. package/components/textarea/validators.js +1 -1
  629. package/components/textarea/validators.js.map +1 -1
  630. package/components/theme-provider/theme-provider.d.ts +1 -1
  631. package/components/theme-provider/theme-provider.js +2 -2
  632. package/components/theme-provider/theme-provider.js.map +1 -1
  633. package/components/tile-manager/position.d.ts +1 -1
  634. package/components/tile-manager/position.js +2 -2
  635. package/components/tile-manager/position.js.map +1 -1
  636. package/components/tile-manager/resize-state.js +4 -3
  637. package/components/tile-manager/resize-state.js.map +1 -1
  638. package/components/tile-manager/themes/container.d.ts +1 -1
  639. package/components/tile-manager/themes/container.js.map +1 -1
  640. package/components/tile-manager/themes/tile.d.ts +1 -1
  641. package/components/tile-manager/themes/tile.js.map +1 -1
  642. package/components/tile-manager/tile-ghost-util.js +1 -1
  643. package/components/tile-manager/tile-ghost-util.js.map +1 -1
  644. package/components/tile-manager/tile-manager.d.ts +1 -1
  645. package/components/tile-manager/tile-manager.js +7 -7
  646. package/components/tile-manager/tile-manager.js.map +1 -1
  647. package/components/tile-manager/tile.d.ts +4 -4
  648. package/components/tile-manager/tile.js +29 -25
  649. package/components/tile-manager/tile.js.map +1 -1
  650. package/components/toast/themes/themes.d.ts +1 -1
  651. package/components/toast/themes/themes.js.map +1 -1
  652. package/components/toast/toast.d.ts +1 -1
  653. package/components/toast/toast.js +3 -3
  654. package/components/toast/toast.js.map +1 -1
  655. package/components/tooltip/controller.d.ts +18 -16
  656. package/components/tooltip/controller.js +62 -41
  657. package/components/tooltip/controller.js.map +1 -1
  658. package/components/tooltip/service.d.ts +2 -1
  659. package/components/tooltip/service.js +10 -15
  660. package/components/tooltip/service.js.map +1 -1
  661. package/components/tooltip/themes/shared/tooltip.common.css.js +1 -1
  662. package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -1
  663. package/components/tooltip/themes/shared/tooltip.indigo.css.js +1 -1
  664. package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -1
  665. package/components/tooltip/themes/themes.d.ts +1 -1
  666. package/components/tooltip/themes/themes.js.map +1 -1
  667. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  668. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  669. package/components/tooltip/tooltip.d.ts +64 -18
  670. package/components/tooltip/tooltip.js +112 -62
  671. package/components/tooltip/tooltip.js.map +1 -1
  672. package/components/tree/themes/container.base.css.js +1 -1
  673. package/components/tree/themes/container.base.css.js.map +1 -1
  674. package/components/tree/themes/container.d.ts +1 -1
  675. package/components/tree/themes/container.js.map +1 -1
  676. package/components/tree/themes/item.base.css.js +1 -1
  677. package/components/tree/themes/item.base.css.js.map +1 -1
  678. package/components/tree/themes/item.d.ts +1 -1
  679. package/components/tree/themes/item.js.map +1 -1
  680. package/components/tree/tree-item.d.ts +62 -36
  681. package/components/tree/tree-item.js +223 -233
  682. package/components/tree/tree-item.js.map +1 -1
  683. package/components/tree/tree.common.d.ts +16 -1
  684. package/components/tree/tree.common.js +40 -1
  685. package/components/tree/tree.common.js.map +1 -1
  686. package/components/tree/tree.d.ts +21 -14
  687. package/components/tree/tree.js +64 -72
  688. package/components/tree/tree.js.map +1 -1
  689. package/components/tree/tree.navigation.d.ts +39 -29
  690. package/components/tree/tree.navigation.js +140 -192
  691. package/components/tree/tree.navigation.js.map +1 -1
  692. package/components/tree/tree.selection.d.ts +32 -31
  693. package/components/tree/tree.selection.js +184 -178
  694. package/components/tree/tree.selection.js.map +1 -1
  695. package/components/types.js.map +1 -1
  696. package/components/validation-container/validation-container.d.ts +33 -6
  697. package/components/validation-container/validation-container.js +81 -70
  698. package/components/validation-container/validation-container.js.map +1 -1
  699. package/components/virtualization/engine.d.ts +92 -0
  700. package/components/virtualization/engine.js +217 -0
  701. package/components/virtualization/engine.js.map +1 -0
  702. package/components/virtualization/types.d.ts +53 -0
  703. package/components/virtualization/types.js +14 -0
  704. package/components/virtualization/types.js.map +1 -0
  705. package/components/virtualization/virtualization.d.ts +235 -0
  706. package/components/virtualization/virtualization.js +474 -0
  707. package/components/virtualization/virtualization.js.map +1 -0
  708. package/components/visually-hidden/visually-hidden.js +1 -1
  709. package/components/visually-hidden/visually-hidden.js.map +1 -1
  710. package/custom-elements.json +57500 -47242
  711. package/extras/chat-markdown-renderer.d.ts +1 -1
  712. package/extras/chat-markdown-renderer.js.map +1 -1
  713. package/igniteui-webcomponents.css-data.json +2 -2
  714. package/igniteui-webcomponents.html-data.json +1 -1
  715. package/index.d.ts +20 -15
  716. package/index.js +11 -9
  717. package/index.js.map +1 -1
  718. package/internals/abort-handler.js.map +1 -0
  719. package/internals/context.d.ts +39 -0
  720. package/{components/common → internals}/context.js +2 -1
  721. package/internals/context.js.map +1 -0
  722. package/internals/controllers/adopt-styles.d.ts +76 -0
  723. package/internals/controllers/adopt-styles.js +173 -0
  724. package/internals/controllers/adopt-styles.js.map +1 -0
  725. package/internals/controllers/aria-projection.d.ts +144 -0
  726. package/internals/controllers/aria-projection.js +138 -0
  727. package/internals/controllers/aria-projection.js.map +1 -0
  728. package/{components/common → internals}/controllers/async-consumer.js +8 -7
  729. package/internals/controllers/async-consumer.js.map +1 -0
  730. package/internals/controllers/command.js.map +1 -0
  731. package/{components/common → internals}/controllers/drag.js +3 -2
  732. package/internals/controllers/drag.js.map +1 -0
  733. package/{components/common → internals}/controllers/focus-ring.js +5 -2
  734. package/internals/controllers/focus-ring.js.map +1 -0
  735. package/{components/common → internals}/controllers/fullscreen.js +6 -3
  736. package/internals/controllers/fullscreen.js.map +1 -0
  737. package/{components/common → internals}/controllers/gestures.d.ts +1 -1
  738. package/{components/common → internals}/controllers/gestures.js +4 -4
  739. package/internals/controllers/gestures.js.map +1 -0
  740. package/{components/common → internals}/controllers/id-resolver.js +15 -21
  741. package/internals/controllers/id-resolver.js.map +1 -0
  742. package/{components/common → internals}/controllers/internals.d.ts +48 -3
  743. package/{components/common → internals}/controllers/internals.js +32 -0
  744. package/internals/controllers/internals.js.map +1 -0
  745. package/{components/common → internals}/controllers/key-bindings.d.ts +3 -6
  746. package/{components/common → internals}/controllers/key-bindings.js +43 -29
  747. package/internals/controllers/key-bindings.js.map +1 -0
  748. package/{components/common → internals}/controllers/mutation-observer.d.ts +5 -4
  749. package/internals/controllers/mutation-observer.js +74 -0
  750. package/internals/controllers/mutation-observer.js.map +1 -0
  751. package/{components/common → internals}/controllers/resize-observer.d.ts +11 -1
  752. package/{components/common → internals}/controllers/resize-observer.js +13 -2
  753. package/internals/controllers/resize-observer.js.map +1 -0
  754. package/{components/common → internals}/controllers/root-click.js +8 -13
  755. package/internals/controllers/root-click.js.map +1 -0
  756. package/{components/common → internals}/controllers/root-scroll.d.ts +11 -8
  757. package/internals/controllers/root-scroll.js +71 -0
  758. package/internals/controllers/root-scroll.js.map +1 -0
  759. package/{components/common → internals}/controllers/slot.d.ts +18 -2
  760. package/{components/common → internals}/controllers/slot.js +21 -6
  761. package/internals/controllers/slot.js.map +1 -0
  762. package/internals/date/compare.d.ts +2 -0
  763. package/internals/date/compare.js +23 -0
  764. package/internals/date/compare.js.map +1 -0
  765. package/internals/date/converters.d.ts +18 -0
  766. package/internals/date/converters.js +73 -0
  767. package/internals/date/converters.js.map +1 -0
  768. package/{components/calendar → internals/date}/model.d.ts +6 -3
  769. package/{components/calendar → internals/date}/model.js +23 -0
  770. package/internals/date/model.js.map +1 -0
  771. package/internals/decorators/blazorAdditionalDependencies.js.map +1 -0
  772. package/internals/decorators/blazorDeepImport.js.map +1 -0
  773. package/internals/decorators/blazorInclude.js.map +1 -0
  774. package/internals/decorators/blazorIndirectRender.js.map +1 -0
  775. package/internals/decorators/blazorSuppressComponent.js.map +1 -0
  776. package/internals/decorators/shadow-options.js.map +1 -0
  777. package/internals/decorators/watch.js.map +1 -0
  778. package/internals/definitions/defineAllComponents.js +153 -0
  779. package/internals/definitions/defineAllComponents.js.map +1 -0
  780. package/internals/definitions/defineComponents.js.map +1 -0
  781. package/internals/definitions/register.js.map +1 -0
  782. package/{components/common → internals}/i18n/EN/calendar.resources.js +1 -1
  783. package/internals/i18n/EN/calendar.resources.js.map +1 -0
  784. package/internals/i18n/EN/chat.resources.js.map +1 -0
  785. package/internals/i18n/EN/date-picker.resources.js.map +1 -0
  786. package/internals/i18n/EN/date-range-picker.resources.js.map +1 -0
  787. package/internals/i18n/i18n-controller.js.map +1 -0
  788. package/{components/common → internals}/i18n/utils.js +1 -1
  789. package/internals/i18n/utils.js.map +1 -0
  790. package/{components/common → internals}/mixins/alert.d.ts +2 -2
  791. package/{components/common → internals}/mixins/alert.js +3 -3
  792. package/internals/mixins/alert.js.map +1 -0
  793. package/{components/common → internals}/mixins/combo-box.d.ts +10 -2
  794. package/{components/common → internals}/mixins/combo-box.js +9 -4
  795. package/internals/mixins/combo-box.js.map +1 -0
  796. package/internals/mixins/constructor.js.map +1 -0
  797. package/internals/mixins/event-emitter.js.map +1 -0
  798. package/{components/common → internals}/mixins/forms/associated-required.js +10 -19
  799. package/internals/mixins/forms/associated-required.js.map +1 -0
  800. package/{components/common → internals}/mixins/forms/associated.d.ts +1 -1
  801. package/{components/common → internals}/mixins/forms/associated.js +66 -51
  802. package/internals/mixins/forms/associated.js.map +1 -0
  803. package/{components/common → internals}/mixins/forms/form-transformers.d.ts +1 -1
  804. package/{components/common → internals}/mixins/forms/form-transformers.js +2 -2
  805. package/internals/mixins/forms/form-transformers.js.map +1 -0
  806. package/internals/mixins/forms/form-value.js.map +1 -0
  807. package/{components/common → internals}/mixins/forms/types.d.ts +7 -7
  808. package/internals/mixins/forms/types.js.map +1 -0
  809. package/{components/common → internals}/mixins/mask-behavior.d.ts +11 -3
  810. package/{components/common → internals}/mixins/mask-behavior.js +117 -29
  811. package/internals/mixins/mask-behavior.js.map +1 -0
  812. package/{components/common → internals}/mixins/option.d.ts +0 -2
  813. package/{components/common → internals}/mixins/option.js +1 -4
  814. package/internals/mixins/option.js.map +1 -0
  815. package/internals/part-map.js.map +1 -0
  816. package/{components/common → internals}/templates/input-shell.d.ts +8 -1
  817. package/{components/common → internals}/templates/input-shell.js +14 -4
  818. package/internals/templates/input-shell.js.map +1 -0
  819. package/{components/common → internals}/templates/masked-input.d.ts +8 -2
  820. package/{components/common → internals}/templates/masked-input.js +5 -3
  821. package/internals/templates/masked-input.js.map +1 -0
  822. package/internals/utils/arrays.d.ts +53 -0
  823. package/internals/utils/arrays.js +31 -0
  824. package/internals/utils/arrays.js.map +1 -0
  825. package/internals/utils/dom.d.ts +92 -0
  826. package/internals/utils/dom.js +143 -0
  827. package/internals/utils/dom.js.map +1 -0
  828. package/internals/utils/events.d.ts +41 -0
  829. package/internals/utils/events.js +37 -0
  830. package/internals/utils/events.js.map +1 -0
  831. package/internals/utils/lit.d.ts +8 -0
  832. package/internals/utils/lit.js +15 -0
  833. package/internals/utils/lit.js.map +1 -0
  834. package/internals/utils/math.d.ts +50 -0
  835. package/internals/utils/math.js +38 -0
  836. package/internals/utils/math.js.map +1 -0
  837. package/internals/utils/objects.d.ts +25 -0
  838. package/internals/utils/objects.js +125 -0
  839. package/internals/utils/objects.js.map +1 -0
  840. package/internals/utils/strings.d.ts +44 -0
  841. package/internals/utils/strings.js +46 -0
  842. package/internals/utils/strings.js.map +1 -0
  843. package/internals/utils/types.d.ts +13 -0
  844. package/internals/utils/types.js +31 -0
  845. package/internals/utils/types.js.map +1 -0
  846. package/{components/common → internals}/validators.d.ts +1 -1
  847. package/{components/common → internals}/validators.js +4 -2
  848. package/internals/validators.js.map +1 -0
  849. package/package.json +15 -7
  850. package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +15 -1
  851. package/themes/dark/bootstrap.css +1 -1
  852. package/themes/dark/fluent.css +1 -1
  853. package/themes/dark/indigo.css +1 -1
  854. package/themes/dark/material.css +1 -1
  855. package/themes/light/bootstrap.css +1 -1
  856. package/themes/light/fluent.css +1 -1
  857. package/themes/light/indigo.css +1 -1
  858. package/themes/light/material.css +1 -1
  859. package/theming/theming-controller.d.ts +2 -2
  860. package/theming/theming-controller.js.map +1 -1
  861. package/web-types.json +3 -3
  862. package/components/calendar/model.js.map +0 -1
  863. package/components/combo/combo-list.d.ts +0 -11
  864. package/components/combo/combo-list.js +0 -13
  865. package/components/combo/combo-list.js.map +0 -1
  866. package/components/common/abort-handler.js.map +0 -1
  867. package/components/common/context.d.ts +0 -25
  868. package/components/common/context.js.map +0 -1
  869. package/components/common/controllers/adopt-styles.d.ts +0 -124
  870. package/components/common/controllers/adopt-styles.js +0 -75
  871. package/components/common/controllers/adopt-styles.js.map +0 -1
  872. package/components/common/controllers/async-consumer.js.map +0 -1
  873. package/components/common/controllers/command.js.map +0 -1
  874. package/components/common/controllers/drag.js.map +0 -1
  875. package/components/common/controllers/focus-ring.js.map +0 -1
  876. package/components/common/controllers/fullscreen.js.map +0 -1
  877. package/components/common/controllers/gestures.js.map +0 -1
  878. package/components/common/controllers/id-resolver.js.map +0 -1
  879. package/components/common/controllers/internals.js.map +0 -1
  880. package/components/common/controllers/key-bindings.js.map +0 -1
  881. package/components/common/controllers/mutation-observer.js +0 -69
  882. package/components/common/controllers/mutation-observer.js.map +0 -1
  883. package/components/common/controllers/resize-observer.js.map +0 -1
  884. package/components/common/controllers/root-click.js.map +0 -1
  885. package/components/common/controllers/root-scroll.js +0 -63
  886. package/components/common/controllers/root-scroll.js.map +0 -1
  887. package/components/common/controllers/slot.js.map +0 -1
  888. package/components/common/decorators/blazorAdditionalDependencies.js.map +0 -1
  889. package/components/common/decorators/blazorDeepImport.js.map +0 -1
  890. package/components/common/decorators/blazorInclude.js.map +0 -1
  891. package/components/common/decorators/blazorIndirectRender.js.map +0 -1
  892. package/components/common/decorators/blazorSuppressComponent.js.map +0 -1
  893. package/components/common/decorators/shadow-options.js.map +0 -1
  894. package/components/common/decorators/watch.js.map +0 -1
  895. package/components/common/definitions/defineAllComponents.js +0 -151
  896. package/components/common/definitions/defineAllComponents.js.map +0 -1
  897. package/components/common/definitions/defineComponents.js.map +0 -1
  898. package/components/common/definitions/register.js.map +0 -1
  899. package/components/common/i18n/EN/calendar.resources.js.map +0 -1
  900. package/components/common/i18n/EN/chat.resources.js.map +0 -1
  901. package/components/common/i18n/EN/date-picker.resources.js.map +0 -1
  902. package/components/common/i18n/EN/date-range-picker.resources.js.map +0 -1
  903. package/components/common/i18n/i18n-controller.js.map +0 -1
  904. package/components/common/i18n/utils.js.map +0 -1
  905. package/components/common/mixins/alert.js.map +0 -1
  906. package/components/common/mixins/combo-box.js.map +0 -1
  907. package/components/common/mixins/constructor.js.map +0 -1
  908. package/components/common/mixins/event-emitter.js.map +0 -1
  909. package/components/common/mixins/forms/associated-required.js.map +0 -1
  910. package/components/common/mixins/forms/associated.js.map +0 -1
  911. package/components/common/mixins/forms/form-transformers.js.map +0 -1
  912. package/components/common/mixins/forms/form-value.js.map +0 -1
  913. package/components/common/mixins/forms/types.js.map +0 -1
  914. package/components/common/mixins/mask-behavior.js.map +0 -1
  915. package/components/common/mixins/option.js.map +0 -1
  916. package/components/common/part-map.js.map +0 -1
  917. package/components/common/templates/input-shell.js.map +0 -1
  918. package/components/common/templates/masked-input.js.map +0 -1
  919. package/components/common/util.d.ts +0 -196
  920. package/components/common/util.js +0 -390
  921. package/components/common/util.js.map +0 -1
  922. package/components/common/validators.js.map +0 -1
  923. package/components/icon/registry/default-map.d.ts +0 -107
  924. package/components/icon/registry/default-map.js +0 -25
  925. package/components/icon/registry/default-map.js.map +0 -1
  926. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js +0 -3
  927. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js.map +0 -1
  928. package/components/radio/utils.d.ts +0 -13
  929. package/components/radio/utils.js +0 -37
  930. package/components/radio/utils.js.map +0 -1
  931. /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
  932. /package/{components/common → internals}/abort-handler.d.ts +0 -0
  933. /package/{components/common → internals}/abort-handler.js +0 -0
  934. /package/{components/common → internals}/controllers/async-consumer.d.ts +0 -0
  935. /package/{components/common → internals}/controllers/command.d.ts +0 -0
  936. /package/{components/common → internals}/controllers/command.js +0 -0
  937. /package/{components/common → internals}/controllers/drag.d.ts +0 -0
  938. /package/{components/common → internals}/controllers/focus-ring.d.ts +0 -0
  939. /package/{components/common → internals}/controllers/fullscreen.d.ts +0 -0
  940. /package/{components/common → internals}/controllers/id-resolver.d.ts +0 -0
  941. /package/{components/common → internals}/controllers/root-click.d.ts +0 -0
  942. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.d.ts +0 -0
  943. /package/{components/common → internals}/decorators/blazorAdditionalDependencies.js +0 -0
  944. /package/{components/common → internals}/decorators/blazorDeepImport.d.ts +0 -0
  945. /package/{components/common → internals}/decorators/blazorDeepImport.js +0 -0
  946. /package/{components/common → internals}/decorators/blazorInclude.d.ts +0 -0
  947. /package/{components/common → internals}/decorators/blazorInclude.js +0 -0
  948. /package/{components/common → internals}/decorators/blazorIndirectRender.d.ts +0 -0
  949. /package/{components/common → internals}/decorators/blazorIndirectRender.js +0 -0
  950. /package/{components/common → internals}/decorators/blazorSuppressComponent.d.ts +0 -0
  951. /package/{components/common → internals}/decorators/blazorSuppressComponent.js +0 -0
  952. /package/{components/common → internals}/decorators/shadow-options.d.ts +0 -0
  953. /package/{components/common → internals}/decorators/shadow-options.js +0 -0
  954. /package/{components/common → internals}/decorators/watch.d.ts +0 -0
  955. /package/{components/common → internals}/decorators/watch.js +0 -0
  956. /package/{components/common → internals}/definitions/defineAllComponents.d.ts +0 -0
  957. /package/{components/common → internals}/definitions/defineComponents.d.ts +0 -0
  958. /package/{components/common → internals}/definitions/defineComponents.js +0 -0
  959. /package/{components/common → internals}/definitions/register.d.ts +0 -0
  960. /package/{components/common → internals}/definitions/register.js +0 -0
  961. /package/{components/common → internals}/i18n/EN/calendar.resources.d.ts +0 -0
  962. /package/{components/common → internals}/i18n/EN/chat.resources.d.ts +0 -0
  963. /package/{components/common → internals}/i18n/EN/chat.resources.js +0 -0
  964. /package/{components/common → internals}/i18n/EN/date-picker.resources.d.ts +0 -0
  965. /package/{components/common → internals}/i18n/EN/date-picker.resources.js +0 -0
  966. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.d.ts +0 -0
  967. /package/{components/common → internals}/i18n/EN/date-range-picker.resources.js +0 -0
  968. /package/{components/common → internals}/i18n/i18n-controller.d.ts +0 -0
  969. /package/{components/common → internals}/i18n/i18n-controller.js +0 -0
  970. /package/{components/common → internals}/i18n/utils.d.ts +0 -0
  971. /package/{components/common → internals}/mixins/constructor.d.ts +0 -0
  972. /package/{components/common → internals}/mixins/constructor.js +0 -0
  973. /package/{components/common → internals}/mixins/event-emitter.d.ts +0 -0
  974. /package/{components/common → internals}/mixins/event-emitter.js +0 -0
  975. /package/{components/common → internals}/mixins/forms/associated-required.d.ts +0 -0
  976. /package/{components/common → internals}/mixins/forms/form-value.d.ts +0 -0
  977. /package/{components/common → internals}/mixins/forms/form-value.js +0 -0
  978. /package/{components/common → internals}/mixins/forms/types.js +0 -0
  979. /package/{components/common → internals}/part-map.d.ts +0 -0
  980. /package/{components/common → internals}/part-map.js +0 -0
@@ -0,0 +1,158 @@
1
+ function squarePath(x, y, s) {
2
+ return `M${x},${y}h${s}v${s}h${-s}Z`;
3
+ }
4
+ function roundedRect(x, y, width, height, radius) {
5
+ const cr = Math.min(radius, width / 2, height / 2);
6
+ return (`M${x + cr},${y}` +
7
+ `h${width - 2 * cr}` +
8
+ `q${cr},0 ${cr},${cr}` +
9
+ `v${height - 2 * cr}` +
10
+ `q0,${cr} ${-cr},${cr}` +
11
+ `h${-(width - 2 * cr)}` +
12
+ `q${-cr},0 ${-cr},${-cr}` +
13
+ `v${-(height - 2 * cr)}` +
14
+ `q0,${-cr} ${cr},${-cr}z`);
15
+ }
16
+ function roundedRectPerCorner(x, y, width, height, rTL, rTR, rBR, rBL) {
17
+ return (`M${x + rTL},${y}` +
18
+ `h${width - rTL - rTR}` +
19
+ `q${rTR},0 ${rTR},${rTR}` +
20
+ `v${height - rTR - rBR}` +
21
+ `q0,${rBR} ${-rBR},${rBR}` +
22
+ `h${-(width - rBR - rBL)}` +
23
+ `q${-rBL},0 ${-rBL},${-rBL}` +
24
+ `v${-(height - rBL - rTL)}` +
25
+ `q0,${-rTL} ${rTL},${-rTL}z`);
26
+ }
27
+ function dotPath(x, y, s, style, neighbors) {
28
+ switch (style) {
29
+ case 'square':
30
+ return squarePath(x, y, s);
31
+ case 'circle': {
32
+ const cx = x + s / 2;
33
+ const cy = y + s / 2;
34
+ const r = s / 2;
35
+ return (`M${cx - r},${cy}` +
36
+ `a${r},${r} 0 1,0 ${r * 2},0` +
37
+ `a${r},${r} 0 1,0 ${-r * 2},0z`);
38
+ }
39
+ case 'rounded': {
40
+ const R = s * 0.45;
41
+ const n = neighbors || {
42
+ top: false,
43
+ right: false,
44
+ bottom: false,
45
+ left: false,
46
+ };
47
+ const rTL = n.top || n.left ? 0 : R;
48
+ const rTR = n.top || n.right ? 0 : R;
49
+ const rBR = n.bottom || n.right ? 0 : R;
50
+ const rBL = n.bottom || n.left ? 0 : R;
51
+ return roundedRectPerCorner(x, y, s, s, rTL, rTR, rBR, rBL);
52
+ }
53
+ }
54
+ }
55
+ export function cornerDotPath(x, y, size, style) {
56
+ switch (style) {
57
+ case 'circle': {
58
+ const cx = x + size / 2;
59
+ const cy = y + size / 2;
60
+ const r = size / 2;
61
+ return (`M${cx - r},${cy}` +
62
+ `a${r},${r} 0 1,0 ${r * 2},0` +
63
+ `a${r},${r} 0 1,0 ${-r * 2},0z`);
64
+ }
65
+ case 'rounded': {
66
+ return roundedRect(x, y, size, size, size * 0.3);
67
+ }
68
+ default:
69
+ return squarePath(x, y, size);
70
+ }
71
+ }
72
+ export function cornerSquarePath(x, y, size, style) {
73
+ const moduleSize = size / 7;
74
+ const inner = size - 2 * moduleSize;
75
+ const innerOffset = moduleSize;
76
+ switch (style) {
77
+ case 'square': {
78
+ const outer = squarePath(x, y, size);
79
+ const cut = squarePath(x + innerOffset, y + innerOffset, inner);
80
+ return `${outer} ${cut}`;
81
+ }
82
+ case 'rounded': {
83
+ const outer = roundedRect(x, y, size, size, size * 0.15);
84
+ const cut = squarePath(x + innerOffset, y + innerOffset, inner);
85
+ return `${outer} ${cut}`;
86
+ }
87
+ default: {
88
+ const cx = x + size / 2;
89
+ const cy = y + size / 2;
90
+ const rOuter = size / 2;
91
+ const rInner = inner / 2;
92
+ return (`M${cx - rOuter},${cy}` +
93
+ `a${rOuter},${rOuter} 0 1,0 ${rOuter * 2},0` +
94
+ `a${rOuter},${rOuter} 0 1,0 ${-rOuter * 2},0z` +
95
+ `M${cx - rInner},${cy}` +
96
+ `a${rInner},${rInner} 0 1,1 ${rInner * 2},0` +
97
+ `a${rInner},${rInner} 0 1,1 ${-rInner * 2},0z`);
98
+ }
99
+ }
100
+ }
101
+ function moduleToPx(moduleIndex, moduleSize, marginPx) {
102
+ return moduleIndex * moduleSize + marginPx;
103
+ }
104
+ function finderCorners(size) {
105
+ return [
106
+ [0, 0],
107
+ [0, size - 7],
108
+ [size - 7, 0],
109
+ ];
110
+ }
111
+ function getFinderPatternModules(size) {
112
+ const modules = new Set();
113
+ for (const [startRow, startCol] of finderCorners(size)) {
114
+ for (let r = -1; r <= 7; r++) {
115
+ for (let c = -1; c <= 7; c++) {
116
+ const row = startRow + r;
117
+ const col = startCol + c;
118
+ if (row >= 0 && col >= 0 && row < size && col < size) {
119
+ modules.add(row * size + col);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ return modules;
125
+ }
126
+ export function renderDataModules(data, moduleSize, marginPx, dotStyle) {
127
+ const size = data.length;
128
+ const finderModules = getFinderPatternModules(size);
129
+ const paths = [];
130
+ for (let r = 0; r < size; r++) {
131
+ for (let c = 0; c < size; c++) {
132
+ if (finderModules.has(r * size + c))
133
+ continue;
134
+ if (!data[r][c])
135
+ continue;
136
+ const x = moduleToPx(c, moduleSize, marginPx);
137
+ const y = moduleToPx(r, moduleSize, marginPx);
138
+ let neighbors;
139
+ if (dotStyle === 'rounded') {
140
+ neighbors = {
141
+ top: r > 0 && data[r - 1][c],
142
+ right: c < size - 1 && data[r][c + 1],
143
+ bottom: r < size - 1 && data[r + 1][c],
144
+ left: c > 0 && data[r][c - 1],
145
+ };
146
+ }
147
+ paths.push(dotPath(x, y, moduleSize, dotStyle, neighbors));
148
+ }
149
+ }
150
+ return paths;
151
+ }
152
+ export function getFinderPatterns(size, moduleSize, marginPx) {
153
+ return finderCorners(size).map(([r, c]) => ({
154
+ x: moduleToPx(c, moduleSize, marginPx),
155
+ y: moduleToPx(r, moduleSize, marginPx),
156
+ }));
157
+ }
158
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/components/qr-code/renderer/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n QrCornerDotStyle,\n QrCornerSquareStyle,\n QrDotStyle,\n} from '../types.js';\n\ntype DotNeighbor = {\n top: boolean;\n right: boolean;\n bottom: boolean;\n left: boolean;\n};\n\nfunction squarePath(x: number, y: number, s: number): string {\n return `M${x},${y}h${s}v${s}h${-s}Z`;\n}\n\nfunction roundedRect(\n x: number,\n y: number,\n width: number,\n height: number,\n radius: number\n): string {\n const cr = Math.min(radius, width / 2, height / 2);\n return (\n `M${x + cr},${y}` +\n `h${width - 2 * cr}` +\n `q${cr},0 ${cr},${cr}` +\n `v${height - 2 * cr}` +\n `q0,${cr} ${-cr},${cr}` +\n `h${-(width - 2 * cr)}` +\n `q${-cr},0 ${-cr},${-cr}` +\n `v${-(height - 2 * cr)}` +\n `q0,${-cr} ${cr},${-cr}z`\n );\n}\n\nfunction roundedRectPerCorner(\n x: number,\n y: number,\n width: number,\n height: number,\n rTL: number,\n rTR: number,\n rBR: number,\n rBL: number\n): string {\n return (\n `M${x + rTL},${y}` +\n `h${width - rTL - rTR}` +\n `q${rTR},0 ${rTR},${rTR}` +\n `v${height - rTR - rBR}` +\n `q0,${rBR} ${-rBR},${rBR}` +\n `h${-(width - rBR - rBL)}` +\n `q${-rBL},0 ${-rBL},${-rBL}` +\n `v${-(height - rBL - rTL)}` +\n `q0,${-rTL} ${rTL},${-rTL}z`\n );\n}\n\n/** Returns an SVG path string for a single data module at `(x, y)` with side `s`, in the given style.\n * For `'rounded'`, adjacent module flags control which corners are rounded. */\nfunction dotPath(\n x: number,\n y: number,\n s: number,\n style: QrDotStyle,\n neighbors?: DotNeighbor\n): string {\n switch (style) {\n case 'square':\n return squarePath(x, y, s);\n case 'circle': {\n const cx = x + s / 2;\n const cy = y + s / 2;\n const r = s / 2;\n return (\n `M${cx - r},${cy}` +\n `a${r},${r} 0 1,0 ${r * 2},0` +\n `a${r},${r} 0 1,0 ${-r * 2},0z`\n );\n }\n case 'rounded': {\n const R = s * 0.45;\n const n = neighbors || {\n top: false,\n right: false,\n bottom: false,\n left: false,\n };\n const rTL = n.top || n.left ? 0 : R;\n const rTR = n.top || n.right ? 0 : R;\n const rBR = n.bottom || n.right ? 0 : R;\n const rBL = n.bottom || n.left ? 0 : R;\n return roundedRectPerCorner(x, y, s, s, rTL, rTR, rBR, rBL);\n }\n }\n}\n\n/** Returns an SVG path string for the inner dot of a finder-pattern corner. */\nexport function cornerDotPath(\n x: number,\n y: number,\n size: number,\n style: QrCornerDotStyle\n): string {\n switch (style) {\n case 'circle': {\n const cx = x + size / 2;\n const cy = y + size / 2;\n const r = size / 2;\n return (\n `M${cx - r},${cy}` +\n `a${r},${r} 0 1,0 ${r * 2},0` +\n `a${r},${r} 0 1,0 ${-r * 2},0z`\n );\n }\n case 'rounded': {\n return roundedRect(x, y, size, size, size * 0.3);\n }\n default:\n return squarePath(x, y, size);\n }\n}\n\n/** Returns an SVG path string (outer ring with inner cutout) for the outer square of a finder-pattern corner. */\nexport function cornerSquarePath(\n x: number,\n y: number,\n size: number,\n style: QrCornerSquareStyle\n): string {\n const moduleSize = size / 7;\n const inner = size - 2 * moduleSize;\n const innerOffset = moduleSize;\n\n switch (style) {\n case 'square': {\n const outer = squarePath(x, y, size);\n const cut = squarePath(x + innerOffset, y + innerOffset, inner);\n return `${outer} ${cut}`;\n }\n case 'rounded': {\n const outer = roundedRect(x, y, size, size, size * 0.15);\n const cut = squarePath(x + innerOffset, y + innerOffset, inner);\n return `${outer} ${cut}`;\n }\n default: {\n const cx = x + size / 2;\n const cy = y + size / 2;\n const rOuter = size / 2;\n const rInner = inner / 2;\n return (\n `M${cx - rOuter},${cy}` +\n `a${rOuter},${rOuter} 0 1,0 ${rOuter * 2},0` +\n `a${rOuter},${rOuter} 0 1,0 ${-rOuter * 2},0z` +\n `M${cx - rInner},${cy}` +\n `a${rInner},${rInner} 0 1,1 ${rInner * 2},0` +\n `a${rInner},${rInner} 0 1,1 ${-rInner * 2},0z`\n );\n }\n }\n}\n\n/** Converts a module grid index to a pixel coordinate, accounting for margin. */\nfunction moduleToPx(\n moduleIndex: number,\n moduleSize: number,\n marginPx: number\n): number {\n return moduleIndex * moduleSize + marginPx;\n}\n\nfunction finderCorners(size: number): [number, number][] {\n return [\n [0, 0], // Top-left\n [0, size - 7], // Top-right\n [size - 7, 0], // Bottom-left\n ];\n}\n\n/**\n * Returns the set of flat module indices `(row * size + col)` occupied by the\n * three finder patterns (including their separators), used to skip those modules\n * during data rendering.\n */\nfunction getFinderPatternModules(size: number): Set<number> {\n const modules = new Set<number>();\n\n for (const [startRow, startCol] of finderCorners(size)) {\n for (let r = -1; r <= 7; r++) {\n for (let c = -1; c <= 7; c++) {\n const row = startRow + r;\n const col = startCol + c;\n if (row >= 0 && col >= 0 && row < size && col < size) {\n modules.add(row * size + col);\n }\n }\n }\n }\n\n return modules;\n}\n\n/**\n * Generates SVG path strings for all dark data modules in the matrix,\n * skipping finder-pattern areas. Returns one path string per visible module.\n */\nexport function renderDataModules(\n data: boolean[][],\n moduleSize: number,\n marginPx: number,\n dotStyle: QrDotStyle\n): string[] {\n const size = data.length;\n const finderModules = getFinderPatternModules(size);\n const paths: string[] = [];\n\n for (let r = 0; r < size; r++) {\n for (let c = 0; c < size; c++) {\n if (finderModules.has(r * size + c)) continue;\n if (!data[r][c]) continue;\n\n const x = moduleToPx(c, moduleSize, marginPx);\n const y = moduleToPx(r, moduleSize, marginPx);\n\n let neighbors: DotNeighbor | undefined;\n if (dotStyle === 'rounded') {\n neighbors = {\n top: r > 0 && data[r - 1][c],\n right: c < size - 1 && data[r][c + 1],\n bottom: r < size - 1 && data[r + 1][c],\n left: c > 0 && data[r][c - 1],\n };\n }\n\n paths.push(dotPath(x, y, moduleSize, dotStyle, neighbors));\n }\n }\n\n return paths;\n}\n\n/**\n * Returns the pixel top-left coordinates `{ x, y }` for each of the three\n * finder-pattern corners, ready to pass to `renderQrCorner`.\n */\nexport function getFinderPatterns(\n size: number,\n moduleSize: number,\n marginPx: number\n) {\n return finderCorners(size).map(([r, c]) => ({\n x: moduleToPx(c, moduleSize, marginPx),\n y: moduleToPx(r, moduleSize, marginPx),\n }));\n}\n"]}
@@ -0,0 +1,23 @@
1
+ type RenderQrMaskAndImageProperties = {
2
+ hasLogo: boolean;
3
+ src: string;
4
+ aspectRatio: number;
5
+ area: number;
6
+ size: number;
7
+ margin?: number;
8
+ svgSize: number;
9
+ maskId: string;
10
+ };
11
+ /**
12
+ * Renders an SVG mask and image element for the QR code's logo, based on the presence of a logo,
13
+ * its source, aspect ratio, desired area, QR code size, margin, overall SVG size, and a unique mask ID.
14
+ *
15
+ * The mask is a white rectangle with a black cutout where the logo will be placed, ensuring the QR code
16
+ * remains scannable while accommodating the logo.
17
+ */
18
+ export declare function renderQrMaskAndImage({ hasLogo, src, aspectRatio, area, size, margin, svgSize, maskId, }: RenderQrMaskAndImageProperties): {
19
+ mask: symbol | import("lit-html").TemplateResult<2>;
20
+ image: symbol | import("lit-html").TemplateResult<2>;
21
+ shouldApplyMask: boolean;
22
+ };
23
+ export {};
@@ -0,0 +1,29 @@
1
+ import { nothing, svg } from 'lit';
2
+ export function renderQrMaskAndImage({ hasLogo, src, aspectRatio, area, size, margin, svgSize, maskId, }) {
3
+ const clamped = area * svgSize * svgSize;
4
+ const boxWidth = Math.sqrt(clamped * aspectRatio);
5
+ const boxHeight = Math.sqrt(clamped / aspectRatio);
6
+ const boxMargin = (margin ?? 0) * (svgSize / size);
7
+ const boxX = (svgSize - boxWidth) / 2;
8
+ const boxY = (svgSize - boxHeight) / 2;
9
+ const x = boxX + boxMargin;
10
+ const y = boxY + boxMargin;
11
+ const width = Math.max(0, boxWidth - boxMargin * 2);
12
+ const height = Math.max(0, boxHeight - boxMargin * 2);
13
+ const shouldApplyMask = hasLogo && width > 0 && height > 0;
14
+ const mask = shouldApplyMask
15
+ ? svg `
16
+ <defs>
17
+ <mask id=${maskId}>
18
+ <rect width=${svgSize} height=${svgSize} fill="white" />
19
+ <rect x=${boxX} y=${boxY} width=${boxWidth} height=${boxHeight} fill="black" />
20
+ </mask>
21
+ </defs>
22
+ `
23
+ : nothing;
24
+ const image = hasLogo && width > 0 && height > 0
25
+ ? svg `<image href=${src} x=${x} y=${y} width=${width} height=${height} />`
26
+ : nothing;
27
+ return { mask, image, shouldApplyMask };
28
+ }
29
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/components/qr-code/renderer/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAoBnC,MAAM,UAAU,oBAAoB,CAAC,EACnC,OAAO,EACP,GAAG,EACH,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,GACyB;IAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,eAAe;QAC1B,CAAC,CAAC,GAAG,CAAA;;mBAEU,MAAM;wBACD,OAAO,WAAW,OAAO;oBAC7B,IAAI,MAAM,IAAI,UAAU,QAAQ,WAAW,SAAS;;;GAGrE;QACC,CAAC,CAAC,OAAO,CAAC;IAEZ,MAAM,KAAK,GACT,OAAO,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC;QAChC,CAAC,CAAC,GAAG,CAAA,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,KAAK,WAAW,MAAM,KAAK;QAC1E,CAAC,CAAC,OAAO,CAAC;IAEd,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC1C,CAAC","sourcesContent":["import { nothing, svg } from 'lit';\n\ntype RenderQrMaskAndImageProperties = {\n hasLogo: boolean;\n src: string;\n aspectRatio: number;\n area: number;\n size: number;\n margin?: number;\n svgSize: number;\n maskId: string;\n};\n\n/**\n * Renders an SVG mask and image element for the QR code's logo, based on the presence of a logo,\n * its source, aspect ratio, desired area, QR code size, margin, overall SVG size, and a unique mask ID.\n *\n * The mask is a white rectangle with a black cutout where the logo will be placed, ensuring the QR code\n * remains scannable while accommodating the logo.\n */\nexport function renderQrMaskAndImage({\n hasLogo,\n src,\n aspectRatio,\n area,\n size,\n margin,\n svgSize,\n maskId,\n}: RenderQrMaskAndImageProperties) {\n const clamped = area * svgSize * svgSize;\n const boxWidth = Math.sqrt(clamped * aspectRatio);\n const boxHeight = Math.sqrt(clamped / aspectRatio);\n const boxMargin = (margin ?? 0) * (svgSize / size);\n const boxX = (svgSize - boxWidth) / 2;\n const boxY = (svgSize - boxHeight) / 2;\n const x = boxX + boxMargin;\n const y = boxY + boxMargin;\n const width = Math.max(0, boxWidth - boxMargin * 2);\n const height = Math.max(0, boxHeight - boxMargin * 2);\n\n const shouldApplyMask = hasLogo && width > 0 && height > 0;\n\n const mask = shouldApplyMask\n ? svg`\n <defs>\n <mask id=${maskId}>\n <rect width=${svgSize} height=${svgSize} fill=\"white\" />\n <rect x=${boxX} y=${boxY} width=${boxWidth} height=${boxHeight} fill=\"black\" />\n </mask>\n </defs>\n `\n : nothing;\n\n const image =\n hasLogo && width > 0 && height > 0\n ? svg`<image href=${src} x=${x} y=${y} width=${width} height=${height} />`\n : nothing;\n\n return { mask, image, shouldApplyMask };\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: bootstrap;--ig-theme-variant: dark}`;
3
+ //# sourceMappingURL=qr-code.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/dark/qr-code.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,uDAAuD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: bootstrap;--ig-theme-variant: dark}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: fluent;--ig-theme-variant: dark}`;
3
+ //# sourceMappingURL=qr-code.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/dark/qr-code.fluent.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,oDAAoD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: fluent;--ig-theme-variant: dark}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: indigo;--ig-theme-variant: dark}`;
3
+ //# sourceMappingURL=qr-code.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/dark/qr-code.indigo.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,oDAAoD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: indigo;--ig-theme-variant: dark}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: material;--ig-theme-variant: dark}`;
3
+ //# sourceMappingURL=qr-code.material.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.material.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/dark/qr-code.material.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,sDAAsD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: material;--ig-theme-variant: dark}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: bootstrap;--ig-theme-variant: light}`;
3
+ //# sourceMappingURL=qr-code.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/light/qr-code.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wDAAwD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: bootstrap;--ig-theme-variant: light}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: fluent;--ig-theme-variant: light}`;
3
+ //# sourceMappingURL=qr-code.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/light/qr-code.fluent.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qDAAqD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: fluent;--ig-theme-variant: light}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: indigo;--ig-theme-variant: light}`;
3
+ //# sourceMappingURL=qr-code.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/light/qr-code.indigo.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qDAAqD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: indigo;--ig-theme-variant: light}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: material;--ig-theme-variant: light}`;
3
+ //# sourceMappingURL=qr-code.material.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.material.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/light/qr-code.material.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,uDAAuD,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--ig-theme: material;--ig-theme-variant: light}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--background: var(--ig-qr-code-background, white);--dark-color: var(--ig-qr-code-dark-color, black);--corner-square-color: var(--ig-qr-code-corner-square-color, var(--dark-color));--corner-dot-color: var(--ig-qr-code-corner-dot-color, var(--dark-color));--ig-theme-variant: light}`;
3
+ //# sourceMappingURL=qr-code.shared.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/light/qr-code.shared.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,gSAAgS,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--background: var(--ig-qr-code-background, white);--dark-color: var(--ig-qr-code-dark-color, black);--corner-square-color: var(--ig-qr-code-corner-square-color, var(--dark-color));--corner-dot-color: var(--ig-qr-code-corner-dot-color, var(--dark-color));--ig-theme-variant: light}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:inline-block;contain:content}`;
3
+ //# sourceMappingURL=qr-code.base.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.base.css.js","sourceRoot":"","sources":["../../../../src/components/qr-code/themes/qr-code.base.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,q/BAAq/B,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:inline-block;contain:content}`;\n "]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part=background]{fill:var(--background)}[part=dots]{fill:var(--dark-color)}[part=corner-square]{fill:var(--corner-square-color)}[part=corner-dot]{fill:var(--corner-dot-color)}`;
3
+ //# sourceMappingURL=qr-code.common.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.common.css.js","sourceRoot":"","sources":["../../../../../src/components/qr-code/themes/shared/qr-code.common.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kLAAkL,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`[part=background]{fill:var(--background)}[part=dots]{fill:var(--dark-color)}[part=corner-square]{fill:var(--corner-square-color)}[part=corner-dot]{fill:var(--corner-dot-color)}`;\n "]}
@@ -0,0 +1,2 @@
1
+ import type { Themes } from '#theming/types.js';
2
+ export declare const all: Themes;
@@ -0,0 +1,46 @@
1
+ import { css } from 'lit';
2
+ import { styles as bootstrapDark } from './dark/qr-code.bootstrap.css.js';
3
+ import { styles as fluentDark } from './dark/qr-code.fluent.css.js';
4
+ import { styles as indigoDark } from './dark/qr-code.indigo.css.js';
5
+ import { styles as materialDark } from './dark/qr-code.material.css.js';
6
+ import { styles as bootstrapLight } from './light/qr-code.bootstrap.css.js';
7
+ import { styles as fluentLight } from './light/qr-code.fluent.css.js';
8
+ import { styles as indigoLight } from './light/qr-code.indigo.css.js';
9
+ import { styles as materialLight } from './light/qr-code.material.css.js';
10
+ import { styles as shared } from './light/qr-code.shared.css.js';
11
+ const light = {
12
+ shared: css `
13
+ ${shared}
14
+ `,
15
+ material: css `
16
+ ${materialLight}
17
+ `,
18
+ bootstrap: css `
19
+ ${bootstrapLight}
20
+ `,
21
+ fluent: css `
22
+ ${fluentLight}
23
+ `,
24
+ indigo: css `
25
+ ${indigoLight}
26
+ `,
27
+ };
28
+ const dark = {
29
+ shared: css `
30
+ ${shared}
31
+ `,
32
+ material: css `
33
+ ${materialDark}
34
+ `,
35
+ bootstrap: css `
36
+ ${bootstrapDark}
37
+ `,
38
+ fluent: css `
39
+ ${fluentDark}
40
+ `,
41
+ indigo: css `
42
+ ${indigoDark}
43
+ `,
44
+ };
45
+ export const all = { light, dark };
46
+ //# sourceMappingURL=themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/qr-code/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,SAAS,EAAE,GAAG,CAAA;MACV,cAAc;GACjB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,SAAS,EAAE,GAAG,CAAA;MACV,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;IACD,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '#theming/types.js';\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/qr-code.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/qr-code.fluent.css.js';\nimport { styles as indigoDark } from './dark/qr-code.indigo.css.js';\nimport { styles as materialDark } from './dark/qr-code.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/qr-code.bootstrap.css.js';\nimport { styles as fluentLight } from './light/qr-code.fluent.css.js';\nimport { styles as indigoLight } from './light/qr-code.indigo.css.js';\nimport { styles as materialLight } from './light/qr-code.material.css.js';\nimport { styles as shared } from './light/qr-code.shared.css.js';\n\nconst light = {\n shared: css`\n ${shared}\n `,\n material: css`\n ${materialLight}\n `,\n bootstrap: css`\n ${bootstrapLight}\n `,\n fluent: css`\n ${fluentLight}\n `,\n indigo: css`\n ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${shared}\n `,\n material: css`\n ${materialDark}\n `,\n bootstrap: css`\n ${bootstrapDark}\n `,\n fluent: css`\n ${fluentDark}\n `,\n indigo: css`\n ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -0,0 +1,16 @@
1
+ /** Shape of individual data modules in the QR code body. */
2
+ export type QrDotStyle = 'square' | 'circle' | 'rounded';
3
+ /** Shape of the inner dot inside each finder-pattern corner. */
4
+ export type QrCornerDotStyle = 'square' | 'circle' | 'rounded';
5
+ /** Shape of the outer square of each finder-pattern corner. */
6
+ export type QrCornerSquareStyle = 'square' | 'circle' | 'rounded';
7
+ /**
8
+ * QR error correction level. Higher levels recover more data but reduce capacity.
9
+ * - `L` ~7%, `M` ~15%, `Q` ~25%, `H` ~30%.
10
+ */
11
+ export type QrErrorCorrectionLevel = 'L' | 'M' | 'Q' | 'H';
12
+ /**
13
+ * QR data encoding mode, selected automatically based on the input string.
14
+ * - `numeric` — digits only; `alphanumeric` — digits + uppercase letters + a few symbols; `byte` — arbitrary UTF-8.
15
+ */
16
+ export type QrEncodingMode = 'numeric' | 'alphanumeric' | 'byte';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/qr-code/types.ts"],"names":[],"mappings":"","sourcesContent":["/** Shape of individual data modules in the QR code body. */\nexport type QrDotStyle = 'square' | 'circle' | 'rounded';\n\n/** Shape of the inner dot inside each finder-pattern corner. */\nexport type QrCornerDotStyle = 'square' | 'circle' | 'rounded';\n\n/** Shape of the outer square of each finder-pattern corner. */\nexport type QrCornerSquareStyle = 'square' | 'circle' | 'rounded';\n\n/**\n * QR error correction level. Higher levels recover more data but reduce capacity.\n * - `L` ~7%, `M` ~15%, `Q` ~25%, `H` ~30%.\n */\nexport type QrErrorCorrectionLevel = 'L' | 'M' | 'Q' | 'H';\n\n/**\n * QR data encoding mode, selected automatically based on the input string.\n * - `numeric` — digits only; `alphanumeric` — digits + uppercase letters + a few symbols; `byte` — arbitrary UTF-8.\n */\nexport type QrEncodingMode = 'numeric' | 'alphanumeric' | 'byte';\n"]}
@@ -0,0 +1,35 @@
1
+ import type { ReactiveController } from 'lit';
2
+ import type IgcRadioComponent from './radio.js';
3
+ /** Keeps a radio in the group of its current root node and name. */
4
+ declare class RadioGroupController implements ReactiveController {
5
+ /** Gives each radio of the group the state that the group derives. */
6
+ private static _sync;
7
+ private readonly _host;
8
+ private readonly _onSync;
9
+ /** The root node the host is registered under, or null while it is not registered. */
10
+ private _root;
11
+ private _name;
12
+ /** Whether the host still belongs to the group that holds its entry. */
13
+ private get _isCurrent();
14
+ private get _group();
15
+ /** The radios of the host group, in DOM order. A radio with no group is on its own. */
16
+ get members(): IgcRadioComponent[];
17
+ constructor(host: IgcRadioComponent, onSync: (hasCheckedRadio: boolean) => void);
18
+ /** @internal */
19
+ hostConnected(): void;
20
+ /** @internal */
21
+ hostDisconnected(): void;
22
+ /**
23
+ * Moves the host to the group of its current root node and name. Does nothing while
24
+ * both stay the same. If not, the group that the host joins and the group that it
25
+ * leaves both update their state.
26
+ */
27
+ updateMembership(): void;
28
+ /** Updates the state of the host group. */
29
+ sync(): void;
30
+ private _unregister;
31
+ }
32
+ export type { RadioGroupController };
33
+ export declare function addRadioGroupController(host: IgcRadioComponent, onSync: (hasCheckedRadio: boolean) => void): RadioGroupController;
34
+ /** Returns the radios of the group of `member`, in DOM order. */
35
+ export declare function getGroupMembers(member: IgcRadioComponent): IgcRadioComponent[];
@@ -0,0 +1,100 @@
1
+ import { isEmpty } from '#internals/utils/arrays.js';
2
+ import { getRoot } from '#internals/utils/dom.js';
3
+ const registry = new WeakMap();
4
+ const controllers = new WeakMap();
5
+ function byDocumentOrder(a, b) {
6
+ if (a === b) {
7
+ return 0;
8
+ }
9
+ return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING
10
+ ? -1
11
+ : 1;
12
+ }
13
+ function groupOf(root, name) {
14
+ const names = registry.get(root) ?? new Map();
15
+ const group = names.get(name) ?? new Set();
16
+ names.set(name, group);
17
+ registry.set(root, names);
18
+ return group;
19
+ }
20
+ class RadioGroupController {
21
+ static _sync(group) {
22
+ const members = Array.from(group);
23
+ const hasCheckedRadio = members.some((member) => member._host.checked && !member._host.disabled);
24
+ for (const member of members) {
25
+ member._onSync(hasCheckedRadio);
26
+ }
27
+ }
28
+ get _isCurrent() {
29
+ return this._host.name === this._name && getRoot(this._host) === this._root;
30
+ }
31
+ get _group() {
32
+ const entries = this._root
33
+ ? Array.from(registry.get(this._root)?.get(this._name) ?? [])
34
+ : [];
35
+ const members = entries.filter((member) => member._isCurrent);
36
+ return isEmpty(members)
37
+ ? [this]
38
+ : members.sort((a, b) => byDocumentOrder(a._host, b._host));
39
+ }
40
+ get members() {
41
+ return this._group.map((member) => member._host);
42
+ }
43
+ constructor(host, onSync) {
44
+ this._root = null;
45
+ this._name = '';
46
+ this._host = host;
47
+ this._onSync = onSync;
48
+ controllers.set(host, this);
49
+ host.addController(this);
50
+ }
51
+ hostConnected() {
52
+ this.updateMembership();
53
+ }
54
+ hostDisconnected() {
55
+ this._unregister();
56
+ }
57
+ updateMembership() {
58
+ const host = this._host;
59
+ const root = host.isConnected ? getRoot(host) : null;
60
+ const name = host.name || '';
61
+ if (root === this._root && name === this._name) {
62
+ return;
63
+ }
64
+ this._unregister();
65
+ if (root && name) {
66
+ this._root = root;
67
+ this._name = name;
68
+ groupOf(root, name).add(this);
69
+ }
70
+ this.sync();
71
+ }
72
+ sync() {
73
+ RadioGroupController._sync(this._group);
74
+ }
75
+ _unregister() {
76
+ const { _root: root, _name: name } = this;
77
+ const names = root ? registry.get(root) : undefined;
78
+ const group = names?.get(name);
79
+ this._root = null;
80
+ this._name = '';
81
+ if (!group?.delete(this)) {
82
+ return;
83
+ }
84
+ if (isEmpty(group)) {
85
+ names?.delete(name);
86
+ }
87
+ else {
88
+ RadioGroupController._sync(group);
89
+ }
90
+ }
91
+ }
92
+ export function addRadioGroupController(host, onSync) {
93
+ return new RadioGroupController(host, onSync);
94
+ }
95
+ export function getGroupMembers(member) {
96
+ const controller = controllers.get(member);
97
+ controller?.updateMembership();
98
+ return controller?.members ?? [member];
99
+ }
100
+ //# sourceMappingURL=controller.js.map