igniteui-webcomponents 5.0.0 → 5.0.2

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 (486) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +3 -3
  3. package/components/accordion/accordion.d.ts +0 -2
  4. package/components/accordion/accordion.js +7 -14
  5. package/components/accordion/accordion.js.map +1 -1
  6. package/components/accordion/themes/accordion.base.css.js +1 -1
  7. package/components/accordion/themes/accordion.base.css.js.map +1 -1
  8. package/components/avatar/themes/avatar.base.css.js +1 -1
  9. package/components/avatar/themes/avatar.base.css.js.map +1 -1
  10. package/components/badge/themes/badge.base.css.js +1 -1
  11. package/components/badge/themes/badge.base.css.js.map +1 -1
  12. package/components/badge/themes/shared/badge.bootstrap.css.js +1 -1
  13. package/components/badge/themes/shared/badge.bootstrap.css.js.map +1 -1
  14. package/components/badge/themes/shared/badge.common.css.js +1 -1
  15. package/components/badge/themes/shared/badge.common.css.js.map +1 -1
  16. package/components/banner/themes/banner.base.css.js +1 -1
  17. package/components/banner/themes/banner.base.css.js.map +1 -1
  18. package/components/banner/themes/shared/banner.bootstrap.css.js +1 -1
  19. package/components/banner/themes/shared/banner.bootstrap.css.js.map +1 -1
  20. package/components/banner/themes/shared/banner.fluent.css.js +1 -1
  21. package/components/banner/themes/shared/banner.fluent.css.js.map +1 -1
  22. package/components/banner/themes/shared/banner.indigo.css.js +1 -1
  23. package/components/banner/themes/shared/banner.indigo.css.js.map +1 -1
  24. package/components/banner/themes/shared/banner.material.css.js +1 -1
  25. package/components/banner/themes/shared/banner.material.css.js.map +1 -1
  26. package/components/button/themes/button/button.base.css.js +1 -1
  27. package/components/button/themes/button/button.base.css.js.map +1 -1
  28. package/components/button/themes/button/shared/button.bootstrap.css.js +1 -1
  29. package/components/button/themes/button/shared/button.bootstrap.css.js.map +1 -1
  30. package/components/button/themes/button/shared/button.common.css.js +1 -1
  31. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  32. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  33. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  34. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  35. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  36. package/components/button/themes/button/shared/button.material.css.js +1 -1
  37. package/components/button/themes/button/shared/button.material.css.js.map +1 -1
  38. package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
  39. package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
  40. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  41. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  42. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  43. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  44. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  45. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  46. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  47. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  48. package/components/button-group/themes/button.base.css.js +1 -1
  49. package/components/button-group/themes/button.base.css.js.map +1 -1
  50. package/components/button-group/themes/group.base.css.js +1 -1
  51. package/components/button-group/themes/group.base.css.js.map +1 -1
  52. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  53. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  54. package/components/button-group/themes/shared/button/button.fluent.css.js +1 -1
  55. package/components/button-group/themes/shared/button/button.fluent.css.js.map +1 -1
  56. package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
  57. package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
  58. package/components/button-group/themes/shared/group/group.common.css.js +1 -1
  59. package/components/button-group/themes/shared/group/group.common.css.js.map +1 -1
  60. package/components/calendar/calendar.d.ts +3 -2
  61. package/components/calendar/calendar.js +10 -9
  62. package/components/calendar/calendar.js.map +1 -1
  63. package/components/calendar/themes/calendar.base.css.js +1 -1
  64. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  65. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  66. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  67. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  68. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  69. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  70. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  71. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  72. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  73. package/components/calendar/themes/days-view.base.css.js +1 -1
  74. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  75. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  76. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  77. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  78. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  79. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  80. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  81. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  82. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  83. package/components/calendar/themes/light/calendar.shared.css.js +1 -1
  84. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -1
  85. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  86. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  87. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  88. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  89. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  90. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  91. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  92. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  93. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  94. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  95. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js +1 -1
  96. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js.map +1 -1
  97. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  98. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  99. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js +1 -1
  100. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js.map +1 -1
  101. package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.js +1 -1
  102. package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.js.map +1 -1
  103. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  104. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  105. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  106. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  107. package/components/calendar/themes/shared/material/year-month-view.material.css.js +1 -1
  108. package/components/calendar/themes/shared/material/year-month-view.material.css.js.map +1 -1
  109. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  110. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  111. package/components/card/themes/card.actions.base.css.js +1 -1
  112. package/components/card/themes/card.actions.base.css.js.map +1 -1
  113. package/components/card/themes/card.content.base.css.js +1 -1
  114. package/components/card/themes/card.content.base.css.js.map +1 -1
  115. package/components/card/themes/card.header.base.css.js +1 -1
  116. package/components/card/themes/card.header.base.css.js.map +1 -1
  117. package/components/card/themes/card.media.base.css.js +1 -1
  118. package/components/card/themes/card.media.base.css.js.map +1 -1
  119. package/components/card/themes/container.base.css.js +1 -1
  120. package/components/card/themes/container.base.css.js.map +1 -1
  121. package/components/card/themes/shared/container/card.common.css.js +1 -1
  122. package/components/card/themes/shared/container/card.common.css.js.map +1 -1
  123. package/components/card/themes/shared/container/card.fluent.css.js +1 -1
  124. package/components/card/themes/shared/container/card.fluent.css.js.map +1 -1
  125. package/components/card/themes/shared/container/card.indigo.css.js +1 -1
  126. package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
  127. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  128. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  129. package/components/checkbox/checkbox-base.d.ts +2 -3
  130. package/components/checkbox/checkbox-base.js +6 -10
  131. package/components/checkbox/checkbox-base.js.map +1 -1
  132. package/components/checkbox/themes/checkbox.base.css.js +1 -1
  133. package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
  134. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  135. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  136. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  137. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  138. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  139. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  140. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  141. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  142. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  143. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  144. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  145. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  146. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  147. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  148. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  149. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  150. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  151. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  152. package/components/checkbox/themes/switch.base.css.js +1 -1
  153. package/components/checkbox/themes/switch.base.css.js.map +1 -1
  154. package/components/chip/chip.d.ts +1 -1
  155. package/components/chip/themes/chip.base.css.js +1 -1
  156. package/components/chip/themes/chip.base.css.js.map +1 -1
  157. package/components/combo/combo.d.ts +3 -4
  158. package/components/combo/combo.js +11 -23
  159. package/components/combo/combo.js.map +1 -1
  160. package/components/combo/themes/combo-header.base.css.js +1 -1
  161. package/components/combo/themes/combo-header.base.css.js.map +1 -1
  162. package/components/combo/themes/combo-item.base.css.js +1 -1
  163. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  164. package/components/combo/themes/combo.base.css.js +1 -1
  165. package/components/combo/themes/combo.base.css.js.map +1 -1
  166. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  167. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  168. package/components/combo/themes/light/combo.indigo.css.js +1 -1
  169. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  170. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  171. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  172. package/components/combo/themes/shared/combo.common.css.js +1 -1
  173. package/components/combo/themes/shared/combo.common.css.js.map +1 -1
  174. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  175. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  176. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  177. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  178. package/components/combo/themes/shared/combo.material.css.js +1 -1
  179. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  180. package/components/common/controllers/key-bindings.d.ts +3 -3
  181. package/components/common/controllers/key-bindings.js +48 -49
  182. package/components/common/controllers/key-bindings.js.map +1 -1
  183. package/components/common/mixins/combo-box.d.ts +2 -2
  184. package/components/common/mixins/forms/associated-required.d.ts +13 -0
  185. package/components/common/mixins/forms/associated-required.js +47 -0
  186. package/components/common/mixins/forms/associated-required.js.map +1 -0
  187. package/components/common/mixins/forms/associated.d.ts +11 -0
  188. package/components/common/mixins/{form-associated.js → forms/associated.js} +102 -57
  189. package/components/common/mixins/forms/associated.js.map +1 -0
  190. package/components/common/mixins/forms/types.d.ts +125 -0
  191. package/components/common/mixins/forms/types.js +2 -0
  192. package/components/common/mixins/forms/types.js.map +1 -0
  193. package/components/date-picker/date-picker.d.ts +6 -3
  194. package/components/date-picker/date-picker.js +30 -24
  195. package/components/date-picker/date-picker.js.map +1 -1
  196. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  197. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  198. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  199. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  200. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  201. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  202. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  203. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  204. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  205. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  206. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  207. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  208. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  209. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  210. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  211. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  212. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  213. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  214. package/components/date-picker/themes/light/date-picker.shared.css.js +1 -1
  215. package/components/date-picker/themes/light/date-picker.shared.css.js.map +1 -1
  216. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  217. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  218. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  219. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  220. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  221. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  222. package/components/date-time-input/date-time-input.js +5 -6
  223. package/components/date-time-input/date-time-input.js.map +1 -1
  224. package/components/dialog/dialog.d.ts +1 -1
  225. package/components/dialog/themes/dialog.base.css.js +1 -1
  226. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  227. package/components/dialog/themes/shared/dialog.bootstrap.css.js +1 -1
  228. package/components/dialog/themes/shared/dialog.bootstrap.css.js.map +1 -1
  229. package/components/dialog/themes/shared/dialog.common.css.js +1 -1
  230. package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
  231. package/components/dialog/themes/shared/dialog.fluent.css.js +1 -1
  232. package/components/dialog/themes/shared/dialog.fluent.css.js.map +1 -1
  233. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  234. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  235. package/components/divider/themes/divider.base.css.js +1 -1
  236. package/components/divider/themes/divider.base.css.js.map +1 -1
  237. package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
  238. package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
  239. package/components/dropdown/themes/dropdown-header.base.css.js +1 -1
  240. package/components/dropdown/themes/dropdown-header.base.css.js.map +1 -1
  241. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  242. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  243. package/components/dropdown/themes/dropdown.base.css.js +1 -1
  244. package/components/dropdown/themes/dropdown.base.css.js.map +1 -1
  245. package/components/dropdown/themes/shared/dropdown.fluent.css.js +1 -1
  246. package/components/dropdown/themes/shared/dropdown.fluent.css.js.map +1 -1
  247. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  248. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  249. package/components/dropdown/themes/shared/dropdown.material.css.js +1 -1
  250. package/components/dropdown/themes/shared/dropdown.material.css.js.map +1 -1
  251. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js +1 -1
  252. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js.map +1 -1
  253. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
  254. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
  255. package/components/expansion-panel/expansion-panel.d.ts +1 -1
  256. package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
  257. package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
  258. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js +1 -1
  259. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js.map +1 -1
  260. package/components/icon/registry/default-map.d.ts +1 -1
  261. package/components/icon/themes/icon.base.css.js +1 -1
  262. package/components/icon/themes/icon.base.css.js.map +1 -1
  263. package/components/input/input-base.d.ts +2 -2
  264. package/components/input/input-base.js +1 -1
  265. package/components/input/input-base.js.map +1 -1
  266. package/components/input/input.d.ts +0 -2
  267. package/components/input/input.js +4 -10
  268. package/components/input/input.js.map +1 -1
  269. package/components/input/themes/input.base.css.js +1 -1
  270. package/components/input/themes/input.base.css.js.map +1 -1
  271. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  272. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  273. package/components/input/themes/shared/input.common.css.js +1 -1
  274. package/components/input/themes/shared/input.common.css.js.map +1 -1
  275. package/components/input/themes/shared/input.fluent.css.js +1 -1
  276. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  277. package/components/input/themes/shared/input.indigo.css.js +1 -1
  278. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  279. package/components/input/themes/shared/input.material.css.js +1 -1
  280. package/components/input/themes/shared/input.material.css.js.map +1 -1
  281. package/components/list/themes/container.base.css.js +1 -1
  282. package/components/list/themes/container.base.css.js.map +1 -1
  283. package/components/list/themes/header.base.css.js +1 -1
  284. package/components/list/themes/header.base.css.js.map +1 -1
  285. package/components/list/themes/item.base.css.js +1 -1
  286. package/components/list/themes/item.base.css.js.map +1 -1
  287. package/components/list/themes/shared/item/list-item.common.css.js +1 -1
  288. package/components/list/themes/shared/item/list-item.common.css.js.map +1 -1
  289. package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
  290. package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
  291. package/components/mask-input/mask-input.d.ts +1 -2
  292. package/components/mask-input/mask-input.js +5 -10
  293. package/components/mask-input/mask-input.js.map +1 -1
  294. package/components/nav-drawer/nav-drawer-item.d.ts +1 -1
  295. package/components/nav-drawer/nav-drawer.d.ts +1 -1
  296. package/components/nav-drawer/themes/container.base.css.js +1 -1
  297. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  298. package/components/nav-drawer/themes/header-item.base.css.js +1 -1
  299. package/components/nav-drawer/themes/header-item.base.css.js.map +1 -1
  300. package/components/nav-drawer/themes/item.base.css.js +1 -1
  301. package/components/nav-drawer/themes/item.base.css.js.map +1 -1
  302. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js +1 -1
  303. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js.map +1 -1
  304. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js +1 -1
  305. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js.map +1 -1
  306. package/components/nav-drawer/themes/shared/item/item.indigo.css.js +1 -1
  307. package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
  308. package/components/navbar/themes/dark/navbar.bootstrap.css.js +1 -1
  309. package/components/navbar/themes/dark/navbar.bootstrap.css.js.map +1 -1
  310. package/components/navbar/themes/dark/navbar.indigo.css.js +1 -1
  311. package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
  312. package/components/navbar/themes/dark/navbar.material.css.js +1 -1
  313. package/components/navbar/themes/dark/navbar.material.css.js.map +1 -1
  314. package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
  315. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  316. package/components/navbar/themes/light/navbar.indigo.css.js +1 -1
  317. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  318. package/components/navbar/themes/light/navbar.shared.css.js +1 -1
  319. package/components/navbar/themes/light/navbar.shared.css.js.map +1 -1
  320. package/components/navbar/themes/navbar.base.css.js +1 -1
  321. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  322. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  323. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  324. package/components/navbar/themes/shared/navbar.common.css.js +1 -1
  325. package/components/navbar/themes/shared/navbar.common.css.js.map +1 -1
  326. package/components/navbar/themes/shared/navbar.indigo.css.js +1 -1
  327. package/components/navbar/themes/shared/navbar.indigo.css.js.map +1 -1
  328. package/components/popover/themes/light/popover.base.css.js +1 -1
  329. package/components/popover/themes/light/popover.base.css.js.map +1 -1
  330. package/components/progress/base.d.ts +1 -1
  331. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  332. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  333. package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js +1 -1
  334. package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js.map +1 -1
  335. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  336. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  337. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js +1 -1
  338. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js.map +1 -1
  339. package/components/progress/themes/linear/shared/linear.progress.common.css.js +1 -1
  340. package/components/progress/themes/linear/shared/linear.progress.common.css.js.map +1 -1
  341. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
  342. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
  343. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
  344. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
  345. package/components/radio/radio.d.ts +4 -5
  346. package/components/radio/radio.js +24 -32
  347. package/components/radio/radio.js.map +1 -1
  348. package/components/radio/themes/radio.base.css.js +1 -1
  349. package/components/radio/themes/radio.base.css.js.map +1 -1
  350. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  351. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  352. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  353. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  354. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  355. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  356. package/components/radio/themes/shared/radio.material.css.js +1 -1
  357. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  358. package/components/radio/utils.js +1 -1
  359. package/components/radio/utils.js.map +1 -1
  360. package/components/radio-group/radio-group.base.css.js +1 -1
  361. package/components/radio-group/radio-group.base.css.js.map +1 -1
  362. package/components/radio-group/radio-group.js +1 -1
  363. package/components/radio-group/radio-group.js.map +1 -1
  364. package/components/rating/rating.d.ts +4 -3
  365. package/components/rating/rating.js +26 -25
  366. package/components/rating/rating.js.map +1 -1
  367. package/components/rating/themes/rating-symbol.base.css.js +1 -1
  368. package/components/rating/themes/rating-symbol.base.css.js.map +1 -1
  369. package/components/rating/themes/rating.base.css.js +1 -1
  370. package/components/rating/themes/rating.base.css.js.map +1 -1
  371. package/components/rating/themes/shared/rating.indigo.css.js +1 -1
  372. package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
  373. package/components/ripple/ripple.material.css.js +1 -1
  374. package/components/ripple/ripple.material.css.js.map +1 -1
  375. package/components/select/select.d.ts +2 -2
  376. package/components/select/select.js +12 -15
  377. package/components/select/select.js.map +1 -1
  378. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  379. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  380. package/components/select/themes/dark/select.fluent.css.js +1 -1
  381. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  382. package/components/select/themes/dark/select.indigo.css.js +1 -1
  383. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  384. package/components/select/themes/dark/select.material.css.js +1 -1
  385. package/components/select/themes/dark/select.material.css.js.map +1 -1
  386. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  387. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  388. package/components/select/themes/light/select.fluent.css.js +1 -1
  389. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  390. package/components/select/themes/light/select.indigo.css.js +1 -1
  391. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  392. package/components/select/themes/light/select.material.css.js +1 -1
  393. package/components/select/themes/light/select.material.css.js.map +1 -1
  394. package/components/select/themes/select.base.css.js +1 -1
  395. package/components/select/themes/select.base.css.js.map +1 -1
  396. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  397. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  398. package/components/select/themes/shared/select.common.css.js +1 -1
  399. package/components/select/themes/shared/select.common.css.js.map +1 -1
  400. package/components/select/themes/shared/select.fluent.css.js +1 -1
  401. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  402. package/components/select/themes/shared/select.indigo.css.js +1 -1
  403. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  404. package/components/select/themes/shared/select.material.css.js +1 -1
  405. package/components/select/themes/shared/select.material.css.js.map +1 -1
  406. package/components/slider/slider.d.ts +2 -1
  407. package/components/slider/slider.js +5 -2
  408. package/components/slider/slider.js.map +1 -1
  409. package/components/slider/themes/shared/slider.bootstrap.css.js +1 -1
  410. package/components/slider/themes/shared/slider.bootstrap.css.js.map +1 -1
  411. package/components/slider/themes/shared/slider.fluent.css.js +1 -1
  412. package/components/slider/themes/shared/slider.fluent.css.js.map +1 -1
  413. package/components/slider/themes/shared/slider.indigo.css.js +1 -1
  414. package/components/slider/themes/shared/slider.indigo.css.js.map +1 -1
  415. package/components/slider/themes/shared/slider.material.css.js +1 -1
  416. package/components/slider/themes/shared/slider.material.css.js.map +1 -1
  417. package/components/slider/themes/slider.base.css.js +1 -1
  418. package/components/slider/themes/slider.base.css.js.map +1 -1
  419. package/components/snackbar/themes/shared/snackbar.common.css.js +1 -1
  420. package/components/snackbar/themes/shared/snackbar.common.css.js.map +1 -1
  421. package/components/snackbar/themes/shared/snackbar.indigo.css.js +1 -1
  422. package/components/snackbar/themes/shared/snackbar.indigo.css.js.map +1 -1
  423. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  424. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  425. package/components/stepper/themes/step/shared/step.bootstrap.css.js +1 -1
  426. package/components/stepper/themes/step/shared/step.bootstrap.css.js.map +1 -1
  427. package/components/stepper/themes/step/shared/step.common.css.js +1 -1
  428. package/components/stepper/themes/step/shared/step.common.css.js.map +1 -1
  429. package/components/stepper/themes/step/shared/step.fluent.css.js +1 -1
  430. package/components/stepper/themes/step/shared/step.fluent.css.js.map +1 -1
  431. package/components/stepper/themes/step/shared/step.indigo.css.js +1 -1
  432. package/components/stepper/themes/step/shared/step.indigo.css.js.map +1 -1
  433. package/components/stepper/themes/step/step.base.css.js +1 -1
  434. package/components/stepper/themes/step/step.base.css.js.map +1 -1
  435. package/components/stepper/themes/stepper/stepper.base.css.js +1 -1
  436. package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
  437. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
  438. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
  439. package/components/tabs/themes/tab-panel.base.css.js +1 -1
  440. package/components/tabs/themes/tab-panel.base.css.js.map +1 -1
  441. package/components/tabs/themes/tab.base.css.js +1 -1
  442. package/components/tabs/themes/tab.base.css.js.map +1 -1
  443. package/components/tabs/themes/tabs.base.css.js +1 -1
  444. package/components/tabs/themes/tabs.base.css.js.map +1 -1
  445. package/components/textarea/textarea.d.ts +1 -1
  446. package/components/textarea/textarea.js +4 -9
  447. package/components/textarea/textarea.js.map +1 -1
  448. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  449. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  450. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  451. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  452. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  453. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  454. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  455. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  456. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  457. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  458. package/components/textarea/themes/textarea.base.css.js +1 -1
  459. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  460. package/components/toast/themes/shared/toast.common.css.js +1 -1
  461. package/components/toast/themes/shared/toast.common.css.js.map +1 -1
  462. package/components/toast/themes/toast.base.css.js +1 -1
  463. package/components/toast/themes/toast.base.css.js.map +1 -1
  464. package/components/tree/themes/container.base.css.js +1 -1
  465. package/components/tree/themes/container.base.css.js.map +1 -1
  466. package/components/tree/themes/item.base.css.js +1 -1
  467. package/components/tree/themes/item.base.css.js.map +1 -1
  468. package/components/tree/themes/shared/item.common.css.js +1 -1
  469. package/components/tree/themes/shared/item.common.css.js.map +1 -1
  470. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  471. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  472. package/components/tree/themes/shared/item.material.css.js +1 -1
  473. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  474. package/custom-elements.json +5994 -2394
  475. package/igniteui-webcomponents.html-data.json +1 -1
  476. package/index.d.ts +2 -0
  477. package/index.js.map +1 -1
  478. package/package.json +1 -1
  479. package/themes/dark/indigo.css +1 -1
  480. package/themes/light/indigo.css +1 -1
  481. package/web-types.json +1 -1
  482. package/components/common/mixins/form-associated-required.d.ts +0 -16
  483. package/components/common/mixins/form-associated-required.js +0 -29
  484. package/components/common/mixins/form-associated-required.js.map +0 -1
  485. package/components/common/mixins/form-associated.d.ts +0 -92
  486. package/components/common/mixins/form-associated.js.map +0 -1
@@ -5,23 +5,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { property } from 'lit/decorators.js';
8
- export function FormAssociatedMixin(superClass) {
9
- class FormAssociatedElement extends superClass {
8
+ function BaseFormAssociated(base) {
9
+ class BaseFormAssociatedElement extends base {
10
10
  get __validators() {
11
11
  return [];
12
12
  }
13
- get form() {
14
- return this.__internals.form;
15
- }
16
- get validity() {
17
- return this.__internals.validity;
18
- }
19
- get validationMessage() {
20
- return this.__internals.validationMessage;
21
- }
22
- get willValidate() {
23
- return this.__internals.willValidate;
24
- }
25
13
  set disabled(value) {
26
14
  this._disabled = value;
27
15
  this.toggleAttribute('disabled', Boolean(this._disabled));
@@ -36,56 +24,51 @@ export function FormAssociatedMixin(superClass) {
36
24
  get invalid() {
37
25
  return this._invalid;
38
26
  }
27
+ get form() {
28
+ return this.__internals.form;
29
+ }
30
+ get validity() {
31
+ return this.__internals.validity;
32
+ }
33
+ get validationMessage() {
34
+ return this.__internals.validationMessage;
35
+ }
36
+ get willValidate() {
37
+ return this.__internals.willValidate;
38
+ }
39
39
  constructor(...args) {
40
40
  super(args);
41
41
  this._disabled = false;
42
42
  this._invalid = false;
43
43
  this._dirty = false;
44
44
  this.__internals = this.attachInternals();
45
- this.addEventListener('invalid', this.handleInvalid);
45
+ this.addEventListener('invalid', this._handleInvalid);
46
46
  }
47
47
  connectedCallback() {
48
48
  super.connectedCallback();
49
49
  this._dirty = false;
50
- this.setDefaultValue();
51
- }
52
- setDefaultValue() {
53
- if ('checked' in this) {
54
- this._defaultValue = this.checked;
55
- }
56
- else if ('value' in this) {
57
- this._defaultValue = this.value;
50
+ this._updateValidity();
51
+ if (!this.hasUpdated) {
52
+ this._setInitialDefaultValue();
58
53
  }
59
54
  }
60
- restoreDefaultValue() {
61
- if ('checked' in this) {
62
- this.checked = this._defaultValue;
63
- }
64
- else if ('value' in this) {
65
- this.value = this._defaultValue;
66
- }
67
- }
68
- handleInvalid(event) {
55
+ _handleInvalid(event) {
69
56
  event.preventDefault();
70
57
  this.invalid = true;
71
58
  }
72
- setFormValue(value, state) {
73
- this.__internals.setFormValue(value, state || value);
74
- }
75
- setValidity(flags, message, anchor) {
76
- this.__internals.setValidity(flags, message, anchor);
77
- }
78
- formResetCallback() {
79
- this.restoreDefaultValue();
80
- this._dirty = false;
81
- this.performUpdate();
82
- this.invalid = false;
59
+ _setInvalidState() {
60
+ if (this.hasUpdated || this._dirty) {
61
+ this.invalid = !this.checkValidity();
62
+ }
83
63
  }
84
- formDisabledCallback(state) {
85
- this._disabled = state;
86
- this.requestUpdate();
64
+ _setInitialDefaultValue() { }
65
+ _setDefaultValue(_prev, _current) { }
66
+ _restoreDefaultValue() { }
67
+ _validate(message) {
68
+ this._updateValidity(message);
69
+ this._setInvalidState();
87
70
  }
88
- updateValidity(message) {
71
+ _updateValidity(message) {
89
72
  const validity = {};
90
73
  let validationMessage = '';
91
74
  for (const validator of this.__validators) {
@@ -104,11 +87,21 @@ export function FormAssociatedMixin(superClass) {
104
87
  }
105
88
  this.__internals.setValidity(validity, validationMessage);
106
89
  }
107
- setInvalidState() {
108
- if (this.hasUpdated || this._dirty) {
109
- this.invalid = !this.checkValidity();
110
- }
90
+ _setFormValue(value, state) {
91
+ this.__internals.setFormValue(value, state);
111
92
  }
93
+ formAssociatedCallback(_form) { }
94
+ formDisabledCallback(state) {
95
+ this._disabled = state;
96
+ this.requestUpdate();
97
+ }
98
+ formResetCallback() {
99
+ this._restoreDefaultValue();
100
+ this._dirty = false;
101
+ this.performUpdate();
102
+ this.invalid = false;
103
+ }
104
+ formStateRestoreCallback(_state, _mode) { }
112
105
  reportValidity() {
113
106
  return this.__internals.reportValidity();
114
107
  }
@@ -116,20 +109,72 @@ export function FormAssociatedMixin(superClass) {
116
109
  return this.__internals.checkValidity();
117
110
  }
118
111
  setCustomValidity(message) {
119
- this.updateValidity(message);
112
+ this._updateValidity(message);
120
113
  this.invalid = !this.checkValidity();
121
114
  }
122
115
  }
123
- FormAssociatedElement.formAssociated = true;
116
+ BaseFormAssociatedElement.formAssociated = true;
124
117
  __decorate([
125
118
  property({ reflect: true })
126
- ], FormAssociatedElement.prototype, "name", void 0);
119
+ ], BaseFormAssociatedElement.prototype, "name", void 0);
127
120
  __decorate([
128
121
  property({ type: Boolean, reflect: true })
129
- ], FormAssociatedElement.prototype, "disabled", null);
122
+ ], BaseFormAssociatedElement.prototype, "disabled", null);
130
123
  __decorate([
131
124
  property({ type: Boolean, reflect: true })
132
- ], FormAssociatedElement.prototype, "invalid", null);
125
+ ], BaseFormAssociatedElement.prototype, "invalid", null);
126
+ return BaseFormAssociatedElement;
127
+ }
128
+ export function FormAssociatedMixin(base) {
129
+ class FormAssociatedElement extends BaseFormAssociated(base) {
130
+ attributeChangedCallback(name, prev, current) {
131
+ super.attributeChangedCallback(name, prev, current);
132
+ if (name === 'value') {
133
+ this._setDefaultValue(prev, current);
134
+ }
135
+ }
136
+ _setDefaultValue(_, current) {
137
+ this._defaultValue = current;
138
+ }
139
+ _restoreDefaultValue() {
140
+ if ('value' in this) {
141
+ this.value = this._defaultValue;
142
+ }
143
+ }
144
+ _setInitialDefaultValue() {
145
+ if ('_value' in this) {
146
+ this._defaultValue = this._value;
147
+ }
148
+ }
149
+ }
133
150
  return FormAssociatedElement;
134
151
  }
135
- //# sourceMappingURL=form-associated.js.map
152
+ export function FormAssociatedCheckboxMixin(base) {
153
+ class FormAssociatedCheckboxElement extends BaseFormAssociated(base) {
154
+ constructor() {
155
+ super(...arguments);
156
+ this._defaultChecked = false;
157
+ }
158
+ attributeChangedCallback(name, prev, current) {
159
+ super.attributeChangedCallback(name, prev, current);
160
+ if (name === 'checked') {
161
+ this._setDefaultValue(prev, current);
162
+ }
163
+ }
164
+ _setDefaultValue(_, current) {
165
+ this._defaultChecked = current !== null;
166
+ }
167
+ _restoreDefaultValue() {
168
+ if ('checked' in this) {
169
+ this.checked = this._defaultChecked;
170
+ }
171
+ }
172
+ _setInitialDefaultValue() {
173
+ if ('checked' in this) {
174
+ this._defaultChecked = this.checked;
175
+ }
176
+ }
177
+ }
178
+ return FormAssociatedCheckboxElement;
179
+ }
180
+ //# sourceMappingURL=associated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"associated.js","sourceRoot":"","sources":["../../../../../src/components/common/mixins/forms/associated.ts"],"names":[],"mappings":"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","sourcesContent":["import type { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { Validator } from '../../validators.js';\nimport type { Constructor } from '../constructor.js';\nimport type {\n FormAssociatedCheckboxElementInterface,\n FormAssociatedElementInterface,\n FormRestoreMode,\n FormValueType,\n} from './types.js';\n\nfunction BaseFormAssociated<T extends Constructor<LitElement>>(base: T) {\n class BaseFormAssociatedElement extends base {\n public static readonly formAssociated = true;\n\n private __internals: ElementInternals;\n\n protected _disabled = false;\n protected _invalid = false;\n protected _dirty = false;\n\n protected get __validators(): Validator[] {\n return [];\n }\n\n /**\n * The name attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public name!: string;\n\n /**\n * The disabled state of the component.\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public set disabled(value: boolean) {\n this._disabled = value;\n this.toggleAttribute('disabled', Boolean(this._disabled));\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Control the validity of the control.\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public set invalid(value: boolean) {\n this._invalid = value;\n this.toggleAttribute('invalid', Boolean(this._invalid));\n }\n\n public get invalid(): boolean {\n return this._invalid;\n }\n\n /** Returns the HTMLFormElement associated with this element. */\n public get form(): HTMLFormElement | null {\n return this.__internals.form;\n }\n\n /**\n * Returns a ValidityState object which represents the different validity states\n * the element can be in, with respect to constraint validation.\n */\n public get validity(): ValidityState {\n return this.__internals.validity;\n }\n\n /** A string containing the validation message of this element. */\n public get validationMessage(): string {\n return this.__internals.validationMessage;\n }\n\n /**\n * A boolean value which returns true if the element is a submittable element\n * that is a candidate for constraint validation.\n */\n public get willValidate(): boolean {\n return this.__internals.willValidate;\n }\n\n constructor(...args: any[]) {\n super(args);\n this.__internals = this.attachInternals();\n this.addEventListener('invalid', this._handleInvalid);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._dirty = false;\n this._updateValidity();\n\n if (!this.hasUpdated) {\n this._setInitialDefaultValue();\n }\n }\n\n private _handleInvalid(event: Event) {\n event.preventDefault();\n this.invalid = true;\n }\n\n private _setInvalidState(): void {\n if (this.hasUpdated || this._dirty) {\n this.invalid = !this.checkValidity();\n }\n }\n\n /* c8 ignore next 1 */\n protected _setInitialDefaultValue(): void {}\n\n /* c8 ignore next 4 */\n protected _setDefaultValue(\n _prev: string | null,\n _current: string | null\n ): void {}\n\n /* c8 ignore next 1 */\n protected _restoreDefaultValue(): void {}\n\n protected _validate(message?: string): void {\n this._updateValidity(message);\n this._setInvalidState();\n }\n\n protected _updateValidity(message?: string) {\n const validity: ValidityStateFlags = {};\n let validationMessage = '';\n\n for (const validator of this.__validators) {\n const isValid = validator.isValid(this);\n\n validity[validator.key] = !isValid;\n\n if (!isValid) {\n validationMessage =\n typeof validator.message === 'function'\n ? validator.message(this)\n : validator.message;\n }\n }\n\n if (message) {\n validity.customError = true;\n validationMessage = message;\n }\n\n this.__internals.setValidity(validity, validationMessage);\n }\n\n protected _setFormValue(value: FormValueType, state?: FormValueType): void {\n this.__internals.setFormValue(value, state);\n }\n\n protected formAssociatedCallback(_form: HTMLFormElement): void {}\n\n protected formDisabledCallback(state: boolean): void {\n this._disabled = state;\n this.requestUpdate();\n }\n\n protected formResetCallback(): void {\n this._restoreDefaultValue();\n this._dirty = false;\n this.performUpdate();\n this.invalid = false;\n }\n\n /* c8 ignore next 4 */\n protected formStateRestoreCallback(\n _state: FormValueType,\n _mode: FormRestoreMode\n ): void {}\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity() {\n return this.__internals.reportValidity();\n }\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public checkValidity() {\n return this.__internals.checkValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string) {\n this._updateValidity(message);\n this.invalid = !this.checkValidity();\n }\n }\n return BaseFormAssociatedElement as Constructor<BaseFormAssociatedElement> &\n T;\n}\n\n/**\n * Mixes the passed in class and turns it into a form associated custom element.\n */\nexport function FormAssociatedMixin<T extends Constructor<LitElement>>(\n base: T\n) {\n class FormAssociatedElement extends BaseFormAssociated(base) {\n protected _defaultValue: unknown;\n\n public override attributeChangedCallback(\n name: string,\n prev: string | null,\n current: string | null\n ): void {\n super.attributeChangedCallback(name, prev, current);\n if (name === 'value') {\n this._setDefaultValue(prev, current);\n }\n }\n\n protected override _setDefaultValue(\n _: string | null,\n current: string | null\n ): void {\n this._defaultValue = current;\n }\n\n protected override _restoreDefaultValue(): void {\n if ('value' in this) {\n this.value = this._defaultValue;\n }\n }\n\n protected override _setInitialDefaultValue() {\n if ('_value' in this) {\n this._defaultValue = this._value;\n }\n }\n }\n\n return FormAssociatedElement as unknown as Constructor<FormAssociatedElementInterface> &\n T;\n}\n\n/**\n * Mixes the passed in class and turns it into a form associated custom element.\n */\nexport function FormAssociatedCheckboxMixin<T extends Constructor<LitElement>>(\n base: T\n) {\n class FormAssociatedCheckboxElement extends BaseFormAssociated(base) {\n protected _defaultChecked = false;\n\n public override attributeChangedCallback(\n name: string,\n prev: string | null,\n current: string | null\n ): void {\n super.attributeChangedCallback(name, prev, current);\n if (name === 'checked') {\n this._setDefaultValue(prev, current);\n }\n }\n\n protected override _setDefaultValue(\n _: string | null,\n current: string | null\n ): void {\n this._defaultChecked = current !== null;\n }\n\n protected override _restoreDefaultValue(): void {\n if ('checked' in this) {\n this.checked = this._defaultChecked;\n }\n }\n\n protected override _setInitialDefaultValue() {\n if ('checked' in this) {\n this._defaultChecked = this.checked as boolean;\n }\n }\n }\n\n return FormAssociatedCheckboxElement as unknown as Constructor<FormAssociatedCheckboxElementInterface> &\n T;\n}\n"]}
@@ -0,0 +1,125 @@
1
+ import type { Validator } from '../../validators.js';
2
+ export type FormRestoreMode = 'autocomplete' | 'restore';
3
+ export type FormValueType = string | File | FormData | null;
4
+ declare class BaseFormAssociatedElement {
5
+ static readonly formAssociated: boolean;
6
+ private __internals;
7
+ protected _dirty: boolean;
8
+ protected _disabled: boolean;
9
+ protected _invalid: boolean;
10
+ protected get __validators(): Validator[];
11
+ /**
12
+ * The disabled state of the component.
13
+ * @attr
14
+ * @default false
15
+ */
16
+ disabled: boolean;
17
+ /**
18
+ * Control the validity of the control.
19
+ * @attr
20
+ * @default false
21
+ */
22
+ invalid: boolean;
23
+ /**
24
+ * The name attribute of the control.
25
+ * @attr
26
+ */
27
+ name: string;
28
+ /** Returns the HTMLFormElement associated with this element. */
29
+ get form(): HTMLFormElement | null;
30
+ /**
31
+ * Returns a ValidityState object which represents the different validity states
32
+ * the element can be in, with respect to constraint validation.
33
+ */
34
+ get validity(): ValidityState;
35
+ /** A string containing the validation message of this element. */
36
+ get validationMessage(): string;
37
+ /**
38
+ * A boolean value which returns true if the element is a submittable element
39
+ * that is a candidate for constraint validation.
40
+ */
41
+ get willValidate(): boolean;
42
+ /**
43
+ * Invoked on the first `connectedCallback` run before the component has been through the
44
+ * firstUpdate lifecycle hook. Sets the default value to the **property** state of the value/checked member.
45
+ */
46
+ protected _setInitialDefaultValue(): void;
47
+ /**
48
+ * Sets the default value of the component.
49
+ * Called in `attributeChangedCallback`(i.e. when the `value` attribute of the control is set).
50
+ */
51
+ protected _setDefaultValue(prev: string | null, current: string | null): void;
52
+ /**
53
+ * Called when the associated parent form is reset.
54
+ */
55
+ protected _restoreDefaultValue(): void;
56
+ /**
57
+ * Executes the {@link BaseFormAssociatedElement._updateValidity | `_updateValidity()`} hook and then applies
58
+ * the {@link BaseFormAssociatedElement.invalid | `invalid`} attribute on the control and the associated styles
59
+ * if the element has completed the first update cycle or it has been interacted with by the user.
60
+ */
61
+ protected _validate(message?: string): void;
62
+ /**
63
+ * Executes the component's validators and updates the internal validity state.
64
+ */
65
+ protected _updateValidity(message?: string): void;
66
+ /**
67
+ * Sets the component's submission value and state.
68
+ */
69
+ protected _setFormValue(value: FormValueType, state?: FormValueType): void;
70
+ /**
71
+ * Called by the browser when it associates/disassociates the component with/from a given form element.
72
+ * Receives the form element as a parameter.
73
+ *
74
+ * @remarks
75
+ * This is not implemented currently.
76
+ */
77
+ protected formAssociatedCallback(form: HTMLFormElement): void;
78
+ /**
79
+ * Called whenever the component or a parent `fieldset` elements are disabled.
80
+ * Receives the current disabled state.
81
+ */
82
+ protected formDisabledCallback(state: boolean): void;
83
+ /**
84
+ * Called when the form is reset.
85
+ * Resets the component value/checked state to the default one, internal state and validation.
86
+ *
87
+ * @remarks
88
+ * The default implementation calls {@link BaseFormAssociatedElement._restoreDefaultValue | `_restoreDefaultValue`}.
89
+ * If additional customization is needed, it is better to override that method instead of this callback.
90
+ */
91
+ protected formResetCallback(): void;
92
+ /**
93
+ * Called when the browser attempts to automatically fill out the component.
94
+ *
95
+ * @remarks
96
+ * This is not implemented currently.
97
+ */
98
+ protected formStateRestoreCallback(state: FormValueType, mode: FormRestoreMode): void;
99
+ /** Checks for validity of the control and emits the invalid event if it invalid. */
100
+ checkValidity(): boolean;
101
+ /** Checks for validity of the control and shows the browser message if it invalid. */
102
+ reportValidity(): boolean;
103
+ /**
104
+ * Sets a custom validation message for the control.
105
+ * As long as `message` is not empty, the control is considered invalid.
106
+ */
107
+ setCustomValidity(message: string): void;
108
+ }
109
+ export declare class FormAssociatedElementInterface extends BaseFormAssociatedElement {
110
+ protected _defaultValue: unknown;
111
+ }
112
+ export declare class FormAssociatedCheckboxElementInterface extends BaseFormAssociatedElement {
113
+ protected _defaultChecked: boolean;
114
+ }
115
+ export declare class FormRequiredInterface {
116
+ protected _required: boolean;
117
+ /**
118
+ * When set, makes the component a required field for validation.
119
+ * @attr
120
+ * @default false
121
+ */
122
+ set required(value: boolean);
123
+ get required(): boolean;
124
+ }
125
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/components/common/mixins/forms/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Validator } from '../../validators.js';\n\nexport type FormRestoreMode = 'autocomplete' | 'restore';\nexport type FormValueType = string | File | FormData | null;\n\ndeclare class BaseFormAssociatedElement {\n public static readonly formAssociated: boolean;\n\n private __internals: ElementInternals;\n\n // Properties\n\n protected _dirty: boolean;\n protected _disabled: boolean;\n protected _invalid: boolean;\n\n protected get __validators(): Validator[];\n\n /**\n * The disabled state of the component.\n * @attr\n * @default false\n */\n public disabled: boolean;\n\n /**\n * Control the validity of the control.\n * @attr\n * @default false\n */\n public invalid: boolean;\n\n /**\n * The name attribute of the control.\n * @attr\n */\n public name: string;\n\n /** Returns the HTMLFormElement associated with this element. */\n public get form(): HTMLFormElement | null;\n\n /**\n * Returns a ValidityState object which represents the different validity states\n * the element can be in, with respect to constraint validation.\n */\n public get validity(): ValidityState;\n\n /** A string containing the validation message of this element. */\n public get validationMessage(): string;\n\n /**\n * A boolean value which returns true if the element is a submittable element\n * that is a candidate for constraint validation.\n */\n public get willValidate(): boolean;\n\n // Methods\n\n /**\n * Invoked on the first `connectedCallback` run before the component has been through the\n * firstUpdate lifecycle hook. Sets the default value to the **property** state of the value/checked member.\n */\n protected _setInitialDefaultValue(): void;\n\n /**\n * Sets the default value of the component.\n * Called in `attributeChangedCallback`(i.e. when the `value` attribute of the control is set).\n */\n protected _setDefaultValue(prev: string | null, current: string | null): void;\n\n /**\n * Called when the associated parent form is reset.\n */\n protected _restoreDefaultValue(): void;\n\n /**\n * Executes the {@link BaseFormAssociatedElement._updateValidity | `_updateValidity()`} hook and then applies\n * the {@link BaseFormAssociatedElement.invalid | `invalid`} attribute on the control and the associated styles\n * if the element has completed the first update cycle or it has been interacted with by the user.\n */\n protected _validate(message?: string): void;\n\n /**\n * Executes the component's validators and updates the internal validity state.\n */\n protected _updateValidity(message?: string): void;\n\n /**\n * Sets the component's submission value and state.\n */\n protected _setFormValue(value: FormValueType, state?: FormValueType): void;\n\n /**\n * Called by the browser when it associates/disassociates the component with/from a given form element.\n * Receives the form element as a parameter.\n *\n * @remarks\n * This is not implemented currently.\n */\n protected formAssociatedCallback(form: HTMLFormElement): void;\n\n /**\n * Called whenever the component or a parent `fieldset` elements are disabled.\n * Receives the current disabled state.\n */\n protected formDisabledCallback(state: boolean): void;\n\n /**\n * Called when the form is reset.\n * Resets the component value/checked state to the default one, internal state and validation.\n *\n * @remarks\n * The default implementation calls {@link BaseFormAssociatedElement._restoreDefaultValue | `_restoreDefaultValue`}.\n * If additional customization is needed, it is better to override that method instead of this callback.\n */\n protected formResetCallback(): void;\n\n /**\n * Called when the browser attempts to automatically fill out the component.\n *\n * @remarks\n * This is not implemented currently.\n */\n protected formStateRestoreCallback(\n state: FormValueType,\n mode: FormRestoreMode\n ): void;\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public checkValidity(): boolean;\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity(): boolean;\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string): void;\n}\n\nexport declare class FormAssociatedElementInterface extends BaseFormAssociatedElement {\n protected _defaultValue: unknown;\n}\n\nexport declare class FormAssociatedCheckboxElementInterface extends BaseFormAssociatedElement {\n protected _defaultChecked: boolean;\n}\n\nexport declare class FormRequiredInterface {\n protected _required: boolean;\n\n /**\n * When set, makes the component a required field for validation.\n * @attr\n * @default false\n */\n public set required(value: boolean);\n public get required(): boolean;\n}\n"]}
@@ -12,7 +12,7 @@ export interface IgcDatepickerEventMap {
12
12
  igcChange: CustomEvent<Date>;
13
13
  igcInput: CustomEvent<Date>;
14
14
  }
15
- declare const IgcDatePickerComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/form-associated-required.js").FormRequiredInterface & import("../common/mixins/form-associated.js").FormAssociatedElementInterface> & import("../common/mixins/constructor.js").Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcDatepickerEventMap>> & AbstractConstructor<IgcBaseComboBoxLikeComponent>;
15
+ declare const IgcDatePickerComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/forms/types.js").FormRequiredInterface & import("../common/mixins/forms/types.js").FormAssociatedElementInterface> & import("../common/mixins/constructor.js").Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcDatepickerEventMap>> & AbstractConstructor<IgcBaseComboBoxLikeComponent>;
16
16
  /**
17
17
  * igc-date-picker is a feature rich component used for entering a date through manual text input or
18
18
  * choosing date values from a calendar dialog that pops up.
@@ -23,6 +23,7 @@ declare const IgcDatePickerComponent_base: import("../common/mixins/constructor.
23
23
  * @slot suffix - Renders content after the input.
24
24
  * @slot helper-text - Renders content below the input.
25
25
  * @slot title - Renders content in the calendar title.
26
+ * @slot header-date - Renders content instead of the current date/range in the calendar header.
26
27
  * @slot clear-icon - Renders a clear icon template.
27
28
  * @slot calendar-icon - Renders the icon/content for the calendar picker.
28
29
  * @slot calendar-icon-open - Renders the icon/content for the picker in open state.
@@ -109,6 +110,7 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
109
110
  private prefixes;
110
111
  private suffixes;
111
112
  private actions;
113
+ private headerDateSlotItems;
112
114
  private helperText;
113
115
  protected get _isMaterialTheme(): boolean;
114
116
  /**
@@ -231,8 +233,7 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
231
233
  /** Sets the start day of the week for the calendar. */
232
234
  weekStart: WeekDays;
233
235
  constructor();
234
- connectedCallback(): void;
235
- protected createRenderRoot(): HTMLElement | DocumentFragment;
236
+ protected createRenderRoot(): DocumentFragment | HTMLElement;
236
237
  /** Clears the input part of the component of any user input */
237
238
  clear(): void;
238
239
  /** Increments the passed in date part */
@@ -257,9 +258,11 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
257
258
  protected handleClosing(): void;
258
259
  protected handleDialogClosing(event: Event): void;
259
260
  protected handleDialogClosed(event: Event): void;
261
+ protected _setDefaultValue(_: string | null, current: string | null): void;
260
262
  private setDateConstraints;
261
263
  private renderClearIcon;
262
264
  private renderCalendarIcon;
265
+ private renderCalendarSlots;
263
266
  private renderCalendar;
264
267
  protected renderActions(): import("lit-html").TemplateResult<1>;
265
268
  protected renderPicker(id: string): import("lit-html").TemplateResult<1>;
@@ -11,6 +11,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { live } from 'lit/directives/live.js';
12
12
  import { getThemeController, themes } from '../../theming/theming-decorator.js';
13
13
  import IgcCalendarComponent, { focusActiveDate } from '../calendar/calendar.js';
14
+ import { dateFromISOString } from '../calendar/helpers.js';
14
15
  import { DateRangeType, } from '../calendar/types.js';
15
16
  import { addKeybindings, altKey, arrowDown, arrowUp, escapeKey, } from '../common/controllers/key-bindings.js';
16
17
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
@@ -19,7 +20,7 @@ import { registerComponent } from '../common/definitions/register.js';
19
20
  import { IgcCalendarResourceStringEN, } from '../common/i18n/calendar.resources.js';
20
21
  import { IgcBaseComboBoxLikeComponent } from '../common/mixins/combo-box.js';
21
22
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
22
- import { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';
23
+ import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
23
24
  import { createCounter, findElementFromEventPath } from '../common/util.js';
24
25
  import IgcDateTimeInputComponent from '../date-time-input/date-time-input.js';
25
26
  import IgcDialogComponent from '../dialog/dialog.js';
@@ -30,10 +31,6 @@ import { styles } from './themes/date-picker.base.css.js';
30
31
  import { styles as shared } from './themes/shared/date-picker.common.css.js';
31
32
  import { all } from './themes/themes.js';
32
33
  import { datePickerValidators } from './validators.js';
33
- const converter = {
34
- fromAttribute: (value) => (value ? new Date(value) : undefined),
35
- toAttribute: (value) => value.toISOString(),
36
- };
37
34
  const formats = new Set(['short', 'medium', 'long', 'full']);
38
35
  let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(IgcBaseComboBoxLikeComponent)) {
39
36
  get __validators() {
@@ -50,9 +47,8 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
50
47
  }
51
48
  set value(value) {
52
49
  this._value = value;
53
- this.setFormValue(value ? value.toISOString() : null);
54
- this.updateValidity();
55
- this.setInvalidState();
50
+ this._setFormValue(value ? value.toISOString() : null);
51
+ this._validate();
56
52
  }
57
53
  get value() {
58
54
  return this._value ?? null;
@@ -66,7 +62,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
66
62
  set min(value) {
67
63
  this._min = value;
68
64
  this.setDateConstraints();
69
- this.updateValidity();
65
+ this._updateValidity();
70
66
  }
71
67
  get min() {
72
68
  return this._min;
@@ -74,7 +70,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
74
70
  set max(value) {
75
71
  this._max = value;
76
72
  this.setDateConstraints();
77
- this.updateValidity();
73
+ this._updateValidity();
78
74
  }
79
75
  get max() {
80
76
  return this._max;
@@ -82,7 +78,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
82
78
  set disabledDates(dates) {
83
79
  this._disabledDates = dates;
84
80
  this.setDateConstraints();
85
- this.updateValidity();
81
+ this._updateValidity();
86
82
  }
87
83
  get disabledDates() {
88
84
  return this._disabledDates;
@@ -131,10 +127,6 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
131
127
  .set([altKey, arrowUp], this.onEscapeKey)
132
128
  .set(escapeKey, this.onEscapeKey);
133
129
  }
134
- connectedCallback() {
135
- super.connectedCallback();
136
- this.updateValidity();
137
- }
138
130
  createRenderRoot() {
139
131
  const root = super.createRenderRoot();
140
132
  root.addEventListener('slotchange', () => this.requestUpdate());
@@ -228,6 +220,9 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
228
220
  handleDialogClosed(event) {
229
221
  event.stopPropagation();
230
222
  }
223
+ _setDefaultValue(_, current) {
224
+ this._defaultValue = dateFromISOString(current);
225
+ }
231
226
  setDateConstraints() {
232
227
  const dates = [];
233
228
  if (this._min) {
@@ -272,6 +267,18 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
272
267
  </span>
273
268
  `;
274
269
  }
270
+ renderCalendarSlots() {
271
+ if (this.isDropDown) {
272
+ return nothing;
273
+ }
274
+ const hasHeaderDate = this.headerDateSlotItems.length ? 'header-date' : '';
275
+ return html `
276
+ <slot name="title" slot="title">
277
+ ${this.resourceStrings.selectDate}
278
+ </slot>
279
+ <slot name="header-date" slot=${hasHeaderDate}></slot>
280
+ `;
281
+ }
275
282
  renderCalendar(id) {
276
283
  const hideHeader = this.isDropDown ? true : this.hideHeader;
277
284
  return html `
@@ -298,11 +305,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
298
305
  date-inner, first, last, inactive, hidden, weekend, range, special, disabled, single, preview,
299
306
  month, month-inner, year, year-inner, selected, current"
300
307
  >
301
- ${!this.isDropDown
302
- ? html `<slot name="title" slot="title"
303
- >${this.resourceStrings.selectDate}</slot
304
- >`
305
- : nothing}
308
+ ${this.renderCalendarSlots()}
306
309
  </igc-calendar>
307
310
  `;
308
311
  }
@@ -428,6 +431,9 @@ __decorate([
428
431
  __decorate([
429
432
  queryAssignedElements({ slot: 'actions' })
430
433
  ], IgcDatePickerComponent.prototype, "actions", void 0);
434
+ __decorate([
435
+ queryAssignedElements({ slot: 'header-date' })
436
+ ], IgcDatePickerComponent.prototype, "headerDateSlotItems", void 0);
431
437
  __decorate([
432
438
  queryAssignedElements({ slot: 'helper-text' })
433
439
  ], IgcDatePickerComponent.prototype, "helperText", void 0);
@@ -447,16 +453,16 @@ __decorate([
447
453
  property({ type: Boolean, reflect: true, attribute: 'readonly' })
448
454
  ], IgcDatePickerComponent.prototype, "readOnly", void 0);
449
455
  __decorate([
450
- property({ converter: converter })
456
+ property({ converter: dateFromISOString })
451
457
  ], IgcDatePickerComponent.prototype, "value", null);
452
458
  __decorate([
453
- property({ attribute: 'active-date', converter: converter })
459
+ property({ attribute: 'active-date', converter: dateFromISOString })
454
460
  ], IgcDatePickerComponent.prototype, "activeDate", null);
455
461
  __decorate([
456
- property({ converter: converter })
462
+ property({ converter: dateFromISOString })
457
463
  ], IgcDatePickerComponent.prototype, "min", null);
458
464
  __decorate([
459
- property({ converter: converter })
465
+ property({ converter: dateFromISOString })
460
466
  ], IgcDatePickerComponent.prototype, "max", null);
461
467
  __decorate([
462
468
  property({ attribute: 'header-orientation', reflect: true })