igniteui-webcomponents 4.3.1 → 4.5.0-beta.1

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 (464) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/animations/presets/fade/index.d.ts +2 -2
  3. package/animations/presets/fade/index.js +4 -6
  4. package/animations/presets/fade/index.js.map +1 -1
  5. package/animations/presets/grow/index.d.ts +2 -2
  6. package/animations/presets/grow/index.js +8 -10
  7. package/animations/presets/grow/index.js.map +1 -1
  8. package/animations/presets/index.d.ts +1 -0
  9. package/animations/presets/index.js +1 -0
  10. package/animations/presets/index.js.map +1 -1
  11. package/animations/presets/slide/index.d.ts +3 -0
  12. package/animations/presets/slide/index.js +16 -0
  13. package/animations/presets/slide/index.js.map +1 -0
  14. package/components/avatar/avatar.js +7 -7
  15. package/components/avatar/avatar.js.map +1 -1
  16. package/components/avatar/themes/{light/avatar.base.css.js → avatar.base.css.js} +2 -32
  17. package/components/avatar/themes/avatar.base.css.js.map +1 -0
  18. package/components/{nav-drawer/themes/dark/nav-drawer-item.base.css.js → avatar/themes/dark/avatar.bootstrap.css.js} +1 -1
  19. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -0
  20. package/components/avatar/themes/dark/{avatar.base.bootstrap.css.js → avatar.fluent.css.js} +1 -1
  21. package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -0
  22. package/components/{nav-drawer/themes/dark/nav-drawer-item.indigo.css.js → avatar/themes/dark/avatar.indigo.css.js} +1 -1
  23. package/components/avatar/themes/dark/avatar.indigo.css.js.map +1 -0
  24. package/components/{nav-drawer/themes/dark/nav-drawer-item.fluent.css.js → avatar/themes/dark/avatar.material.css.js} +1 -1
  25. package/components/avatar/themes/dark/avatar.material.css.js.map +1 -0
  26. package/components/avatar/themes/light/avatar.bootstrap.css.js +17 -3
  27. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
  28. package/components/avatar/themes/light/avatar.fluent.css.js +27 -0
  29. package/components/avatar/themes/light/avatar.fluent.css.js.map +1 -0
  30. package/components/avatar/themes/light/avatar.indigo.css.js +27 -0
  31. package/components/avatar/themes/light/avatar.indigo.css.js.map +1 -0
  32. package/components/avatar/themes/light/avatar.material.css.js +27 -0
  33. package/components/avatar/themes/light/avatar.material.css.js.map +1 -0
  34. package/components/button/button-base.d.ts +14 -6
  35. package/components/button/button-base.js +51 -18
  36. package/components/button/button-base.js.map +1 -1
  37. package/components/button/button.d.ts +0 -3
  38. package/components/button/button.js +1 -4
  39. package/components/button/button.js.map +1 -1
  40. package/components/button/themes/button/light/button.base.css.js +4 -16
  41. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  42. package/components/button/themes/button/light/button.bootstrap.css.js +64 -32
  43. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  44. package/components/button/themes/button/light/button.fluent.css.js +75 -40
  45. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  46. package/components/button/themes/button/light/button.indigo.css.js +86 -42
  47. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  48. package/components/button/themes/button/light/button.material.css.js +88 -38
  49. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  50. package/components/button/themes/icon-button/light/icon-button.base.css.js +2 -13
  51. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  52. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +12 -7
  53. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  54. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +4 -3
  55. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  56. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +6 -4
  57. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  58. package/components/button/themes/icon-button/light/icon-button.material.css.js +7 -4
  59. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  60. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +3 -10
  61. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
  62. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js +2 -2
  63. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +1 -1
  64. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js +2 -2
  65. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  66. package/components/calendar/themes/calendar.base.css.js +14 -12
  67. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  68. package/components/calendar/themes/fluent/calendar.fluent.css.js +18 -23
  69. package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
  70. package/components/calendar/themes/fluent/days-view.fluent.css.js +7 -23
  71. package/components/calendar/themes/fluent/days-view.fluent.css.js.map +1 -1
  72. package/components/calendar/themes/indigo/calendar.indigo.css.js +3 -10
  73. package/components/calendar/themes/indigo/calendar.indigo.css.js.map +1 -1
  74. package/components/checkbox/checkbox-base.d.ts +8 -35
  75. package/components/checkbox/checkbox-base.js +28 -41
  76. package/components/checkbox/checkbox-base.js.map +1 -1
  77. package/components/checkbox/checkbox.d.ts +0 -1
  78. package/components/checkbox/checkbox.js +5 -16
  79. package/components/checkbox/checkbox.js.map +1 -1
  80. package/components/checkbox/switch.d.ts +0 -2
  81. package/components/checkbox/switch.js +4 -16
  82. package/components/checkbox/switch.js.map +1 -1
  83. package/components/checkbox/themes/light/checkbox.base.css.js +2 -1
  84. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  85. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +27 -10
  86. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  87. package/components/checkbox/themes/light/checkbox.fluent.css.js +31 -15
  88. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  89. package/components/checkbox/themes/light/checkbox.indigo.css.js +47 -21
  90. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  91. package/components/checkbox/themes/light/checkbox.material.css.js +24 -12
  92. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  93. package/components/checkbox/themes/light/switch.base.css.js +2 -1
  94. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  95. package/components/checkbox/themes/light/switch.bootstrap.css.js +12 -4
  96. package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
  97. package/components/checkbox/themes/light/switch.fluent.css.js +33 -15
  98. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  99. package/components/checkbox/themes/light/switch.indigo.css.js +26 -11
  100. package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
  101. package/components/checkbox/themes/light/switch.material.css.js +14 -7
  102. package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
  103. package/components/chip/themes/chip.base.css.js +12 -40
  104. package/components/chip/themes/chip.base.css.js.map +1 -1
  105. package/components/chip/themes/chip.bootstrap.css.js +14 -40
  106. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  107. package/components/chip/themes/chip.fluent.css.js +14 -40
  108. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  109. package/components/chip/themes/chip.indigo.css.js +14 -40
  110. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  111. package/components/chip/themes/chip.material.css.js +14 -40
  112. package/components/chip/themes/chip.material.css.js.map +1 -1
  113. package/components/combo/combo.d.ts +7 -32
  114. package/components/combo/combo.js +57 -49
  115. package/components/combo/combo.js.map +1 -1
  116. package/components/combo/controllers/selection.js +1 -3
  117. package/components/combo/controllers/selection.js.map +1 -1
  118. package/components/combo/themes/light/combo.base.css.js +5 -0
  119. package/components/combo/themes/light/combo.base.css.js.map +1 -1
  120. package/components/combo/themes/light/combo.bootstrap.css.js +27 -24
  121. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  122. package/components/combo/themes/light/combo.fluent.css.js +27 -24
  123. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  124. package/components/combo/themes/light/combo.indigo.css.js +26 -23
  125. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  126. package/components/combo/themes/light/combo.material.css.js +32 -23
  127. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  128. package/components/combo/themes/light/item/combo-item.base.css.js +0 -1
  129. package/components/combo/themes/light/item/combo-item.base.css.js.map +1 -1
  130. package/components/common/localization/validation-en.d.ts +10 -0
  131. package/components/common/localization/validation-en.js +10 -0
  132. package/components/common/localization/validation-en.js.map +1 -0
  133. package/components/common/mixins/form-associated-required.d.ts +16 -0
  134. package/components/common/mixins/form-associated-required.js +29 -0
  135. package/components/common/mixins/form-associated-required.js.map +1 -0
  136. package/components/common/mixins/form-associated.d.ts +92 -0
  137. package/components/common/mixins/form-associated.js +151 -0
  138. package/components/common/mixins/form-associated.js.map +1 -0
  139. package/components/common/mixins/sizable.d.ts +3 -0
  140. package/components/common/mixins/sizable.js +7 -0
  141. package/components/common/mixins/sizable.js.map +1 -1
  142. package/components/common/util.d.ts +38 -0
  143. package/components/common/util.js +34 -0
  144. package/components/common/util.js.map +1 -1
  145. package/components/common/validators.d.ts +45 -0
  146. package/components/common/validators.js +54 -0
  147. package/components/common/validators.js.map +1 -0
  148. package/components/date-time-input/date-time-input.d.ts +30 -11
  149. package/components/date-time-input/date-time-input.js +147 -135
  150. package/components/date-time-input/date-time-input.js.map +1 -1
  151. package/components/date-time-input/date-util.d.ts +1 -0
  152. package/components/date-time-input/date-util.js +6 -3
  153. package/components/date-time-input/date-util.js.map +1 -1
  154. package/components/dialog/dialog.js +1 -1
  155. package/components/dialog/dialog.js.map +1 -1
  156. package/components/dialog/themes/light/dialog.base.css.js +1 -1
  157. package/components/dialog/themes/light/dialog.base.css.js.map +1 -1
  158. package/components/dropdown/dropdown-group.js +0 -2
  159. package/components/dropdown/dropdown-group.js.map +1 -1
  160. package/components/dropdown/dropdown-item.js +2 -6
  161. package/components/dropdown/dropdown-item.js.map +1 -1
  162. package/components/dropdown/dropdown.d.ts +0 -1
  163. package/components/dropdown/dropdown.js +0 -6
  164. package/components/dropdown/dropdown.js.map +1 -1
  165. package/components/dropdown/themes/light/dropdown.base.css.js +0 -12
  166. package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
  167. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  168. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  169. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  170. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  171. package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
  172. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  173. package/components/dropdown/themes/light/dropdown.material.css.js +1 -1
  174. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -1
  175. package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js +1 -1
  176. package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js.map +1 -1
  177. package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js +1 -1
  178. package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js.map +1 -1
  179. package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js +1 -1
  180. package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js.map +1 -1
  181. package/components/dropdown/themes/light/group/dropdown-group.material.css.js +1 -1
  182. package/components/dropdown/themes/light/group/dropdown-group.material.css.js.map +1 -1
  183. package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js +1 -1
  184. package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js.map +1 -1
  185. package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js +1 -1
  186. package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js.map +1 -1
  187. package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js +1 -1
  188. package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js.map +1 -1
  189. package/components/dropdown/themes/light/header/dropdown-header.material.css.js +1 -1
  190. package/components/dropdown/themes/light/header/dropdown-header.material.css.js.map +1 -1
  191. package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js +1 -1
  192. package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js.map +1 -1
  193. package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js +1 -1
  194. package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js.map +1 -1
  195. package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js +1 -1
  196. package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js.map +1 -1
  197. package/components/dropdown/themes/light/item/dropdown-item.material.css.js +1 -1
  198. package/components/dropdown/themes/light/item/dropdown-item.material.css.js.map +1 -1
  199. package/components/expansion-panel/expansion-panel.js +1 -1
  200. package/components/expansion-panel/expansion-panel.js.map +1 -1
  201. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +1 -2
  202. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  203. package/components/form/form.d.ts +3 -0
  204. package/components/form/form.js.map +1 -1
  205. package/components/icon/icon.base.css.js +6 -8
  206. package/components/icon/icon.base.css.js.map +1 -1
  207. package/components/icon/light/icon.bootstrap.css.js +6 -1
  208. package/components/icon/light/icon.bootstrap.css.js.map +1 -1
  209. package/components/icon/light/icon.fluent.css.js +6 -1
  210. package/components/icon/light/icon.fluent.css.js.map +1 -1
  211. package/components/icon/light/icon.indigo.css.js +6 -1
  212. package/components/icon/light/icon.indigo.css.js.map +1 -1
  213. package/components/icon/light/icon.material.css.js +6 -1
  214. package/components/icon/light/icon.material.css.js.map +1 -1
  215. package/components/input/input-base.d.ts +10 -20
  216. package/components/input/input-base.js +23 -22
  217. package/components/input/input-base.js.map +1 -1
  218. package/components/input/input.d.ts +24 -15
  219. package/components/input/input.js +106 -48
  220. package/components/input/input.js.map +1 -1
  221. package/components/input/themes/light/input.base.css.js +0 -15
  222. package/components/input/themes/light/input.base.css.js.map +1 -1
  223. package/components/input/themes/light/input.bootstrap.css.js +7 -17
  224. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  225. package/components/input/themes/light/input.fluent.css.js +6 -19
  226. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  227. package/components/input/themes/light/input.indigo.css.js +16 -1
  228. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  229. package/components/input/themes/light/input.material.css.js +30 -11
  230. package/components/input/themes/light/input.material.css.js.map +1 -1
  231. package/components/list/themes/light/list-header.base.css.js +0 -32
  232. package/components/list/themes/light/list-header.base.css.js.map +1 -1
  233. package/components/list/themes/light/list-item.base.css.js +4 -33
  234. package/components/list/themes/light/list-item.base.css.js.map +1 -1
  235. package/components/list/themes/light/list-item.bootstrap.css.js +1 -1
  236. package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
  237. package/components/list/themes/light/list-item.fluent.css.js +1 -1
  238. package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
  239. package/components/list/themes/light/list-item.indigo.css.js +1 -1
  240. package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
  241. package/components/list/themes/light/list.base.css.js +1 -13
  242. package/components/list/themes/light/list.base.css.js.map +1 -1
  243. package/components/list/themes/light/list.bootstrap.css.js +1 -1
  244. package/components/list/themes/light/list.bootstrap.css.js.map +1 -1
  245. package/components/mask-input/mask-input-base.d.ts +2 -9
  246. package/components/mask-input/mask-input-base.js +7 -12
  247. package/components/mask-input/mask-input-base.js.map +1 -1
  248. package/components/mask-input/mask-input.d.ts +5 -6
  249. package/components/mask-input/mask-input.js +42 -51
  250. package/components/mask-input/mask-input.js.map +1 -1
  251. package/components/mask-input/mask-parser.js +1 -0
  252. package/components/mask-input/mask-parser.js.map +1 -1
  253. package/components/nav-drawer/nav-drawer-header-item.js +6 -4
  254. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  255. package/components/nav-drawer/nav-drawer-item.js +6 -4
  256. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  257. package/components/nav-drawer/nav-drawer.js +5 -2
  258. package/components/nav-drawer/nav-drawer.js.map +1 -1
  259. package/components/nav-drawer/themes/dark/nav-drawer.bootstrap.css.js +3 -0
  260. package/components/nav-drawer/themes/dark/{nav-drawer-item.base.css.js.map → nav-drawer.bootstrap.css.js.map} +1 -1
  261. package/components/nav-drawer/themes/dark/nav-drawer.fluent.css.js +3 -0
  262. package/components/nav-drawer/themes/dark/nav-drawer.fluent.css.js.map +1 -0
  263. package/components/nav-drawer/themes/dark/nav-drawer.material.css.js +3 -0
  264. package/components/nav-drawer/themes/dark/nav-drawer.material.css.js.map +1 -0
  265. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.base.css.js +7 -0
  266. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.base.css.js.map +1 -0
  267. package/components/nav-drawer/themes/light/{fluent/nav-drawer-header-item.fluent.css.js → header-item/nav-drawer-header-item.bootstrap.css.js} +2 -1
  268. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.bootstrap.css.js.map +1 -0
  269. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.fluent.css.d.ts +1 -0
  270. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.fluent.css.js +14 -0
  271. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.fluent.css.js.map +1 -0
  272. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.indigo.css.d.ts +1 -0
  273. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.indigo.css.js +14 -0
  274. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.indigo.css.js.map +1 -0
  275. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.material.css.d.ts +1 -0
  276. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.material.css.js +14 -0
  277. package/components/nav-drawer/themes/light/header-item/nav-drawer-header-item.material.css.js.map +1 -0
  278. package/components/nav-drawer/themes/light/item/nav-drawer-item.base.css.d.ts +1 -0
  279. package/components/nav-drawer/themes/light/item/nav-drawer-item.base.css.js +65 -0
  280. package/components/nav-drawer/themes/light/item/nav-drawer-item.base.css.js.map +1 -0
  281. package/components/nav-drawer/themes/light/item/nav-drawer-item.bootstrap.css.d.ts +1 -0
  282. package/components/nav-drawer/themes/light/item/nav-drawer-item.bootstrap.css.js +54 -0
  283. package/components/nav-drawer/themes/light/item/nav-drawer-item.bootstrap.css.js.map +1 -0
  284. package/components/nav-drawer/themes/light/item/nav-drawer-item.fluent.css.d.ts +1 -0
  285. package/components/nav-drawer/themes/light/item/nav-drawer-item.fluent.css.js +54 -0
  286. package/components/nav-drawer/themes/light/item/nav-drawer-item.fluent.css.js.map +1 -0
  287. package/components/nav-drawer/themes/light/item/nav-drawer-item.indigo.css.d.ts +1 -0
  288. package/components/nav-drawer/themes/light/{indigo → item}/nav-drawer-item.indigo.css.js +32 -11
  289. package/components/nav-drawer/themes/light/item/nav-drawer-item.indigo.css.js.map +1 -0
  290. package/components/nav-drawer/themes/light/item/nav-drawer-item.material.css.d.ts +1 -0
  291. package/components/nav-drawer/themes/light/item/nav-drawer-item.material.css.js +54 -0
  292. package/components/nav-drawer/themes/light/item/nav-drawer-item.material.css.js.map +1 -0
  293. package/components/nav-drawer/themes/light/nav-drawer.base.css.js +11 -19
  294. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
  295. package/components/nav-drawer/themes/light/nav-drawer.bootstrap.css.d.ts +1 -0
  296. package/components/nav-drawer/themes/light/nav-drawer.bootstrap.css.js +60 -0
  297. package/components/nav-drawer/themes/light/nav-drawer.bootstrap.css.js.map +1 -0
  298. package/components/nav-drawer/themes/light/nav-drawer.fluent.css.d.ts +1 -0
  299. package/components/nav-drawer/themes/light/nav-drawer.fluent.css.js +60 -0
  300. package/components/nav-drawer/themes/light/nav-drawer.fluent.css.js.map +1 -0
  301. package/components/nav-drawer/themes/light/nav-drawer.indigo.css.d.ts +1 -0
  302. package/components/nav-drawer/themes/light/{indigo/nav-drawer.indigo.css.js → nav-drawer.indigo.css.js} +35 -4
  303. package/components/nav-drawer/themes/light/nav-drawer.indigo.css.js.map +1 -0
  304. package/components/nav-drawer/themes/light/nav-drawer.material.css.d.ts +1 -0
  305. package/components/nav-drawer/themes/light/nav-drawer.material.css.js +60 -0
  306. package/components/nav-drawer/themes/light/nav-drawer.material.css.js.map +1 -0
  307. package/components/navbar/themes/light/navbar.bootstrap.css.js +0 -32
  308. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  309. package/components/navbar/themes/light/navbar.fluent.css.js +0 -32
  310. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  311. package/components/navbar/themes/light/navbar.indigo.css.js +0 -32
  312. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  313. package/components/navbar/themes/light/navbar.material.css.js +0 -32
  314. package/components/navbar/themes/light/navbar.material.css.js.map +1 -1
  315. package/components/navbar/themes/navbar.base.css.js +4 -10
  316. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  317. package/components/progress/themes/linear/linear.progress.base.css.js +1 -0
  318. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  319. package/components/progress/themes/linear/linear.progress.indigo.css.js +0 -32
  320. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  321. package/components/radio/radio.d.ts +13 -37
  322. package/components/radio/radio.js +135 -97
  323. package/components/radio/radio.js.map +1 -1
  324. package/components/radio/themes/light/radio.bootstrap.css.js +8 -36
  325. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  326. package/components/radio/themes/light/radio.fluent.css.js +0 -32
  327. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  328. package/components/radio/themes/light/radio.indigo.css.js +11 -37
  329. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  330. package/components/radio/themes/light/radio.material.css.js +1 -33
  331. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  332. package/components/radio-group/radio-group.d.ts +0 -4
  333. package/components/radio-group/radio-group.js +3 -54
  334. package/components/radio-group/radio-group.js.map +1 -1
  335. package/components/rating/dark/rating.fluent.css.d.ts +1 -0
  336. package/components/rating/dark/rating.fluent.css.js +3 -0
  337. package/components/rating/dark/rating.fluent.css.js.map +1 -0
  338. package/components/rating/rating-symbol.base.css.js +1 -1
  339. package/components/rating/rating-symbol.base.css.js.map +1 -1
  340. package/components/rating/rating.base.css.js +8 -16
  341. package/components/rating/rating.base.css.js.map +1 -1
  342. package/components/rating/rating.d.ts +10 -11
  343. package/components/rating/rating.fluent.css.js +13 -7
  344. package/components/rating/rating.fluent.css.js.map +1 -1
  345. package/components/rating/rating.js +19 -15
  346. package/components/rating/rating.js.map +1 -1
  347. package/components/select/select-item.d.ts +0 -2
  348. package/components/select/select-item.js +0 -3
  349. package/components/select/select-item.js.map +1 -1
  350. package/components/select/select.d.ts +7 -34
  351. package/components/select/select.js +27 -37
  352. package/components/select/select.js.map +1 -1
  353. package/components/select/themes/light/select.base.css.js +1 -12
  354. package/components/select/themes/light/select.base.css.js.map +1 -1
  355. package/components/select/themes/light/select.bootstrap.css.js +5 -37
  356. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  357. package/components/select/themes/light/select.fluent.css.js +5 -37
  358. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  359. package/components/select/themes/light/select.indigo.css.js +4 -36
  360. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  361. package/components/select/themes/light/select.material.css.js +14 -46
  362. package/components/select/themes/light/select.material.css.js.map +1 -1
  363. package/components/slider/slider.d.ts +4 -12
  364. package/components/slider/slider.js +16 -25
  365. package/components/slider/slider.js.map +1 -1
  366. package/components/slider/themes/light/slider.base.css.js +17 -8
  367. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  368. package/components/slider/themes/light/slider.fluent.css.js +6 -3
  369. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  370. package/components/slider/themes/light/slider.indigo.css.js +4 -1
  371. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  372. package/components/snackbar/snackbar.js +1 -1
  373. package/components/snackbar/snackbar.js.map +1 -1
  374. package/components/stepper/animations.d.ts +2 -0
  375. package/components/stepper/animations.js +22 -0
  376. package/components/stepper/animations.js.map +1 -0
  377. package/components/stepper/step.d.ts +17 -8
  378. package/components/stepper/step.js +29 -0
  379. package/components/stepper/step.js.map +1 -1
  380. package/components/stepper/stepper.d.ts +19 -3
  381. package/components/stepper/stepper.js +58 -7
  382. package/components/stepper/stepper.js.map +1 -1
  383. package/components/stepper/themes/step/light/step.base.css.js +44 -165
  384. package/components/stepper/themes/step/light/step.base.css.js.map +1 -1
  385. package/components/stepper/themes/step/light/step.bootstrap.css.js +116 -19
  386. package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
  387. package/components/stepper/themes/step/light/step.fluent.css.js +112 -12
  388. package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
  389. package/components/stepper/themes/step/light/step.indigo.css.js +112 -25
  390. package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
  391. package/components/stepper/themes/step/light/step.material.css.js +112 -4
  392. package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
  393. package/components/stepper/themes/stepper/stepper.base.css.js +2 -0
  394. package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
  395. package/components/tabs/themes/light/tab.base.css.js +3 -4
  396. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  397. package/components/tabs/themes/light/tabs.base.css.js +1 -0
  398. package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
  399. package/components/toast/toast.js +1 -1
  400. package/components/toast/toast.js.map +1 -1
  401. package/components/tree/themes/light/tree-item.base.css.js +5 -19
  402. package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
  403. package/components/tree/themes/light/tree-item.bootstrap.css.js +60 -3
  404. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
  405. package/components/tree/themes/light/tree-item.fluent.css.js +58 -1
  406. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
  407. package/components/tree/themes/light/tree-item.indigo.css.js +58 -1
  408. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
  409. package/components/tree/themes/light/tree-item.material.css.d.ts +1 -0
  410. package/components/tree/themes/light/tree-item.material.css.js +58 -0
  411. package/components/tree/themes/light/tree-item.material.css.js.map +1 -0
  412. package/components/tree/themes/light/tree.base.css.js +0 -12
  413. package/components/tree/themes/light/tree.base.css.js.map +1 -1
  414. package/components/tree/tree-item.js +10 -17
  415. package/components/tree/tree-item.js.map +1 -1
  416. package/components/tree/tree.d.ts +0 -6
  417. package/components/tree/tree.js +0 -4
  418. package/components/tree/tree.js.map +1 -1
  419. package/components/tree/tree.navigation.js +3 -2
  420. package/components/tree/tree.navigation.js.map +1 -1
  421. package/custom-elements.json +854 -553
  422. package/package.json +4 -4
  423. package/themes/dark/bootstrap.css +277 -66
  424. package/themes/dark/fluent.css +293 -67
  425. package/themes/dark/indigo.css +498 -15
  426. package/themes/dark/material.css +246 -58
  427. package/themes/light/bootstrap.css +5 -2
  428. package/themes/light/fluent.css +5 -2
  429. package/themes/light/indigo.css +229 -2
  430. package/themes/light/material.css +5 -2
  431. package/vscode-html-custom-data.json +240 -287
  432. package/components/avatar/themes/dark/avatar.base.bootstrap.css.js.map +0 -1
  433. package/components/avatar/themes/light/avatar.base.css.js.map +0 -1
  434. package/components/common/types.d.ts +0 -1
  435. package/components/common/types.js +0 -2
  436. package/components/common/types.js.map +0 -1
  437. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +0 -3
  438. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +0 -1
  439. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +0 -1
  440. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +0 -1
  441. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +0 -1
  442. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +0 -17
  443. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +0 -1
  444. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js +0 -5
  445. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +0 -1
  446. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +0 -1
  447. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +0 -1
  448. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +0 -49
  449. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +0 -1
  450. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +0 -137
  451. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +0 -1
  452. /package/components/avatar/themes/{light/avatar.base.css.d.ts → avatar.base.css.d.ts} +0 -0
  453. /package/components/avatar/themes/dark/{avatar.base.bootstrap.css.d.ts → avatar.bootstrap.css.d.ts} +0 -0
  454. /package/components/{nav-drawer/themes/dark/nav-drawer-item.base.css.d.ts → avatar/themes/dark/avatar.fluent.css.d.ts} +0 -0
  455. /package/components/{nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.d.ts → avatar/themes/dark/avatar.indigo.css.d.ts} +0 -0
  456. /package/components/{nav-drawer/themes/dark/nav-drawer-item.fluent.css.d.ts → avatar/themes/dark/avatar.material.css.d.ts} +0 -0
  457. /package/components/{nav-drawer/themes/dark/nav-drawer-item.indigo.css.d.ts → avatar/themes/light/avatar.fluent.css.d.ts} +0 -0
  458. /package/components/{nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.d.ts → avatar/themes/light/avatar.indigo.css.d.ts} +0 -0
  459. /package/components/{nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.d.ts → avatar/themes/light/avatar.material.css.d.ts} +0 -0
  460. /package/components/nav-drawer/themes/{light/indigo/nav-drawer-header-item.indigo.css.d.ts → dark/nav-drawer.bootstrap.css.d.ts} +0 -0
  461. /package/components/nav-drawer/themes/{light/indigo/nav-drawer-item.indigo.css.d.ts → dark/nav-drawer.fluent.css.d.ts} +0 -0
  462. /package/components/nav-drawer/themes/{light/indigo/nav-drawer.indigo.css.d.ts → dark/nav-drawer.material.css.d.ts} +0 -0
  463. /package/components/nav-drawer/themes/light/{nav-drawer-header-item.base.css.d.ts → header-item/nav-drawer-header-item.base.css.d.ts} +0 -0
  464. /package/components/nav-drawer/themes/light/{nav-drawer-item.base.css.d.ts → header-item/nav-drawer-header-item.bootstrap.css.d.ts} +0 -0
@@ -23,3 +23,41 @@ export declare function getOffset(element: HTMLElement, parent: HTMLElement): {
23
23
  };
24
24
  export declare function createCounter(): () => number;
25
25
  export declare function isLTR(element: HTMLElement): boolean;
26
+ /**
27
+ * Builds a string from format specifiers and replacement parameters.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * format('{0} says "{1}".', 'John', 'Hello'); // 'John says "Hello".'
32
+ * ```
33
+ */
34
+ export declare function format(template: string, ...params: string[]): string;
35
+ /**
36
+ * Parse the passed `value` as a number or return the `fallback` if it can't be done.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * asNumber('5'); // 5
41
+ * asNumber('3.14'); // 3.14
42
+ * asNumber('five'); // 0
43
+ * asNUmber('five', 5); // 5
44
+ * ```
45
+ */
46
+ export declare function asNumber(value: unknown, fallback?: number): number;
47
+ /**
48
+ * Returns the value wrapped between the min and max bounds.
49
+ *
50
+ * If the value is greater than max, returns the min and vice-versa.
51
+ * If the value is between the bounds, it is returned unchanged.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * wrap(1, 4, 2); // 2
56
+ * wrap(1, 4, 5); // 1
57
+ * wrap(1, 4, -1); // 4
58
+ * ```
59
+ */
60
+ export declare function wrap(min: number, max: number, value: number): number;
61
+ export declare function isDefined<T = unknown>(value: T): boolean;
62
+ /** Convenient wrapper for `Array.some` */
63
+ export declare function any<T>(arr: T[], predicate: keyof T | ((item: T, idx: number, array: T[]) => boolean)): boolean;
@@ -25,4 +25,38 @@ export function createCounter() {
25
25
  export function isLTR(element) {
26
26
  return getComputedStyle(element).getPropertyValue('direction') === 'ltr';
27
27
  }
28
+ export function format(template, ...params) {
29
+ return template.replace(/{(\d+)}/g, function (match, index) {
30
+ if (index >= params.length) {
31
+ return match;
32
+ }
33
+ const value = params[index];
34
+ if (typeof value !== 'number' && !value) {
35
+ return '';
36
+ }
37
+ return value;
38
+ });
39
+ }
40
+ export function asNumber(value, fallback = 0) {
41
+ const parsed = parseFloat(value);
42
+ return isNaN(parsed) ? fallback : parsed;
43
+ }
44
+ export function wrap(min, max, value) {
45
+ if (value < min) {
46
+ return max;
47
+ }
48
+ else if (value > max) {
49
+ return min;
50
+ }
51
+ return value;
52
+ }
53
+ export function isDefined(value) {
54
+ return value !== undefined;
55
+ }
56
+ export function any(arr, predicate) {
57
+ if (predicate instanceof Function) {
58
+ return arr.some(predicate);
59
+ }
60
+ return arr.some((item) => Boolean(item[predicate]));
61
+ }
28
62
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/common/util.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAE,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAChE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAavC,MAAM,UAAU,SAAS,CAAC,OAAoB,EAAE,MAAmB;IACjE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACrE,MAAM,EACJ,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,GACd,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEnC,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAoB;IACxC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC;AAC3E,CAAC","sourcesContent":["export interface PartNameInfo {\n readonly [name: string]: string | boolean | number;\n}\n\nexport const partNameMap = (partNameInfo: PartNameInfo) => {\n return Object.keys(partNameInfo)\n .filter((key) => partNameInfo[key])\n .join(' ');\n};\n\nexport const asPercent = (part: number, whole: number) => (part / whole) * 100;\n\nexport const clamp = (number: number, min: number, max: number) =>\n Math.max(min, Math.min(number, max));\n\n/**\n *\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * Work around for the following issues in Chromium based browsers:\n *\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1330819\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1334556\n *\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n const { top, left, bottom, right } = element.getBoundingClientRect();\n const {\n top: pTop,\n left: pLeft,\n bottom: pBottom,\n right: pRight,\n } = parent.getBoundingClientRect();\n\n return {\n top: Math.round(top - pTop),\n left: Math.round(left - pLeft),\n right: Math.round(right - pRight),\n bottom: Math.round(bottom - pBottom),\n };\n}\n\nexport function createCounter() {\n let i = 0;\n return function () {\n i++;\n return i;\n };\n}\n\nexport function isLTR(element: HTMLElement) {\n return getComputedStyle(element).getPropertyValue('direction') === 'ltr';\n}\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/common/util.ts"],"names":[],"mappings":"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","sourcesContent":["export interface PartNameInfo {\n readonly [name: string]: string | boolean | number;\n}\n\nexport const partNameMap = (partNameInfo: PartNameInfo) => {\n return Object.keys(partNameInfo)\n .filter((key) => partNameInfo[key])\n .join(' ');\n};\n\nexport const asPercent = (part: number, whole: number) => (part / whole) * 100;\n\nexport const clamp = (number: number, min: number, max: number) =>\n Math.max(min, Math.min(number, max));\n\n/**\n *\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * Work around for the following issues in Chromium based browsers:\n *\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1330819\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1334556\n *\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n const { top, left, bottom, right } = element.getBoundingClientRect();\n const {\n top: pTop,\n left: pLeft,\n bottom: pBottom,\n right: pRight,\n } = parent.getBoundingClientRect();\n\n return {\n top: Math.round(top - pTop),\n left: Math.round(left - pLeft),\n right: Math.round(right - pRight),\n bottom: Math.round(bottom - pBottom),\n };\n}\n\nexport function createCounter() {\n let i = 0;\n return function () {\n i++;\n return i;\n };\n}\n\nexport function isLTR(element: HTMLElement) {\n return getComputedStyle(element).getPropertyValue('direction') === 'ltr';\n}\n\n/**\n * Builds a string from format specifiers and replacement parameters.\n *\n * @example\n * ```typescript\n * format('{0} says \"{1}\".', 'John', 'Hello'); // 'John says \"Hello\".'\n * ```\n */\nexport function format(template: string, ...params: string[]): string {\n return template.replace(/{(\\d+)}/g, function (match: string, index: number) {\n if (index >= params.length) {\n return match;\n }\n\n const value: string = params[index];\n if (typeof value !== 'number' && !value) {\n return '';\n }\n return value;\n });\n}\n\n/**\n * Parse the passed `value` as a number or return the `fallback` if it can't be done.\n *\n * @example\n * ```typescript\n * asNumber('5'); // 5\n * asNumber('3.14'); // 3.14\n * asNumber('five'); // 0\n * asNUmber('five', 5); // 5\n * ```\n */\nexport function asNumber(value: unknown, fallback = 0) {\n const parsed = parseFloat(value as string);\n return isNaN(parsed) ? fallback : parsed;\n}\n\n/**\n * Returns the value wrapped between the min and max bounds.\n *\n * If the value is greater than max, returns the min and vice-versa.\n * If the value is between the bounds, it is returned unchanged.\n *\n * @example\n * ```typescript\n * wrap(1, 4, 2); // 2\n * wrap(1, 4, 5); // 1\n * wrap(1, 4, -1); // 4\n * ```\n */\nexport function wrap(min: number, max: number, value: number) {\n if (value < min) {\n return max;\n } else if (value > max) {\n return min;\n }\n\n return value;\n}\n\nexport function isDefined<T = unknown>(value: T) {\n return value !== undefined;\n}\n\n/** Convenient wrapper for `Array.some` */\nexport function any<T>(\n arr: T[],\n predicate: keyof T | ((item: T, idx: number, array: T[]) => boolean)\n) {\n if (predicate instanceof Function) {\n return arr.some(predicate);\n }\n return arr.some((item) => Boolean(item[predicate]));\n}\n"]}
@@ -0,0 +1,45 @@
1
+ type ValidatorHandler<T> = (host: T) => boolean;
2
+ type ValidatorMessageFormat<T> = (host: T) => string;
3
+ export interface Validator<T = any> {
4
+ key: keyof ValidityStateFlags;
5
+ message: string | ValidatorMessageFormat<T>;
6
+ isValid: ValidatorHandler<T>;
7
+ }
8
+ export declare const requiredValidator: Validator<{
9
+ required: boolean;
10
+ value?: string;
11
+ }>;
12
+ export declare const requiredNumberValidator: Validator<{
13
+ required: boolean;
14
+ value?: number | string;
15
+ }>;
16
+ export declare const requiredBooleanValidator: Validator<{
17
+ required: boolean;
18
+ checked: boolean;
19
+ }>;
20
+ export declare const minLengthValidator: Validator<{
21
+ minLength: number;
22
+ value: string;
23
+ }>;
24
+ export declare const maxLengthValidator: Validator<{
25
+ maxLength: number;
26
+ value: string;
27
+ }>;
28
+ export declare const patternValidator: Validator<{
29
+ pattern: string;
30
+ value: string;
31
+ }>;
32
+ export declare const minValidator: Validator<{
33
+ min: number | string;
34
+ value: number | string;
35
+ }>;
36
+ export declare const maxValidator: Validator<{
37
+ max: number | string;
38
+ value: number | string;
39
+ }>;
40
+ export declare const stepValidator: Validator<{
41
+ min: number | string;
42
+ step: number | string;
43
+ value: number | string;
44
+ }>;
45
+ export {};
@@ -0,0 +1,54 @@
1
+ import validatorMessages from './localization/validation-en.js';
2
+ import { asNumber, format, isDefined } from './util.js';
3
+ export const requiredValidator = {
4
+ key: 'valueMissing',
5
+ message: validatorMessages.required,
6
+ isValid: ({ required, value }) => (required ? !!value : true),
7
+ };
8
+ export const requiredNumberValidator = {
9
+ key: 'valueMissing',
10
+ message: validatorMessages.required,
11
+ isValid: ({ required, value }) => (required ? isDefined(value) : true),
12
+ };
13
+ export const requiredBooleanValidator = {
14
+ key: 'valueMissing',
15
+ message: validatorMessages.required,
16
+ isValid: ({ required, checked }) => (required ? checked : true),
17
+ };
18
+ export const minLengthValidator = {
19
+ key: 'tooShort',
20
+ message: ({ minLength }) => format(validatorMessages.minLength, `${minLength}`),
21
+ isValid: ({ minLength, value }) => minLength ? value.length >= minLength : true,
22
+ };
23
+ export const maxLengthValidator = {
24
+ key: 'tooLong',
25
+ message: ({ maxLength }) => format(validatorMessages.maxLength, `${maxLength}`),
26
+ isValid: ({ maxLength, value }) => maxLength ? value.length <= maxLength : true,
27
+ };
28
+ export const patternValidator = {
29
+ key: 'patternMismatch',
30
+ message: validatorMessages.pattern,
31
+ isValid: ({ pattern, value }) => pattern ? new RegExp(pattern, 'u').test(value) : true,
32
+ };
33
+ export const minValidator = {
34
+ key: 'rangeUnderflow',
35
+ message: ({ min }) => format(validatorMessages.min, `${min}`),
36
+ isValid: ({ min, value }) => isDefined(min)
37
+ ? isDefined(value) && asNumber(value) >= asNumber(min)
38
+ : true,
39
+ };
40
+ export const maxValidator = {
41
+ key: 'rangeOverflow',
42
+ message: ({ max }) => format(validatorMessages.max, `${max}`),
43
+ isValid: ({ max, value }) => isDefined(max)
44
+ ? isDefined(value) && asNumber(value) <= asNumber(max)
45
+ : true,
46
+ };
47
+ export const stepValidator = {
48
+ key: 'stepMismatch',
49
+ message: 'Value does not conform to step constraint',
50
+ isValid: ({ min, step, value }) => isDefined(step)
51
+ ? (asNumber(value) - asNumber(min)) % asNumber(step, 1) === 0
52
+ : true,
53
+ };
54
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/common/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import validatorMessages from './localization/validation-en.js';\nimport { asNumber, format, isDefined } from './util.js';\n\ntype ValidatorHandler<T> = (host: T) => boolean;\ntype ValidatorMessageFormat<T> = (host: T) => string;\n\nexport interface Validator<T = any> {\n key: keyof ValidityStateFlags;\n message: string | ValidatorMessageFormat<T>;\n isValid: ValidatorHandler<T>;\n}\n\nexport const requiredValidator: Validator<{\n required: boolean;\n value?: string;\n}> = {\n key: 'valueMissing',\n message: validatorMessages.required,\n isValid: ({ required, value }) => (required ? !!value : true),\n};\n\nexport const requiredNumberValidator: Validator<{\n required: boolean;\n value?: number | string;\n}> = {\n key: 'valueMissing',\n message: validatorMessages.required,\n isValid: ({ required, value }) => (required ? isDefined(value) : true),\n};\n\nexport const requiredBooleanValidator: Validator<{\n required: boolean;\n checked: boolean;\n}> = {\n key: 'valueMissing',\n message: validatorMessages.required,\n isValid: ({ required, checked }) => (required ? checked : true),\n};\n\nexport const minLengthValidator: Validator<{\n minLength: number;\n value: string;\n}> = {\n key: 'tooShort',\n message: ({ minLength }) =>\n format(validatorMessages.minLength, `${minLength}`),\n isValid: ({ minLength, value }) =>\n minLength ? value.length >= minLength : true,\n};\n\nexport const maxLengthValidator: Validator<{\n maxLength: number;\n value: string;\n}> = {\n key: 'tooLong',\n message: ({ maxLength }) =>\n format(validatorMessages.maxLength, `${maxLength}`),\n isValid: ({ maxLength, value }) =>\n maxLength ? value.length <= maxLength : true,\n};\n\nexport const patternValidator: Validator<{ pattern: string; value: string }> = {\n key: 'patternMismatch',\n message: validatorMessages.pattern,\n isValid: ({ pattern, value }) =>\n pattern ? new RegExp(pattern, 'u').test(value) : true,\n};\n\nexport const minValidator: Validator<{\n min: number | string;\n value: number | string;\n}> = {\n key: 'rangeUnderflow',\n message: ({ min }) => format(validatorMessages.min, `${min}`),\n isValid: ({ min, value }) =>\n isDefined(min)\n ? isDefined(value) && asNumber(value) >= asNumber(min)\n : true,\n};\n\nexport const maxValidator: Validator<{\n max: number | string;\n value: number | string;\n}> = {\n key: 'rangeOverflow',\n message: ({ max }) => format(validatorMessages.max, `${max}`),\n isValid: ({ max, value }) =>\n isDefined(max)\n ? isDefined(value) && asNumber(value) <= asNumber(max)\n : true,\n};\n\nexport const stepValidator: Validator<{\n min: number | string;\n step: number | string;\n value: number | string;\n}> = {\n key: 'stepMismatch',\n message: 'Value does not conform to step constraint',\n isValid: ({ min, step, value }) =>\n isDefined(step)\n ? (asNumber(value) - asNumber(min)) % asNumber(step, 1) === 0\n : true,\n};\n"]}
@@ -2,6 +2,7 @@ import { DatePartDeltas, DatePart } from './date-util.js';
2
2
  import { IgcMaskInputBaseComponent, MaskRange } from '../mask-input/mask-input-base.js';
3
3
  import { IgcInputEventMap } from '../input/input-base.js';
4
4
  import { AbstractConstructor } from '../common/mixins/constructor.js';
5
+ import { Validator } from '../common/validators.js';
5
6
  export interface IgcDateTimeInputEventMap extends Omit<IgcInputEventMap, 'igcChange'> {
6
7
  igcChange: CustomEvent<Date | null>;
7
8
  }
@@ -30,6 +31,7 @@ declare const IgcDateTimeInputComponent_base: AbstractConstructor<import("../com
30
31
  */
31
32
  export default class IgcDateTimeInputComponent extends IgcDateTimeInputComponent_base {
32
33
  static readonly tagName = "igc-date-time-input";
34
+ protected validators: Validator<this>[];
33
35
  protected _defaultMask: string;
34
36
  protected _value: Date | null;
35
37
  private _oldValue;
@@ -48,16 +50,35 @@ export default class IgcDateTimeInputComponent extends IgcDateTimeInputComponent
48
50
  */
49
51
  get value(): Date | null;
50
52
  set value(val: Date | null);
53
+ protected updateFormValue(): void;
54
+ /**
55
+ * The minimum value required for the input to remain valid.
56
+ * @attr
57
+ */
58
+ min: Date;
59
+ /**
60
+ * The maximum value required for the input to remain valid.
61
+ * @attr
62
+ */
63
+ max: Date;
51
64
  /**
52
65
  * The minimum value required for the input to remain valid.
53
66
  * @attr min-value
67
+ *
68
+ * @deprecated - since v4.4.0
69
+ * Use the `min` property instead.
54
70
  */
55
- minValue: Date | null;
71
+ get minValue(): Date;
72
+ set minValue(value: Date);
56
73
  /**
57
74
  * The maximum value required for the input to remain valid.
58
75
  * @attr max-value
76
+ *
77
+ * @deprecated - since v4.4.0
78
+ * Use the `max` property instead.
59
79
  */
60
- maxValue: Date | null;
80
+ get maxValue(): Date;
81
+ set maxValue(value: Date);
61
82
  /**
62
83
  * Format to display the value in when not editing.
63
84
  * Defaults to the input format if not set.
@@ -82,18 +103,12 @@ export default class IgcDateTimeInputComponent extends IgcDateTimeInputComponent
82
103
  protected setDefaultMask(): void;
83
104
  protected setDisplayFormat(): void;
84
105
  protected promptChange(): void;
85
- protected handleInvalidState(): void;
86
- protected validate(): {} | null;
106
+ protected constraintChange(): void;
87
107
  private get hasDateParts();
88
108
  private get hasTimeParts();
89
109
  private get targetDatePart();
90
110
  private get datePartDeltas();
91
- constructor();
92
111
  connectedCallback(): void;
93
- /** Checks for validity of the control and shows the browser message if it's invalid. */
94
- reportValidity(): boolean;
95
- /** Check for validity of the control */
96
- checkValidity(): boolean;
97
112
  /** Increments a date/time portion. */
98
113
  stepUp(datePart?: DatePart, delta?: number): void;
99
114
  /** Decrements a date/time portion. */
@@ -116,9 +131,13 @@ export default class IgcDateTimeInputComponent extends IgcDateTimeInputComponent
116
131
  private isComplete;
117
132
  private updateValue;
118
133
  private getNewPosition;
119
- protected handleFocus(): void;
134
+ protected handleFocus(): Promise<void>;
120
135
  protected handleBlur(): void;
121
- protected handleKeydown(e: KeyboardEvent): void;
136
+ protected handleHorizontalArrows(event: KeyboardEvent): void;
137
+ protected handleVerticalArrows(event: KeyboardEvent): Promise<void>;
138
+ protected handleSemicolon(event: KeyboardEvent): void;
139
+ protected keyMap: Map<string, ((event: KeyboardEvent) => void) | ((event: KeyboardEvent) => Promise<void>) | ((event: KeyboardEvent) => void)>;
140
+ protected handleKeydown(e: KeyboardEvent): Promise<void>;
122
141
  protected renderInput(): import("lit-html").TemplateResult<1>;
123
142
  }
124
143
  declare global {