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
@@ -1 +1 @@
1
- {"version":3,"file":"theme-provider.js","sourceRoot":"","sources":["../../../src/components/theme-provider/theme-provider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,GAAG,EACH,IAAI,EACJ,UAAU,GAGX,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAqB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAwCtE,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,UAAU;IAAjE;;QAcmB,cAAS,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE;YACrD,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QASI,UAAK,GAAU,WAAW,CAAC;QAS3B,YAAO,GAAiB,OAAO,CAAC;IAoBzC,CAAC;aArDwB,YAAO,GAAG,oBAAoB,AAAvB,CAAwB;aAE/B,WAAM,GAAG,GAAG,CAAA;;;;GAIlC,AAJ4B,CAI3B;IAGK,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAwBkB,MAAM,CAAC,iBAAuC;QAC/D,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AA5BM;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDACM;AAS3B;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACW","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport {\n css,\n html,\n LitElement,\n type PropertyValues,\n type TemplateResult,\n} from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { type ThemeContext, themeContext } from '../../theming/context.js';\nimport type { Theme, ThemeVariant } from '../../theming/types.js';\nimport { registerComponent } from '../common/definitions/register.js';\n\n/**\n * A theme provider component that uses Lit context to provide theme information\n * to descendant components.\n *\n * This component allows you to scope a theme to a specific part of the page.\n * All library components within this provider will use the specified theme\n * instead of the global theme.\n *\n * @element igc-theme-provider\n *\n * @slot - Default slot for content that should receive the provided theme.\n *\n * @remarks\n * When using the theme provider, it must be registered **before** any descendant components\n * that will consume the theme context. This ensures the context provider is available\n * when descendant components attempt to consume it.\n *\n * ```typescript\n * import { defineComponents, IgcThemeProviderComponent, IgcButtonComponent } from 'igniteui-webcomponents';\n *\n * // Register theme provider first, then descendant components\n * defineComponents(IgcThemeProviderComponent, IgcButtonComponent);\n * ```\n *\n * @example\n * ```html\n * <!-- Scope material theme to a section -->\n * <igc-theme-provider theme=\"material\" variant=\"dark\">\n * <igc-button>Material Dark Button</igc-button>\n * <igc-input label=\"Material Dark Input\"></igc-input>\n * </igc-theme-provider>\n *\n * <!-- Use different theme in another section -->\n * <igc-theme-provider theme=\"fluent\" variant=\"light\">\n * <igc-button>Fluent Light Button</igc-button>\n * </igc-theme-provider>\n * ```\n */\nexport default class IgcThemeProviderComponent extends LitElement {\n public static readonly tagName = 'igc-theme-provider';\n\n public static override styles = css`\n :host {\n display: contents;\n }\n `;\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcThemeProviderComponent);\n }\n\n private readonly _provider = new ContextProvider(this, {\n context: themeContext,\n });\n\n /**\n * The theme to provide to descendant components.\n *\n * @attr\n * @default 'bootstrap'\n */\n @property({ reflect: true })\n public theme: Theme = 'bootstrap';\n\n /**\n * The theme variant to provide to descendant components.\n *\n * @attr\n * @default 'light'\n */\n @property({ reflect: true })\n public variant: ThemeVariant = 'light';\n\n protected override update(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('theme') || changedProperties.has('variant')) {\n this._provider.setValue(this._getContextValue());\n }\n\n super.update(changedProperties);\n }\n\n private _getContextValue(): ThemeContext {\n return {\n theme: this.theme,\n variant: this.variant,\n };\n }\n\n protected override render(): TemplateResult {\n return html`<slot></slot>`;\n }\n}\n"]}
1
+ {"version":3,"file":"theme-provider.js","sourceRoot":"","sources":["../../../src/components/theme-provider/theme-provider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,GAAG,EACH,IAAI,EACJ,UAAU,GAGX,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAqB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAyCtE,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,UAAU;IAAjE;;QAcmB,cAAS,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE;YACrD,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QASI,UAAK,GAAU,WAAW,CAAC;QAS3B,YAAO,GAAiB,OAAO,CAAC;IAoBzC,CAAC;aArDwB,YAAO,GAAG,oBAAoB,AAAvB,CAAwB;aAE/B,WAAM,GAAG,GAAG,CAAA;;;;GAIlC,AAJ4B,CAI3B;IAGK,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAwBkB,MAAM,CAAC,iBAAuC;QAC/D,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AA5BM;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDACM;AAS3B;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACW","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport {\n css,\n html,\n LitElement,\n type PropertyValues,\n type TemplateResult,\n} from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { registerComponent } from '#internals/definitions/register.js';\nimport { type ThemeContext, themeContext } from '#theming/context.js';\nimport type { Theme, ThemeVariant } from '#theming/types.js';\n\n/**\n * A theme provider component that uses Lit context to provide theme information\n * to descendant components.\n *\n * This component allows you to scope a theme to a specific part of the page.\n * All library components within this provider will use the specified theme\n * instead of the global theme.\n *\n * @element igc-theme-provider\n *\n * @slot - Default slot for content that should receive the provided theme.\n *\n * @remarks\n * When using the theme provider, it must be registered **before** any descendant components\n * that will consume the theme context. This ensures the context provider is available\n * when descendant components attempt to consume it.\n *\n * ```typescript\n * import { defineComponents, IgcThemeProviderComponent, IgcButtonComponent } from 'igniteui-webcomponents';\n *\n * // Register theme provider first, then descendant components\n * defineComponents(IgcThemeProviderComponent, IgcButtonComponent);\n * ```\n *\n * @example\n * ```html\n * <!-- Scope material theme to a section -->\n * <igc-theme-provider theme=\"material\" variant=\"dark\">\n * <igc-button>Material Dark Button</igc-button>\n * <igc-input label=\"Material Dark Input\"></igc-input>\n * </igc-theme-provider>\n *\n * <!-- Use different theme in another section -->\n * <igc-theme-provider theme=\"fluent\" variant=\"light\">\n * <igc-button>Fluent Light Button</igc-button>\n * </igc-theme-provider>\n * ```\n */\nexport default class IgcThemeProviderComponent extends LitElement {\n public static readonly tagName = 'igc-theme-provider';\n\n public static override styles = css`\n :host {\n display: contents;\n }\n `;\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcThemeProviderComponent);\n }\n\n private readonly _provider = new ContextProvider(this, {\n context: themeContext,\n });\n\n /**\n * The theme to provide to descendant components.\n *\n * @attr\n * @default 'bootstrap'\n */\n @property({ reflect: true })\n public theme: Theme = 'bootstrap';\n\n /**\n * The theme variant to provide to descendant components.\n *\n * @attr\n * @default 'light'\n */\n @property({ reflect: true })\n public variant: ThemeVariant = 'light';\n\n protected override update(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('theme') || changedProperties.has('variant')) {\n this._provider.setValue(this._getContextValue());\n }\n\n super.update(changedProperties);\n }\n\n private _getContextValue(): ThemeContext {\n return {\n theme: this.theme,\n variant: this.variant,\n };\n }\n\n protected override render(): TemplateResult {\n return html`<slot></slot>`;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import type IgcTileComponent from './tile.js';
2
1
  import type IgcTileManagerComponent from './tile-manager.js';
2
+ import type IgcTileComponent from './tile.js';
3
3
  declare class TilesState {
4
4
  private _nextEmptyPosition;
5
5
  manager: IgcTileManagerComponent;
@@ -1,4 +1,4 @@
1
- import { last, partition } from '../common/util.js';
1
+ import { lastOf, partition } from '#internals/utils/arrays.js';
2
2
  class TilesState {
3
3
  get _tiles() {
4
4
  return Array.from(this.manager.querySelectorAll(':scope > igc-tile'));
@@ -78,7 +78,7 @@ class TileDragStack {
78
78
  this._stack = [];
79
79
  }
80
80
  peek() {
81
- return last(this._stack).tile;
81
+ return lastOf(this._stack).tile;
82
82
  }
83
83
  pop() {
84
84
  return this._stack.pop();
@@ -1 +1 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/components/tile-manager/position.ts"],"names":[],"mappings":"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","sourcesContent":["import { last, partition } from '../common/util.js';\nimport type IgcTileComponent from './tile.js';\nimport type IgcTileManagerComponent from './tile-manager.js';\n\nclass TilesState {\n private _nextEmptyPosition = 0;\n\n public manager: IgcTileManagerComponent;\n\n private get _tiles(): IgcTileComponent[] {\n return Array.from(\n this.manager.querySelectorAll<IgcTileComponent>(':scope > igc-tile')\n );\n }\n\n /**\n * Returns the current tiles of the tile manager sorted by their position.\n */\n public get tiles(): IgcTileComponent[] {\n return this._tiles.toSorted((a, b) => a.position - b.position);\n }\n\n constructor(manager: IgcTileManagerComponent) {\n this.manager = manager;\n }\n\n public assignPositions(): void {\n let nextPosition = 0;\n const [positionedTiles, nonPositionedTiles] = partition(\n this._tiles,\n (tile) => tile.position !== -1\n );\n\n positionedTiles.sort((a, b) => a.position - b.position);\n\n for (const tile of positionedTiles) {\n // Fill any unassigned slots before the next assigned tile's position\n while (nextPosition < tile.position && nonPositionedTiles.length > 0) {\n const nonPositionedTile = nonPositionedTiles.shift()!;\n nonPositionedTile.position = nextPosition++;\n }\n\n tile.position = nextPosition;\n nextPosition = tile.position + 1;\n }\n\n for (const tile of nonPositionedTiles) {\n tile.position = nextPosition++;\n }\n }\n\n /** Updates the default (manual) slot of the tile manager with the current tiles. */\n public assignTiles(): void {\n this.manager.renderRoot.querySelector('slot')!.assign(...this._tiles);\n }\n\n public add(tile: IgcTileComponent): void {\n const tiles = this.tiles;\n\n if (tile.position > -1) {\n for (const each of tiles) {\n if (each !== tile && each.position >= tile.position) {\n each.position++;\n }\n }\n } else {\n const positionedTiles = this._tiles.filter((tile) => tile.position > -1);\n\n tile.position =\n positionedTiles.length > 1\n ? Math.max(...positionedTiles.map((tile) => tile.position)) + 1\n : this._nextEmptyPosition;\n\n this._nextEmptyPosition += 1;\n }\n }\n\n /**\n * Checks and adjusts tile spans based on the column count of the tile manager.\n */\n public adjustTileGridPosition(): void {\n const columnCount = this.manager.columnCount;\n\n if (columnCount > 0) {\n for (const tile of this.tiles) {\n let colStart = tile.colStart || 0;\n let colStartDelta = colStart > 0 ? 1 : 0;\n const colSpan = tile.colSpan || 0;\n\n if (colStart > columnCount) {\n colStart = 0;\n colStartDelta = 0;\n tile.colStart = 0;\n }\n\n if (colStart + colSpan > columnCount) {\n tile.colSpan = columnCount - colStart + colStartDelta;\n }\n }\n }\n }\n\n public remove(tile: IgcTileComponent): void {\n for (const each of this.tiles) {\n if (each.position >= tile.position) {\n each.position--;\n }\n }\n }\n}\n\ntype TileDragStackEntry = {\n tile: IgcTileComponent;\n position: number;\n column?: number | null;\n row?: number | null;\n};\n\nclass TileDragStack {\n private _stack: TileDragStackEntry[] = [];\n\n public peek(): IgcTileComponent {\n return last(this._stack).tile;\n }\n\n public pop(): TileDragStackEntry | undefined {\n return this._stack.pop();\n }\n\n public push(tile: IgcTileComponent): void {\n this._stack.push({\n tile,\n position: tile.position,\n column: tile.colStart,\n row: tile.rowStart,\n });\n }\n\n public restore(): void {\n for (const {\n tile,\n position,\n column: colStart,\n row: rowStart,\n } of this._stack.toReversed()) {\n Object.assign(tile, {\n position,\n colStart,\n rowStart,\n });\n }\n }\n\n public reset(): void {\n this._stack = [];\n }\n}\n\nexport function createTilesState(manager: IgcTileManagerComponent) {\n return new TilesState(manager);\n}\n\nexport function createTileDragStack(): TileDragStack {\n return new TileDragStack();\n}\n\nexport function swapTiles(a: IgcTileComponent, b: IgcTileComponent): void {\n [a.colStart, b.colStart] = [b.colStart, a.colStart];\n [a.rowStart, b.rowStart] = [b.rowStart, a.colStart];\n [a.position, b.position] = [b.position, a.position];\n}\n"]}
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/components/tile-manager/position.ts"],"names":[],"mappings":"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","sourcesContent":["import { lastOf, partition } from '#internals/utils/arrays.js';\nimport type IgcTileManagerComponent from './tile-manager.js';\nimport type IgcTileComponent from './tile.js';\n\nclass TilesState {\n private _nextEmptyPosition = 0;\n\n public manager: IgcTileManagerComponent;\n\n private get _tiles(): IgcTileComponent[] {\n return Array.from(\n this.manager.querySelectorAll<IgcTileComponent>(':scope > igc-tile')\n );\n }\n\n /**\n * Returns the current tiles of the tile manager sorted by their position.\n */\n public get tiles(): IgcTileComponent[] {\n return this._tiles.toSorted((a, b) => a.position - b.position);\n }\n\n constructor(manager: IgcTileManagerComponent) {\n this.manager = manager;\n }\n\n public assignPositions(): void {\n let nextPosition = 0;\n const [positionedTiles, nonPositionedTiles] = partition(\n this._tiles,\n (tile) => tile.position !== -1\n );\n\n positionedTiles.sort((a, b) => a.position - b.position);\n\n for (const tile of positionedTiles) {\n // Fill any unassigned slots before the next assigned tile's position\n while (nextPosition < tile.position && nonPositionedTiles.length > 0) {\n const nonPositionedTile = nonPositionedTiles.shift()!;\n nonPositionedTile.position = nextPosition++;\n }\n\n tile.position = nextPosition;\n nextPosition = tile.position + 1;\n }\n\n for (const tile of nonPositionedTiles) {\n tile.position = nextPosition++;\n }\n }\n\n /** Updates the default (manual) slot of the tile manager with the current tiles. */\n public assignTiles(): void {\n this.manager.renderRoot.querySelector('slot')!.assign(...this._tiles);\n }\n\n public add(tile: IgcTileComponent): void {\n const tiles = this.tiles;\n\n if (tile.position > -1) {\n for (const each of tiles) {\n if (each !== tile && each.position >= tile.position) {\n each.position++;\n }\n }\n } else {\n const positionedTiles = this._tiles.filter((tile) => tile.position > -1);\n\n tile.position =\n positionedTiles.length > 1\n ? Math.max(...positionedTiles.map((tile) => tile.position)) + 1\n : this._nextEmptyPosition;\n\n this._nextEmptyPosition += 1;\n }\n }\n\n /**\n * Checks and adjusts tile spans based on the column count of the tile manager.\n */\n public adjustTileGridPosition(): void {\n const columnCount = this.manager.columnCount;\n\n if (columnCount > 0) {\n for (const tile of this.tiles) {\n let colStart = tile.colStart || 0;\n let colStartDelta = colStart > 0 ? 1 : 0;\n const colSpan = tile.colSpan || 0;\n\n if (colStart > columnCount) {\n colStart = 0;\n colStartDelta = 0;\n tile.colStart = 0;\n }\n\n if (colStart + colSpan > columnCount) {\n tile.colSpan = columnCount - colStart + colStartDelta;\n }\n }\n }\n }\n\n public remove(tile: IgcTileComponent): void {\n for (const each of this.tiles) {\n if (each.position >= tile.position) {\n each.position--;\n }\n }\n }\n}\n\ntype TileDragStackEntry = {\n tile: IgcTileComponent;\n position: number;\n column?: number | null;\n row?: number | null;\n};\n\nclass TileDragStack {\n private _stack: TileDragStackEntry[] = [];\n\n public peek(): IgcTileComponent {\n return lastOf(this._stack).tile;\n }\n\n public pop(): TileDragStackEntry | undefined {\n return this._stack.pop();\n }\n\n public push(tile: IgcTileComponent): void {\n this._stack.push({\n tile,\n position: tile.position,\n column: tile.colStart,\n row: tile.rowStart,\n });\n }\n\n public restore(): void {\n for (const {\n tile,\n position,\n column: colStart,\n row: rowStart,\n } of this._stack.toReversed()) {\n Object.assign(tile, {\n position,\n colStart,\n rowStart,\n });\n }\n }\n\n public reset(): void {\n this._stack = [];\n }\n}\n\nexport function createTilesState(manager: IgcTileManagerComponent) {\n return new TilesState(manager);\n}\n\nexport function createTileDragStack(): TileDragStack {\n return new TileDragStack();\n}\n\nexport function swapTiles(a: IgcTileComponent, b: IgcTileComponent): void {\n [a.colStart, b.colStart] = [b.colStart, a.colStart];\n [a.rowStart, b.rowStart] = [b.rowStart, a.colStart];\n [a.position, b.position] = [b.position, a.position];\n}\n"]}
@@ -1,12 +1,13 @@
1
- import { asNumber, first } from '../common/util.js';
1
+ import { firstOf } from '#internals/utils/arrays.js';
2
+ import { asNumber } from '#internals/utils/math.js';
2
3
  import { ResizeUtil } from './resize-util.js';
3
4
  const CssValues = /(?<start>\d+)?\s*\/?\s*span\s*(?<span>\d+)?/gi;
4
5
  function parseTileGridRect(tile) {
5
6
  const computed = getComputedStyle(tile);
6
7
  const { gridColumn, gridRow } = computed;
7
8
  const [column, row] = [
8
- first(Array.from(gridColumn.matchAll(CssValues))).groups,
9
- first(Array.from(gridRow.matchAll(CssValues))).groups,
9
+ firstOf(Array.from(gridColumn.matchAll(CssValues))).groups,
10
+ firstOf(Array.from(gridRow.matchAll(CssValues))).groups,
10
11
  ];
11
12
  return {
12
13
  column: {
@@ -1 +1 @@
1
- {"version":3,"file":"resize-state.js","sourceRoot":"","sources":["../../../src/components/tile-manager/resize-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { asNumber, first } from '../common/util.js';\nimport type { ResizeState } from '../resize-container/types.js';\nimport { ResizeUtil } from './resize-util.js';\nimport type IgcTileComponent from './tile.js';\nimport type {\n ResizeProps,\n ResizeSpanProps,\n TileGridDimension,\n TileGridPosition,\n TileResizeDimensions,\n} from './types.js';\n\nconst CssValues = /(?<start>\\d+)?\\s*\\/?\\s*span\\s*(?<span>\\d+)?/gi;\n\nfunction parseTileGridRect(tile: IgcTileComponent): TileGridPosition {\n const computed = getComputedStyle(tile);\n const { gridColumn, gridRow } = computed;\n\n const [column, row] = [\n first(Array.from(gridColumn.matchAll(CssValues))).groups!,\n first(Array.from(gridRow.matchAll(CssValues))).groups!,\n ];\n\n return {\n column: {\n start: asNumber(column.start, -1),\n span: asNumber(column.span, -1),\n },\n row: { start: asNumber(row.start, -1), span: asNumber(row.span, -1) },\n };\n}\n\nfunction parseTileParentGrid(gridContainer: HTMLElement) {\n const computed = getComputedStyle(gridContainer);\n const { gap, gridTemplateColumns, gridTemplateRows } = computed;\n\n const columns = gridTemplateColumns.split(' ').map(asNumber);\n const rows = gridTemplateRows.split(' ').map(asNumber);\n\n return {\n gap: asNumber(gap),\n columns: {\n count: columns.length,\n entries: columns,\n minSize: asNumber(computed.getPropertyValue('--min-col-width')),\n },\n rows: {\n count: rows.length,\n entries: rows,\n minSize: asNumber(computed.getPropertyValue('--min-row-height')),\n },\n };\n}\n\nclass TileResizeState {\n private _initialPosition!: TileGridPosition;\n private _resizeUtil!: ResizeUtil;\n\n protected _gap = 0;\n protected _prevDeltaX = 0;\n protected _prevDeltaY = 0;\n\n protected _prevSnappedWidth = 0;\n protected _prevSnappedHeight = 0;\n\n protected _position: TileGridPosition = {\n column: { start: 0, span: 0 },\n row: { start: 0, span: 0 },\n };\n\n protected _columns: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n protected _rows: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n public resizedDimensions: TileResizeDimensions = {\n width: null,\n height: null,\n };\n\n public get gap(): number {\n return this._gap;\n }\n\n public get position(): TileGridPosition {\n return structuredClone(this._position);\n }\n\n public get columns(): TileGridDimension {\n return structuredClone(this._columns);\n }\n\n public get rows(): TileGridDimension {\n return structuredClone(this._rows);\n }\n\n public calculateSnappedWidth(state: ResizeState): number {\n const resizeProps = this.getResizeProps(state);\n const snappedDimension =\n this._resizeUtil.calculateSnappedDimension(resizeProps);\n\n this._prevDeltaX = snappedDimension.newDelta;\n this._prevSnappedWidth = snappedDimension.snappedSize;\n return snappedDimension.snappedSize;\n }\n\n public calculateSnappedHeight(state: ResizeState): number {\n const resizeProps = this.getResizeProps(state, true);\n const snappedDimension =\n this._resizeUtil.calculateSnappedDimension(resizeProps);\n\n this._prevDeltaY = snappedDimension.newDelta;\n this._prevSnappedHeight = snappedDimension.snappedSize;\n return snappedDimension.snappedSize;\n }\n\n public updateState(\n tileRect: DOMRect,\n tile: IgcTileComponent,\n grid: HTMLElement\n ): void {\n this.initState(grid, tile);\n this.calculateTileStartPosition(grid, tileRect);\n }\n\n /**\n * Calculates and returns the CSS column and row properties of a tile after resizing,\n * based on its new dimensions and starting position.\n */\n public calculateResizedGridPosition(rect: DOMRect) {\n const colProps = this.getResizeSpanProps(rect);\n const rowProps = this.getResizeSpanProps(rect, true);\n\n // REVIEW pass col minSize and allowOverflow?\n this._position.column.span =\n this._resizeUtil.calculateResizedSpan(colProps);\n this._position.row.span = this._resizeUtil.calculateResizedSpan(rowProps);\n\n return {\n colSpan: this._position.column.span,\n rowSpan: this._position.row.span,\n };\n }\n\n private initState(grid: HTMLElement, tile: IgcTileComponent): void {\n const { gap, columns, rows } = parseTileParentGrid(grid);\n\n this._resizeUtil = new ResizeUtil(gap);\n this._initialPosition = parseTileGridRect(tile);\n this._position = structuredClone(this._initialPosition);\n\n this._gap = gap;\n this._columns = columns;\n this._rows = rows;\n this._prevDeltaX = 0;\n this._prevDeltaY = 0;\n this._prevSnappedWidth = 0;\n this._prevSnappedHeight = 0;\n }\n\n private calculateTileStartPosition(\n grid: HTMLElement,\n tileRect: DOMRect\n ): void {\n if (this._position.column.start < 0) {\n const offsetX = this.getGridOffset(grid, 'horizontal');\n\n this._position.column.start = this._resizeUtil.calculatePosition(\n tileRect.left + window.scrollX + grid.scrollLeft - offsetX,\n this._columns.entries\n );\n }\n\n if (this._position.row.start < 0) {\n const offsetY = this.getGridOffset(grid, 'vertical');\n\n this._position.row.start = this._resizeUtil.calculatePosition(\n tileRect.top + window.scrollY - offsetY,\n this._rows.entries\n );\n }\n }\n\n private getGridOffset(\n grid: HTMLElement,\n axis: 'horizontal' | 'vertical'\n ): number {\n const gridRect = grid.getBoundingClientRect();\n const computed = getComputedStyle(grid);\n\n return axis === 'horizontal'\n ? gridRect.left +\n window.scrollX +\n grid.scrollLeft +\n Number.parseFloat(computed.paddingLeft)\n : gridRect.top + window.scrollY + Number.parseFloat(computed.paddingTop);\n }\n\n private getResizeProps(state: ResizeState, isRow = false): ResizeProps {\n return isRow\n ? {\n currentDelta: state.deltaY,\n currentSize: state.current.height,\n prevDelta: this._prevDeltaY,\n gridEntries: this._rows.entries,\n startIndex: this._position.row.start,\n prevSnapped: this._prevSnappedHeight,\n }\n : {\n currentDelta: state.deltaX,\n currentSize: state.current.width,\n prevDelta: this._prevDeltaX,\n gridEntries: this._columns.entries,\n startIndex: this._position.column.start,\n prevSnapped: this._prevSnappedWidth,\n };\n }\n\n private getResizeSpanProps(rect: DOMRect, isRow = false): ResizeSpanProps {\n return isRow\n ? {\n targetSize: rect.height,\n tilePosition: this.position.row,\n tileGridDimension: this.rows,\n gap: this.gap,\n isRow,\n }\n : {\n targetSize: rect.width,\n tilePosition: this.position.column,\n tileGridDimension: this.columns,\n gap: this.gap,\n isRow,\n };\n }\n}\n\nexport function createTileResizeState(): TileResizeState {\n return new TileResizeState();\n}\n"]}
1
+ {"version":3,"file":"resize-state.js","sourceRoot":"","sources":["../../../src/components/tile-manager/resize-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { firstOf } from '#internals/utils/arrays.js';\nimport { asNumber } from '#internals/utils/math.js';\nimport type { ResizeState } from '../resize-container/types.js';\nimport { ResizeUtil } from './resize-util.js';\nimport type IgcTileComponent from './tile.js';\nimport type {\n ResizeProps,\n ResizeSpanProps,\n TileGridDimension,\n TileGridPosition,\n TileResizeDimensions,\n} from './types.js';\n\nconst CssValues = /(?<start>\\d+)?\\s*\\/?\\s*span\\s*(?<span>\\d+)?/gi;\n\nfunction parseTileGridRect(tile: IgcTileComponent): TileGridPosition {\n const computed = getComputedStyle(tile);\n const { gridColumn, gridRow } = computed;\n\n const [column, row] = [\n firstOf(Array.from(gridColumn.matchAll(CssValues))).groups!,\n firstOf(Array.from(gridRow.matchAll(CssValues))).groups!,\n ];\n\n return {\n column: {\n start: asNumber(column.start, -1),\n span: asNumber(column.span, -1),\n },\n row: { start: asNumber(row.start, -1), span: asNumber(row.span, -1) },\n };\n}\n\nfunction parseTileParentGrid(gridContainer: HTMLElement) {\n const computed = getComputedStyle(gridContainer);\n const { gap, gridTemplateColumns, gridTemplateRows } = computed;\n\n const columns = gridTemplateColumns.split(' ').map(asNumber);\n const rows = gridTemplateRows.split(' ').map(asNumber);\n\n return {\n gap: asNumber(gap),\n columns: {\n count: columns.length,\n entries: columns,\n minSize: asNumber(computed.getPropertyValue('--min-col-width')),\n },\n rows: {\n count: rows.length,\n entries: rows,\n minSize: asNumber(computed.getPropertyValue('--min-row-height')),\n },\n };\n}\n\nclass TileResizeState {\n private _initialPosition!: TileGridPosition;\n private _resizeUtil!: ResizeUtil;\n\n protected _gap = 0;\n protected _prevDeltaX = 0;\n protected _prevDeltaY = 0;\n\n protected _prevSnappedWidth = 0;\n protected _prevSnappedHeight = 0;\n\n protected _position: TileGridPosition = {\n column: { start: 0, span: 0 },\n row: { start: 0, span: 0 },\n };\n\n protected _columns: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n protected _rows: TileGridDimension = {\n count: 0,\n entries: [],\n minSize: 0,\n };\n\n public resizedDimensions: TileResizeDimensions = {\n width: null,\n height: null,\n };\n\n public get gap(): number {\n return this._gap;\n }\n\n public get position(): TileGridPosition {\n return structuredClone(this._position);\n }\n\n public get columns(): TileGridDimension {\n return structuredClone(this._columns);\n }\n\n public get rows(): TileGridDimension {\n return structuredClone(this._rows);\n }\n\n public calculateSnappedWidth(state: ResizeState): number {\n const resizeProps = this.getResizeProps(state);\n const snappedDimension =\n this._resizeUtil.calculateSnappedDimension(resizeProps);\n\n this._prevDeltaX = snappedDimension.newDelta;\n this._prevSnappedWidth = snappedDimension.snappedSize;\n return snappedDimension.snappedSize;\n }\n\n public calculateSnappedHeight(state: ResizeState): number {\n const resizeProps = this.getResizeProps(state, true);\n const snappedDimension =\n this._resizeUtil.calculateSnappedDimension(resizeProps);\n\n this._prevDeltaY = snappedDimension.newDelta;\n this._prevSnappedHeight = snappedDimension.snappedSize;\n return snappedDimension.snappedSize;\n }\n\n public updateState(\n tileRect: DOMRect,\n tile: IgcTileComponent,\n grid: HTMLElement\n ): void {\n this.initState(grid, tile);\n this.calculateTileStartPosition(grid, tileRect);\n }\n\n /**\n * Calculates and returns the CSS column and row properties of a tile after resizing,\n * based on its new dimensions and starting position.\n */\n public calculateResizedGridPosition(rect: DOMRect) {\n const colProps = this.getResizeSpanProps(rect);\n const rowProps = this.getResizeSpanProps(rect, true);\n\n // REVIEW pass col minSize and allowOverflow?\n this._position.column.span =\n this._resizeUtil.calculateResizedSpan(colProps);\n this._position.row.span = this._resizeUtil.calculateResizedSpan(rowProps);\n\n return {\n colSpan: this._position.column.span,\n rowSpan: this._position.row.span,\n };\n }\n\n private initState(grid: HTMLElement, tile: IgcTileComponent): void {\n const { gap, columns, rows } = parseTileParentGrid(grid);\n\n this._resizeUtil = new ResizeUtil(gap);\n this._initialPosition = parseTileGridRect(tile);\n this._position = structuredClone(this._initialPosition);\n\n this._gap = gap;\n this._columns = columns;\n this._rows = rows;\n this._prevDeltaX = 0;\n this._prevDeltaY = 0;\n this._prevSnappedWidth = 0;\n this._prevSnappedHeight = 0;\n }\n\n private calculateTileStartPosition(\n grid: HTMLElement,\n tileRect: DOMRect\n ): void {\n if (this._position.column.start < 0) {\n const offsetX = this.getGridOffset(grid, 'horizontal');\n\n this._position.column.start = this._resizeUtil.calculatePosition(\n tileRect.left + window.scrollX + grid.scrollLeft - offsetX,\n this._columns.entries\n );\n }\n\n if (this._position.row.start < 0) {\n const offsetY = this.getGridOffset(grid, 'vertical');\n\n this._position.row.start = this._resizeUtil.calculatePosition(\n tileRect.top + window.scrollY - offsetY,\n this._rows.entries\n );\n }\n }\n\n private getGridOffset(\n grid: HTMLElement,\n axis: 'horizontal' | 'vertical'\n ): number {\n const gridRect = grid.getBoundingClientRect();\n const computed = getComputedStyle(grid);\n\n return axis === 'horizontal'\n ? gridRect.left +\n window.scrollX +\n grid.scrollLeft +\n Number.parseFloat(computed.paddingLeft)\n : gridRect.top + window.scrollY + Number.parseFloat(computed.paddingTop);\n }\n\n private getResizeProps(state: ResizeState, isRow = false): ResizeProps {\n return isRow\n ? {\n currentDelta: state.deltaY,\n currentSize: state.current.height,\n prevDelta: this._prevDeltaY,\n gridEntries: this._rows.entries,\n startIndex: this._position.row.start,\n prevSnapped: this._prevSnappedHeight,\n }\n : {\n currentDelta: state.deltaX,\n currentSize: state.current.width,\n prevDelta: this._prevDeltaX,\n gridEntries: this._columns.entries,\n startIndex: this._position.column.start,\n prevSnapped: this._prevSnappedWidth,\n };\n }\n\n private getResizeSpanProps(rect: DOMRect, isRow = false): ResizeSpanProps {\n return isRow\n ? {\n targetSize: rect.height,\n tilePosition: this.position.row,\n tileGridDimension: this.rows,\n gap: this.gap,\n isRow,\n }\n : {\n targetSize: rect.width,\n tilePosition: this.position.column,\n tileGridDimension: this.columns,\n gap: this.gap,\n isRow,\n };\n }\n}\n\nexport function createTileResizeState(): TileResizeState {\n return new TileResizeState();\n}\n"]}
@@ -1,2 +1,2 @@
1
- import type { Themes } from '../../../theming/types.js';
1
+ import type { Themes } from '#theming/types.js';
2
2
  export declare const all: Themes;
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../src/components/tile-manager/themes/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAI3E,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,SAAS,EAAE,GAAG,CAAA;MACV,cAAc;GACjB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;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,UAAU;GACb;IACD,SAAS,EAAE,GAAG,CAAA;MACV,aAAa;GAChB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;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/tile-manager.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/tile-manager.fluent.css.js';\nimport { styles as indigoDark } from './dark/tile-manager.indigo.css.js';\nimport { styles as materialDark } from './dark/tile-manager.material.css.js';\nimport { styles as sharedDark } from './dark/tile-manager.shared.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/tile-manager.bootstrap.css.js';\nimport { styles as fluentLight } from './light/tile-manager.fluent.css.js';\nimport { styles as indigoLight } from './light/tile-manager.indigo.css.js';\nimport { styles as materialLight } from './light/tile-manager.material.css.js';\nimport { styles as sharedLight } from './light/tile-manager.shared.css.js';\n\n// Shared Styles\n\nconst light = {\n shared: css`\n ${sharedLight}\n `,\n bootstrap: css`\n ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluentLight}\n `,\n indigo: css`\n ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${sharedDark}\n `,\n bootstrap: css`\n ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluentDark}\n `,\n indigo: css`\n ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../src/components/tile-manager/themes/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAI3E,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,SAAS,EAAE,GAAG,CAAA;MACV,cAAc;GACjB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;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,UAAU;GACb;IACD,SAAS,EAAE,GAAG,CAAA;MACV,aAAa;GAChB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;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/tile-manager.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/tile-manager.fluent.css.js';\nimport { styles as indigoDark } from './dark/tile-manager.indigo.css.js';\nimport { styles as materialDark } from './dark/tile-manager.material.css.js';\nimport { styles as sharedDark } from './dark/tile-manager.shared.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/tile-manager.bootstrap.css.js';\nimport { styles as fluentLight } from './light/tile-manager.fluent.css.js';\nimport { styles as indigoLight } from './light/tile-manager.indigo.css.js';\nimport { styles as materialLight } from './light/tile-manager.material.css.js';\nimport { styles as sharedLight } from './light/tile-manager.shared.css.js';\n\n// Shared Styles\n\nconst light = {\n shared: css`\n ${sharedLight}\n `,\n bootstrap: css`\n ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluentLight}\n `,\n indigo: css`\n ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${sharedDark}\n `,\n bootstrap: css`\n ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluentDark}\n `,\n indigo: css`\n ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -1,2 +1,2 @@
1
- import type { Themes } from '../../../theming/types.js';
1
+ import type { Themes } from '#theming/types.js';
2
2
  export declare const all: Themes;
@@ -1 +1 @@
1
- {"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../../src/components/tile-manager/themes/tile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,SAAS;GACZ;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,SAAS;GACZ;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;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// Shared Styles\nimport { styles as bootstrap } from './shared/tile/tile.bootstrap.css.js';\nimport { styles as fluent } from './shared/tile/tile.fluent.css.js';\nimport { styles as indigo } from './shared/tile/tile.indigo.css.js';\n\nconst light = {\n bootstrap: css`\n ${bootstrap}\n `,\n fluent: css`\n ${fluent}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${bootstrap}\n `,\n fluent: css`\n ${fluent}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../../src/components/tile-manager/themes/tile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,SAAS;GACZ;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,SAAS;GACZ;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;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// Shared Styles\nimport { styles as bootstrap } from './shared/tile/tile.bootstrap.css.js';\nimport { styles as fluent } from './shared/tile/tile.fluent.css.js';\nimport { styles as indigo } from './shared/tile/tile.indigo.css.js';\n\nconst light = {\n bootstrap: css`\n ${bootstrap}\n `,\n fluent: css`\n ${fluent}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${bootstrap}\n `,\n fluent: css`\n ${fluent}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -1,4 +1,4 @@
1
- import { isLTR } from '../common/util.js';
1
+ import { isLTR } from '#internals/utils/dom.js';
2
2
  export function createTileDragGhost(tile) {
3
3
  const clone = tile.cloneNode(true);
4
4
  const computed = getComputedStyle(tile);
@@ -1 +1 @@
1
- {"version":3,"file":"tile-ghost-util.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile-ghost-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAqB,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAExC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAEvD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;QACzB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACtC,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG,KAAK,IAAI;QACnB,MAAM,EAAE,GAAG,MAAM,IAAI;QACrB,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;QAC1D,MAAM,EAAE,aAAa,QAAQ,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;QACxE,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QAC1D,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;QACxD,MAAM,EAAE,IAAI;QACZ,kBAAkB,EAAE,oBAAoB;KACzC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,IAAI;QACvB,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,IAAI;QACxB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;QACjE,MAAM,EAAE,aAAa,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE;QAClE,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QAC1D,KAAK,EAAE,GAAG,KAAK,IAAI;QACnB,MAAM,EAAE,GAAG,MAAM,IAAI;KACtB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { isLTR } from '../common/util.js';\nimport type IgcTileComponent from './tile.js';\n\nexport function createTileDragGhost(tile: IgcTileComponent): IgcTileComponent {\n const clone = tile.cloneNode(true) as IgcTileComponent;\n const computed = getComputedStyle(tile);\n\n const { width, height } = tile.getBoundingClientRect();\n\n Object.assign(clone, {\n id: null,\n inert: true,\n position: -1,\n });\n\n Object.assign(clone.style, {\n direction: isLTR(tile) ? 'ltr' : 'rtl',\n position: 'absolute',\n contain: 'strict',\n top: 0,\n left: 0,\n width: `${width}px`,\n height: `${height}px`,\n opacity: 0.6,\n background: computed.getPropertyValue('--tile-background'),\n border: `1px solid ${computed.getPropertyValue('--hover-border-color')}`,\n borderRadius: computed.getPropertyValue('--border-radius'),\n boxShadow: computed.getPropertyValue('--drag-elevation'),\n zIndex: 1000,\n viewTransitionName: 'dragged-tile-ghost',\n });\n\n return clone;\n}\n\nexport function createTileGhost(tile: IgcTileComponent): HTMLElement {\n const element = document.createElement('div');\n const computed = getComputedStyle(tile);\n const { x, y, width, height } = tile.getBoundingClientRect();\n const { scrollX, scrollY } = window;\n\n Object.assign(element.style, {\n boxSizing: 'border-box',\n position: 'absolute',\n contain: 'strict',\n top: `${y + scrollY}px`,\n left: `${x + scrollX}px`,\n zIndex: 1000,\n background: computed.getPropertyValue('--placeholder-background'),\n border: `1px solid ${computed.getPropertyValue('--ghost-border')}`,\n borderRadius: computed.getPropertyValue('--border-radius'),\n width: `${width}px`,\n height: `${height}px`,\n });\n\n return element;\n}\n"]}
1
+ {"version":3,"file":"tile-ghost-util.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile-ghost-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAqB,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAExC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAEvD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;QACzB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACtC,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG,KAAK,IAAI;QACnB,MAAM,EAAE,GAAG,MAAM,IAAI;QACrB,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;QAC1D,MAAM,EAAE,aAAa,QAAQ,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;QACxE,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QAC1D,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;QACxD,MAAM,EAAE,IAAI;QACZ,kBAAkB,EAAE,oBAAoB;KACzC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,IAAI;QACvB,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,IAAI;QACxB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;QACjE,MAAM,EAAE,aAAa,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE;QAClE,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QAC1D,KAAK,EAAE,GAAG,KAAK,IAAI;QACnB,MAAM,EAAE,GAAG,MAAM,IAAI;KACtB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { isLTR } from '#internals/utils/dom.js';\nimport type IgcTileComponent from './tile.js';\n\nexport function createTileDragGhost(tile: IgcTileComponent): IgcTileComponent {\n const clone = tile.cloneNode(true) as IgcTileComponent;\n const computed = getComputedStyle(tile);\n\n const { width, height } = tile.getBoundingClientRect();\n\n Object.assign(clone, {\n id: null,\n inert: true,\n position: -1,\n });\n\n Object.assign(clone.style, {\n direction: isLTR(tile) ? 'ltr' : 'rtl',\n position: 'absolute',\n contain: 'strict',\n top: 0,\n left: 0,\n width: `${width}px`,\n height: `${height}px`,\n opacity: 0.6,\n background: computed.getPropertyValue('--tile-background'),\n border: `1px solid ${computed.getPropertyValue('--hover-border-color')}`,\n borderRadius: computed.getPropertyValue('--border-radius'),\n boxShadow: computed.getPropertyValue('--drag-elevation'),\n zIndex: 1000,\n viewTransitionName: 'dragged-tile-ghost',\n });\n\n return clone;\n}\n\nexport function createTileGhost(tile: IgcTileComponent): HTMLElement {\n const element = document.createElement('div');\n const computed = getComputedStyle(tile);\n const { x, y, width, height } = tile.getBoundingClientRect();\n const { scrollX, scrollY } = window;\n\n Object.assign(element.style, {\n boxSizing: 'border-box',\n position: 'absolute',\n contain: 'strict',\n top: `${y + scrollY}px`,\n left: `${x + scrollX}px`,\n zIndex: 1000,\n background: computed.getPropertyValue('--placeholder-background'),\n border: `1px solid ${computed.getPropertyValue('--ghost-border')}`,\n borderRadius: computed.getPropertyValue('--border-radius'),\n width: `${width}px`,\n height: `${height}px`,\n });\n\n return element;\n}\n"]}
@@ -6,7 +6,7 @@ import IgcTileComponent from './tile.js';
6
6
  *
7
7
  * @element igc-tile-manager
8
8
  *
9
- * @slot - Default slot for the tile manager. Only `igc-tile` elements will be projected inside the CSS grid container.
9
+ * @slot - Default slot for the tile manager. Only tile elements will be projected inside the CSS grid container.
10
10
  *
11
11
  * @csspart base - The tile manager CSS Grid container.
12
12
  *
@@ -10,13 +10,13 @@ import { html, LitElement } from 'lit';
10
10
  import { property } from 'lit/decorators.js';
11
11
  import { createRef, ref } from 'lit/directives/ref.js';
12
12
  import { styleMap } from 'lit/directives/style-map.js';
13
- import { addThemingController } from '../../theming/theming-controller.js';
14
- import { tileManagerContext, } from '../common/context.js';
15
- import { createMutationController, } from '../common/controllers/mutation-observer.js';
16
- import { shadowOptions } from '../common/decorators/shadow-options.js';
17
- import { registerComponent } from '../common/definitions/register.js';
18
- import { partMap } from '../common/part-map.js';
19
- import { asNumber } from '../common/util.js';
13
+ import { tileManagerContext, } from '#internals/context.js';
14
+ import { createMutationController, } from '#internals/controllers/mutation-observer.js';
15
+ import { shadowOptions } from '#internals/decorators/shadow-options.js';
16
+ import { registerComponent } from '#internals/definitions/register.js';
17
+ import { partMap } from '#internals/part-map.js';
18
+ import { asNumber } from '#internals/utils/math.js';
19
+ import { addThemingController } from '#theming/theming-controller.js';
20
20
  import { createTilesState } from './position.js';
21
21
  import { createSerializer } from './serializer.js';
22
22
  import { all } from './themes/container.js';
@@ -1 +1 @@
1
- {"version":3,"file":"tile-manager.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile-manager.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n type TileManagerContext,\n tileManagerContext,\n} from '../common/context.js';\nimport {\n createMutationController,\n type MutationControllerParams,\n} from '../common/controllers/mutation-observer.js';\nimport { shadowOptions } from '../common/decorators/shadow-options.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { asNumber } from '../common/util.js';\nimport type { TileManagerDragMode, TileManagerResizeMode } from '../types.js';\nimport { createTilesState } from './position.js';\nimport { createSerializer } from './serializer.js';\nimport { all } from './themes/container.js';\nimport { styles as shared } from './themes/shared/tile-manager.common.css.js';\nimport { styles } from './themes/tile-manager.base.css.js';\nimport IgcTileComponent from './tile.js';\n\n/* blazorAdditionalDependency: IgcTileComponent */\n/**\n * The tile manager component enables the dynamic arrangement, resizing, and interaction of tiles.\n *\n * @element igc-tile-manager\n *\n * @slot - Default slot for the tile manager. Only `igc-tile` elements will be projected inside the CSS grid container.\n *\n * @csspart base - The tile manager CSS Grid container.\n *\n * @cssproperty --column-count - The number of columns for the tile manager. The `column-count` attribute sets this variable.\n * @cssproperty --min-col-width - The minimum size of the columns in the tile-manager. The `min-column-width` attribute sets this variable.\n * @cssproperty --min-row-height - The minimum size of the rows in the tile-manager. The `min-row-height` attribute sets this variable.\n * @cssproperty --grid-gap - The gap size of the underlying CSS grid container. The `gap` attributes sts this variable.\n *\n */\n@shadowOptions({ slotAssignment: 'manual' })\nexport default class IgcTileManagerComponent extends LitElement {\n public static readonly tagName = 'igc-tile-manager';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcTileManagerComponent, IgcTileComponent);\n }\n\n // #region Internal state\n\n private _internalStyles: StyleInfo = {};\n private _dragMode: TileManagerDragMode = 'none';\n private _resizeMode: TileManagerResizeMode = 'none';\n private _columnCount = 0;\n private _gap?: string;\n private _minColWidth?: string;\n private _minRowHeight?: string;\n\n private _serializer = createSerializer(this);\n private _tilesState = createTilesState(this);\n\n private _grid = createRef<HTMLElement>();\n\n // #endregion\n\n // #region Context helpers\n\n private _context = new ContextProvider(this, {\n context: tileManagerContext,\n initialValue: this._createContext(),\n });\n\n private _createContext(): TileManagerContext {\n return {\n instance: this,\n grid: this._grid,\n setMaximizedState: () => this._setMaximizedState(),\n };\n }\n\n private _setManagerContext(): void {\n this._context.setValue(this._createContext(), true);\n }\n\n // #endregion\n\n // #region Properties and Attributes\n\n /**\n * Whether resize operations are enabled.\n *\n * @attr resize-mode\n * @default none\n */\n @property({ attribute: 'resize-mode' })\n public set resizeMode(value: TileManagerResizeMode) {\n this._resizeMode = value;\n this._setManagerContext();\n }\n\n public get resizeMode(): TileManagerResizeMode {\n return this._resizeMode;\n }\n\n /**\n * Whether drag and drop operations are enabled.\n *\n * @attr drag-mode\n * @default none\n */\n @property({ attribute: 'drag-mode' })\n public set dragMode(value: TileManagerDragMode) {\n this._dragMode = value;\n this._setManagerContext();\n }\n\n public get dragMode(): TileManagerDragMode {\n return this._dragMode;\n }\n\n /**\n * Sets the number of columns for the tile manager.\n * Setting value <= than zero will trigger a responsive layout.\n *\n * @attr column-count\n * @default 0\n */\n @property({ type: Number, attribute: 'column-count' })\n public set columnCount(value: number) {\n this._columnCount = Math.max(0, asNumber(value));\n Object.assign(this._internalStyles, {\n '--column-count': this._columnCount || undefined,\n });\n }\n\n public get columnCount(): number {\n return this._columnCount;\n }\n\n /**\n * Sets the minimum width for a column unit in the tile manager.\n * @attr min-column-width\n */\n @property({ attribute: 'min-column-width' })\n public set minColumnWidth(value: string | undefined) {\n this._minColWidth = value ?? undefined;\n Object.assign(this._internalStyles, {\n '--min-col-width': this._minColWidth,\n });\n }\n\n public get minColumnWidth(): string | undefined {\n return this._minColWidth;\n }\n\n /**\n * Sets the minimum height for a row unit in the tile manager.\n * @attr min-row-height\n */\n @property({ attribute: 'min-row-height' })\n public set minRowHeight(value: string | undefined) {\n this._minRowHeight = value ?? undefined;\n Object.assign(this._internalStyles, {\n '--min-row-height': this._minRowHeight,\n });\n }\n\n public get minRowHeight(): string | undefined {\n return this._minRowHeight;\n }\n\n /**\n * Sets the gap size between tiles in the tile manager.\n *\n * @attr gap\n */\n @property()\n public set gap(value: string | undefined) {\n this._gap = value ?? undefined;\n Object.assign(this._internalStyles, {\n '--grid-gap': this._gap,\n });\n }\n\n public get gap(): string | undefined {\n return this._gap;\n }\n\n /**\n * Gets the tiles sorted by their position in the layout.\n * @property\n */\n public get tiles() {\n return this._tilesState.tiles;\n }\n\n // #endregion\n\n // #region Internal API\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcTileComponent.tagName],\n config: {\n childList: true,\n },\n });\n }\n\n protected override updated() {\n this._tilesState.adjustTileGridPosition();\n }\n\n protected override firstUpdated() {\n this._tilesState.assignPositions();\n this._tilesState.assignTiles();\n this._setManagerContext();\n }\n\n private _observerCallback({\n changes: { added, removed },\n }: MutationControllerParams<IgcTileComponent>) {\n const ownAdded = added.filter(\n ({ target }) => target.closest(this.tagName) === this\n );\n const ownRemoved = removed.filter(\n ({ target }) => target.closest(this.tagName) === this\n );\n\n for (const remove of ownRemoved) {\n this._tilesState.remove(remove.node);\n }\n\n for (const added of ownAdded) {\n this._tilesState.add(added.node);\n }\n\n this._tilesState.assignTiles();\n }\n\n /**\n * Locks/unlocks the grid container height in response to a tile's maximized state changing.\n *\n * @remarks\n * Maximizing a tile removes it from the grid flow (absolute positioning), so it no longer\n * contributes to the grid's intrinsic height. When that tile is the sole contributor to the\n * tallest row track, the container would otherwise collapse to the remaining tiles and cut off\n * the maximized tile's content. Capturing the current height before the layout change keeps the\n * container stable, and it is released once no tile remains maximized.\n */\n private _setMaximizedState(): void {\n const grid = this._grid.value;\n\n if (grid) {\n if (this.tiles.some((tile) => tile.maximized)) {\n if (!grid.style.minHeight) {\n grid.style.minHeight = `${grid.offsetHeight}px`;\n }\n } else {\n grid.style.minHeight = '';\n }\n }\n\n this.requestUpdate();\n }\n\n // #endregion\n\n // #region Public API\n\n /**\n * Returns the properties of the current tile collections as a JSON payload.\n *\n * @remarks\n * The content of the tiles is not serialized or saved. Only tile properties\n * are serialized.\n */\n public saveLayout(): string {\n return this._serializer.saveAsJSON();\n }\n\n /**\n * Restores a previously serialized state produced by `saveLayout`.\n */\n public loadLayout(data: string): void {\n this._serializer.loadFromJSON(data);\n }\n\n // #endregion\n\n // #region Rendering\n\n protected override render() {\n const parts = {\n base: true,\n 'maximized-tile': this.tiles.some((tile) => tile.maximized),\n };\n\n return html`\n <div\n ${ref(this._grid)}\n style=${styleMap(this._internalStyles)}\n part=${partMap(parts)}\n >\n <slot></slot>\n </div>\n `;\n }\n\n // #endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tile-manager': IgcTileManagerComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tile-manager.js","sourceRoot":"","sources":["../../../src/components/tile-manager/tile-manager.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport {\n type TileManagerContext,\n tileManagerContext,\n} from '#internals/context.js';\nimport {\n createMutationController,\n type MutationControllerParams,\n} from '#internals/controllers/mutation-observer.js';\nimport { shadowOptions } from '#internals/decorators/shadow-options.js';\nimport { registerComponent } from '#internals/definitions/register.js';\nimport { partMap } from '#internals/part-map.js';\nimport { asNumber } from '#internals/utils/math.js';\nimport { addThemingController } from '#theming/theming-controller.js';\nimport type { TileManagerDragMode, TileManagerResizeMode } from '../types.js';\nimport { createTilesState } from './position.js';\nimport { createSerializer } from './serializer.js';\nimport { all } from './themes/container.js';\nimport { styles as shared } from './themes/shared/tile-manager.common.css.js';\nimport { styles } from './themes/tile-manager.base.css.js';\nimport IgcTileComponent from './tile.js';\n\n/* blazorAdditionalDependency: IgcTileComponent */\n/**\n * The tile manager component enables the dynamic arrangement, resizing, and interaction of tiles.\n *\n * @element igc-tile-manager\n *\n * @slot - Default slot for the tile manager. Only tile elements will be projected inside the CSS grid container.\n *\n * @csspart base - The tile manager CSS Grid container.\n *\n * @cssproperty --column-count - The number of columns for the tile manager. The `column-count` attribute sets this variable.\n * @cssproperty --min-col-width - The minimum size of the columns in the tile-manager. The `min-column-width` attribute sets this variable.\n * @cssproperty --min-row-height - The minimum size of the rows in the tile-manager. The `min-row-height` attribute sets this variable.\n * @cssproperty --grid-gap - The gap size of the underlying CSS grid container. The `gap` attributes sts this variable.\n *\n */\n@shadowOptions({ slotAssignment: 'manual' })\nexport default class IgcTileManagerComponent extends LitElement {\n public static readonly tagName = 'igc-tile-manager';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcTileManagerComponent, IgcTileComponent);\n }\n\n // #region Internal state\n\n private _internalStyles: StyleInfo = {};\n private _dragMode: TileManagerDragMode = 'none';\n private _resizeMode: TileManagerResizeMode = 'none';\n private _columnCount = 0;\n private _gap?: string;\n private _minColWidth?: string;\n private _minRowHeight?: string;\n\n private _serializer = createSerializer(this);\n private _tilesState = createTilesState(this);\n\n private _grid = createRef<HTMLElement>();\n\n // #endregion\n\n // #region Context helpers\n\n private _context = new ContextProvider(this, {\n context: tileManagerContext,\n initialValue: this._createContext(),\n });\n\n private _createContext(): TileManagerContext {\n return {\n instance: this,\n grid: this._grid,\n setMaximizedState: () => this._setMaximizedState(),\n };\n }\n\n private _setManagerContext(): void {\n this._context.setValue(this._createContext(), true);\n }\n\n // #endregion\n\n // #region Properties and Attributes\n\n /**\n * Whether resize operations are enabled.\n *\n * @attr resize-mode\n * @default none\n */\n @property({ attribute: 'resize-mode' })\n public set resizeMode(value: TileManagerResizeMode) {\n this._resizeMode = value;\n this._setManagerContext();\n }\n\n public get resizeMode(): TileManagerResizeMode {\n return this._resizeMode;\n }\n\n /**\n * Whether drag and drop operations are enabled.\n *\n * @attr drag-mode\n * @default none\n */\n @property({ attribute: 'drag-mode' })\n public set dragMode(value: TileManagerDragMode) {\n this._dragMode = value;\n this._setManagerContext();\n }\n\n public get dragMode(): TileManagerDragMode {\n return this._dragMode;\n }\n\n /**\n * Sets the number of columns for the tile manager.\n * Setting value <= than zero will trigger a responsive layout.\n *\n * @attr column-count\n * @default 0\n */\n @property({ type: Number, attribute: 'column-count' })\n public set columnCount(value: number) {\n this._columnCount = Math.max(0, asNumber(value));\n Object.assign(this._internalStyles, {\n '--column-count': this._columnCount || undefined,\n });\n }\n\n public get columnCount(): number {\n return this._columnCount;\n }\n\n /**\n * Sets the minimum width for a column unit in the tile manager.\n * @attr min-column-width\n */\n @property({ attribute: 'min-column-width' })\n public set minColumnWidth(value: string | undefined) {\n this._minColWidth = value ?? undefined;\n Object.assign(this._internalStyles, {\n '--min-col-width': this._minColWidth,\n });\n }\n\n public get minColumnWidth(): string | undefined {\n return this._minColWidth;\n }\n\n /**\n * Sets the minimum height for a row unit in the tile manager.\n * @attr min-row-height\n */\n @property({ attribute: 'min-row-height' })\n public set minRowHeight(value: string | undefined) {\n this._minRowHeight = value ?? undefined;\n Object.assign(this._internalStyles, {\n '--min-row-height': this._minRowHeight,\n });\n }\n\n public get minRowHeight(): string | undefined {\n return this._minRowHeight;\n }\n\n /**\n * Sets the gap size between tiles in the tile manager.\n *\n * @attr gap\n */\n @property()\n public set gap(value: string | undefined) {\n this._gap = value ?? undefined;\n Object.assign(this._internalStyles, {\n '--grid-gap': this._gap,\n });\n }\n\n public get gap(): string | undefined {\n return this._gap;\n }\n\n /**\n * Gets the tiles sorted by their position in the layout.\n * @property\n */\n public get tiles() {\n return this._tilesState.tiles;\n }\n\n // #endregion\n\n // #region Internal API\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcTileComponent.tagName],\n config: {\n childList: true,\n },\n });\n }\n\n protected override updated() {\n this._tilesState.adjustTileGridPosition();\n }\n\n protected override firstUpdated() {\n this._tilesState.assignPositions();\n this._tilesState.assignTiles();\n this._setManagerContext();\n }\n\n private _observerCallback({\n changes: { added, removed },\n }: MutationControllerParams<IgcTileComponent>) {\n const ownAdded = added.filter(\n ({ target }) => target.closest(this.tagName) === this\n );\n const ownRemoved = removed.filter(\n ({ target }) => target.closest(this.tagName) === this\n );\n\n for (const remove of ownRemoved) {\n this._tilesState.remove(remove.node);\n }\n\n for (const added of ownAdded) {\n this._tilesState.add(added.node);\n }\n\n this._tilesState.assignTiles();\n }\n\n /**\n * Locks/unlocks the grid container height in response to a tile's maximized state changing.\n *\n * @remarks\n * Maximizing a tile removes it from the grid flow (absolute positioning), so it no longer\n * contributes to the grid's intrinsic height. When that tile is the sole contributor to the\n * tallest row track, the container would otherwise collapse to the remaining tiles and cut off\n * the maximized tile's content. Capturing the current height before the layout change keeps the\n * container stable, and it is released once no tile remains maximized.\n */\n private _setMaximizedState(): void {\n const grid = this._grid.value;\n\n if (grid) {\n if (this.tiles.some((tile) => tile.maximized)) {\n if (!grid.style.minHeight) {\n grid.style.minHeight = `${grid.offsetHeight}px`;\n }\n } else {\n grid.style.minHeight = '';\n }\n }\n\n this.requestUpdate();\n }\n\n // #endregion\n\n // #region Public API\n\n /**\n * Returns the properties of the current tile collections as a JSON payload.\n *\n * @remarks\n * The content of the tiles is not serialized or saved. Only tile properties\n * are serialized.\n */\n public saveLayout(): string {\n return this._serializer.saveAsJSON();\n }\n\n /**\n * Restores a previously serialized state produced by `saveLayout`.\n */\n public loadLayout(data: string): void {\n this._serializer.loadFromJSON(data);\n }\n\n // #endregion\n\n // #region Rendering\n\n protected override render() {\n const parts = {\n base: true,\n 'maximized-tile': this.tiles.some((tile) => tile.maximized),\n };\n\n return html`\n <div\n ${ref(this._grid)}\n style=${styleMap(this._internalStyles)}\n part=${partMap(parts)}\n >\n <slot></slot>\n </div>\n `;\n }\n\n // #endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tile-manager': IgcTileManagerComponent;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
- import type { Constructor } from '../common/mixins/constructor.js';
2
+ import type { Constructor } from '#internals/mixins/constructor.js';
3
3
  import IgcResizeContainerComponent from '../resize-container/resize-container.js';
4
4
  export interface IgcTileChangeStateEventArgs {
5
5
  tile: IgcTileComponent;
@@ -15,9 +15,9 @@ export interface IgcTileComponentEventMap {
15
15
  igcTileResizeEnd: CustomEvent<IgcTileComponent>;
16
16
  igcTileResizeCancel: CustomEvent<IgcTileComponent>;
17
17
  }
18
- declare const IgcTileComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcTileComponentEventMap>> & Constructor<LitElement>;
18
+ declare const IgcTileComponent_base: Constructor<import("#internals/mixins/event-emitter.js").EventEmitterInterface<IgcTileComponentEventMap>> & Constructor<LitElement>;
19
19
  /**
20
- * The tile component is used within the `igc-tile-manager` as a container
20
+ * The tile component is used within the tile manager as a container
21
21
  * for displaying various types of information.
22
22
  *
23
23
  * @element igc-tile
@@ -137,7 +137,7 @@ export default class IgcTileComponent extends IgcTileComponent_base {
137
137
  get maximized(): boolean;
138
138
  /**
139
139
  * Indicates whether to disable tile resize behavior regardless
140
- * ot its tile manager parent settings.
140
+ * of its tile manager parent settings.
141
141
  *
142
142
  * @attr disable-resize
143
143
  * @default false
@@ -7,18 +7,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { html, LitElement, nothing } from 'lit';
8
8
  import { property, query, state } from 'lit/decorators.js';
9
9
  import { createRef, ref } from 'lit/directives/ref.js';
10
- import { startViewTransition } from '../../animations/player.js';
11
- import { addThemingController } from '../../theming/theming-controller.js';
10
+ import { setTransitionName, startViewTransition, } from '#animations/view-transition.js';
11
+ import { tileManagerContext, } from '#internals/context.js';
12
+ import { createAsyncContext } from '#internals/controllers/async-consumer.js';
13
+ import { addDragController, } from '#internals/controllers/drag.js';
14
+ import { addFullscreenController } from '#internals/controllers/fullscreen.js';
15
+ import { addSlotController, setSlots } from '#internals/controllers/slot.js';
16
+ import { registerComponent } from '#internals/definitions/register.js';
17
+ import { EventEmitterMixin } from '#internals/mixins/event-emitter.js';
18
+ import { partMap } from '#internals/part-map.js';
19
+ import { isLTR } from '#internals/utils/dom.js';
20
+ import { getElementFromPath } from '#internals/utils/events.js';
21
+ import { asNumber } from '#internals/utils/math.js';
22
+ import { createIdGenerator } from '#internals/utils/strings.js';
23
+ import { addThemingController } from '#theming/theming-controller.js';
12
24
  import IgcIconButtonComponent from '../button/icon-button.js';
13
- import { tileManagerContext, } from '../common/context.js';
14
- import { createAsyncContext } from '../common/controllers/async-consumer.js';
15
- import { addDragController, } from '../common/controllers/drag.js';
16
- import { addFullscreenController } from '../common/controllers/fullscreen.js';
17
- import { addSlotController, setSlots } from '../common/controllers/slot.js';
18
- import { registerComponent } from '../common/definitions/register.js';
19
- import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
20
- import { partMap } from '../common/part-map.js';
21
- import { asNumber, getElementFromPath, isLTR } from '../common/util.js';
22
25
  import IgcDividerComponent from '../divider/divider.js';
23
26
  import IgcResizeContainerComponent from '../resize-container/resize-container.js';
24
27
  import { createTileDragStack, swapTiles } from './position.js';
@@ -27,7 +30,7 @@ import { styles as shared } from './themes/shared/tile/tile.common.css.js';
27
30
  import { styles } from './themes/tile.base.css.js';
28
31
  import { all } from './themes/tile.js';
29
32
  import { createTileDragGhost, createTileGhost } from './tile-ghost-util.js';
30
- let nextId = 1;
33
+ const nextId = createIdGenerator('tile');
31
34
  const Slots = setSlots('title', 'maximize-action', 'fullscreen-action', 'actions', 'side-adorner', 'corner-adorner', 'bottom-adorner');
32
35
  export default class IgcTileComponent extends EventEmitterMixin(LitElement) {
33
36
  static { this.tagName = 'igc-tile'; }
@@ -144,9 +147,10 @@ export default class IgcTileComponent extends EventEmitterMixin(LitElement) {
144
147
  }
145
148
  connectedCallback() {
146
149
  super.connectedCallback();
147
- this.id = this.id || `tile-${nextId++}`;
148
- this.style.viewTransitionName =
149
- this.style.viewTransitionName || `tile-transition-${this.id}`;
150
+ this.id = this.id || nextId();
151
+ if (!this.style.viewTransitionName) {
152
+ setTransitionName(this, `tile-transition-${this.id}`);
153
+ }
150
154
  }
151
155
  _setDragState(state = true) {
152
156
  this._isDragging = state;
@@ -255,7 +259,7 @@ export default class IgcTileComponent extends EventEmitterMixin(LitElement) {
255
259
  await startViewTransition(() => {
256
260
  this.colSpan = colSpan;
257
261
  this.rowSpan = rowSpan;
258
- }).transition?.updateCallbackDone;
262
+ }).updateCallbackDone;
259
263
  this._setResizeState(false);
260
264
  this.emitEvent('igcTileResizeEnd', { detail: this });
261
265
  };
@@ -274,7 +278,7 @@ export default class IgcTileComponent extends EventEmitterMixin(LitElement) {
274
278
  this.style.zIndex = '1';
275
279
  await startViewTransition(() => {
276
280
  this.maximized = !this.maximized;
277
- }).transition?.finished;
281
+ }).finished;
278
282
  this.style.zIndex = '';
279
283
  }
280
284
  _emitFullScreenEvent(state) {
@@ -340,17 +344,17 @@ export default class IgcTileComponent extends EventEmitterMixin(LitElement) {
340
344
  <section id="tile-actions" part="actions">
341
345
  ${hasMaximizeSlot
342
346
  ? html `
343
- <slot name="maximize-action">
344
- ${this._renderDefaultAction('maximize')}
345
- </slot>
346
- `
347
+ <slot name="maximize-action">
348
+ ${this._renderDefaultAction('maximize')}
349
+ </slot>
350
+ `
347
351
  : nothing}
348
352
  ${hasFullscreenSlot
349
353
  ? html `
350
- <slot name="fullscreen-action">
351
- ${this._renderDefaultAction('fullscreen')}
352
- </slot>
353
- `
354
+ <slot name="fullscreen-action">
355
+ ${this._renderDefaultAction('fullscreen')}
356
+ </slot>
357
+ `
354
358
  : nothing}
355
359
 
356
360
  <slot name="actions"></slot>