@progress/kendo-react-inputs 5.6.0-dev.202208251227 → 5.7.0-sig.202208281415

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 (785) hide show
  1. package/api.json +71211 -0
  2. package/dist/cdn/js/kendo-react-inputs.js +1 -1
  3. package/dist/es/main.d.ts +2 -0
  4. package/dist/es/main.js +2 -0
  5. package/dist/es/messages/index.d.ts +15 -0
  6. package/dist/es/messages/index.js +15 -0
  7. package/dist/es/package-metadata.js +1 -1
  8. package/dist/es/signature/Signature.d.ts +14 -0
  9. package/dist/es/signature/Signature.js +346 -0
  10. package/dist/es/signature/interfaces/SignatureBlurEvent.d.ts +7 -0
  11. package/dist/es/signature/interfaces/SignatureBlurEvent.js +1 -0
  12. package/dist/es/signature/interfaces/SignatureChangeEvent.d.ts +11 -0
  13. package/dist/es/signature/interfaces/SignatureChangeEvent.js +1 -0
  14. package/dist/es/signature/interfaces/SignatureCloseEvent.d.ts +7 -0
  15. package/dist/es/signature/interfaces/SignatureCloseEvent.js +1 -0
  16. package/dist/es/signature/interfaces/SignatureFocusEvent.d.ts +7 -0
  17. package/dist/es/signature/interfaces/SignatureFocusEvent.js +1 -0
  18. package/dist/es/signature/interfaces/SignatureHandle.d.ts +34 -0
  19. package/dist/es/signature/interfaces/SignatureHandle.js +1 -0
  20. package/dist/es/signature/interfaces/SignatureOpenEvent.d.ts +7 -0
  21. package/dist/es/signature/interfaces/SignatureOpenEvent.js +1 -0
  22. package/dist/es/signature/interfaces/SignatureProps.d.ts +192 -0
  23. package/dist/es/signature/interfaces/SignatureProps.js +1 -0
  24. package/dist/es/signature/interfaces/index.d.ts +7 -0
  25. package/dist/es/signature/interfaces/index.js +1 -0
  26. package/dist/es/signature/utils/index.d.ts +4 -0
  27. package/dist/es/signature/utils/index.js +10 -0
  28. package/dist/npm/main.d.ts +2 -0
  29. package/dist/npm/main.js +2 -0
  30. package/dist/npm/messages/index.d.ts +15 -0
  31. package/dist/npm/messages/index.js +16 -1
  32. package/dist/npm/package-metadata.js +1 -1
  33. package/dist/npm/signature/Signature.d.ts +14 -0
  34. package/dist/npm/signature/Signature.js +349 -0
  35. package/dist/npm/signature/interfaces/SignatureBlurEvent.d.ts +7 -0
  36. package/dist/npm/signature/interfaces/SignatureBlurEvent.js +2 -0
  37. package/dist/npm/signature/interfaces/SignatureChangeEvent.d.ts +11 -0
  38. package/dist/npm/signature/interfaces/SignatureChangeEvent.js +2 -0
  39. package/dist/npm/signature/interfaces/SignatureCloseEvent.d.ts +7 -0
  40. package/dist/npm/signature/interfaces/SignatureCloseEvent.js +2 -0
  41. package/dist/npm/signature/interfaces/SignatureFocusEvent.d.ts +7 -0
  42. package/dist/npm/signature/interfaces/SignatureFocusEvent.js +2 -0
  43. package/dist/npm/signature/interfaces/SignatureHandle.d.ts +34 -0
  44. package/dist/npm/signature/interfaces/SignatureHandle.js +2 -0
  45. package/dist/npm/signature/interfaces/SignatureOpenEvent.d.ts +7 -0
  46. package/dist/npm/signature/interfaces/SignatureOpenEvent.js +2 -0
  47. package/dist/npm/signature/interfaces/SignatureProps.d.ts +192 -0
  48. package/dist/npm/signature/interfaces/SignatureProps.js +2 -0
  49. package/dist/npm/signature/interfaces/SignatureState.d.ts +15 -0
  50. package/dist/npm/signature/interfaces/SignatureState.js +2 -0
  51. package/dist/npm/signature/interfaces/index.d.ts +7 -0
  52. package/dist/npm/signature/interfaces/index.js +2 -0
  53. package/dist/npm/signature/utils/index.d.ts +4 -0
  54. package/dist/npm/signature/utils/index.js +14 -0
  55. package/dist/systemjs/kendo-react-inputs.js +1 -1
  56. package/docs/_meta.yml +3 -0
  57. package/docs/api/Checkbox.md +23 -0
  58. package/docs/api/CheckboxBlurEvent.md +132 -0
  59. package/docs/api/CheckboxChangeEvent.md +167 -0
  60. package/docs/api/CheckboxFocusEvent.md +132 -0
  61. package/docs/api/CheckboxHandle.md +167 -0
  62. package/docs/api/CheckboxProps.md +1068 -0
  63. package/docs/api/CheckboxPropsContext.md +17 -0
  64. package/docs/api/ColorGradient.md +27 -0
  65. package/docs/api/ColorGradientChangeEvent.md +167 -0
  66. package/docs/api/ColorGradientHandle.md +99 -0
  67. package/docs/api/ColorGradientProps.md +538 -0
  68. package/docs/api/ColorGradientPropsContext.md +17 -0
  69. package/docs/api/ColorPalette.md +26 -0
  70. package/docs/api/ColorPaletteChangeEvent.md +202 -0
  71. package/docs/api/ColorPaletteHandle.md +64 -0
  72. package/docs/api/ColorPaletteProps.md +542 -0
  73. package/docs/api/ColorPalettePropsContext.md +17 -0
  74. package/docs/api/ColorPicker.md +23 -0
  75. package/docs/api/ColorPickerActiveColorClick.md +132 -0
  76. package/docs/api/ColorPickerBlurEvent.md +97 -0
  77. package/docs/api/ColorPickerChangeEvent.md +132 -0
  78. package/docs/api/ColorPickerFocusEvent.md +97 -0
  79. package/docs/api/ColorPickerGradientSettings.md +102 -0
  80. package/docs/api/ColorPickerPaletteSettings.md +148 -0
  81. package/docs/api/ColorPickerPopupSettings.md +97 -0
  82. package/docs/api/ColorPickerProps.md +1078 -0
  83. package/docs/api/ColorPickerPropsContext.md +17 -0
  84. package/docs/api/ColorPickerView.md +19 -0
  85. package/docs/api/Direction.md +12 -0
  86. package/docs/api/FlatColorPicker.md +13 -0
  87. package/docs/api/FlatColorPickerHandle.md +127 -0
  88. package/docs/api/FlatColorPickerProps.md +412 -0
  89. package/docs/api/FormComponentValidity.md +428 -0
  90. package/docs/api/Input.md +17 -0
  91. package/docs/api/InputChangeEvent.md +167 -0
  92. package/docs/api/InputHandle.md +204 -0
  93. package/docs/api/InputProps.md +428 -0
  94. package/docs/api/InputPropsContext.md +17 -0
  95. package/docs/api/MaskedTextBox.md +17 -0
  96. package/docs/api/MaskedTextBoxChangeEvent.md +237 -0
  97. package/docs/api/MaskedTextBoxEvent.md +132 -0
  98. package/docs/api/MaskedTextBoxHandle.md +265 -0
  99. package/docs/api/MaskedTextBoxProps.md +1395 -0
  100. package/docs/api/MaskedTextBoxPropsContext.md +17 -0
  101. package/docs/api/NumericTextBox.md +13 -0
  102. package/docs/api/NumericTextBoxBlurEvent.md +132 -0
  103. package/docs/api/NumericTextBoxChangeEvent.md +167 -0
  104. package/docs/api/NumericTextBoxFocusEvent.md +132 -0
  105. package/docs/api/NumericTextBoxHandle.md +197 -0
  106. package/docs/api/NumericTextBoxProps.md +1471 -0
  107. package/docs/api/NumericTextBoxPropsContext.md +17 -0
  108. package/docs/api/RadioButton.md +17 -0
  109. package/docs/api/RadioButtonBlurEvent.md +132 -0
  110. package/docs/api/RadioButtonChangeEvent.md +167 -0
  111. package/docs/api/RadioButtonFocusEvent.md +132 -0
  112. package/docs/api/RadioButtonHandle.md +97 -0
  113. package/docs/api/RadioButtonProps.md +791 -0
  114. package/docs/api/RadioButtonPropsContext.md +17 -0
  115. package/docs/api/RadioGroup.md +17 -0
  116. package/docs/api/RadioGroupChangeEvent.md +167 -0
  117. package/docs/api/RadioGroupFocusEvent.md +132 -0
  118. package/docs/api/RadioGroupHandle.md +97 -0
  119. package/docs/api/RadioGroupProps.md +707 -0
  120. package/docs/api/RadioGroupPropsContext.md +17 -0
  121. package/docs/api/Range.md +13 -0
  122. package/docs/api/RangeSlider.md +17 -0
  123. package/docs/api/RangeSliderChangeEvent.md +132 -0
  124. package/docs/api/RangeSliderHandle.md +127 -0
  125. package/docs/api/RangeSliderProps.md +853 -0
  126. package/docs/api/RangeSliderPropsContext.md +17 -0
  127. package/docs/api/Rating.md +17 -0
  128. package/docs/api/RatingChangeEvent.md +132 -0
  129. package/docs/api/RatingFocusEvent.md +97 -0
  130. package/docs/api/RatingHandle.md +97 -0
  131. package/docs/api/RatingItem.md +13 -0
  132. package/docs/api/RatingItemFocusEvent.md +97 -0
  133. package/docs/api/RatingItemHandle.md +132 -0
  134. package/docs/api/RatingItemKeyboardEvent.md +97 -0
  135. package/docs/api/RatingItemMouseEvent.md +97 -0
  136. package/docs/api/RatingItemProps.md +941 -0
  137. package/docs/api/RatingKeyboardEvent.md +97 -0
  138. package/docs/api/RatingMouseEvent.md +97 -0
  139. package/docs/api/RatingProps.md +1308 -0
  140. package/docs/api/RatingPropsContext.md +17 -0
  141. package/docs/api/Signature.md +13 -0
  142. package/docs/api/SignatureBlurEvent.md +132 -0
  143. package/docs/api/SignatureChangeEvent.md +167 -0
  144. package/docs/api/SignatureCloseEvent.md +132 -0
  145. package/docs/api/SignatureFocusEvent.md +132 -0
  146. package/docs/api/SignatureHandle.md +162 -0
  147. package/docs/api/SignatureOpenEvent.md +132 -0
  148. package/docs/api/SignatureProps.md +1592 -0
  149. package/docs/api/SignaturePropsContext.md +17 -0
  150. package/docs/api/Slider.md +17 -0
  151. package/docs/api/SliderChangeEvent.md +167 -0
  152. package/docs/api/SliderHandle.md +99 -0
  153. package/docs/api/SliderLabel.md +62 -0
  154. package/docs/api/SliderLabelProps.md +171 -0
  155. package/docs/api/SliderProps.md +902 -0
  156. package/docs/api/SliderPropsContext.md +17 -0
  157. package/docs/api/Switch.md +17 -0
  158. package/docs/api/SwitchChangeEvent.md +167 -0
  159. package/docs/api/SwitchHandle.md +239 -0
  160. package/docs/api/SwitchProps.md +1081 -0
  161. package/docs/api/SwitchPropsContext.md +17 -0
  162. package/docs/api/TextArea.md +27 -0
  163. package/docs/api/TextAreaBlurEvent.md +132 -0
  164. package/docs/api/TextAreaChangeEvent.md +167 -0
  165. package/docs/api/TextAreaFocusEvent.md +132 -0
  166. package/docs/api/TextAreaProps.md +1082 -0
  167. package/docs/api/TextAreaPropsContext.md +17 -0
  168. package/docs/api/TileSize.md +18 -0
  169. package/docs/api/ToggleBaseProps.md +132 -0
  170. package/docs/api/_meta.yml +3 -0
  171. package/docs/api/index.md +425 -0
  172. package/docs/auto-imports.js +40 -0
  173. package/docs/checkbox/_meta.yml +3 -0
  174. package/docs/checkbox/accessibility.md +26 -0
  175. package/docs/checkbox/appearance.md +28 -0
  176. package/docs/checkbox/controlled.md +57 -0
  177. package/docs/checkbox/default-state.md +24 -0
  178. package/docs/checkbox/disabled.md +23 -0
  179. package/docs/checkbox/forms-support.md +90 -0
  180. package/docs/checkbox/index.md +46 -0
  181. package/docs/checkbox/keyboard-navigation.md +36 -0
  182. package/docs/checkbox/labels.md +36 -0
  183. package/docs/colorgradient/_meta.yml +3 -0
  184. package/docs/colorgradient/color-contrast.md +34 -0
  185. package/docs/colorgradient/controlled.md +32 -0
  186. package/docs/colorgradient/disabled.md +23 -0
  187. package/docs/colorgradient/index.md +42 -0
  188. package/docs/colorgradient/noopacity.md +28 -0
  189. package/docs/colorpalette/_meta.yml +3 -0
  190. package/docs/colorpalette/assets/demo-img.png +0 -0
  191. package/docs/colorpalette/controlled.md +32 -0
  192. package/docs/colorpalette/custom.md +23 -0
  193. package/docs/colorpalette/disabled.md +23 -0
  194. package/docs/colorpalette/events.md +27 -0
  195. package/docs/colorpalette/index.md +47 -0
  196. package/docs/colorpalette/keyboard-navigation.md +36 -0
  197. package/docs/colorpalette/presets.md +23 -0
  198. package/docs/colorpicker/_meta.yml +3 -0
  199. package/docs/colorpicker/appearance.md +30 -0
  200. package/docs/colorpicker/color-contrast.md +33 -0
  201. package/docs/colorpicker/combined-views.md +46 -0
  202. package/docs/colorpicker/controlled.md +57 -0
  203. package/docs/colorpicker/custom.md +67 -0
  204. package/docs/colorpicker/default-value.md +20 -0
  205. package/docs/colorpicker/disabled.md +20 -0
  206. package/docs/colorpicker/index.md +41 -0
  207. package/docs/colorpicker/keyboard-navigation.md +39 -0
  208. package/docs/custom-attributes.md +27 -0
  209. package/docs/examples/attribute/class/main.tsx +44 -0
  210. package/docs/examples/attribute/func/main.tsx +58 -0
  211. package/docs/examples/checkbox/appearance/func/main.tsx +33 -0
  212. package/docs/examples/checkbox/controlled/checked/class/main.tsx +32 -0
  213. package/docs/examples/checkbox/controlled/checked/func/main.tsx +29 -0
  214. package/docs/examples/checkbox/controlled/value/class/main.tsx +32 -0
  215. package/docs/examples/checkbox/controlled/value/func/main.tsx +28 -0
  216. package/docs/examples/checkbox/default/func/main.tsx +15 -0
  217. package/docs/examples/checkbox/disabled/func/main.tsx +19 -0
  218. package/docs/examples/checkbox/forms/basic/class/main.tsx +79 -0
  219. package/docs/examples/checkbox/forms/basic/func/main.tsx +71 -0
  220. package/docs/examples/checkbox/forms/custom-message/class/main.tsx +117 -0
  221. package/docs/examples/checkbox/forms/custom-message/func/main.tsx +124 -0
  222. package/docs/examples/checkbox/forms/disable-styles/class/main.tsx +126 -0
  223. package/docs/examples/checkbox/forms/disable-styles/func/main.tsx +125 -0
  224. package/docs/examples/checkbox/forms/kendo-react-form/func/main.tsx +137 -0
  225. package/docs/examples/checkbox/keyboard/class/main.tsx +32 -0
  226. package/docs/examples/checkbox/keyboard/func/main.tsx +27 -0
  227. package/docs/examples/checkbox/labels/custom/func/main.tsx +20 -0
  228. package/docs/examples/checkbox/labels/setup/func/main.tsx +20 -0
  229. package/docs/examples/checkbox/main/func/main.tsx +22 -0
  230. package/docs/examples/colorgradient/colorcontrast/class/main.tsx +48 -0
  231. package/docs/examples/colorgradient/colorcontrast/func/main.tsx +43 -0
  232. package/docs/examples/colorgradient/controlled/class/main.tsx +29 -0
  233. package/docs/examples/colorgradient/controlled/func/main.tsx +21 -0
  234. package/docs/examples/colorgradient/disabled/func/main.tsx +17 -0
  235. package/docs/examples/colorgradient/opacity/class/main.tsx +32 -0
  236. package/docs/examples/colorgradient/opacity/func/main.tsx +24 -0
  237. package/docs/examples/colorgradient/overview/class/main.tsx +42 -0
  238. package/docs/examples/colorgradient/overview/func/main.tsx +34 -0
  239. package/docs/examples/colorpalette/controlled/class/main.tsx +25 -0
  240. package/docs/examples/colorpalette/controlled/func/main.tsx +17 -0
  241. package/docs/examples/colorpalette/custom/func/main.tsx +13 -0
  242. package/docs/examples/colorpalette/disabled/func/main.tsx +13 -0
  243. package/docs/examples/colorpalette/keyboard/class/main.tsx +30 -0
  244. package/docs/examples/colorpalette/keyboard/func/main.tsx +30 -0
  245. package/docs/examples/colorpalette/overview/basic/class/main.tsx +55 -0
  246. package/docs/examples/colorpalette/overview/basic/class/styles.css +50 -0
  247. package/docs/examples/colorpalette/overview/basic/func/main.tsx +47 -0
  248. package/docs/examples/colorpalette/overview/basic/func/styles.css +50 -0
  249. package/docs/examples/colorpalette/overview/events/class/main.tsx +48 -0
  250. package/docs/examples/colorpalette/overview/events/func/main.tsx +40 -0
  251. package/docs/examples/colorpalette/presets/func/main.tsx +70 -0
  252. package/docs/examples/colorpicker/appearance/func/main.tsx +37 -0
  253. package/docs/examples/colorpicker/colorcontrast/class/main.tsx +50 -0
  254. package/docs/examples/colorpicker/colorcontrast/func/main.tsx +44 -0
  255. package/docs/examples/colorpicker/controlled/popup/class/main.tsx +39 -0
  256. package/docs/examples/colorpicker/controlled/popup/func/main.tsx +31 -0
  257. package/docs/examples/colorpicker/controlled/value/class/main.tsx +25 -0
  258. package/docs/examples/colorpicker/controlled/value/func/main.tsx +17 -0
  259. package/docs/examples/colorpicker/custom/custom-icons/func/main.tsx +18 -0
  260. package/docs/examples/colorpicker/custom/gradient/func/main.tsx +24 -0
  261. package/docs/examples/colorpicker/custom/kendo-icons/func/main.tsx +18 -0
  262. package/docs/examples/colorpicker/custom/palette/func/main.tsx +28 -0
  263. package/docs/examples/colorpicker/default/func/main.tsx +24 -0
  264. package/docs/examples/colorpicker/disabled/func/main.tsx +17 -0
  265. package/docs/examples/colorpicker/keyboard/class/main.tsx +30 -0
  266. package/docs/examples/colorpicker/keyboard/func/main.tsx +29 -0
  267. package/docs/examples/colorpicker/overview/func/main.tsx +24 -0
  268. package/docs/examples/colorpicker/view/combined/class/main.tsx +37 -0
  269. package/docs/examples/colorpicker/view/combined/func/main.tsx +27 -0
  270. package/docs/examples/colorpicker/view/popup/class/main.tsx +66 -0
  271. package/docs/examples/colorpicker/view/popup/func/main.tsx +55 -0
  272. package/docs/examples/flatcolorpicker/basic/func/main.tsx +13 -0
  273. package/docs/examples/flatcolorpicker/customization/footer/func/main.tsx +13 -0
  274. package/docs/examples/flatcolorpicker/customization/header/func/main.tsx +13 -0
  275. package/docs/examples/flatcolorpicker/disabled/func/main.tsx +13 -0
  276. package/docs/examples/get-started/func/main.tsx +14 -0
  277. package/docs/examples/globalization/func/main.tsx +47 -0
  278. package/docs/examples/input/counter/main.tsx +30 -0
  279. package/docs/examples/input/forms/basic/class/main.tsx +87 -0
  280. package/docs/examples/input/forms/basic/func/main.tsx +79 -0
  281. package/docs/examples/input/forms/custom-message/class/main.tsx +94 -0
  282. package/docs/examples/input/forms/custom-message/func/main.tsx +86 -0
  283. package/docs/examples/input/forms/disable-styles/class/main.tsx +115 -0
  284. package/docs/examples/input/forms/disable-styles/func/main.tsx +106 -0
  285. package/docs/examples/input/forms/override/class/main.tsx +111 -0
  286. package/docs/examples/input/forms/override/func/main.tsx +102 -0
  287. package/docs/examples/input/main/main.jsx +17 -0
  288. package/docs/examples/input/overview/func/main.tsx +88 -0
  289. package/docs/examples/label/class/main.tsx +69 -0
  290. package/docs/examples/label/func/main.tsx +65 -0
  291. package/docs/examples/maskedtextbox/appearance/func/main.tsx +41 -0
  292. package/docs/examples/maskedtextbox/disabled/func/main.tsx +24 -0
  293. package/docs/examples/maskedtextbox/forms/basic/class/main.tsx +78 -0
  294. package/docs/examples/maskedtextbox/forms/basic/func/main.tsx +70 -0
  295. package/docs/examples/maskedtextbox/forms/custom-message/class/main.tsx +81 -0
  296. package/docs/examples/maskedtextbox/forms/custom-message/func/main.tsx +73 -0
  297. package/docs/examples/maskedtextbox/forms/disable-styles/class/main.tsx +75 -0
  298. package/docs/examples/maskedtextbox/forms/disable-styles/func/main.tsx +67 -0
  299. package/docs/examples/maskedtextbox/forms/override/class/main.tsx +85 -0
  300. package/docs/examples/maskedtextbox/forms/override/func/main.tsx +75 -0
  301. package/docs/examples/maskedtextbox/mask/basic/func/main.tsx +19 -0
  302. package/docs/examples/maskedtextbox/mask/extend/func/main.tsx +35 -0
  303. package/docs/examples/maskedtextbox/overview/basic/func/main.tsx +18 -0
  304. package/docs/examples/maskedtextbox/readonly/func/main.tsx +20 -0
  305. package/docs/examples/maskedtextbox/valid/class/main.tsx +59 -0
  306. package/docs/examples/maskedtextbox/valid/func/main.tsx +51 -0
  307. package/docs/examples/maskedtextbox/value/class/main.tsx +37 -0
  308. package/docs/examples/maskedtextbox/value/func/main.tsx +29 -0
  309. package/docs/examples/numerictextbox/appearance/func/main.tsx +39 -0
  310. package/docs/examples/numerictextbox/formats/func/main.tsx +53 -0
  311. package/docs/examples/numerictextbox/forms/basic/class/main.tsx +75 -0
  312. package/docs/examples/numerictextbox/forms/basic/func/main.tsx +67 -0
  313. package/docs/examples/numerictextbox/forms/custom-message/class/main.tsx +82 -0
  314. package/docs/examples/numerictextbox/forms/custom-message/func/main.tsx +74 -0
  315. package/docs/examples/numerictextbox/forms/disable-styles/class/main.tsx +98 -0
  316. package/docs/examples/numerictextbox/forms/disable-styles/func/main.tsx +85 -0
  317. package/docs/examples/numerictextbox/forms/override/class/main.tsx +96 -0
  318. package/docs/examples/numerictextbox/forms/override/func/main.tsx +87 -0
  319. package/docs/examples/numerictextbox/forms/ref/class/main.tsx +44 -0
  320. package/docs/examples/numerictextbox/forms/ref/func/main.tsx +34 -0
  321. package/docs/examples/numerictextbox/keyboard/func/main.tsx +20 -0
  322. package/docs/examples/numerictextbox/overview/class/main.tsx +55 -0
  323. package/docs/examples/numerictextbox/overview/func/main.tsx +43 -0
  324. package/docs/examples/numerictextbox/spin/func/main.tsx +22 -0
  325. package/docs/examples/numerictextbox/step/func/main.tsx +21 -0
  326. package/docs/examples/overview/func/main.tsx +102 -0
  327. package/docs/examples/props-context/overview/class/grid-with-filtering.tsx +32 -0
  328. package/docs/examples/props-context/overview/class/main.tsx +26 -0
  329. package/docs/examples/props-context/overview/class/sample-products.ts +182 -0
  330. package/docs/examples/props-context/overview/func/grid-with-filtering.tsx +32 -0
  331. package/docs/examples/props-context/overview/func/main.tsx +24 -0
  332. package/docs/examples/props-context/overview/func/sample-products.ts +182 -0
  333. package/docs/examples/radiobutton/appearance/func/main.tsx +28 -0
  334. package/docs/examples/radiobutton/custom-labels/func/main.tsx +28 -0
  335. package/docs/examples/radiobutton/disabled/func/main.tsx +20 -0
  336. package/docs/examples/radiobutton/labels/func/main.tsx +20 -0
  337. package/docs/examples/radiobutton/overview/class/main.tsx +35 -0
  338. package/docs/examples/radiobutton/overview/func/main.tsx +30 -0
  339. package/docs/examples/radiogroup/controlled/class/main.tsx +49 -0
  340. package/docs/examples/radiogroup/controlled/func/main.tsx +40 -0
  341. package/docs/examples/radiogroup/default-state/func/main.tsx +19 -0
  342. package/docs/examples/radiogroup/forms/class/main.tsx +150 -0
  343. package/docs/examples/radiogroup/forms/func/main.tsx +146 -0
  344. package/docs/examples/radiogroup/keyboard/class/main.tsx +37 -0
  345. package/docs/examples/radiogroup/keyboard/func/main.tsx +31 -0
  346. package/docs/examples/radiogroup/layout/class/main.tsx +49 -0
  347. package/docs/examples/radiogroup/layout/func/main.tsx +43 -0
  348. package/docs/examples/radiogroup/overview/func/main.tsx +18 -0
  349. package/docs/examples/rangeslider/controlled/class/main.tsx +45 -0
  350. package/docs/examples/rangeslider/controlled/func/main.tsx +37 -0
  351. package/docs/examples/rangeslider/disabled/func/main.tsx +27 -0
  352. package/docs/examples/rangeslider/labels/func/main.tsx +26 -0
  353. package/docs/examples/rangeslider/orientation/func/main.tsx +27 -0
  354. package/docs/examples/rangeslider/overview/func/main.tsx +26 -0
  355. package/docs/examples/rating/controlled/class/main.tsx +29 -0
  356. package/docs/examples/rating/controlled/func/main.tsx +21 -0
  357. package/docs/examples/rating/disabled/func/main.tsx +18 -0
  358. package/docs/examples/rating/forms/class/main.tsx +85 -0
  359. package/docs/examples/rating/forms/func/main.tsx +79 -0
  360. package/docs/examples/rating/icon/func/main.tsx +15 -0
  361. package/docs/examples/rating/items/func/main.tsx +15 -0
  362. package/docs/examples/rating/label/class/main.tsx +33 -0
  363. package/docs/examples/rating/label/func/main.tsx +26 -0
  364. package/docs/examples/rating/navigation/func/main.tsx +15 -0
  365. package/docs/examples/rating/overview/func/main.tsx +12 -0
  366. package/docs/examples/rating/precision/func/main.tsx +27 -0
  367. package/docs/examples/rating/rating-item/advanced/class/main.tsx +82 -0
  368. package/docs/examples/rating/rating-item/advanced/func/main.tsx +76 -0
  369. package/docs/examples/rating/rating-item/overview/func/main.tsx +75 -0
  370. package/docs/examples/rating/readonly/func/main.tsx +18 -0
  371. package/docs/examples/rating/selection/func/main.tsx +25 -0
  372. package/docs/examples/rtl/func/main.tsx +99 -0
  373. package/docs/examples/shared/checkbox-style-configurator.tsx +69 -0
  374. package/docs/examples/shared/es.json +6 -0
  375. package/docs/examples/shared/radiobutton-style-configurator.tsx +47 -0
  376. package/docs/examples/shared/sample-signature.ts +2 -0
  377. package/docs/examples/shared/style-configurator.tsx +93 -0
  378. package/docs/examples/shared/switch-style-configurator.tsx +91 -0
  379. package/docs/examples/signature/appearance/all-options/func/main.tsx +89 -0
  380. package/docs/examples/signature/appearance/color/func/main.tsx +17 -0
  381. package/docs/examples/signature/appearance/stroke-width/func/main.tsx +16 -0
  382. package/docs/examples/signature/controlled/export-scale/func/main.tsx +34 -0
  383. package/docs/examples/signature/controlled/popup/func/main.tsx +28 -0
  384. package/docs/examples/signature/controlled/value/func/main.tsx +19 -0
  385. package/docs/examples/signature/disabled/func/main.tsx +17 -0
  386. package/docs/examples/signature/events/func/main.tsx +66 -0
  387. package/docs/examples/signature/forms/kendo/func/main.tsx +148 -0
  388. package/docs/examples/signature/overview/func/main.tsx +239 -0
  389. package/docs/examples/signature/overview/func/styles.css +56 -0
  390. package/docs/examples/signature/popup/disabled/func/main.tsx +14 -0
  391. package/docs/examples/signature/popup/scale/func/main.tsx +14 -0
  392. package/docs/examples/signature/readonly/func/main.tsx +17 -0
  393. package/docs/examples/signature/smooth/func/main.tsx +14 -0
  394. package/docs/examples/slider/buttons/func/main.tsx +18 -0
  395. package/docs/examples/slider/controlled/class/main.tsx +45 -0
  396. package/docs/examples/slider/controlled/func/main.tsx +36 -0
  397. package/docs/examples/slider/labels/class/main.tsx +44 -0
  398. package/docs/examples/slider/labels/func/main.tsx +35 -0
  399. package/docs/examples/slider/orientation/func/main.tsx +25 -0
  400. package/docs/examples/slider/overview/func/main.tsx +24 -0
  401. package/docs/examples/switch/appearance/func/main.tsx +38 -0
  402. package/docs/examples/switch/controlled/manual/class/main.tsx +40 -0
  403. package/docs/examples/switch/controlled/manual/func/main.tsx +33 -0
  404. package/docs/examples/switch/controlled/readonly/func/main.tsx +15 -0
  405. package/docs/examples/switch/default/func/main.tsx +15 -0
  406. package/docs/examples/switch/disabled/func/main.tsx +15 -0
  407. package/docs/examples/switch/forms/basic/class/main.tsx +81 -0
  408. package/docs/examples/switch/forms/basic/func/main.tsx +72 -0
  409. package/docs/examples/switch/forms/custom-message/class/main.tsx +108 -0
  410. package/docs/examples/switch/forms/custom-message/func/main.tsx +100 -0
  411. package/docs/examples/switch/forms/disable-styles/class/main.tsx +129 -0
  412. package/docs/examples/switch/forms/disable-styles/func/main.tsx +118 -0
  413. package/docs/examples/switch/forms/kendo-react-form/class/main.tsx +104 -0
  414. package/docs/examples/switch/forms/kendo-react-form/func/main.tsx +106 -0
  415. package/docs/examples/switch/keyboard/class/main.tsx +22 -0
  416. package/docs/examples/switch/keyboard/func/main.tsx +23 -0
  417. package/docs/examples/switch/labels/func/main.tsx +15 -0
  418. package/docs/examples/switch/overview/basic/func/main.tsx +15 -0
  419. package/docs/examples/textarea/appearance/func/main.tsx +39 -0
  420. package/docs/examples/textarea/auto-sizing/func/main.tsx +18 -0
  421. package/docs/examples/textarea/controlled/class/main.tsx +32 -0
  422. package/docs/examples/textarea/controlled/func/main.tsx +26 -0
  423. package/docs/examples/textarea/counter/class/main.tsx +38 -0
  424. package/docs/examples/textarea/counter/func/main.tsx +32 -0
  425. package/docs/examples/textarea/default-state/func/main.tsx +18 -0
  426. package/docs/examples/textarea/disabled/func/main.tsx +20 -0
  427. package/docs/examples/textarea/forms/kendo-react-form/class/main.tsx +152 -0
  428. package/docs/examples/textarea/forms/kendo-react-form/func/main.tsx +140 -0
  429. package/docs/examples/textarea/main/func/main.tsx +15 -0
  430. package/docs/examples/textarea/overview/class/main.tsx +103 -0
  431. package/docs/examples/textarea/overview/func/main.tsx +90 -0
  432. package/docs/examples/textarea/sizing/func/main.tsx +15 -0
  433. package/docs/examples/tsconfig.json +29 -0
  434. package/docs/flatcolorpicker/_meta.yml +3 -0
  435. package/docs/flatcolorpicker/customization.md +33 -0
  436. package/docs/flatcolorpicker/disabled.md +22 -0
  437. package/docs/flatcolorpicker/index.md +30 -0
  438. package/docs/floating-labels.md +35 -0
  439. package/docs/get-started.md +153 -0
  440. package/docs/globalization.md +67 -0
  441. package/docs/index.md +212 -0
  442. package/docs/input/_meta.yml +3 -0
  443. package/docs/input/counter.md +20 -0
  444. package/docs/input/forms.md +87 -0
  445. package/docs/input/index.md +40 -0
  446. package/docs/maskedtextbox/_meta.yml +3 -0
  447. package/docs/maskedtextbox/accessibility.md +22 -0
  448. package/docs/maskedtextbox/appearance.md +30 -0
  449. package/docs/maskedtextbox/disabled-state.md +20 -0
  450. package/docs/maskedtextbox/forms.md +87 -0
  451. package/docs/maskedtextbox/index.md +40 -0
  452. package/docs/maskedtextbox/masks.md +44 -0
  453. package/docs/maskedtextbox/readonly-state.md +20 -0
  454. package/docs/maskedtextbox/valid-state.md +25 -0
  455. package/docs/maskedtextbox/value.md +23 -0
  456. package/docs/numerictextbox/_meta.yml +3 -0
  457. package/docs/numerictextbox/accessibility.md +25 -0
  458. package/docs/numerictextbox/appearance.md +30 -0
  459. package/docs/numerictextbox/formats.md +25 -0
  460. package/docs/numerictextbox/forms.md +87 -0
  461. package/docs/numerictextbox/index.md +49 -0
  462. package/docs/numerictextbox/keyboard-navigation.md +26 -0
  463. package/docs/numerictextbox/predefined-step.md +20 -0
  464. package/docs/numerictextbox/ref.md +28 -0
  465. package/docs/numerictextbox/spin-buttons.md +20 -0
  466. package/docs/props-context.md +65 -0
  467. package/docs/radiobutton/_meta.yml +3 -0
  468. package/docs/radiobutton/appearance.md +26 -0
  469. package/docs/radiobutton/disabled.md +23 -0
  470. package/docs/radiobutton/index.md +47 -0
  471. package/docs/radiobutton/labels.md +36 -0
  472. package/docs/radiogroup/_meta.yml +3 -0
  473. package/docs/radiogroup/accessibility.md +25 -0
  474. package/docs/radiogroup/controlled_mode.md +34 -0
  475. package/docs/radiogroup/default_state.md +24 -0
  476. package/docs/radiogroup/forms_support.md +37 -0
  477. package/docs/radiogroup/index.md +41 -0
  478. package/docs/radiogroup/keyboard_navigation.md +37 -0
  479. package/docs/radiogroup/layout.md +29 -0
  480. package/docs/rangeslider/_meta.yml +3 -0
  481. package/docs/rangeslider/accessibility.md +26 -0
  482. package/docs/rangeslider/controlled.md +32 -0
  483. package/docs/rangeslider/disabled.md +23 -0
  484. package/docs/rangeslider/index.md +41 -0
  485. package/docs/rangeslider/keyboard-navigation.md +33 -0
  486. package/docs/rangeslider/orientation.md +24 -0
  487. package/docs/rangeslider/ticks.md +26 -0
  488. package/docs/rating/_meta.yml +3 -0
  489. package/docs/rating/accessibility.md +26 -0
  490. package/docs/rating/forms_support.md +39 -0
  491. package/docs/rating/functionality-and-features/_meta.yml +2 -0
  492. package/docs/rating/functionality-and-features/controlled.md +34 -0
  493. package/docs/rating/functionality-and-features/disabled.md +23 -0
  494. package/docs/rating/functionality-and-features/icon.md +27 -0
  495. package/docs/rating/functionality-and-features/items.md +24 -0
  496. package/docs/rating/functionality-and-features/label.md +28 -0
  497. package/docs/rating/functionality-and-features/precision.md +51 -0
  498. package/docs/rating/functionality-and-features/readonly.md +23 -0
  499. package/docs/rating/functionality-and-features/selection.md +23 -0
  500. package/docs/rating/index.md +45 -0
  501. package/docs/rating/item_custamization.md +45 -0
  502. package/docs/rating/keyboard-navigation.md +33 -0
  503. package/docs/signature/_meta.yml +3 -0
  504. package/docs/signature/appearance.md +96 -0
  505. package/docs/signature/controlled.md +60 -0
  506. package/docs/signature/disabled.md +21 -0
  507. package/docs/signature/events.md +20 -0
  508. package/docs/signature/forms.md +28 -0
  509. package/docs/signature/index.md +34 -0
  510. package/docs/signature/line-smoothing.md +16 -0
  511. package/docs/signature/popup.md +34 -0
  512. package/docs/signature/readonly.md +21 -0
  513. package/docs/slider/_meta.yml +3 -0
  514. package/docs/slider/accessibility.md +26 -0
  515. package/docs/slider/controlled.md +32 -0
  516. package/docs/slider/index.md +41 -0
  517. package/docs/slider/keyboard-navigation.md +33 -0
  518. package/docs/slider/orientation.md +24 -0
  519. package/docs/slider/side-buttons.md +24 -0
  520. package/docs/slider/ticks.md +31 -0
  521. package/docs/switch/_meta.yml +3 -0
  522. package/docs/switch/accessibility.md +17 -0
  523. package/docs/switch/appearance.md +30 -0
  524. package/docs/switch/controlled-switch.md +44 -0
  525. package/docs/switch/default-state.md +20 -0
  526. package/docs/switch/disabled-state.md +20 -0
  527. package/docs/switch/forms-support.md +78 -0
  528. package/docs/switch/index.md +44 -0
  529. package/docs/switch/keyboard-navigation.md +31 -0
  530. package/docs/switch/labels.md +29 -0
  531. package/docs/textarea/_meta.yml +3 -0
  532. package/docs/textarea/appearance.md +30 -0
  533. package/docs/textarea/controlled_mode.md +37 -0
  534. package/docs/textarea/counter.md +28 -0
  535. package/docs/textarea/default_state.md +25 -0
  536. package/docs/textarea/disabled.md +24 -0
  537. package/docs/textarea/forms_support.md +39 -0
  538. package/docs/textarea/index.md +51 -0
  539. package/docs/textarea/sizing.md +38 -0
  540. package/e2e/a11y.tests.ts +154 -0
  541. package/e2e/input.tests.ts +143 -0
  542. package/e2e/numeric.tests.ts +134 -0
  543. package/e2e/switch.tests.ts +122 -0
  544. package/examples/checkbox/checkbox.html +9 -0
  545. package/examples/checkbox/checkbox.tsx +292 -0
  546. package/examples/checkbox/checkboxForm.html +9 -0
  547. package/examples/checkbox/checkboxForm.tsx +81 -0
  548. package/examples/checkbox/checked-n-value.html +9 -0
  549. package/examples/checkbox/checked-n-value.tsx +115 -0
  550. package/examples/checkbox/controlled-mode.html +9 -0
  551. package/examples/checkbox/controlled-mode.tsx +69 -0
  552. package/examples/checkbox/form.html +9 -0
  553. package/examples/checkbox/form.tsx +78 -0
  554. package/examples/checkbox/formik.html +9 -0
  555. package/examples/checkbox/formik.tsx +89 -0
  556. package/examples/colors/colorContrast.html +12 -0
  557. package/examples/colors/colorContrast.tsx +52 -0
  558. package/examples/colors/colorGradient.html +9 -0
  559. package/examples/colors/colorGradient.tsx +37 -0
  560. package/examples/colors/colorPalette.html +9 -0
  561. package/examples/colors/colorPalette.tsx +29 -0
  562. package/examples/colors/colorPicker.html +22 -0
  563. package/examples/colors/colorPicker.tsx +58 -0
  564. package/examples/colors/colorPickerLocalization.html +9 -0
  565. package/examples/colors/colorPickerLocalization.tsx +31 -0
  566. package/examples/colors/flatColorPicker.html +12 -0
  567. package/examples/colors/flatColorPicker.tsx +21 -0
  568. package/examples/context/class/grid-with-filtering.tsx +32 -0
  569. package/examples/context/class/index.html +9 -0
  570. package/examples/context/class/index.tsx +28 -0
  571. package/examples/context/class/sample-products.tsx +182 -0
  572. package/examples/context/func/grid-with-filtering.tsx +32 -0
  573. package/examples/context/func/index.html +9 -0
  574. package/examples/context/func/index.tsx +26 -0
  575. package/examples/context/func/sample-products.tsx +182 -0
  576. package/examples/e2e/accessibility/CheckboxExample.tsx +26 -0
  577. package/examples/e2e/accessibility/ColorGradientExample.tsx +28 -0
  578. package/examples/e2e/accessibility/ColorPaletteExample.tsx +33 -0
  579. package/examples/e2e/accessibility/ColorPickerExample.tsx +21 -0
  580. package/examples/e2e/accessibility/InputExample.tsx +49 -0
  581. package/examples/e2e/accessibility/MaskedTextBoxExample.tsx +29 -0
  582. package/examples/e2e/accessibility/NumericTextBoxExample.tsx +24 -0
  583. package/examples/e2e/accessibility/RadioButtonExample.tsx +29 -0
  584. package/examples/e2e/accessibility/RangeSliderExample.tsx +26 -0
  585. package/examples/e2e/accessibility/RatingExample.tsx +13 -0
  586. package/examples/e2e/accessibility/SliderExample.tsx +19 -0
  587. package/examples/e2e/accessibility/SwitchExample.tsx +26 -0
  588. package/examples/e2e/accessibility/TextAreaExample.tsx +70 -0
  589. package/examples/e2e/accessibility/main.html +14 -0
  590. package/examples/e2e/accessibility/main.tsx +104 -0
  591. package/examples/e2e/input/input.html +9 -0
  592. package/examples/e2e/input/input.tsx +58 -0
  593. package/examples/e2e/numerictextbox/numericLabel.html +9 -0
  594. package/examples/e2e/numerictextbox/numericLabel.tsx +38 -0
  595. package/examples/e2e/switch/switch.html +16 -0
  596. package/examples/e2e/switch/switch.tsx +74 -0
  597. package/examples/focus/focus.html +9 -0
  598. package/examples/focus/focus.tsx +81 -0
  599. package/examples/input/inputFloatingLabels.html +9 -0
  600. package/examples/input/inputFloatingLabels.tsx +26 -0
  601. package/examples/input/inputForm.html +9 -0
  602. package/examples/input/inputForm.tsx +151 -0
  603. package/examples/maskedtextbox/basic.html +9 -0
  604. package/examples/maskedtextbox/basic.tsx +54 -0
  605. package/examples/maskedtextbox/ipmask.html +9 -0
  606. package/examples/maskedtextbox/ipmask.tsx +79 -0
  607. package/examples/messages/index.ts +4 -0
  608. package/examples/numerictextbox/newNumeric.html +9 -0
  609. package/examples/numerictextbox/newNumeric.tsx +149 -0
  610. package/examples/numerictextbox/numeric.html +9 -0
  611. package/examples/numerictextbox/numeric.tsx +247 -0
  612. package/examples/numerictextbox/numericApiExample.html +9 -0
  613. package/examples/numerictextbox/numericApiExample.tsx +25 -0
  614. package/examples/numerictextbox/numericForm.html +9 -0
  615. package/examples/numerictextbox/numericForm.tsx +89 -0
  616. package/examples/numerictextbox/roundingIssues.html +9 -0
  617. package/examples/numerictextbox/roundingIssues.tsx +51 -0
  618. package/examples/numerictextbox/test.html +9 -0
  619. package/examples/numerictextbox/test.tsx +165 -0
  620. package/examples/numerictextbox/testingBlurDisabled.html +9 -0
  621. package/examples/numerictextbox/testingBlurDisabled.tsx +167 -0
  622. package/examples/radio-group/customization/index.html +12 -0
  623. package/examples/radio-group/customization/index.tsx +32 -0
  624. package/examples/radioButton/accessibility.html +12 -0
  625. package/examples/radioButton/accessibility.tsx +81 -0
  626. package/examples/radioButton/html-forms.html +9 -0
  627. package/examples/radioButton/html-forms.tsx +63 -0
  628. package/examples/radioButton/kendo-react-form.html +12 -0
  629. package/examples/radioButton/kendo-react-form.tsx +80 -0
  630. package/examples/radioButton/radio.html +9 -0
  631. package/examples/radioButton/radio.tsx +45 -0
  632. package/examples/radioButton/standalone-radio.html +9 -0
  633. package/examples/radioButton/standalone-radio.tsx +76 -0
  634. package/examples/range-slider/form/index.html +9 -0
  635. package/examples/range-slider/form/index.tsx +57 -0
  636. package/examples/range-slider/index.html +9 -0
  637. package/examples/range-slider/index.tsx +147 -0
  638. package/examples/rating/index.html +9 -0
  639. package/examples/rating/index.tsx +158 -0
  640. package/examples/rtl/index.html +12 -0
  641. package/examples/rtl/index.tsx +29 -0
  642. package/examples/signature/basic.html +9 -0
  643. package/examples/signature/basic.tsx +72 -0
  644. package/examples/signature/forms-basic.html +9 -0
  645. package/examples/signature/forms-basic.tsx +72 -0
  646. package/examples/signature/forms.html +9 -0
  647. package/examples/signature/forms.tsx +90 -0
  648. package/examples/slider/slider.html +15 -0
  649. package/examples/slider/slider.tsx +99 -0
  650. package/examples/slider/vertical.html +15 -0
  651. package/examples/slider/vertical.tsx +28 -0
  652. package/examples/switch/switch.html +9 -0
  653. package/examples/switch/switch.tsx +44 -0
  654. package/examples/switch/switchDoubleEvent.html +9 -0
  655. package/examples/switch/switchDoubleEvent.tsx +25 -0
  656. package/examples/switch/switchForm.html +9 -0
  657. package/examples/switch/switchForm.tsx +138 -0
  658. package/examples/textarea/formik.html +12 -0
  659. package/examples/textarea/formik.tsx +84 -0
  660. package/examples/textarea/textarea.html +12 -0
  661. package/examples/textarea/textarea.tsx +96 -0
  662. package/gulpfile.js +7 -0
  663. package/package.json +19 -16
  664. package/src/checkbox/Checkbox.tsx +352 -0
  665. package/src/checkbox/interfaces/CheckboxBlurEvent.ts +7 -0
  666. package/src/checkbox/interfaces/CheckboxChangeEvent.ts +12 -0
  667. package/src/checkbox/interfaces/CheckboxFocusEvent.ts +7 -0
  668. package/src/checkbox/interfaces/CheckboxProps.ts +122 -0
  669. package/src/colors/ColorContrastLabels.tsx +83 -0
  670. package/src/colors/ColorContrastSvg.tsx +88 -0
  671. package/src/colors/ColorGradient.tsx +450 -0
  672. package/src/colors/ColorInput.tsx +192 -0
  673. package/src/colors/ColorPalette.tsx +329 -0
  674. package/src/colors/ColorPicker.tsx +387 -0
  675. package/src/colors/FlatColorPicker.tsx +258 -0
  676. package/src/colors/HexInput.tsx +67 -0
  677. package/src/colors/Picker.tsx +56 -0
  678. package/src/colors/interfaces/ColorGradientChangeEvent.ts +12 -0
  679. package/src/colors/interfaces/ColorGradientProps.ts +77 -0
  680. package/src/colors/interfaces/ColorPaletteChangeEvent.ts +16 -0
  681. package/src/colors/interfaces/ColorPaletteProps.ts +78 -0
  682. package/src/colors/interfaces/ColorPickerActiveColorClick.ts +17 -0
  683. package/src/colors/interfaces/ColorPickerBlurEvent.ts +13 -0
  684. package/src/colors/interfaces/ColorPickerChangeEvent.ts +17 -0
  685. package/src/colors/interfaces/ColorPickerFocusEvent.ts +13 -0
  686. package/src/colors/interfaces/ColorPickerGradientSettings.ts +19 -0
  687. package/src/colors/interfaces/ColorPickerPaletteSettings.ts +35 -0
  688. package/src/colors/interfaces/ColorPickerPopupSettings.ts +16 -0
  689. package/src/colors/interfaces/ColorPickerProps.ts +170 -0
  690. package/src/colors/interfaces/ColorPickerView.ts +10 -0
  691. package/src/colors/interfaces/PickerPopupSettings.ts +21 -0
  692. package/src/colors/interfaces/PickerProps.ts +51 -0
  693. package/src/colors/models/hsva.ts +9 -0
  694. package/src/colors/models/output-format.ts +4 -0
  695. package/src/colors/models/palette-presets.ts +54 -0
  696. package/src/colors/models/rgb.ts +8 -0
  697. package/src/colors/models/rgba.ts +9 -0
  698. package/src/colors/models/table-cell.ts +7 -0
  699. package/src/colors/models/tile-size.ts +8 -0
  700. package/src/colors/utils/color-cache.ts +71 -0
  701. package/src/colors/utils/color-palette.service.ts +79 -0
  702. package/src/colors/utils/color-parser.ts +158 -0
  703. package/src/colors/utils/misc.ts +23 -0
  704. package/src/colors/utils/svg-calc.ts +115 -0
  705. package/src/common/SliderTooltip.tsx +83 -0
  706. package/src/common/SwitchController.ts +130 -0
  707. package/src/common/SwitchModel.ts +12 -0
  708. package/src/input/Input.tsx +346 -0
  709. package/src/input/interfaces/InputChangeEvent.tsx +12 -0
  710. package/src/interfaces/Direction.ts +1 -0
  711. package/src/interfaces/ToggleBaseProps.ts +8 -0
  712. package/src/main.ts +57 -0
  713. package/src/maskedtextbox/MaskedTextBox.tsx +541 -0
  714. package/src/maskedtextbox/MaskedTextBoxProps.ts +215 -0
  715. package/src/maskedtextbox/masking.service.ts +230 -0
  716. package/src/maskedtextbox/parsing/combinators.ts +30 -0
  717. package/src/maskedtextbox/parsing/parsers.ts +179 -0
  718. package/src/maskedtextbox/parsing/result.ts +39 -0
  719. package/src/maskedtextbox/parsing/stream.ts +41 -0
  720. package/src/maskedtextbox/utils.ts +70 -0
  721. package/src/messages/index.ts +151 -0
  722. package/src/numerictextbox/NumericTextBox.tsx +626 -0
  723. package/src/numerictextbox/interfaces/NumericTextBoxBlurEvent.tsx +7 -0
  724. package/src/numerictextbox/interfaces/NumericTextBoxChangeEvent.tsx +12 -0
  725. package/src/numerictextbox/interfaces/NumericTextBoxFocusEvent.tsx +7 -0
  726. package/src/numerictextbox/interfaces/NumericTextBoxHandle.tsx +40 -0
  727. package/src/numerictextbox/interfaces/NumericTextBoxProps.tsx +180 -0
  728. package/src/numerictextbox/interfaces/NumericTextBoxState.tsx +15 -0
  729. package/src/numerictextbox/utils/index.tsx +744 -0
  730. package/src/package-metadata.ts +13 -0
  731. package/src/radiobutton/RadioButton.tsx +194 -0
  732. package/src/radiobutton/RadioGroup.tsx +190 -0
  733. package/src/radiobutton/interfaces/RadioButtonBlurEvent.ts +7 -0
  734. package/src/radiobutton/interfaces/RadioButtonChangeEvent.ts +12 -0
  735. package/src/radiobutton/interfaces/RadioButtonFocusEvent.ts +7 -0
  736. package/src/radiobutton/interfaces/RadioButtonProps.ts +102 -0
  737. package/src/radiobutton/interfaces/RadioGroupChangeEvent.ts +12 -0
  738. package/src/radiobutton/interfaces/RadioGroupFocusEvent.ts +7 -0
  739. package/src/radiobutton/interfaces/RadioGroupProps.ts +89 -0
  740. package/src/range-slider/RangeSlider.tsx +644 -0
  741. package/src/range-slider/range-raducer.tsx +153 -0
  742. package/src/rating/Rating.tsx +633 -0
  743. package/src/rating/RatingItem.tsx +268 -0
  744. package/src/rating/models/index.tsx +91 -0
  745. package/src/rating/rating-reducer.tsx +70 -0
  746. package/src/rating/utils/index.tsx +65 -0
  747. package/src/signature/Signature.tsx +488 -0
  748. package/src/signature/interfaces/SignatureBlurEvent.tsx +7 -0
  749. package/src/signature/interfaces/SignatureChangeEvent.tsx +12 -0
  750. package/src/signature/interfaces/SignatureCloseEvent.tsx +7 -0
  751. package/src/signature/interfaces/SignatureFocusEvent.tsx +7 -0
  752. package/src/signature/interfaces/SignatureHandle.tsx +35 -0
  753. package/src/signature/interfaces/SignatureOpenEvent.tsx +7 -0
  754. package/src/signature/interfaces/SignatureProps.tsx +227 -0
  755. package/src/signature/interfaces/index.ts +7 -0
  756. package/src/signature/utils/index.ts +11 -0
  757. package/src/slider/Slider.tsx +470 -0
  758. package/src/slider/SliderLabel.tsx +69 -0
  759. package/src/switch/Switch.tsx +559 -0
  760. package/src/textarea/TextArea.tsx +263 -0
  761. package/src/textarea/interfaces/TextAreaBlurEvent.ts +7 -0
  762. package/src/textarea/interfaces/TextAreaChangeEvent.ts +12 -0
  763. package/src/textarea/interfaces/TextAreaFocusEvent.ts +7 -0
  764. package/src/textarea/interfaces/TextAreaProps.tsx +131 -0
  765. package/src/utils.ts +16 -0
  766. package/test/Checkbox.tsx +252 -0
  767. package/test/ColorGradient.tsx +260 -0
  768. package/test/ColorPalette.tsx +440 -0
  769. package/test/ColorPicker.tsx +74 -0
  770. package/test/Input.tsx +255 -0
  771. package/test/NumericTextBox.tsx +984 -0
  772. package/test/RadioButton.tsx +176 -0
  773. package/test/RangeSlider.tsx +502 -0
  774. package/test/Rating.tsx +227 -0
  775. package/test/Slider.tsx +198 -0
  776. package/test/Switch.tsx +154 -0
  777. package/test/TextArea.tsx +216 -0
  778. package/test/maskedtextbox/component.tsx +424 -0
  779. package/test/maskedtextbox/masking.service.tsx +1345 -0
  780. package/test/maskedtextbox/parser.tsx +364 -0
  781. package/tsconfig.es.json +25 -0
  782. package/tsconfig.json +26 -0
  783. package/tsconfig.npm.json +25 -0
  784. package/LICENSE.md +0 -11
  785. package/NOTICE.txt +0 -111
@@ -0,0 +1,644 @@
1
+ import * as React from 'react';
2
+ import * as PropTypes from 'prop-types';
3
+
4
+ import {
5
+ FormComponentProps,
6
+ classNames,
7
+ Keys,
8
+ useDir,
9
+ useDraggable,
10
+ DraggableDragEvent,
11
+ getTabIndex,
12
+ createPropsContext,
13
+ usePropsContext
14
+ } from '@progress/kendo-react-common';
15
+
16
+ import { messages, sliderDragTitle } from './../messages';
17
+ import { useLocalization } from '@progress/kendo-react-intl';
18
+ import { Direction } from '../interfaces/Direction';
19
+ import { rangeReducer, RANGE_ACTION, RangeActionDispatch } from './range-raducer';
20
+ import { validatePackage } from '@progress/kendo-react-common';
21
+ import { packageMetadata } from '../package-metadata';
22
+
23
+ /**
24
+ * The range object representing the value of the RangeSlider.
25
+ */
26
+ export type Range = {
27
+ /**
28
+ * The start of the range.
29
+ */
30
+ start: number;
31
+ /**
32
+ * The end of the range.
33
+ */
34
+ end: number;
35
+ };
36
+
37
+ /**
38
+ * Represents the properties of [RangeSlider](% slug api_inputs_rangeslider %) component.
39
+ */
40
+ export interface RangeSliderProps extends FormComponentProps {
41
+ /**
42
+ * Sets the `id` property of the top div element of the RangeSlider.
43
+ */
44
+ id?: string;
45
+ /**
46
+ * Sets additional CSS styles to the RangeSlider.
47
+ */
48
+ style?: React.CSSProperties;
49
+ /**
50
+ * Sets additional classes to the RangeSlider.
51
+ */
52
+ className?: string;
53
+ /**
54
+ * The flexible values of type Range - `start and `end`.
55
+ */
56
+ value?: Range;
57
+ /**
58
+ * The default set values of type Range - `start` and `end`.
59
+ */
60
+ defaultValue?: Range;
61
+ /**
62
+ * Triggered after value change - gets outside access to the element, new values and the event type.
63
+ */
64
+ onChange?: (event: RangeSliderChangeEvent) => void;
65
+ /**
66
+ * Determines the children nodes.
67
+ */
68
+ children?: React.ReactNode;
69
+ /**
70
+ * The step by which the value is increment/decrement.
71
+ */
72
+ step?: number;
73
+ /**
74
+ * The minimum possible value of the RangeSlider.
75
+ */
76
+ min: number;
77
+ /**
78
+ * The maximum possible value of the RangeSlider.
79
+ */
80
+ max: number;
81
+ /**
82
+ * The RangeSlider orientation if true - vertical, else - horizontal.
83
+ */
84
+ vertical?: boolean;
85
+ /**
86
+ * Determines the disabled mode of the RangeSlider, if true - disabled.
87
+ */
88
+ disabled?: boolean;
89
+ /**
90
+ * The RangeSlider direction `ltr` or `rtl`.
91
+ */
92
+ dir?: Direction;
93
+ /**
94
+ * Sets the `tabIndex` attribute to the `start` drag handle.
95
+ */
96
+ startTabIndex?: number;
97
+ /**
98
+ * Sets the `tabIndex` attribute to the `end` drag handle.
99
+ */
100
+ endTabIndex?: number;
101
+
102
+ /* eslint-disable max-len */
103
+ /**
104
+ * Identifies the element(s) which will describe the component, similar to [HTML aria-describedby attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute).
105
+ * For example these elements could contain error or hint message.
106
+ */
107
+ ariaDescribedBy?: string;
108
+ // tslint:enable:max-line-length
109
+ /**
110
+ * Identifies the element(s) which will label the component.
111
+ */
112
+ ariaLabelledBy?: string;
113
+ }
114
+
115
+ /**
116
+ * @hidden
117
+ */
118
+ const useRange = (
119
+ defaultValue: Range,
120
+ args: any,
121
+ callback: (newState: Range, event: React.SyntheticEvent<any> | DraggableDragEvent) => void
122
+ ): [Range, (action: RangeActionDispatch) => void] => {
123
+ const [state, setState] = React.useState(defaultValue);
124
+
125
+ const handleDispatchAction = React.useCallback(
126
+ (action: RangeActionDispatch) => {
127
+ const newState = rangeReducer(args.state || state, { ...action, ...args });
128
+
129
+ if (callback) {
130
+ callback(newState, action.event as React.SyntheticEvent<any> | DraggableDragEvent);
131
+ }
132
+
133
+ setState(newState);
134
+ },
135
+ [args, callback]
136
+ );
137
+
138
+ return [state, handleDispatchAction];
139
+ };
140
+
141
+ // const nbsp = String.fromCharCode(160);
142
+ // const dash = String.fromCharCode(45);
143
+
144
+ /**
145
+ * Represents the target(element and props) of the RangeSliderChangeEvent.
146
+ */
147
+ export interface RangeSliderHandle {
148
+ /**
149
+ * The current element or `null` if there is no one.
150
+ */
151
+ element: HTMLDivElement | null;
152
+ /**
153
+ * The props values of the RangeSlider.
154
+ */
155
+ props: RangeSliderProps;
156
+ /**
157
+ * The focus event callback.
158
+ */
159
+ focus: () => void;
160
+ }
161
+
162
+ /**
163
+ * Represent the return type of RangeSliderChangeEvent.
164
+ */
165
+ export interface RangeSliderChangeEvent {
166
+ /**
167
+ * The value from type Range - `start` and `end`.
168
+ */
169
+ value: Range;
170
+ /**
171
+ * The target of the RangeSliderChangeEvent from RangeSliderHandle.
172
+ */
173
+ target: RangeSliderHandle;
174
+ /**
175
+ * The event of the RangeSliderChangeEvent.
176
+ */
177
+ syntheticEvent: React.SyntheticEvent<any> | DraggableDragEvent;
178
+ }
179
+
180
+ /**
181
+ * Represents the PropsContext of the `RangeSlider` component.
182
+ * Used for global configuration of all `RangeSlider` instances.
183
+ *
184
+ * For more information, refer to the [Inputs Props Context]({% slug props-context_inputs %}) article.
185
+ */
186
+ export const RangeSliderPropsContext = createPropsContext<RangeSliderProps>();
187
+
188
+
189
+ /**
190
+ * Represents the [KendoReact RangeSlider component]({% slug overview_rangeslider %}).
191
+ *
192
+ * Accepts properties of type [RangeSliderProps]({% slug api_inputs_rangesliderprops %}).
193
+ * Obtaining the `ref` returns an object of type [RangeSliderHandle]({% slug api_inputs_rangesliderhandle %}).
194
+ */
195
+ export const RangeSlider = React.forwardRef<RangeSliderHandle | null, RangeSliderProps>((directProps, ref) => {
196
+ validatePackage(packageMetadata);
197
+
198
+ const props = usePropsContext<RangeSliderProps>(RangeSliderPropsContext, directProps);
199
+
200
+ const target = React.useRef<RangeSliderHandle | null>(null);
201
+ const sliderRef = React.useRef<HTMLDivElement>(null);
202
+ const sliderSelectionRef = React.useRef<HTMLDivElement>(null);
203
+ const startHandle = React.useRef<HTMLAnchorElement>(null);
204
+ const endHandle = React.useRef<HTMLAnchorElement>(null);
205
+
206
+ const focus = React.useCallback(
207
+ () => {
208
+ if (startHandle.current) {
209
+ startHandle.current.focus();
210
+ }
211
+ },
212
+ [startHandle]
213
+ );
214
+
215
+ React.useImperativeHandle(target, () => ({
216
+ element: sliderRef.current,
217
+ focus,
218
+ props
219
+ }));
220
+
221
+ React.useImperativeHandle<RangeSliderHandle | null, RangeSliderHandle | null>(ref, () => target.current);
222
+
223
+ const min = React.useMemo(
224
+ () => props.min,
225
+ [props.min]
226
+ );
227
+
228
+ const max = React.useMemo(
229
+ () => props.max,
230
+ [props.max]
231
+ );
232
+
233
+ const step = React.useMemo(
234
+ () => props.step !== undefined ? props.step : defaultProps.step,
235
+ [props.step, defaultProps.step]
236
+ );
237
+
238
+ const dir = useDir(sliderRef, props.dir);
239
+
240
+ const handleChange = (newValue: any, event: React.SyntheticEvent<any> | DraggableDragEvent) => {
241
+ if (props.onChange && target.current) {
242
+ props.onChange.call(undefined, {
243
+ value: newValue,
244
+ target: target.current,
245
+ syntheticEvent: event
246
+ });
247
+ }
248
+ };
249
+ const [currentDrag, setCurrentDrag] = React.useState('');
250
+
251
+ const [stateValue, dispatchStateValue] = useRange(
252
+ props.defaultValue || defaultProps.defaultValue,
253
+ {
254
+ min,
255
+ max,
256
+ step,
257
+ state: props.value
258
+ },
259
+ handleChange
260
+ );
261
+
262
+ const value: Range = React.useMemo(
263
+ () => props.value || stateValue,
264
+ [props.value, stateValue]
265
+ );
266
+
267
+ const sliderTrackRef = React.useRef<HTMLDivElement>(null);
268
+ const sliderTrackWrapRef = React.useRef<HTMLDivElement>(null);
269
+
270
+ const percentStart = React.useMemo(
271
+ () => ((value.start - min) / (max - min)) * 100,
272
+ [value.start, min, max]
273
+ );
274
+
275
+ const percentEnd = React.useMemo(
276
+ () => ((value.end - min) / (max - min)) * 100,
277
+ [value.end, min, max]
278
+ );
279
+
280
+ const sliderItemsStyle: React.CSSProperties = React.useMemo(
281
+ () => props.vertical ? { paddingTop: 0, height: '100%' } : {},
282
+ [props.vertical]
283
+ );
284
+
285
+ const trackStyles: React.CSSProperties = React.useMemo(
286
+ () => props.vertical
287
+ ? { marginTop: '0.5rem', marginBottom: '0.5rem' }
288
+ : { marginLeft: '0.5rem', marginRight: '0.5rem' },
289
+ [props.vertical]
290
+ );
291
+
292
+ const localization = useLocalization();
293
+
294
+ const calcNewDistance = React.useCallback(
295
+ (event: any) => {
296
+ if (!sliderTrackWrapRef.current) { return; }
297
+
298
+ const computed = sliderTrackWrapRef.current.getBoundingClientRect();
299
+ const distance = props.vertical
300
+ ? (computed.bottom - event.clientY)
301
+ : dir === 'rtl'
302
+ ? (computed.right - event.clientX)
303
+ : (event.clientX - computed.left);
304
+
305
+ const size = props.vertical ? computed.height : computed.width;
306
+ const percentage = (distance / size);
307
+ const payload = (min + percentage * (max - min));
308
+
309
+ return payload;
310
+ },
311
+ [
312
+ sliderTrackWrapRef,
313
+ props.vertical,
314
+ dir,
315
+ min,
316
+ max,
317
+ stateValue.start,
318
+ stateValue.end,
319
+ props.value && props.value.start,
320
+ props.value && props.value.end
321
+ ]);
322
+
323
+ const calcKey = React.useCallback(
324
+ (payload: any) => {
325
+ if (payload <= value.start) {
326
+ return 'start';
327
+ }
328
+ if (payload >= value.end) {
329
+ return 'end';
330
+ }
331
+ return (2 * payload < value.end + value.start) ? 'start' : 'end';
332
+ },
333
+ [
334
+ stateValue.start, stateValue.end,
335
+ props.value && props.value.start,
336
+ props.value && props.value.end
337
+ ]);
338
+
339
+ const handleStartKeyDown = React.useCallback(
340
+ (event: React.KeyboardEvent<HTMLAnchorElement>) => {
341
+ switch (event.keyCode) {
342
+ case Keys.right:
343
+ event.preventDefault();
344
+ dispatchStateValue({ type: dir === 'rtl' ? RANGE_ACTION.decrease : RANGE_ACTION.increase, key: 'start', event });
345
+ break;
346
+ case Keys.up:
347
+ event.preventDefault();
348
+ dispatchStateValue({ type: RANGE_ACTION.increase, key: 'start', event });
349
+ break;
350
+ case Keys.left:
351
+ event.preventDefault();
352
+ dispatchStateValue({ type: dir === 'rtl' ? RANGE_ACTION.increase : RANGE_ACTION.decrease, key: 'start', event });
353
+ break;
354
+ case Keys.down:
355
+ event.preventDefault();
356
+ dispatchStateValue({ type: RANGE_ACTION.decrease, key: 'start', event });
357
+ break;
358
+ case Keys.home:
359
+ event.preventDefault();
360
+ dispatchStateValue({ type: RANGE_ACTION.min, key: 'start', event });
361
+ break;
362
+ case Keys.end:
363
+ event.preventDefault();
364
+ dispatchStateValue({ type: RANGE_ACTION.max, key: 'start', event });
365
+ break;
366
+ default:
367
+ break;
368
+ }
369
+ },
370
+ [dispatchStateValue]
371
+ );
372
+
373
+ const handleEndKeyDown = React.useCallback(
374
+ (event: React.KeyboardEvent<HTMLAnchorElement>) => {
375
+ switch (event.keyCode) {
376
+ case Keys.right:
377
+ event.preventDefault();
378
+ dispatchStateValue({ type: dir === 'rtl' ? RANGE_ACTION.decrease : RANGE_ACTION.increase, key: 'end', event });
379
+ break;
380
+ case Keys.up:
381
+ event.preventDefault();
382
+ dispatchStateValue({ type: RANGE_ACTION.increase, key: 'end', event });
383
+ break;
384
+ case Keys.left:
385
+ event.preventDefault();
386
+ dispatchStateValue({ type: dir === 'rtl' ? RANGE_ACTION.increase : RANGE_ACTION.decrease, key: 'end', event });
387
+ break;
388
+ case Keys.down:
389
+ event.preventDefault();
390
+ dispatchStateValue({ type: RANGE_ACTION.decrease, key: 'end', event });
391
+ break;
392
+ case Keys.home:
393
+ event.preventDefault();
394
+ dispatchStateValue({ type: RANGE_ACTION.min, key: 'end', event });
395
+ break;
396
+ case Keys.end:
397
+ event.preventDefault();
398
+ dispatchStateValue({ type: RANGE_ACTION.max, key: 'end', event });
399
+ break;
400
+ default:
401
+ break;
402
+ }
403
+ },
404
+ [dispatchStateValue, dir]
405
+ );
406
+
407
+ const handleTrackPress = React.useCallback(
408
+ (event: any) => {
409
+ const payload = calcNewDistance(event);
410
+ const key = calcKey(payload);
411
+ setCurrentDrag(key);
412
+
413
+ key === 'end' ? endHandle.current!.focus() : startHandle.current!.focus();
414
+ const action = (key === 'end' ? RANGE_ACTION.end : RANGE_ACTION.start);
415
+ dispatchStateValue({ type: action, payload, event });
416
+ },
417
+ [props.vertical, min, max, dispatchStateValue]
418
+ );
419
+
420
+ const handleTrackDrag = (event: any) => {
421
+ const payload = calcNewDistance(event);
422
+ const action = currentDrag === 'end' ? RANGE_ACTION.end : RANGE_ACTION.start;
423
+
424
+ dispatchStateValue({ type: action, payload, event });
425
+ };
426
+
427
+ const handleTrackRelease = (event: any) => {
428
+ const payload = calcNewDistance(event);
429
+ const action = currentDrag === 'end' ? RANGE_ACTION.end : RANGE_ACTION.start;
430
+ dispatchStateValue({ type: action, payload, event });
431
+
432
+ setCurrentDrag('');
433
+ };
434
+
435
+ useDraggable(sliderTrackWrapRef, { onPress: handleTrackPress, onDrag: handleTrackDrag, onRelease: handleTrackRelease });
436
+
437
+ return (
438
+ <div
439
+ id={props.id}
440
+ style={props.style}
441
+ ref={sliderRef}
442
+ dir={dir}
443
+ className={classNames(
444
+ 'k-widget k-slider',
445
+ {
446
+ 'k-rtl': dir === 'rtl',
447
+ 'k-disabled': props.disabled,
448
+ 'k-slider-vertical': props.vertical,
449
+ 'k-slider-horizontal': !props.vertical
450
+ },
451
+ props.className
452
+ )}
453
+ // onFocus={onFocus}
454
+ // onBlur={onBlur}
455
+ >
456
+ <div
457
+ ref={sliderTrackWrapRef}
458
+ className="k-slider-track-wrap"
459
+ style={{
460
+ flexGrow: 1,
461
+ position: 'relative',
462
+ touchAction: 'none',
463
+ ...trackStyles
464
+ }}
465
+ >
466
+ {props.children && (
467
+ <ul
468
+ className="k-reset k-slider-items"
469
+ style={{ ...sliderItemsStyle }}
470
+ >
471
+ {
472
+ React.Children.map(props.children, (child: any) => {
473
+ return child && React.cloneElement(
474
+ child, {
475
+ position: 100 * (child.props.position - props.min) /
476
+ (props.max - props.min),
477
+ vertical: props.vertical
478
+ },
479
+ child.props.children
480
+ );
481
+ })
482
+ }
483
+ </ul>)
484
+ }
485
+ <div
486
+ ref={sliderTrackRef}
487
+ className="k-slider-track"
488
+ style={props.vertical
489
+ ? { bottom: 0, height: '100%' }
490
+ : { [dir === 'rtl' ? 'right' : 'left']: 0, width: '100%' }}
491
+ >
492
+ {(percentStart !== null && percentEnd !== null) && <div
493
+ data-selection={true}
494
+ ref={sliderSelectionRef}
495
+ title={`${value.start} - ${value.end}`}
496
+ className="k-slider-selection"
497
+ style={props.vertical
498
+ ? { height: (percentEnd - percentStart) + '%', bottom: percentStart + '%' }
499
+ : {
500
+ [dir === 'rtl' ? 'right' : 'left']: percentStart + '%',
501
+ width: (percentEnd - percentStart) + '%'
502
+ }
503
+ }
504
+ />}
505
+ <span
506
+ ref={startHandle}
507
+
508
+ role="slider"
509
+ tabIndex={getTabIndex(props.startTabIndex, props.disabled, undefined)}
510
+ aria-valuemin={min}
511
+ aria-valuemax={Math.max(max, value.end)}
512
+ aria-valuenow={value.start}
513
+ aria-disabled={props.disabled ? 'true' : undefined}
514
+ aria-valuetext={`${value.start} - ${value.end}`}
515
+
516
+ className="k-draghandle"
517
+ title={localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle])}
518
+ style={props.vertical
519
+ ? { bottom: 'calc(' + percentStart + '%)', zIndex: 1 }
520
+ : dir === 'rtl' ? { right: 'calc(' + percentStart + '% - 13px)', zIndex: 1 }
521
+ : { left: 'calc(' + percentStart + '%)', zIndex: 1 }
522
+ }
523
+ onKeyDown={handleStartKeyDown}
524
+ />
525
+ <span
526
+ ref={endHandle}
527
+
528
+ role="slider"
529
+ tabIndex={getTabIndex(props.endTabIndex, props.disabled, undefined)}
530
+ aria-valuemin={Math.min(min, value.start)}
531
+ aria-valuemax={max}
532
+ aria-valuenow={value.end}
533
+ aria-disabled={props.disabled ? 'true' : undefined}
534
+ aria-valuetext={`${value.start} - ${value.end}`}
535
+
536
+ className="k-draghandle"
537
+ title={localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle])}
538
+ style={props.vertical
539
+ ? { bottom: 'calc(' + percentEnd + '%)', zIndex: 1 }
540
+ : dir === 'rtl' ? { right: 'calc(' + percentEnd + '% - 13px)', zIndex: 1 }
541
+ : { left: 'calc(' + percentEnd + '%)', zIndex: 1 }
542
+ }
543
+ onKeyDown={handleEndKeyDown}
544
+ />
545
+ </div>
546
+ </div>
547
+ </div>
548
+ );
549
+ });
550
+
551
+ const propTypes = {
552
+ value: (props: RangeSliderProps, propName: string, componentName: string) => {
553
+ if (props.value) {
554
+ const start = props.value.start;
555
+ const end = props.value.end;
556
+ const min = props.min;
557
+ const max = props.max;
558
+ if (start > end || start > max || start < min || end > max || end < min || end < start) {
559
+ return new Error(
560
+ `Invalid prop + ${propName} supplied to ${componentName}.
561
+ The { start, end } value must be between the min & max value and { start, end } must be start < end.
562
+ `
563
+ );
564
+ }
565
+ }
566
+ return null;
567
+ },
568
+ defaultValue: (props: RangeSliderProps, propName: string, componentName: string) => {
569
+ if (props.defaultValue) {
570
+ const start = props.defaultValue.start;
571
+ const end = props.defaultValue.end;
572
+ const min = props.min;
573
+ const max = props.max;
574
+ if (start > end || start > max || start < min || end > max || end < min || end < start) {
575
+ return new Error(
576
+ `Invalid prop + ${propName} supplied to ${componentName}.
577
+ The { start, end } value must be between the min & max value and { start, end } must be start < end.
578
+ `
579
+ );
580
+ }
581
+ }
582
+ return null;
583
+ },
584
+ onChange: PropTypes.func,
585
+ step: PropTypes.number,
586
+ min: (props: RangeSliderProps, propName: string, componentName: string) => {
587
+ const prop: string = (props as any)[propName];
588
+ const min = props.min;
589
+ const max = props.max;
590
+ if (min === undefined) {
591
+ return new Error(
592
+ `Invalid prop + ${propName} supplied to ${componentName}.
593
+ ${propName} value can not be undefined.
594
+ `
595
+ );
596
+ }
597
+ if (prop && min >= max) {
598
+ return new Error(
599
+ `Invalid prop + ${propName} supplied to ${componentName}.
600
+ ${propName} value can not be equal to or bigger than the max value.
601
+ `
602
+ );
603
+ }
604
+ return null;
605
+ },
606
+ max: (props: RangeSliderProps, propName: string, componentName: string) => {
607
+ const prop: number = (props as any)[propName];
608
+ const min = props.min;
609
+ const max = props.max;
610
+ if (max === undefined) {
611
+ return new Error(
612
+ `Invalid prop + ${propName} supplied to ${componentName}.
613
+ ${propName} value can not be undefined.
614
+ `
615
+ );
616
+ }
617
+ if (prop && max <= min) {
618
+ return new Error(
619
+ `Invalid prop + ${propName} supplied to ${componentName}.
620
+ ${propName} value can not be equal to or smaller than the min value.
621
+ `
622
+ );
623
+ }
624
+ return null;
625
+ },
626
+ vertical: PropTypes.bool,
627
+ disabled: PropTypes.bool,
628
+ dir: PropTypes.oneOf(['ltr', 'rtl'])
629
+ };
630
+
631
+ const defaultProps = {
632
+ step: 1,
633
+ defaultValue: {
634
+ start: 0,
635
+ end: 0
636
+ },
637
+ vertical: false,
638
+ disabled: false
639
+ };
640
+
641
+ RangeSlider.displayName = 'KendoReactRangeSlider';
642
+ // TODO: delete casting when @types/react is updated!
643
+ (RangeSlider as any).propTypes = propTypes;
644
+ RangeSlider.defaultProps = defaultProps;