igniteui-webcomponents 7.3.1 → 7.4.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 (606) hide show
  1. package/CHANGELOG.md +72 -1
  2. package/animations/easings.d.ts +21 -31
  3. package/animations/easings.js +21 -34
  4. package/animations/easings.js.map +1 -1
  5. package/animations/player.d.ts +8 -16
  6. package/animations/player.js +5 -8
  7. package/animations/player.js.map +1 -1
  8. package/animations/view-transition.d.ts +10 -10
  9. package/animations/view-transition.js +26 -37
  10. package/animations/view-transition.js.map +1 -1
  11. package/components/avatar/themes/avatar.base.css.js +1 -1
  12. package/components/avatar/themes/avatar.base.css.js.map +1 -1
  13. package/components/badge/themes/badge.base.css.js +1 -1
  14. package/components/badge/themes/badge.base.css.js.map +1 -1
  15. package/components/banner/themes/banner.base.css.js +1 -1
  16. package/components/banner/themes/banner.base.css.js.map +1 -1
  17. package/components/banner/themes/shared/banner.indigo.css.js +1 -1
  18. package/components/banner/themes/shared/banner.indigo.css.js.map +1 -1
  19. package/components/breadcrumb/breadcrumb.d.ts +74 -0
  20. package/components/breadcrumb/breadcrumb.js +107 -0
  21. package/components/breadcrumb/breadcrumb.js.map +1 -0
  22. package/components/breadcrumb/breadcrumbs.d.ts +60 -0
  23. package/components/breadcrumb/breadcrumbs.js +50 -0
  24. package/components/breadcrumb/breadcrumbs.js.map +1 -0
  25. package/components/breadcrumb/themes/breadcrumb.base.css.d.ts +1 -0
  26. package/components/breadcrumb/themes/breadcrumb.base.css.js +3 -0
  27. package/components/breadcrumb/themes/breadcrumb.base.css.js.map +1 -0
  28. package/components/breadcrumb/themes/breadcrumbs.base.css.d.ts +1 -0
  29. package/components/breadcrumb/themes/breadcrumbs.base.css.js +3 -0
  30. package/components/breadcrumb/themes/breadcrumbs.base.css.js.map +1 -0
  31. package/components/breadcrumb/themes/dark/breadcrumb.bootstrap.css.d.ts +1 -0
  32. package/components/breadcrumb/themes/dark/breadcrumb.bootstrap.css.js +3 -0
  33. package/components/breadcrumb/themes/dark/breadcrumb.bootstrap.css.js.map +1 -0
  34. package/components/breadcrumb/themes/dark/breadcrumb.fluent.css.d.ts +1 -0
  35. package/components/breadcrumb/themes/dark/breadcrumb.fluent.css.js +3 -0
  36. package/components/breadcrumb/themes/dark/breadcrumb.fluent.css.js.map +1 -0
  37. package/components/breadcrumb/themes/dark/breadcrumb.indigo.css.d.ts +1 -0
  38. package/components/breadcrumb/themes/dark/breadcrumb.indigo.css.js +3 -0
  39. package/components/breadcrumb/themes/dark/breadcrumb.indigo.css.js.map +1 -0
  40. package/components/breadcrumb/themes/dark/breadcrumb.material.css.d.ts +1 -0
  41. package/components/breadcrumb/themes/dark/breadcrumb.material.css.js +3 -0
  42. package/components/breadcrumb/themes/dark/breadcrumb.material.css.js.map +1 -0
  43. package/components/breadcrumb/themes/light/breadcrumb.bootstrap.css.d.ts +1 -0
  44. package/components/breadcrumb/themes/light/breadcrumb.bootstrap.css.js +3 -0
  45. package/components/breadcrumb/themes/light/breadcrumb.bootstrap.css.js.map +1 -0
  46. package/components/breadcrumb/themes/light/breadcrumb.fluent.css.d.ts +1 -0
  47. package/components/breadcrumb/themes/light/breadcrumb.fluent.css.js +3 -0
  48. package/components/breadcrumb/themes/light/breadcrumb.fluent.css.js.map +1 -0
  49. package/components/breadcrumb/themes/light/breadcrumb.indigo.css.d.ts +1 -0
  50. package/components/breadcrumb/themes/light/breadcrumb.indigo.css.js +3 -0
  51. package/components/breadcrumb/themes/light/breadcrumb.indigo.css.js.map +1 -0
  52. package/components/breadcrumb/themes/light/breadcrumb.material.css.d.ts +1 -0
  53. package/components/breadcrumb/themes/light/breadcrumb.material.css.js +3 -0
  54. package/components/breadcrumb/themes/light/breadcrumb.material.css.js.map +1 -0
  55. package/components/breadcrumb/themes/light/breadcrumb.shared.css.d.ts +1 -0
  56. package/components/breadcrumb/themes/light/breadcrumb.shared.css.js +3 -0
  57. package/components/breadcrumb/themes/light/breadcrumb.shared.css.js.map +1 -0
  58. package/components/breadcrumb/themes/shared/breadcrumb.bootstrap.css.d.ts +1 -0
  59. package/components/breadcrumb/themes/shared/breadcrumb.bootstrap.css.js +3 -0
  60. package/components/breadcrumb/themes/shared/breadcrumb.bootstrap.css.js.map +1 -0
  61. package/components/breadcrumb/themes/shared/breadcrumb.common.css.d.ts +1 -0
  62. package/components/breadcrumb/themes/shared/breadcrumb.common.css.js +3 -0
  63. package/components/breadcrumb/themes/shared/breadcrumb.common.css.js.map +1 -0
  64. package/components/breadcrumb/themes/shared/breadcrumb.fluent.css.d.ts +1 -0
  65. package/components/breadcrumb/themes/shared/breadcrumb.fluent.css.js +3 -0
  66. package/components/breadcrumb/themes/shared/breadcrumb.fluent.css.js.map +1 -0
  67. package/components/breadcrumb/themes/shared/breadcrumb.indigo.css.d.ts +1 -0
  68. package/components/breadcrumb/themes/shared/breadcrumb.indigo.css.js +3 -0
  69. package/components/breadcrumb/themes/shared/breadcrumb.indigo.css.js.map +1 -0
  70. package/components/breadcrumb/themes/shared/breadcrumb.material.css.d.ts +1 -0
  71. package/components/breadcrumb/themes/shared/breadcrumb.material.css.js +3 -0
  72. package/components/breadcrumb/themes/shared/breadcrumb.material.css.js.map +1 -0
  73. package/components/breadcrumb/themes/themes.d.ts +2 -0
  74. package/components/breadcrumb/themes/themes.js +50 -0
  75. package/components/breadcrumb/themes/themes.js.map +1 -0
  76. package/components/button/button.d.ts +0 -2
  77. package/components/button/button.js.map +1 -1
  78. package/components/button-group/button-group.d.ts +42 -12
  79. package/components/button-group/button-group.js +82 -34
  80. package/components/button-group/button-group.js.map +1 -1
  81. package/components/button-group/toggle-button.d.ts +6 -1
  82. package/components/button-group/toggle-button.js +28 -2
  83. package/components/button-group/toggle-button.js.map +1 -1
  84. package/components/calendar/base.d.ts +7 -2
  85. package/components/calendar/base.js +10 -4
  86. package/components/calendar/base.js.map +1 -1
  87. package/components/calendar/calendar.d.ts +6 -3
  88. package/components/calendar/calendar.js +41 -14
  89. package/components/calendar/calendar.js.map +1 -1
  90. package/components/calendar/days-view/days-view.d.ts +5 -8
  91. package/components/calendar/days-view/days-view.js +7 -16
  92. package/components/calendar/days-view/days-view.js.map +1 -1
  93. package/components/calendar/helpers.d.ts +13 -0
  94. package/components/calendar/helpers.js +15 -0
  95. package/components/calendar/helpers.js.map +1 -1
  96. package/components/calendar/themes/calendar.base.css.js +1 -1
  97. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  98. package/components/calendar/themes/days-view.base.css.js +1 -1
  99. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  100. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  101. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  102. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  103. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  104. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  105. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  106. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  107. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  108. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js +1 -1
  109. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js.map +1 -1
  110. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  111. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  112. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  113. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  114. package/components/card/themes/container.base.css.js +1 -1
  115. package/components/card/themes/container.base.css.js.map +1 -1
  116. package/components/carousel/carousel-indicator.js +1 -0
  117. package/components/carousel/carousel-indicator.js.map +1 -1
  118. package/components/carousel/carousel-slide.d.ts +1 -1
  119. package/components/carousel/carousel-slide.js.map +1 -1
  120. package/components/carousel/carousel.d.ts +3 -3
  121. package/components/carousel/carousel.js.map +1 -1
  122. package/components/carousel/themes/carousel.base.css.js +1 -1
  123. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  124. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  125. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  126. package/components/chat/chat-input.d.ts +1 -2
  127. package/components/chat/chat-input.js +1 -1
  128. package/components/chat/chat-input.js.map +1 -1
  129. package/components/chat/chat-state.d.ts +8 -9
  130. package/components/chat/chat-state.js.map +1 -1
  131. package/components/chat/chat.d.ts +1 -3
  132. package/components/chat/chat.js +2 -2
  133. package/components/chat/chat.js.map +1 -1
  134. package/components/chat/message-attachments.d.ts +6 -15
  135. package/components/chat/message-attachments.js.map +1 -1
  136. package/components/chat/themes/chat.base.css.js +1 -1
  137. package/components/chat/themes/chat.base.css.js.map +1 -1
  138. package/components/chat/themes/message.base.css.js +1 -1
  139. package/components/chat/themes/message.base.css.js.map +1 -1
  140. package/components/chat/utils.d.ts +0 -1
  141. package/components/chat/utils.js +1 -1
  142. package/components/chat/utils.js.map +1 -1
  143. package/components/checkbox/checkbox-base.d.ts +1 -1
  144. package/components/checkbox/checkbox.js +1 -1
  145. package/components/checkbox/checkbox.js.map +1 -1
  146. package/components/checkbox/themes/checkbox.base.css.js +1 -1
  147. package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
  148. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  149. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  150. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  151. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  152. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  153. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  154. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  155. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  156. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  157. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  158. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  159. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  160. package/components/checkbox/themes/switch.base.css.js +1 -1
  161. package/components/checkbox/themes/switch.base.css.js.map +1 -1
  162. package/components/chip/chip.d.ts +2 -2
  163. package/components/chip/chip.js.map +1 -1
  164. package/components/color-picker/color-picker.d.ts +35 -34
  165. package/components/color-picker/color-picker.js +9 -4
  166. package/components/color-picker/color-picker.js.map +1 -1
  167. package/components/color-picker/common.d.ts +0 -2
  168. package/components/color-picker/common.js +2 -2
  169. package/components/color-picker/common.js.map +1 -1
  170. package/components/color-picker/converters.js.map +1 -1
  171. package/components/color-picker/picker-canvas.js.map +1 -1
  172. package/components/color-picker/themes/color-picker.base.css.js +1 -1
  173. package/components/color-picker/themes/color-picker.base.css.js.map +1 -1
  174. package/components/combo/combo.d.ts +18 -20
  175. package/components/combo/combo.js +8 -2
  176. package/components/combo/combo.js.map +1 -1
  177. package/components/combo/controllers/data.d.ts +7 -10
  178. package/components/combo/controllers/data.js.map +1 -1
  179. package/components/combo/themes/combo-item.base.css.js +1 -1
  180. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  181. package/components/combo/themes/combo.base.css.js +1 -1
  182. package/components/combo/themes/combo.base.css.js.map +1 -1
  183. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  184. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  185. package/components/date-picker/date-picker.base.d.ts +33 -29
  186. package/components/date-picker/date-picker.base.js +15 -4
  187. package/components/date-picker/date-picker.base.js.map +1 -1
  188. package/components/date-picker/date-picker.d.ts +1 -1
  189. package/components/date-picker/date-picker.js +5 -3
  190. package/components/date-picker/date-picker.js.map +1 -1
  191. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  192. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  193. package/components/date-range-picker/date-range-input.d.ts +0 -2
  194. package/components/date-range-picker/date-range-input.js +0 -6
  195. package/components/date-range-picker/date-range-input.js.map +1 -1
  196. package/components/date-range-picker/date-range-picker.base.css.js +1 -1
  197. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -1
  198. package/components/date-range-picker/date-range-picker.d.ts +22 -31
  199. package/components/date-range-picker/date-range-picker.js +7 -7
  200. package/components/date-range-picker/date-range-picker.js.map +1 -1
  201. package/components/date-range-picker/i18n.d.ts +21 -0
  202. package/components/date-range-picker/i18n.js +10 -0
  203. package/components/date-range-picker/i18n.js.map +1 -0
  204. package/components/date-range-picker/predefined-ranges-area.base.css.js +1 -1
  205. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -1
  206. package/components/date-range-picker/predefined-ranges-area.d.ts +3 -3
  207. package/components/date-range-picker/predefined-ranges-area.js +2 -5
  208. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  209. package/components/date-range-picker/validators.d.ts +0 -4
  210. package/components/date-range-picker/validators.js +4 -4
  211. package/components/date-range-picker/validators.js.map +1 -1
  212. package/components/date-time-input/date-time-input.base.d.ts +39 -37
  213. package/components/date-time-input/date-time-input.base.js +6 -0
  214. package/components/date-time-input/date-time-input.base.js.map +1 -1
  215. package/components/date-time-input/date-time-input.d.ts +1 -11
  216. package/components/date-time-input/date-time-input.js +0 -6
  217. package/components/date-time-input/date-time-input.js.map +1 -1
  218. package/components/date-time-input/datetime-mask-parser.d.ts +0 -10
  219. package/components/date-time-input/datetime-mask-parser.js +1 -1
  220. package/components/date-time-input/datetime-mask-parser.js.map +1 -1
  221. package/components/dialog/dialog.js.map +1 -1
  222. package/components/divider/themes/divider.base.css.js +1 -1
  223. package/components/divider/themes/divider.base.css.js.map +1 -1
  224. package/components/dropdown/dropdown-group.d.ts +2 -10
  225. package/components/dropdown/dropdown-group.js +2 -27
  226. package/components/dropdown/dropdown-group.js.map +1 -1
  227. package/components/dropdown/dropdown.d.ts +17 -23
  228. package/components/dropdown/dropdown.js +5 -17
  229. package/components/dropdown/dropdown.js.map +1 -1
  230. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  231. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  232. package/components/dropdown/themes/dropdown.base.css.js +1 -1
  233. package/components/dropdown/themes/dropdown.base.css.js.map +1 -1
  234. package/components/file-input/file-input.d.ts +2 -2
  235. package/components/file-input/file-input.js.map +1 -1
  236. package/components/file-input/themes/file-input.base.css.js +1 -1
  237. package/components/file-input/themes/file-input.base.css.js.map +1 -1
  238. package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
  239. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
  240. package/components/icon/icon.d.ts +1 -1
  241. package/components/icon/icon.registry.d.ts +6 -6
  242. package/components/icon/icon.registry.js.map +1 -1
  243. package/components/input/input.d.ts +3 -3
  244. package/components/input/input.js.map +1 -1
  245. package/components/input/themes/shared/input.indigo.css.js +1 -1
  246. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  247. package/components/input/themes/shared/input.material.css.js +1 -1
  248. package/components/input/themes/shared/input.material.css.js.map +1 -1
  249. package/components/list/themes/item.base.css.js +1 -1
  250. package/components/list/themes/item.base.css.js.map +1 -1
  251. package/components/mask-input/mask-history.d.ts +22 -18
  252. package/components/mask-input/mask-history.js.map +1 -1
  253. package/components/mask-input/mask-input.d.ts +1 -1
  254. package/components/mask-input/mask-parser.d.ts +11 -13
  255. package/components/mask-input/mask-parser.js.map +1 -1
  256. package/components/nav-drawer/themes/item.base.css.js +1 -1
  257. package/components/nav-drawer/themes/item.base.css.js.map +1 -1
  258. package/components/popover/popover.d.ts +45 -34
  259. package/components/popover/popover.js +54 -122
  260. package/components/popover/popover.js.map +1 -1
  261. package/components/popover/position/arrow.d.ts +19 -0
  262. package/components/popover/position/arrow.js +33 -0
  263. package/components/popover/position/arrow.js.map +1 -0
  264. package/components/popover/position/floating.d.ts +40 -0
  265. package/components/popover/position/floating.js +146 -0
  266. package/components/popover/position/floating.js.map +1 -0
  267. package/components/popover/position/native.d.ts +45 -0
  268. package/components/popover/position/native.js +158 -0
  269. package/components/popover/position/native.js.map +1 -0
  270. package/components/popover/position/strategy.d.ts +37 -0
  271. package/components/popover/position/strategy.js +21 -0
  272. package/components/popover/position/strategy.js.map +1 -0
  273. package/components/popover/position/types.d.ts +26 -0
  274. package/components/popover/position/types.js +15 -0
  275. package/components/popover/position/types.js.map +1 -0
  276. package/components/popover/themes/light/popover.base.css.js +1 -1
  277. package/components/popover/themes/light/popover.base.css.js.map +1 -1
  278. package/components/progress/circular-progress.d.ts +0 -5
  279. package/components/progress/circular-progress.js.map +1 -1
  280. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  281. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  282. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.d.ts +1 -0
  283. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js +3 -0
  284. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js.map +1 -0
  285. package/components/progress/themes/linear/themes.js +3 -2
  286. package/components/progress/themes/linear/themes.js.map +1 -1
  287. package/components/qr-code/qr-code.d.ts +29 -2
  288. package/components/qr-code/qr-code.js +56 -13
  289. package/components/qr-code/qr-code.js.map +1 -1
  290. package/components/qr-code/renderer/export.d.ts +28 -0
  291. package/components/qr-code/renderer/export.js +120 -0
  292. package/components/qr-code/renderer/export.js.map +1 -0
  293. package/components/qr-code/types.d.ts +26 -0
  294. package/components/qr-code/types.js.map +1 -1
  295. package/components/radio/radio.d.ts +4 -4
  296. package/components/radio/radio.js +17 -14
  297. package/components/radio/radio.js.map +1 -1
  298. package/components/radio/themes/radio.base.css.js +1 -1
  299. package/components/radio/themes/radio.base.css.js.map +1 -1
  300. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  301. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  302. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  303. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  304. package/components/radio-group/radio-group.js.map +1 -1
  305. package/components/rating/rating.d.ts +6 -6
  306. package/components/rating/rating.js.map +1 -1
  307. package/components/select/select-group.d.ts +5 -10
  308. package/components/select/select-group.js +10 -34
  309. package/components/select/select-group.js.map +1 -1
  310. package/components/select/select.d.ts +12 -20
  311. package/components/select/select.js +4 -14
  312. package/components/select/select.js.map +1 -1
  313. package/components/select/themes/select.base.css.js +1 -1
  314. package/components/select/themes/select.base.css.js.map +1 -1
  315. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  316. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  317. package/components/slider/themes/shared/slider.material.css.js +1 -1
  318. package/components/slider/themes/shared/slider.material.css.js.map +1 -1
  319. package/components/slider/themes/slider.base.css.js +1 -1
  320. package/components/slider/themes/slider.base.css.js.map +1 -1
  321. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  322. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  323. package/components/splitter/splitter.d.ts +6 -6
  324. package/components/splitter/splitter.js.map +1 -1
  325. package/components/splitter/themes/splitter.base.css.js +1 -1
  326. package/components/splitter/themes/splitter.base.css.js.map +1 -1
  327. package/components/stepper/themes/step/step.base.css.js +1 -1
  328. package/components/stepper/themes/step/step.base.css.js.map +1 -1
  329. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
  330. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
  331. package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
  332. package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
  333. package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
  334. package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
  335. package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
  336. package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
  337. package/components/tabs/themes/shared/tabs/tabs.fluent.css.js +1 -1
  338. package/components/tabs/themes/shared/tabs/tabs.fluent.css.js.map +1 -1
  339. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
  340. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
  341. package/components/tabs/themes/shared/tabs/tabs.material.css.js +1 -1
  342. package/components/tabs/themes/shared/tabs/tabs.material.css.js.map +1 -1
  343. package/components/tabs/themes/tab.base.css.js +1 -1
  344. package/components/tabs/themes/tab.base.css.js.map +1 -1
  345. package/components/textarea/textarea.d.ts +1 -1
  346. package/components/textarea/textarea.js.map +1 -1
  347. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  348. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  349. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  350. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  351. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  352. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  353. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  354. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  355. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  356. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  357. package/components/tile-manager/themes/tile.base.css.js +1 -1
  358. package/components/tile-manager/themes/tile.base.css.js.map +1 -1
  359. package/components/tile-manager/tile-manager.d.ts +6 -7
  360. package/components/tile-manager/tile-manager.js.map +1 -1
  361. package/components/tile-manager/tile.d.ts +3 -3
  362. package/components/tile-manager/tile.js.map +1 -1
  363. package/components/toast/themes/toast.base.css.js +1 -1
  364. package/components/toast/themes/toast.base.css.js.map +1 -1
  365. package/components/toast/toast.d.ts +0 -2
  366. package/components/toast/toast.js.map +1 -1
  367. package/components/tooltip/controller.js.map +1 -1
  368. package/components/tooltip/service.js +4 -5
  369. package/components/tooltip/service.js.map +1 -1
  370. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  371. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  372. package/components/tooltip/tooltip.d.ts +34 -13
  373. package/components/tooltip/tooltip.js +8 -4
  374. package/components/tooltip/tooltip.js.map +1 -1
  375. package/components/tree/themes/item.base.css.js +1 -1
  376. package/components/tree/themes/item.base.css.js.map +1 -1
  377. package/components/tree/tree-item.d.ts +6 -6
  378. package/components/tree/tree-item.js.map +1 -1
  379. package/components/tree/tree.navigation.d.ts +5 -6
  380. package/components/tree/tree.navigation.js.map +1 -1
  381. package/components/tree/tree.selection.js.map +1 -1
  382. package/components/types.d.ts +1 -1
  383. package/components/types.js.map +1 -1
  384. package/components/validation-container/themes/validator.base.css.js +1 -1
  385. package/components/validation-container/themes/validator.base.css.js.map +1 -1
  386. package/components/validation-container/validation-container.d.ts +10 -12
  387. package/components/validation-container/validation-container.js +14 -17
  388. package/components/validation-container/validation-container.js.map +1 -1
  389. package/components/virtualization/engine.d.ts +5 -5
  390. package/components/virtualization/engine.js.map +1 -1
  391. package/components/virtualization/virtualization.d.ts +61 -63
  392. package/components/virtualization/virtualization.js +6 -5
  393. package/components/virtualization/virtualization.js.map +1 -1
  394. package/custom-elements.json +16769 -19698
  395. package/igniteui-webcomponents.css-data.json +2 -2
  396. package/igniteui-webcomponents.html-data.json +1 -1
  397. package/index.d.ts +3 -1
  398. package/index.js +2 -0
  399. package/index.js.map +1 -1
  400. package/internals/abort-handler.d.ts +13 -25
  401. package/internals/abort-handler.js +4 -6
  402. package/internals/abort-handler.js.map +1 -1
  403. package/internals/context.d.ts +13 -7
  404. package/internals/context.js +2 -1
  405. package/internals/context.js.map +1 -1
  406. package/internals/controllers/adopt-styles.d.ts +19 -20
  407. package/internals/controllers/adopt-styles.js +3 -8
  408. package/internals/controllers/adopt-styles.js.map +1 -1
  409. package/internals/controllers/aria-projection.d.ts +56 -55
  410. package/internals/controllers/aria-projection.js +14 -15
  411. package/internals/controllers/aria-projection.js.map +1 -1
  412. package/internals/controllers/async-consumer.js.map +1 -1
  413. package/internals/controllers/command.d.ts +15 -30
  414. package/internals/controllers/command.js +2 -7
  415. package/internals/controllers/command.js.map +1 -1
  416. package/internals/controllers/context-provider.d.ts +7 -13
  417. package/internals/controllers/context-provider.js.map +1 -1
  418. package/internals/controllers/focus-ring.d.ts +10 -30
  419. package/internals/controllers/focus-ring.js +6 -12
  420. package/internals/controllers/focus-ring.js.map +1 -1
  421. package/internals/controllers/fullscreen.d.ts +7 -23
  422. package/internals/controllers/fullscreen.js +3 -9
  423. package/internals/controllers/fullscreen.js.map +1 -1
  424. package/internals/controllers/gestures.d.ts +10 -29
  425. package/internals/controllers/gestures.js +1 -3
  426. package/internals/controllers/gestures.js.map +1 -1
  427. package/internals/controllers/group.d.ts +13 -30
  428. package/internals/controllers/group.js.map +1 -1
  429. package/internals/controllers/host-listeners.d.ts +28 -0
  430. package/internals/controllers/host-listeners.js +27 -0
  431. package/internals/controllers/host-listeners.js.map +1 -0
  432. package/internals/controllers/id-resolver.d.ts +8 -9
  433. package/internals/controllers/id-resolver.js +6 -14
  434. package/internals/controllers/id-resolver.js.map +1 -1
  435. package/internals/controllers/internals.d.ts +53 -104
  436. package/internals/controllers/internals.js +40 -13
  437. package/internals/controllers/internals.js.map +1 -1
  438. package/internals/controllers/key-bindings.d.ts +61 -158
  439. package/internals/controllers/key-bindings.js +68 -67
  440. package/internals/controllers/key-bindings.js.map +1 -1
  441. package/internals/controllers/keys.d.ts +32 -0
  442. package/internals/controllers/keys.js +20 -0
  443. package/internals/controllers/keys.js.map +1 -0
  444. package/internals/controllers/mutation-observer.d.ts +14 -37
  445. package/internals/controllers/mutation-observer.js +1 -1
  446. package/internals/controllers/mutation-observer.js.map +1 -1
  447. package/internals/controllers/resize-observer.d.ts +9 -19
  448. package/internals/controllers/resize-observer.js.map +1 -1
  449. package/internals/controllers/root-click.d.ts +11 -42
  450. package/internals/controllers/root-click.js +4 -6
  451. package/internals/controllers/root-click.js.map +1 -1
  452. package/internals/controllers/roving-focus.d.ts +16 -35
  453. package/internals/controllers/roving-focus.js.map +1 -1
  454. package/internals/controllers/slot.d.ts +25 -54
  455. package/internals/controllers/slot.js +6 -6
  456. package/internals/controllers/slot.js.map +1 -1
  457. package/internals/controllers/toggle.d.ts +44 -48
  458. package/internals/controllers/toggle.js.map +1 -1
  459. package/internals/date/compare.js.map +1 -1
  460. package/internals/date/converters.d.ts +10 -7
  461. package/internals/date/converters.js.map +1 -1
  462. package/internals/date/model.d.ts +9 -16
  463. package/internals/date/model.js +22 -25
  464. package/internals/date/model.js.map +1 -1
  465. package/internals/decorators/blazorAdditionalDependencies.d.ts +4 -2
  466. package/internals/decorators/blazorAdditionalDependencies.js.map +1 -1
  467. package/internals/decorators/blazorDeepImport.d.ts +1 -3
  468. package/internals/decorators/blazorDeepImport.js.map +1 -1
  469. package/internals/decorators/blazorInclude.d.ts +3 -2
  470. package/internals/decorators/blazorInclude.js.map +1 -1
  471. package/internals/decorators/blazorIndirectRender.d.ts +1 -3
  472. package/internals/decorators/blazorIndirectRender.js.map +1 -1
  473. package/internals/decorators/blazorSuppressComponent.d.ts +1 -3
  474. package/internals/decorators/blazorSuppressComponent.js.map +1 -1
  475. package/internals/decorators/coerced-property.d.ts +14 -20
  476. package/internals/decorators/coerced-property.js.map +1 -1
  477. package/internals/decorators/shadow-options.d.ts +2 -5
  478. package/internals/decorators/shadow-options.js.map +1 -1
  479. package/internals/definitions/defineAllComponents.js +6 -0
  480. package/internals/definitions/defineAllComponents.js.map +1 -1
  481. package/internals/directives/drag.d.ts +51 -81
  482. package/internals/directives/drag.js +27 -89
  483. package/internals/directives/drag.js.map +1 -1
  484. package/internals/directives/pointer-operation.d.ts +75 -0
  485. package/internals/directives/pointer-operation.js +92 -0
  486. package/internals/directives/pointer-operation.js.map +1 -0
  487. package/internals/directives/resize.d.ts +36 -64
  488. package/internals/directives/resize.js +18 -85
  489. package/internals/directives/resize.js.map +1 -1
  490. package/internals/i18n/EN/calendar.resources.d.ts +8 -2
  491. package/internals/i18n/EN/calendar.resources.js +2 -2
  492. package/internals/i18n/EN/calendar.resources.js.map +1 -1
  493. package/internals/i18n/EN/chat.resources.d.ts +8 -2
  494. package/internals/i18n/EN/chat.resources.js +3 -10
  495. package/internals/i18n/EN/chat.resources.js.map +1 -1
  496. package/internals/i18n/EN/date-picker.resources.d.ts +6 -4
  497. package/internals/i18n/EN/date-picker.resources.js +1 -7
  498. package/internals/i18n/EN/date-picker.resources.js.map +1 -1
  499. package/internals/i18n/EN/date-range-picker.resources.d.ts +9 -2
  500. package/internals/i18n/EN/date-range-picker.resources.js +2 -2
  501. package/internals/i18n/EN/date-range-picker.resources.js.map +1 -1
  502. package/internals/i18n/i18n-controller.d.ts +44 -46
  503. package/internals/i18n/i18n-controller.js +46 -33
  504. package/internals/i18n/i18n-controller.js.map +1 -1
  505. package/internals/i18n/utils.d.ts +9 -4
  506. package/internals/i18n/utils.js +4 -27
  507. package/internals/i18n/utils.js.map +1 -1
  508. package/internals/mixins/alert.d.ts +10 -25
  509. package/internals/mixins/alert.js.map +1 -1
  510. package/internals/mixins/combo-box.d.ts +21 -11
  511. package/internals/mixins/combo-box.js +16 -22
  512. package/internals/mixins/combo-box.js.map +1 -1
  513. package/internals/mixins/event-emitter.js +9 -11
  514. package/internals/mixins/event-emitter.js.map +1 -1
  515. package/internals/mixins/forms/associated-required.d.ts +4 -4
  516. package/internals/mixins/forms/associated-required.js.map +1 -1
  517. package/internals/mixins/forms/associated.d.ts +4 -2
  518. package/internals/mixins/forms/associated.js +8 -19
  519. package/internals/mixins/forms/associated.js.map +1 -1
  520. package/internals/mixins/forms/form-transformers.js.map +1 -1
  521. package/internals/mixins/forms/types.d.ts +24 -80
  522. package/internals/mixins/forms/types.js.map +1 -1
  523. package/internals/mixins/group.d.ts +18 -0
  524. package/internals/mixins/group.js +37 -0
  525. package/internals/mixins/group.js.map +1 -0
  526. package/internals/mixins/i18n.d.ts +10 -16
  527. package/internals/mixins/i18n.js.map +1 -1
  528. package/internals/mixins/mask-behavior.d.ts +8 -22
  529. package/internals/mixins/mask-behavior.js +1 -2
  530. package/internals/mixins/mask-behavior.js.map +1 -1
  531. package/internals/mixins/option.d.ts +1 -2
  532. package/internals/mixins/option.js +2 -1
  533. package/internals/mixins/option.js.map +1 -1
  534. package/internals/part-map.d.ts +4 -2
  535. package/internals/part-map.js +1 -1
  536. package/internals/part-map.js.map +1 -1
  537. package/internals/templates/input-shell.d.ts +8 -17
  538. package/internals/templates/input-shell.js +4 -1
  539. package/internals/templates/input-shell.js.map +1 -1
  540. package/internals/templates/masked-input.d.ts +7 -8
  541. package/internals/templates/masked-input.js.map +1 -1
  542. package/internals/templates/slotted-icon.d.ts +7 -12
  543. package/internals/templates/slotted-icon.js.map +1 -1
  544. package/internals/templates/toggle-shell.d.ts +6 -7
  545. package/internals/templates/toggle-shell.js.map +1 -1
  546. package/internals/timing.d.ts +5 -14
  547. package/internals/timing.js.map +1 -1
  548. package/internals/utils/arrays.d.ts +21 -21
  549. package/internals/utils/arrays.js +14 -0
  550. package/internals/utils/arrays.js.map +1 -1
  551. package/internals/utils/dom.d.ts +51 -39
  552. package/internals/utils/dom.js +1 -2
  553. package/internals/utils/dom.js.map +1 -1
  554. package/internals/utils/events.d.ts +29 -16
  555. package/internals/utils/events.js +9 -1
  556. package/internals/utils/events.js.map +1 -1
  557. package/internals/utils/lit.d.ts +5 -2
  558. package/internals/utils/lit.js.map +1 -1
  559. package/internals/utils/math.d.ts +8 -6
  560. package/internals/utils/math.js.map +1 -1
  561. package/internals/utils/objects.d.ts +3 -20
  562. package/internals/utils/objects.js +1 -39
  563. package/internals/utils/objects.js.map +1 -1
  564. package/internals/utils/strings.d.ts +9 -11
  565. package/internals/utils/strings.js.map +1 -1
  566. package/internals/utils/types.d.ts +16 -3
  567. package/internals/utils/types.js +3 -0
  568. package/internals/utils/types.js.map +1 -1
  569. package/internals/validators.d.ts +9 -8
  570. package/internals/validators.js +12 -6
  571. package/internals/validators.js.map +1 -1
  572. package/package.json +1 -1
  573. package/skills/README.md +3 -0
  574. package/skills/igniteui-wc-figma-to-app/SKILL.md +907 -0
  575. package/skills/igniteui-wc-figma-to-app/references/asset-extraction.md +363 -0
  576. package/skills/igniteui-wc-figma-to-app/references/design-token-bridge.md +407 -0
  577. package/skills/igniteui-wc-figma-to-app/references/figma-component-map.md +325 -0
  578. package/skills/igniteui-wc-figma-to-app/references/mcp-setup.md +409 -0
  579. package/skills/igniteui-wc-figma-to-app/references/validation-patterns.md +376 -0
  580. package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +21 -0
  581. package/skills/igniteui-wc-integrate-with-framework/SKILL.md +4 -3
  582. package/skills/igniteui-wc-integrate-with-framework/references/vanilla-js.md +14 -0
  583. package/skills/igniteui-wc-migrate-grid-lite-to-premium/SKILL.md +12 -2
  584. package/theming/config.d.ts +14 -5
  585. package/theming/config.js +38 -18
  586. package/theming/config.js.map +1 -1
  587. package/theming/context.d.ts +1 -23
  588. package/theming/context.js.map +1 -1
  589. package/theming/theming-controller.d.ts +2 -32
  590. package/theming/theming-controller.js +15 -21
  591. package/theming/theming-controller.js.map +1 -1
  592. package/theming/theming-event.d.ts +0 -7
  593. package/theming/theming-event.js +0 -13
  594. package/theming/theming-event.js.map +1 -1
  595. package/theming/types.d.ts +1 -8
  596. package/theming/types.js.map +1 -1
  597. package/web-types.json +3 -3
  598. package/animations/presets/slide/index.d.ts +0 -3
  599. package/animations/presets/slide/index.js +0 -16
  600. package/animations/presets/slide/index.js.map +0 -1
  601. package/internals/controllers/root-scroll.d.ts +0 -31
  602. package/internals/controllers/root-scroll.js +0 -71
  603. package/internals/controllers/root-scroll.js.map +0 -1
  604. package/theming/utils.d.ts +0 -11
  605. package/theming/utils.js +0 -20
  606. package/theming/utils.js.map +0 -1
@@ -0,0 +1,407 @@
1
+ # Figma Variables → Ignite UI Web Components Theming Bridge
2
+
3
+ > **Part of the [`igniteui-wc-figma-to-app`](../SKILL.md) skill.**
4
+ >
5
+ > Use this file in Phase 3 to translate Figma variable values (from
6
+ > `figma_get_variable_defs`) into Ignite UI Theming MCP inputs. Read it in full before
7
+ > calling any theming tool. For the theming system itself — palette semantics, token
8
+ > rules, compound components — the source of truth is
9
+ > [`igniteui-wc-customize-component-theme`](../../igniteui-wc-customize-component-theme/SKILL.md).
10
+
11
+ ---
12
+
13
+ ## How the Indigo.Design UI Kits Organize Variables
14
+
15
+ The **Indigo.Design UI Kits** are Figma component libraries published by Infragistics.
16
+ Designers build their own app frames in Figma using these kits as shared libraries. The
17
+ kits come in four design-system variants, each with light and dark themes:
18
+
19
+ | Kit variant | Figma library name pattern | `designSystem` value |
20
+ | ---------------------- | ----------------------------------------------- | -------------------- |
21
+ | Material (most common) | `Indigo.Design UI Kit for Material` | `"material"` |
22
+ | Fluent | `Indigo.Design UI Kit for Fluent` | `"fluent"` |
23
+ | Bootstrap | `Indigo.Design UI Kit for Bootstrap` | `"bootstrap"` |
24
+ | Indigo | `Indigo.Design UI Kit` / `Indigo.Design System` | `"indigo"` |
25
+
26
+ **Identifying the active kit variant** is the first task in Phase 3 because it sets the
27
+ design system for the whole app. Use these signals in **strict precedence order** — stop
28
+ at the first clear match:
29
+
30
+ 1. **Library source name** — `figma_get_design_context` / `figma_get_metadata` may
31
+ reference the source library file name.
32
+ 2. **Variable collection name** — `figma_get_variable_defs` may return collection names
33
+ that include the design system (e.g. `Material/color/primary`).
34
+ 3. **Elevation variable structure** — inspect `Elevations/*`:
35
+ - **Three-layer DROP_SHADOW** (umbra + penumbra + ambient, `Elevations/Shadow 01-03`) → **Material**
36
+ - **Single-layer DROP_SHADOW** → Indigo, Fluent, or Bootstrap
37
+ 4. **Palette shade naming** — `primary/500`, `primary/100`–`primary/900` follows the
38
+ Material 100–900 convention → likely **Material**.
39
+ 5. **Visual heuristics** — see the [Design System Detection table](#design-system-detection-from-figma).
40
+
41
+ > **Never use font name as a primary signal.** "Titillium Web" is the default body font in
42
+ > the Indigo.Design UI Kit for Material — it is not exclusive to any kit variant.
43
+
44
+ All four kit variants share the same variable naming conventions:
45
+
46
+ ```
47
+ Primitives collection → raw palette values (e.g. blue/500 = #6200EE)
48
+ Semantic collection → role-based aliases (e.g. color/primary = alias → blue/500)
49
+ Component collection → per-component overrides (e.g. button/background = alias → color/primary)
50
+ ```
51
+
52
+ ---
53
+
54
+ ## The Web Components Theming Contract
55
+
56
+ Before mapping any value, understand what actually drives a Web Components theme. This is
57
+ the single biggest difference from the Angular flow.
58
+
59
+ | Layer | What it is | How it gets set |
60
+ | --- | --- | --- |
61
+ | **Design system + variant** | `--ig-theme`, `--ig-theme-variant` on `:root` | A pre-built theme CSS import or the `:root` block generated by `create_theme`; `configureTheme(ds, variant)` switches component themes at runtime but does not rewrite these CSS variables |
62
+ | **Palette** | `--ig-<family>-<shade>` and `--ig-<family>-<shade>-contrast` custom properties | `create_palette` / `create_theme`, or overriding the `*-500` base shade by hand |
63
+ | **Typography** | `--ig-font-family` plus the type scale | `create_typography`, or plain CSS in a CSS-only project |
64
+ | **Elevations** | shadow custom properties | `create_elevations` (`designSystem: "material" \| "indigo"`) |
65
+ | **Layout** | `--ig-size`, `--ig-spacing`, `--ig-radius-factor` | `set_size` / `set_spacing` / `set_roundness` |
66
+ | **Per component** | component design tokens | `get_component_design_tokens` → `create_component_theme` |
67
+
68
+ Components read the design system **at runtime from CSS variables** and fall back to
69
+ `bootstrap` / `light` when they are absent. A correct palette with a missing
70
+ `--ig-theme` gives you the right colors on the wrong component anatomy.
71
+
72
+ **Every theming tool accepts `output: "css" | "sass"`, defaulting to CSS.** Choose once in
73
+ Phase 3 based on whether the project has Sass, and stay consistent. The Web Components Sass
74
+ API is `@use 'igniteui-theming'` with individual `palette()`, `typography()`, `elevations()`,
75
+ and `spacing()` mixins — the Angular `core()` / `theme()` mixins do not exist here.
76
+
77
+ ---
78
+
79
+ ## Global Palette Mapping
80
+
81
+ ### Primary Color
82
+
83
+ | Figma Variable Pattern | Theming Input | Notes |
84
+ | ---------------------- | ----------------------------- | --------------------------------------- |
85
+ | `color/primary` | `primary` in `create_palette` | Use the resolved hex value |
86
+ | `primary/500` | `primary` | The 500 shade is the seed color |
87
+ | `Primary/Default` | `primary` | Alternative naming in some kit versions |
88
+ | `palette/primary/500` | `primary` | Prefixed naming pattern |
89
+
90
+ > **Parameter names differ between tools.** `create_palette` takes `primary`, `secondary`,
91
+ > `surface`, `gray`, `info`, `success`, `warn`, `error`. `create_theme` takes
92
+ > `primaryColor`, `secondaryColor`, `surfaceColor`. Do not mix them up.
93
+
94
+ ### Secondary / Accent Color
95
+
96
+ | Figma Variable Pattern | Theming Input | Notes |
97
+ | ---------------------- | ------------------------------- | ---------------------------------- |
98
+ | `color/secondary` | `secondary` in `create_palette` | — |
99
+ | `secondary/500` | `secondary` | — |
100
+ | `Secondary/Default` | `secondary` | — |
101
+ | `color/accent` | `secondary` | Some kit variants call it "accent" |
102
+
103
+ ### Surface / Background Color
104
+
105
+ | Figma Variable Pattern | Theming Input | Notes |
106
+ | ---------------------- | ----------------------------- | ------------------- |
107
+ | `color/surface` | `surface` in `create_palette` | The main background |
108
+ | `surface/default` | `surface` | — |
109
+ | `Surface` | `surface` | — |
110
+ | `color/background` | `surface` | Alternative naming |
111
+
112
+ ### Gray / Neutral Palette
113
+
114
+ The gray scale is derived automatically from the surface color, and **gray is inverted
115
+ relative to surface** in dark themes. Do not pass gray unless the Figma grays clearly
116
+ diverge from the generated ones. Read `theming://guidance/colors/rules` before overriding.
117
+
118
+ ### Semantic Status Colors
119
+
120
+ | Figma Variable Pattern | Theming Input | Notes |
121
+ | -------------------------------- | ------------- | -------- |
122
+ | `color/success` or `success/500` | `success` | Optional |
123
+ | `color/warning` or `warning/500` | `warn` | Optional — the parameter is `warn`, not `warning` |
124
+ | `color/error` or `error/500` | `error` | Optional |
125
+ | `color/info` or `info/500` | `info` | Optional |
126
+
127
+ ### Multiple Surface Depths
128
+
129
+ Designs frequently use two or three surface depths (page, panel, card) that a single
130
+ generated `surface` cannot express. When that happens:
131
+
132
+ - use `create_custom_palette` for explicit per-shade control, or
133
+ - define semantic variables (`--surface-1`, `--surface-2`) alongside the palette and use
134
+ them in view CSS.
135
+
136
+ Never satisfy a second depth with a raw hex value in component styles.
137
+
138
+ ### Resolving Colors Back Out
139
+
140
+ Use `get_color({ color, variant, contrast, opacity })` to turn a color intent into the
141
+ correct `var(--ig-<family>-<shade>)` reference — including contrast colors and
142
+ transparency — instead of hand-writing variable names.
143
+
144
+ ---
145
+
146
+ ## Typography Mapping
147
+
148
+ | Figma Variable Pattern | Theming Input | Notes |
149
+ | -------------------------------- | -------------------------------------- | ------------------------------------- |
150
+ | `typography/font-family` | `fontFamily` in `create_typography` | Primary font |
151
+ | `typography/body/font-family` | `fontFamily` | Body font family |
152
+ | `typography/heading/font-family` | `fontFamily` | Use if the heading font differs |
153
+ | `font/primary` | `fontFamily` | Alternative naming |
154
+
155
+ `create_typography` also accepts `designSystem` (which type scale to start from) and
156
+ `customScale` (per-style overrides of `fontSize`, `fontWeight`, `lineHeight`,
157
+ `letterSpacing`, `textTransform`, margins) — use `customScale` only when the design's type
158
+ ramp genuinely differs from the design system's.
159
+
160
+ In a CSS-only project, apply typography as plain CSS `font-family` / `font-size` /
161
+ `font-weight` rules, or the CSS output of `create_typography`. **Do not emit Sass
162
+ typography mixins into an app that has no Sass.**
163
+
164
+ Web fonts must be loaded by the app (a `<link>` to the font provider or a local `@font-face`);
165
+ setting a font family the browser cannot resolve silently falls back and fails Phase 5.
166
+
167
+ ---
168
+
169
+ ## Spacing, Sizing, and Roundness — Do Not Map Directly
170
+
171
+ > **These tools are NOT equivalent to Figma spacing values.** Do not create a mapping
172
+ > between Figma pixel values and these tools.
173
+
174
+ `set_spacing` takes a **multiplier** (`1.0` = default, plus optional `inline` / `block`
175
+ multipliers). `set_roundness` takes a `radiusFactor` between **0 and 1**. `set_size` takes
176
+ a **density** (`small` / `medium` / `large`, or `1`–`3`). Passing a Figma `spacing/md = 16`
177
+ as `set_spacing({ spacing: 16 })` would produce a 1600% increase.
178
+
179
+ ### When to touch these tools (sparingly)
180
+
181
+ | Tool | Use only when | Never because |
182
+ | ---------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
183
+ | `set_size` | The design consistently uses a noticeably tighter or looser component density than the design system default | A Figma spacing variable happens to be named "compact" |
184
+ | `set_spacing` | Explicitly requested, or required to match a specific density contract; start at the default | A Figma `spacing/*` pixel value looks like the multiplier number |
185
+ | `set_roundness` | The entire app has a clearly distinct border-radius language (fully squared vs fully rounded) | A Figma `border-radius/md = 8` maps numerically to a multiplier |
186
+
187
+ ### The correct adjustment path
188
+
189
+ Scope `--ig-size` and `--ig-spacing` to the component that needs it — both tools take a
190
+ `component` parameter (and `scope` for a sub-component or container selector) that generates
191
+ exactly this:
192
+
193
+ ```
194
+ set_size({ component: "calendar", size: "small", platform: "webcomponents" })
195
+ // → igc-calendar { --ig-size: var(--ig-size-small); }
196
+
197
+ set_spacing({ component: "calendar", spacing: 0.75, platform: "webcomponents" })
198
+ // → igc-calendar { --ig-spacing: 0.75; }
199
+
200
+ set_size({ scope: ".compact-toolbar", size: "small", platform: "webcomponents" })
201
+ ```
202
+
203
+ Or set the custom properties directly:
204
+
205
+ ```css
206
+ igc-calendar {
207
+ --ig-size: var(--ig-size-small);
208
+ --ig-spacing: 0.75;
209
+ }
210
+ ```
211
+
212
+ The Indigo.Design kit's component proportions are already calibrated per design system —
213
+ start from the defaults and adjust only when there is a clear visual reason.
214
+
215
+ ---
216
+
217
+ ## Light vs Dark Mode Detection
218
+
219
+ | Figma Signal | Action |
220
+ | -------------------------------------------------------- | ------------------------------------------------------------------------ |
221
+ | Dark artboard background (`#121212`, `#1a1a1a`, similar) | `variant: "dark"` + the dark theme CSS (`themes/dark/<ds>.css`) |
222
+ | Light artboard background (`#fff`, `#f5f5f5`, similar) | `variant: "light"` + the light theme CSS |
223
+ | Multiple artboards — one light, one dark | Generate both; switch with a class, `prefers-color-scheme`, or `configureTheme` |
224
+ | `color/mode` variable present | Its value (`light` or `dark`) is the authoritative signal |
225
+
226
+ Surface color must match the variant: a light surface with `variant: "dark"` produces
227
+ unreadable components and a luminance warning from the palette tools. Read the warnings.
228
+
229
+ ---
230
+
231
+ ## Design System Detection from Figma
232
+
233
+ | Figma Visual Signal | Likely Design System | `designSystem` Value |
234
+ | ------------------------------------------------------------------ | -------------------------- | -------------------- |
235
+ | Three-layer `DROP_SHADOW` on elevation variables (`Shadow 01-03`) | Material Design | `"material"` |
236
+ | Prominent single-layer shadows, rounded cards, ripple effects | Material Design | `"material"` |
237
+ | Flat surfaces, sharp corners, Segoe/Inter font | Microsoft Fluent | `"fluent"` |
238
+ | Component borders, Bootstrap-like grid | Bootstrap | `"bootstrap"` |
239
+ | Purple/indigo accents, rounded corners, single shadow | Infragistics Indigo | `"indigo"` |
240
+ | `primary/500`, `primary/900` palette shade naming | Material (100–900 palette) | `"material"` |
241
+
242
+ `create_elevations` accepts only `"material"` or `"indigo"` as its `designSystem` — for a
243
+ Fluent or Bootstrap design, pick the closer of the two (usually `material`).
244
+
245
+ ---
246
+
247
+ ## Per-Component Token Resolution
248
+
249
+ ### Step 1: Use the right theme key
250
+
251
+ Theme keys are **not** tag names. Pass the key to `get_component_design_tokens` and
252
+ `create_component_theme`:
253
+
254
+ | Component in the design | Theme key | Selector it generates for |
255
+ | ----------------------- | ------------------- | --------------------------------- |
256
+ | Text input / any input | `input-group` | `igc-input` |
257
+ | Navigation drawer | `navdrawer` | `igc-nav-drawer` |
258
+ | Linear progress bar | `progress-linear` | `igc-linear-progress` |
259
+ | Circular progress | `progress-circular` | `igc-circular-progress` |
260
+ | Single-select combo | `simple-combo` | `igc-combo[single-select]` |
261
+ | Flat / contained / outlined button | `flat-button`, `contained-button`, `outlined-button` | `igc-button[variant="…"]` |
262
+ | Icon button variants | `flat-icon-button`, `contained-icon-button`, `outlined-icon-button` | `igc-icon-button[variant="…"]` |
263
+ | Premium grid | `grid` | `igc-grid` |
264
+ | Lightweight grid | `grid-lite` | `igc-grid-lite` |
265
+ | Dropdown menu | `drop-down` | `igc-dropdown` |
266
+ | App scrollbars | `scrollbar` | `.ig-scrollbar` |
267
+
268
+ Most other components use their obvious key (`card`, `list`, `navbar`, `chip`, `avatar`,
269
+ `badge`, `calendar`, `date-picker`, `select`, `combo`, `tabs`, `stepper`, `tree`, `dialog`,
270
+ `toast`, `snackbar`, `banner`, `tooltip`, `divider`, `rating`, `slider`, `switch`,
271
+ `checkbox`, `radio`, `carousel`, `chat`, `expansion-panel`, `accordion`, `splitter`,
272
+ `file-input`, `date-time-input`, `textarea`, `icon`, `ripple`, `highlight`).
273
+
274
+ **Keys with no Web Components equivalent** — do not call the theming tools for these:
275
+ `action-strip`, `bottom-nav`, `column-actions`, `overlay`, `query-builder`, `time-picker`,
276
+ `date-range-start`, `date-range-end`. Sub-part keys (`card-header`, `list-item`, `step`,
277
+ `tab-item`, `accordion-header`, `expansion-panel-header`, `drop-down-item`,
278
+ `nav-drawer-item`) have no standalone selector either — style them through the parent's
279
+ tokens, their documented `::part(...)`, or slotted content.
280
+
281
+ ### Step 2: Discover the tokens
282
+
283
+ ```
284
+ get_component_design_tokens({ component: "<theme key>" })
285
+ ```
286
+
287
+ The result lists every token with name, type, and description — and, for compound
288
+ components, the **related themes** you must also theme.
289
+
290
+ ### Step 3: Match Figma variables to token names
291
+
292
+ Kit component variables follow `<component>/<role>/<state>`:
293
+
294
+ - `button/background` → token `background`
295
+ - `button/foreground` → token `foreground-color`
296
+ - `chip/background/selected` → token `selected-chip-color`
297
+ - `grid/header-background` → token `header-background`
298
+ - `navbar/background` → token `background`
299
+
300
+ Lookup process: strip the component prefix, match the remainder against the token list, and
301
+ when there is no exact match pick the token whose description names the same visual role.
302
+
303
+ | Component | Figma Variable | Likely Token Name | Notes |
304
+ | --------- | -------------------------- | ----------------------- | ----------------------- |
305
+ | Button | `button/background` | `background` | Per variant key |
306
+ | Button | `button/foreground` | `foreground-color` | Text color |
307
+ | Button | `button/border` | `border-color` | Outlined variant |
308
+ | Chip | `chip/background` | `background` | Default state |
309
+ | Chip | `chip/selected-background` | `selected-chip-color` | — |
310
+ | Grid | `grid/header/background` | `header-background` | — |
311
+ | Grid | `grid/row/background` | `content-background` | — |
312
+ | Grid | `grid/row/hover` | `row-hover-background` | — |
313
+ | Navbar | `navbar/background` | `background` | — |
314
+ | Input | `input/background` | `box-background` | Filled appearance |
315
+ | Input | `input/border` | `border-color` | `outlined` appearance |
316
+ | Card | `card/background` | `background` | — |
317
+ | List | `list/item/background` | `item-background` | — |
318
+ | List | `list/item/hover` | `item-hover-background` | — |
319
+ | Dialog | `dialog/background` | `background` | — |
320
+
321
+ ### Step 4: Generate the component theme
322
+
323
+ Pass **only tokens that differ from the global theme**, and express values as palette
324
+ references — never raw hex:
325
+
326
+ ```
327
+ create_component_theme({
328
+ component: "<theme key>",
329
+ platform: "webcomponents",
330
+ designSystem: "<resolved>",
331
+ variant: "<light|dark>",
332
+ licensed: <true if @infragistics>,
333
+ tokens: {
334
+ "background": "var(--ig-surface-100)",
335
+ "foreground-color": "var(--ig-gray-900)"
336
+ },
337
+ selector: "<optional scope, e.g. .dashboard igc-card>",
338
+ output: "css"
339
+ })
340
+ ```
341
+
342
+ Apply the generated block exactly as returned. Use `selector` to scope an override to one
343
+ region instead of every instance in the app.
344
+
345
+ ### Step 5: Compound components
346
+
347
+ `combo`, `select`, `date-picker`, `date-range-picker`, `grid`, and `banner` render internal
348
+ children with their own themes. Theme each related theme returned in Step 1 using the
349
+ parent's selector as the wrapper. Styling only the parent leaves dropdown surfaces,
350
+ calendars, and action buttons off-theme — a guaranteed Phase 5 failure.
351
+
352
+ ---
353
+
354
+ ## Chart Colors
355
+
356
+ Charts have no design tokens. Take the series colors from the Figma design context and run
357
+ them through the theming MCP before use:
358
+
359
+ ```
360
+ get_chart_series_colors({ chartType: "category-chart" }) // which properties accept a brush list
361
+ get_chart_series_colors({ customBrushes: ["#9DE772", "#6DB1FF"] }) // validate the Figma colors
362
+ get_chart_series_colors({ mode: "color-blind" }) // accessible alternative palette
363
+ ```
364
+
365
+ Assign the result to the chart's `brushes` / `outlines` **properties** (arrays, not
366
+ attributes). Without an explicit assignment the chart uses its own default palette and will
367
+ not match the design.
368
+
369
+ ---
370
+
371
+ ## Variable Resolution Priority
372
+
373
+ When multiple Figma variables could map to the same theming input:
374
+
375
+ 1. **Component-scoped variable** (e.g. `button/background`) → per-component token
376
+ 2. **Semantic role variable** (e.g. `color/primary`) → global palette input
377
+ 3. **Primitive variable** (e.g. `primary/500`) → global palette seed color
378
+ 4. **Raw hex/rgb value** (no variable) → extract directly from the design context
379
+
380
+ ---
381
+
382
+ ## What to Skip
383
+
384
+ Do **not** call theming tools for:
385
+
386
+ - Chart, gauge, and map components → configure via properties; series colors via
387
+ `get_chart_series_colors`
388
+ - Dock Manager → it exposes its own CSS custom properties
389
+ - Pure layout CSS (margins, grid columns, flex gaps) → write it directly in the view's styles
390
+ - Icon colors → set `color` on the `igc-icon` host or its parent
391
+
392
+ ---
393
+
394
+ ## Loading Reference Data
395
+
396
+ | URI | Content |
397
+ | --- | --- |
398
+ | `theming://platforms/webcomponents` | Web Components platform specifics |
399
+ | `theming://guidance/colors/rules` | Surface/gray luminance rules for light and dark |
400
+ | `theming://guidance/colors/roles` | Which components use primary vs secondary vs surface |
401
+ | `theming://guidance/colors/usage` | Which shade for which purpose |
402
+ | `theming://guidance/colors/charts` | Chart color guidance |
403
+ | `theming://presets/palettes` | Preset palette colors |
404
+ | `theming://presets/typography` | Typography presets |
405
+ | `theming://presets/elevations` | Elevation shadow presets |
406
+
407
+ Read them with `read_resource({ uri: "<uri>" })`.