@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.
- package/api.json +71211 -0
- package/dist/cdn/js/kendo-react-inputs.js +1 -1
- package/dist/es/main.d.ts +2 -0
- package/dist/es/main.js +2 -0
- package/dist/es/messages/index.d.ts +15 -0
- package/dist/es/messages/index.js +15 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/signature/Signature.d.ts +14 -0
- package/dist/es/signature/Signature.js +346 -0
- package/dist/es/signature/interfaces/SignatureBlurEvent.d.ts +7 -0
- package/dist/es/signature/interfaces/SignatureBlurEvent.js +1 -0
- package/dist/es/signature/interfaces/SignatureChangeEvent.d.ts +11 -0
- package/dist/es/signature/interfaces/SignatureChangeEvent.js +1 -0
- package/dist/es/signature/interfaces/SignatureCloseEvent.d.ts +7 -0
- package/dist/es/signature/interfaces/SignatureCloseEvent.js +1 -0
- package/dist/es/signature/interfaces/SignatureFocusEvent.d.ts +7 -0
- package/dist/es/signature/interfaces/SignatureFocusEvent.js +1 -0
- package/dist/es/signature/interfaces/SignatureHandle.d.ts +34 -0
- package/dist/es/signature/interfaces/SignatureHandle.js +1 -0
- package/dist/es/signature/interfaces/SignatureOpenEvent.d.ts +7 -0
- package/dist/es/signature/interfaces/SignatureOpenEvent.js +1 -0
- package/dist/es/signature/interfaces/SignatureProps.d.ts +192 -0
- package/dist/es/signature/interfaces/SignatureProps.js +1 -0
- package/dist/es/signature/interfaces/index.d.ts +7 -0
- package/dist/es/signature/interfaces/index.js +1 -0
- package/dist/es/signature/utils/index.d.ts +4 -0
- package/dist/es/signature/utils/index.js +10 -0
- package/dist/npm/main.d.ts +2 -0
- package/dist/npm/main.js +2 -0
- package/dist/npm/messages/index.d.ts +15 -0
- package/dist/npm/messages/index.js +16 -1
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/signature/Signature.d.ts +14 -0
- package/dist/npm/signature/Signature.js +349 -0
- package/dist/npm/signature/interfaces/SignatureBlurEvent.d.ts +7 -0
- package/dist/npm/signature/interfaces/SignatureBlurEvent.js +2 -0
- package/dist/npm/signature/interfaces/SignatureChangeEvent.d.ts +11 -0
- package/dist/npm/signature/interfaces/SignatureChangeEvent.js +2 -0
- package/dist/npm/signature/interfaces/SignatureCloseEvent.d.ts +7 -0
- package/dist/npm/signature/interfaces/SignatureCloseEvent.js +2 -0
- package/dist/npm/signature/interfaces/SignatureFocusEvent.d.ts +7 -0
- package/dist/npm/signature/interfaces/SignatureFocusEvent.js +2 -0
- package/dist/npm/signature/interfaces/SignatureHandle.d.ts +34 -0
- package/dist/npm/signature/interfaces/SignatureHandle.js +2 -0
- package/dist/npm/signature/interfaces/SignatureOpenEvent.d.ts +7 -0
- package/dist/npm/signature/interfaces/SignatureOpenEvent.js +2 -0
- package/dist/npm/signature/interfaces/SignatureProps.d.ts +192 -0
- package/dist/npm/signature/interfaces/SignatureProps.js +2 -0
- package/dist/npm/signature/interfaces/SignatureState.d.ts +15 -0
- package/dist/npm/signature/interfaces/SignatureState.js +2 -0
- package/dist/npm/signature/interfaces/index.d.ts +7 -0
- package/dist/npm/signature/interfaces/index.js +2 -0
- package/dist/npm/signature/utils/index.d.ts +4 -0
- package/dist/npm/signature/utils/index.js +14 -0
- package/dist/systemjs/kendo-react-inputs.js +1 -1
- package/docs/_meta.yml +3 -0
- package/docs/api/Checkbox.md +23 -0
- package/docs/api/CheckboxBlurEvent.md +132 -0
- package/docs/api/CheckboxChangeEvent.md +167 -0
- package/docs/api/CheckboxFocusEvent.md +132 -0
- package/docs/api/CheckboxHandle.md +167 -0
- package/docs/api/CheckboxProps.md +1068 -0
- package/docs/api/CheckboxPropsContext.md +17 -0
- package/docs/api/ColorGradient.md +27 -0
- package/docs/api/ColorGradientChangeEvent.md +167 -0
- package/docs/api/ColorGradientHandle.md +99 -0
- package/docs/api/ColorGradientProps.md +538 -0
- package/docs/api/ColorGradientPropsContext.md +17 -0
- package/docs/api/ColorPalette.md +26 -0
- package/docs/api/ColorPaletteChangeEvent.md +202 -0
- package/docs/api/ColorPaletteHandle.md +64 -0
- package/docs/api/ColorPaletteProps.md +542 -0
- package/docs/api/ColorPalettePropsContext.md +17 -0
- package/docs/api/ColorPicker.md +23 -0
- package/docs/api/ColorPickerActiveColorClick.md +132 -0
- package/docs/api/ColorPickerBlurEvent.md +97 -0
- package/docs/api/ColorPickerChangeEvent.md +132 -0
- package/docs/api/ColorPickerFocusEvent.md +97 -0
- package/docs/api/ColorPickerGradientSettings.md +102 -0
- package/docs/api/ColorPickerPaletteSettings.md +148 -0
- package/docs/api/ColorPickerPopupSettings.md +97 -0
- package/docs/api/ColorPickerProps.md +1078 -0
- package/docs/api/ColorPickerPropsContext.md +17 -0
- package/docs/api/ColorPickerView.md +19 -0
- package/docs/api/Direction.md +12 -0
- package/docs/api/FlatColorPicker.md +13 -0
- package/docs/api/FlatColorPickerHandle.md +127 -0
- package/docs/api/FlatColorPickerProps.md +412 -0
- package/docs/api/FormComponentValidity.md +428 -0
- package/docs/api/Input.md +17 -0
- package/docs/api/InputChangeEvent.md +167 -0
- package/docs/api/InputHandle.md +204 -0
- package/docs/api/InputProps.md +428 -0
- package/docs/api/InputPropsContext.md +17 -0
- package/docs/api/MaskedTextBox.md +17 -0
- package/docs/api/MaskedTextBoxChangeEvent.md +237 -0
- package/docs/api/MaskedTextBoxEvent.md +132 -0
- package/docs/api/MaskedTextBoxHandle.md +265 -0
- package/docs/api/MaskedTextBoxProps.md +1395 -0
- package/docs/api/MaskedTextBoxPropsContext.md +17 -0
- package/docs/api/NumericTextBox.md +13 -0
- package/docs/api/NumericTextBoxBlurEvent.md +132 -0
- package/docs/api/NumericTextBoxChangeEvent.md +167 -0
- package/docs/api/NumericTextBoxFocusEvent.md +132 -0
- package/docs/api/NumericTextBoxHandle.md +197 -0
- package/docs/api/NumericTextBoxProps.md +1471 -0
- package/docs/api/NumericTextBoxPropsContext.md +17 -0
- package/docs/api/RadioButton.md +17 -0
- package/docs/api/RadioButtonBlurEvent.md +132 -0
- package/docs/api/RadioButtonChangeEvent.md +167 -0
- package/docs/api/RadioButtonFocusEvent.md +132 -0
- package/docs/api/RadioButtonHandle.md +97 -0
- package/docs/api/RadioButtonProps.md +791 -0
- package/docs/api/RadioButtonPropsContext.md +17 -0
- package/docs/api/RadioGroup.md +17 -0
- package/docs/api/RadioGroupChangeEvent.md +167 -0
- package/docs/api/RadioGroupFocusEvent.md +132 -0
- package/docs/api/RadioGroupHandle.md +97 -0
- package/docs/api/RadioGroupProps.md +707 -0
- package/docs/api/RadioGroupPropsContext.md +17 -0
- package/docs/api/Range.md +13 -0
- package/docs/api/RangeSlider.md +17 -0
- package/docs/api/RangeSliderChangeEvent.md +132 -0
- package/docs/api/RangeSliderHandle.md +127 -0
- package/docs/api/RangeSliderProps.md +853 -0
- package/docs/api/RangeSliderPropsContext.md +17 -0
- package/docs/api/Rating.md +17 -0
- package/docs/api/RatingChangeEvent.md +132 -0
- package/docs/api/RatingFocusEvent.md +97 -0
- package/docs/api/RatingHandle.md +97 -0
- package/docs/api/RatingItem.md +13 -0
- package/docs/api/RatingItemFocusEvent.md +97 -0
- package/docs/api/RatingItemHandle.md +132 -0
- package/docs/api/RatingItemKeyboardEvent.md +97 -0
- package/docs/api/RatingItemMouseEvent.md +97 -0
- package/docs/api/RatingItemProps.md +941 -0
- package/docs/api/RatingKeyboardEvent.md +97 -0
- package/docs/api/RatingMouseEvent.md +97 -0
- package/docs/api/RatingProps.md +1308 -0
- package/docs/api/RatingPropsContext.md +17 -0
- package/docs/api/Signature.md +13 -0
- package/docs/api/SignatureBlurEvent.md +132 -0
- package/docs/api/SignatureChangeEvent.md +167 -0
- package/docs/api/SignatureCloseEvent.md +132 -0
- package/docs/api/SignatureFocusEvent.md +132 -0
- package/docs/api/SignatureHandle.md +162 -0
- package/docs/api/SignatureOpenEvent.md +132 -0
- package/docs/api/SignatureProps.md +1592 -0
- package/docs/api/SignaturePropsContext.md +17 -0
- package/docs/api/Slider.md +17 -0
- package/docs/api/SliderChangeEvent.md +167 -0
- package/docs/api/SliderHandle.md +99 -0
- package/docs/api/SliderLabel.md +62 -0
- package/docs/api/SliderLabelProps.md +171 -0
- package/docs/api/SliderProps.md +902 -0
- package/docs/api/SliderPropsContext.md +17 -0
- package/docs/api/Switch.md +17 -0
- package/docs/api/SwitchChangeEvent.md +167 -0
- package/docs/api/SwitchHandle.md +239 -0
- package/docs/api/SwitchProps.md +1081 -0
- package/docs/api/SwitchPropsContext.md +17 -0
- package/docs/api/TextArea.md +27 -0
- package/docs/api/TextAreaBlurEvent.md +132 -0
- package/docs/api/TextAreaChangeEvent.md +167 -0
- package/docs/api/TextAreaFocusEvent.md +132 -0
- package/docs/api/TextAreaProps.md +1082 -0
- package/docs/api/TextAreaPropsContext.md +17 -0
- package/docs/api/TileSize.md +18 -0
- package/docs/api/ToggleBaseProps.md +132 -0
- package/docs/api/_meta.yml +3 -0
- package/docs/api/index.md +425 -0
- package/docs/auto-imports.js +40 -0
- package/docs/checkbox/_meta.yml +3 -0
- package/docs/checkbox/accessibility.md +26 -0
- package/docs/checkbox/appearance.md +28 -0
- package/docs/checkbox/controlled.md +57 -0
- package/docs/checkbox/default-state.md +24 -0
- package/docs/checkbox/disabled.md +23 -0
- package/docs/checkbox/forms-support.md +90 -0
- package/docs/checkbox/index.md +46 -0
- package/docs/checkbox/keyboard-navigation.md +36 -0
- package/docs/checkbox/labels.md +36 -0
- package/docs/colorgradient/_meta.yml +3 -0
- package/docs/colorgradient/color-contrast.md +34 -0
- package/docs/colorgradient/controlled.md +32 -0
- package/docs/colorgradient/disabled.md +23 -0
- package/docs/colorgradient/index.md +42 -0
- package/docs/colorgradient/noopacity.md +28 -0
- package/docs/colorpalette/_meta.yml +3 -0
- package/docs/colorpalette/assets/demo-img.png +0 -0
- package/docs/colorpalette/controlled.md +32 -0
- package/docs/colorpalette/custom.md +23 -0
- package/docs/colorpalette/disabled.md +23 -0
- package/docs/colorpalette/events.md +27 -0
- package/docs/colorpalette/index.md +47 -0
- package/docs/colorpalette/keyboard-navigation.md +36 -0
- package/docs/colorpalette/presets.md +23 -0
- package/docs/colorpicker/_meta.yml +3 -0
- package/docs/colorpicker/appearance.md +30 -0
- package/docs/colorpicker/color-contrast.md +33 -0
- package/docs/colorpicker/combined-views.md +46 -0
- package/docs/colorpicker/controlled.md +57 -0
- package/docs/colorpicker/custom.md +67 -0
- package/docs/colorpicker/default-value.md +20 -0
- package/docs/colorpicker/disabled.md +20 -0
- package/docs/colorpicker/index.md +41 -0
- package/docs/colorpicker/keyboard-navigation.md +39 -0
- package/docs/custom-attributes.md +27 -0
- package/docs/examples/attribute/class/main.tsx +44 -0
- package/docs/examples/attribute/func/main.tsx +58 -0
- package/docs/examples/checkbox/appearance/func/main.tsx +33 -0
- package/docs/examples/checkbox/controlled/checked/class/main.tsx +32 -0
- package/docs/examples/checkbox/controlled/checked/func/main.tsx +29 -0
- package/docs/examples/checkbox/controlled/value/class/main.tsx +32 -0
- package/docs/examples/checkbox/controlled/value/func/main.tsx +28 -0
- package/docs/examples/checkbox/default/func/main.tsx +15 -0
- package/docs/examples/checkbox/disabled/func/main.tsx +19 -0
- package/docs/examples/checkbox/forms/basic/class/main.tsx +79 -0
- package/docs/examples/checkbox/forms/basic/func/main.tsx +71 -0
- package/docs/examples/checkbox/forms/custom-message/class/main.tsx +117 -0
- package/docs/examples/checkbox/forms/custom-message/func/main.tsx +124 -0
- package/docs/examples/checkbox/forms/disable-styles/class/main.tsx +126 -0
- package/docs/examples/checkbox/forms/disable-styles/func/main.tsx +125 -0
- package/docs/examples/checkbox/forms/kendo-react-form/func/main.tsx +137 -0
- package/docs/examples/checkbox/keyboard/class/main.tsx +32 -0
- package/docs/examples/checkbox/keyboard/func/main.tsx +27 -0
- package/docs/examples/checkbox/labels/custom/func/main.tsx +20 -0
- package/docs/examples/checkbox/labels/setup/func/main.tsx +20 -0
- package/docs/examples/checkbox/main/func/main.tsx +22 -0
- package/docs/examples/colorgradient/colorcontrast/class/main.tsx +48 -0
- package/docs/examples/colorgradient/colorcontrast/func/main.tsx +43 -0
- package/docs/examples/colorgradient/controlled/class/main.tsx +29 -0
- package/docs/examples/colorgradient/controlled/func/main.tsx +21 -0
- package/docs/examples/colorgradient/disabled/func/main.tsx +17 -0
- package/docs/examples/colorgradient/opacity/class/main.tsx +32 -0
- package/docs/examples/colorgradient/opacity/func/main.tsx +24 -0
- package/docs/examples/colorgradient/overview/class/main.tsx +42 -0
- package/docs/examples/colorgradient/overview/func/main.tsx +34 -0
- package/docs/examples/colorpalette/controlled/class/main.tsx +25 -0
- package/docs/examples/colorpalette/controlled/func/main.tsx +17 -0
- package/docs/examples/colorpalette/custom/func/main.tsx +13 -0
- package/docs/examples/colorpalette/disabled/func/main.tsx +13 -0
- package/docs/examples/colorpalette/keyboard/class/main.tsx +30 -0
- package/docs/examples/colorpalette/keyboard/func/main.tsx +30 -0
- package/docs/examples/colorpalette/overview/basic/class/main.tsx +55 -0
- package/docs/examples/colorpalette/overview/basic/class/styles.css +50 -0
- package/docs/examples/colorpalette/overview/basic/func/main.tsx +47 -0
- package/docs/examples/colorpalette/overview/basic/func/styles.css +50 -0
- package/docs/examples/colorpalette/overview/events/class/main.tsx +48 -0
- package/docs/examples/colorpalette/overview/events/func/main.tsx +40 -0
- package/docs/examples/colorpalette/presets/func/main.tsx +70 -0
- package/docs/examples/colorpicker/appearance/func/main.tsx +37 -0
- package/docs/examples/colorpicker/colorcontrast/class/main.tsx +50 -0
- package/docs/examples/colorpicker/colorcontrast/func/main.tsx +44 -0
- package/docs/examples/colorpicker/controlled/popup/class/main.tsx +39 -0
- package/docs/examples/colorpicker/controlled/popup/func/main.tsx +31 -0
- package/docs/examples/colorpicker/controlled/value/class/main.tsx +25 -0
- package/docs/examples/colorpicker/controlled/value/func/main.tsx +17 -0
- package/docs/examples/colorpicker/custom/custom-icons/func/main.tsx +18 -0
- package/docs/examples/colorpicker/custom/gradient/func/main.tsx +24 -0
- package/docs/examples/colorpicker/custom/kendo-icons/func/main.tsx +18 -0
- package/docs/examples/colorpicker/custom/palette/func/main.tsx +28 -0
- package/docs/examples/colorpicker/default/func/main.tsx +24 -0
- package/docs/examples/colorpicker/disabled/func/main.tsx +17 -0
- package/docs/examples/colorpicker/keyboard/class/main.tsx +30 -0
- package/docs/examples/colorpicker/keyboard/func/main.tsx +29 -0
- package/docs/examples/colorpicker/overview/func/main.tsx +24 -0
- package/docs/examples/colorpicker/view/combined/class/main.tsx +37 -0
- package/docs/examples/colorpicker/view/combined/func/main.tsx +27 -0
- package/docs/examples/colorpicker/view/popup/class/main.tsx +66 -0
- package/docs/examples/colorpicker/view/popup/func/main.tsx +55 -0
- package/docs/examples/flatcolorpicker/basic/func/main.tsx +13 -0
- package/docs/examples/flatcolorpicker/customization/footer/func/main.tsx +13 -0
- package/docs/examples/flatcolorpicker/customization/header/func/main.tsx +13 -0
- package/docs/examples/flatcolorpicker/disabled/func/main.tsx +13 -0
- package/docs/examples/get-started/func/main.tsx +14 -0
- package/docs/examples/globalization/func/main.tsx +47 -0
- package/docs/examples/input/counter/main.tsx +30 -0
- package/docs/examples/input/forms/basic/class/main.tsx +87 -0
- package/docs/examples/input/forms/basic/func/main.tsx +79 -0
- package/docs/examples/input/forms/custom-message/class/main.tsx +94 -0
- package/docs/examples/input/forms/custom-message/func/main.tsx +86 -0
- package/docs/examples/input/forms/disable-styles/class/main.tsx +115 -0
- package/docs/examples/input/forms/disable-styles/func/main.tsx +106 -0
- package/docs/examples/input/forms/override/class/main.tsx +111 -0
- package/docs/examples/input/forms/override/func/main.tsx +102 -0
- package/docs/examples/input/main/main.jsx +17 -0
- package/docs/examples/input/overview/func/main.tsx +88 -0
- package/docs/examples/label/class/main.tsx +69 -0
- package/docs/examples/label/func/main.tsx +65 -0
- package/docs/examples/maskedtextbox/appearance/func/main.tsx +41 -0
- package/docs/examples/maskedtextbox/disabled/func/main.tsx +24 -0
- package/docs/examples/maskedtextbox/forms/basic/class/main.tsx +78 -0
- package/docs/examples/maskedtextbox/forms/basic/func/main.tsx +70 -0
- package/docs/examples/maskedtextbox/forms/custom-message/class/main.tsx +81 -0
- package/docs/examples/maskedtextbox/forms/custom-message/func/main.tsx +73 -0
- package/docs/examples/maskedtextbox/forms/disable-styles/class/main.tsx +75 -0
- package/docs/examples/maskedtextbox/forms/disable-styles/func/main.tsx +67 -0
- package/docs/examples/maskedtextbox/forms/override/class/main.tsx +85 -0
- package/docs/examples/maskedtextbox/forms/override/func/main.tsx +75 -0
- package/docs/examples/maskedtextbox/mask/basic/func/main.tsx +19 -0
- package/docs/examples/maskedtextbox/mask/extend/func/main.tsx +35 -0
- package/docs/examples/maskedtextbox/overview/basic/func/main.tsx +18 -0
- package/docs/examples/maskedtextbox/readonly/func/main.tsx +20 -0
- package/docs/examples/maskedtextbox/valid/class/main.tsx +59 -0
- package/docs/examples/maskedtextbox/valid/func/main.tsx +51 -0
- package/docs/examples/maskedtextbox/value/class/main.tsx +37 -0
- package/docs/examples/maskedtextbox/value/func/main.tsx +29 -0
- package/docs/examples/numerictextbox/appearance/func/main.tsx +39 -0
- package/docs/examples/numerictextbox/formats/func/main.tsx +53 -0
- package/docs/examples/numerictextbox/forms/basic/class/main.tsx +75 -0
- package/docs/examples/numerictextbox/forms/basic/func/main.tsx +67 -0
- package/docs/examples/numerictextbox/forms/custom-message/class/main.tsx +82 -0
- package/docs/examples/numerictextbox/forms/custom-message/func/main.tsx +74 -0
- package/docs/examples/numerictextbox/forms/disable-styles/class/main.tsx +98 -0
- package/docs/examples/numerictextbox/forms/disable-styles/func/main.tsx +85 -0
- package/docs/examples/numerictextbox/forms/override/class/main.tsx +96 -0
- package/docs/examples/numerictextbox/forms/override/func/main.tsx +87 -0
- package/docs/examples/numerictextbox/forms/ref/class/main.tsx +44 -0
- package/docs/examples/numerictextbox/forms/ref/func/main.tsx +34 -0
- package/docs/examples/numerictextbox/keyboard/func/main.tsx +20 -0
- package/docs/examples/numerictextbox/overview/class/main.tsx +55 -0
- package/docs/examples/numerictextbox/overview/func/main.tsx +43 -0
- package/docs/examples/numerictextbox/spin/func/main.tsx +22 -0
- package/docs/examples/numerictextbox/step/func/main.tsx +21 -0
- package/docs/examples/overview/func/main.tsx +102 -0
- package/docs/examples/props-context/overview/class/grid-with-filtering.tsx +32 -0
- package/docs/examples/props-context/overview/class/main.tsx +26 -0
- package/docs/examples/props-context/overview/class/sample-products.ts +182 -0
- package/docs/examples/props-context/overview/func/grid-with-filtering.tsx +32 -0
- package/docs/examples/props-context/overview/func/main.tsx +24 -0
- package/docs/examples/props-context/overview/func/sample-products.ts +182 -0
- package/docs/examples/radiobutton/appearance/func/main.tsx +28 -0
- package/docs/examples/radiobutton/custom-labels/func/main.tsx +28 -0
- package/docs/examples/radiobutton/disabled/func/main.tsx +20 -0
- package/docs/examples/radiobutton/labels/func/main.tsx +20 -0
- package/docs/examples/radiobutton/overview/class/main.tsx +35 -0
- package/docs/examples/radiobutton/overview/func/main.tsx +30 -0
- package/docs/examples/radiogroup/controlled/class/main.tsx +49 -0
- package/docs/examples/radiogroup/controlled/func/main.tsx +40 -0
- package/docs/examples/radiogroup/default-state/func/main.tsx +19 -0
- package/docs/examples/radiogroup/forms/class/main.tsx +150 -0
- package/docs/examples/radiogroup/forms/func/main.tsx +146 -0
- package/docs/examples/radiogroup/keyboard/class/main.tsx +37 -0
- package/docs/examples/radiogroup/keyboard/func/main.tsx +31 -0
- package/docs/examples/radiogroup/layout/class/main.tsx +49 -0
- package/docs/examples/radiogroup/layout/func/main.tsx +43 -0
- package/docs/examples/radiogroup/overview/func/main.tsx +18 -0
- package/docs/examples/rangeslider/controlled/class/main.tsx +45 -0
- package/docs/examples/rangeslider/controlled/func/main.tsx +37 -0
- package/docs/examples/rangeslider/disabled/func/main.tsx +27 -0
- package/docs/examples/rangeslider/labels/func/main.tsx +26 -0
- package/docs/examples/rangeslider/orientation/func/main.tsx +27 -0
- package/docs/examples/rangeslider/overview/func/main.tsx +26 -0
- package/docs/examples/rating/controlled/class/main.tsx +29 -0
- package/docs/examples/rating/controlled/func/main.tsx +21 -0
- package/docs/examples/rating/disabled/func/main.tsx +18 -0
- package/docs/examples/rating/forms/class/main.tsx +85 -0
- package/docs/examples/rating/forms/func/main.tsx +79 -0
- package/docs/examples/rating/icon/func/main.tsx +15 -0
- package/docs/examples/rating/items/func/main.tsx +15 -0
- package/docs/examples/rating/label/class/main.tsx +33 -0
- package/docs/examples/rating/label/func/main.tsx +26 -0
- package/docs/examples/rating/navigation/func/main.tsx +15 -0
- package/docs/examples/rating/overview/func/main.tsx +12 -0
- package/docs/examples/rating/precision/func/main.tsx +27 -0
- package/docs/examples/rating/rating-item/advanced/class/main.tsx +82 -0
- package/docs/examples/rating/rating-item/advanced/func/main.tsx +76 -0
- package/docs/examples/rating/rating-item/overview/func/main.tsx +75 -0
- package/docs/examples/rating/readonly/func/main.tsx +18 -0
- package/docs/examples/rating/selection/func/main.tsx +25 -0
- package/docs/examples/rtl/func/main.tsx +99 -0
- package/docs/examples/shared/checkbox-style-configurator.tsx +69 -0
- package/docs/examples/shared/es.json +6 -0
- package/docs/examples/shared/radiobutton-style-configurator.tsx +47 -0
- package/docs/examples/shared/sample-signature.ts +2 -0
- package/docs/examples/shared/style-configurator.tsx +93 -0
- package/docs/examples/shared/switch-style-configurator.tsx +91 -0
- package/docs/examples/signature/appearance/all-options/func/main.tsx +89 -0
- package/docs/examples/signature/appearance/color/func/main.tsx +17 -0
- package/docs/examples/signature/appearance/stroke-width/func/main.tsx +16 -0
- package/docs/examples/signature/controlled/export-scale/func/main.tsx +34 -0
- package/docs/examples/signature/controlled/popup/func/main.tsx +28 -0
- package/docs/examples/signature/controlled/value/func/main.tsx +19 -0
- package/docs/examples/signature/disabled/func/main.tsx +17 -0
- package/docs/examples/signature/events/func/main.tsx +66 -0
- package/docs/examples/signature/forms/kendo/func/main.tsx +148 -0
- package/docs/examples/signature/overview/func/main.tsx +239 -0
- package/docs/examples/signature/overview/func/styles.css +56 -0
- package/docs/examples/signature/popup/disabled/func/main.tsx +14 -0
- package/docs/examples/signature/popup/scale/func/main.tsx +14 -0
- package/docs/examples/signature/readonly/func/main.tsx +17 -0
- package/docs/examples/signature/smooth/func/main.tsx +14 -0
- package/docs/examples/slider/buttons/func/main.tsx +18 -0
- package/docs/examples/slider/controlled/class/main.tsx +45 -0
- package/docs/examples/slider/controlled/func/main.tsx +36 -0
- package/docs/examples/slider/labels/class/main.tsx +44 -0
- package/docs/examples/slider/labels/func/main.tsx +35 -0
- package/docs/examples/slider/orientation/func/main.tsx +25 -0
- package/docs/examples/slider/overview/func/main.tsx +24 -0
- package/docs/examples/switch/appearance/func/main.tsx +38 -0
- package/docs/examples/switch/controlled/manual/class/main.tsx +40 -0
- package/docs/examples/switch/controlled/manual/func/main.tsx +33 -0
- package/docs/examples/switch/controlled/readonly/func/main.tsx +15 -0
- package/docs/examples/switch/default/func/main.tsx +15 -0
- package/docs/examples/switch/disabled/func/main.tsx +15 -0
- package/docs/examples/switch/forms/basic/class/main.tsx +81 -0
- package/docs/examples/switch/forms/basic/func/main.tsx +72 -0
- package/docs/examples/switch/forms/custom-message/class/main.tsx +108 -0
- package/docs/examples/switch/forms/custom-message/func/main.tsx +100 -0
- package/docs/examples/switch/forms/disable-styles/class/main.tsx +129 -0
- package/docs/examples/switch/forms/disable-styles/func/main.tsx +118 -0
- package/docs/examples/switch/forms/kendo-react-form/class/main.tsx +104 -0
- package/docs/examples/switch/forms/kendo-react-form/func/main.tsx +106 -0
- package/docs/examples/switch/keyboard/class/main.tsx +22 -0
- package/docs/examples/switch/keyboard/func/main.tsx +23 -0
- package/docs/examples/switch/labels/func/main.tsx +15 -0
- package/docs/examples/switch/overview/basic/func/main.tsx +15 -0
- package/docs/examples/textarea/appearance/func/main.tsx +39 -0
- package/docs/examples/textarea/auto-sizing/func/main.tsx +18 -0
- package/docs/examples/textarea/controlled/class/main.tsx +32 -0
- package/docs/examples/textarea/controlled/func/main.tsx +26 -0
- package/docs/examples/textarea/counter/class/main.tsx +38 -0
- package/docs/examples/textarea/counter/func/main.tsx +32 -0
- package/docs/examples/textarea/default-state/func/main.tsx +18 -0
- package/docs/examples/textarea/disabled/func/main.tsx +20 -0
- package/docs/examples/textarea/forms/kendo-react-form/class/main.tsx +152 -0
- package/docs/examples/textarea/forms/kendo-react-form/func/main.tsx +140 -0
- package/docs/examples/textarea/main/func/main.tsx +15 -0
- package/docs/examples/textarea/overview/class/main.tsx +103 -0
- package/docs/examples/textarea/overview/func/main.tsx +90 -0
- package/docs/examples/textarea/sizing/func/main.tsx +15 -0
- package/docs/examples/tsconfig.json +29 -0
- package/docs/flatcolorpicker/_meta.yml +3 -0
- package/docs/flatcolorpicker/customization.md +33 -0
- package/docs/flatcolorpicker/disabled.md +22 -0
- package/docs/flatcolorpicker/index.md +30 -0
- package/docs/floating-labels.md +35 -0
- package/docs/get-started.md +153 -0
- package/docs/globalization.md +67 -0
- package/docs/index.md +212 -0
- package/docs/input/_meta.yml +3 -0
- package/docs/input/counter.md +20 -0
- package/docs/input/forms.md +87 -0
- package/docs/input/index.md +40 -0
- package/docs/maskedtextbox/_meta.yml +3 -0
- package/docs/maskedtextbox/accessibility.md +22 -0
- package/docs/maskedtextbox/appearance.md +30 -0
- package/docs/maskedtextbox/disabled-state.md +20 -0
- package/docs/maskedtextbox/forms.md +87 -0
- package/docs/maskedtextbox/index.md +40 -0
- package/docs/maskedtextbox/masks.md +44 -0
- package/docs/maskedtextbox/readonly-state.md +20 -0
- package/docs/maskedtextbox/valid-state.md +25 -0
- package/docs/maskedtextbox/value.md +23 -0
- package/docs/numerictextbox/_meta.yml +3 -0
- package/docs/numerictextbox/accessibility.md +25 -0
- package/docs/numerictextbox/appearance.md +30 -0
- package/docs/numerictextbox/formats.md +25 -0
- package/docs/numerictextbox/forms.md +87 -0
- package/docs/numerictextbox/index.md +49 -0
- package/docs/numerictextbox/keyboard-navigation.md +26 -0
- package/docs/numerictextbox/predefined-step.md +20 -0
- package/docs/numerictextbox/ref.md +28 -0
- package/docs/numerictextbox/spin-buttons.md +20 -0
- package/docs/props-context.md +65 -0
- package/docs/radiobutton/_meta.yml +3 -0
- package/docs/radiobutton/appearance.md +26 -0
- package/docs/radiobutton/disabled.md +23 -0
- package/docs/radiobutton/index.md +47 -0
- package/docs/radiobutton/labels.md +36 -0
- package/docs/radiogroup/_meta.yml +3 -0
- package/docs/radiogroup/accessibility.md +25 -0
- package/docs/radiogroup/controlled_mode.md +34 -0
- package/docs/radiogroup/default_state.md +24 -0
- package/docs/radiogroup/forms_support.md +37 -0
- package/docs/radiogroup/index.md +41 -0
- package/docs/radiogroup/keyboard_navigation.md +37 -0
- package/docs/radiogroup/layout.md +29 -0
- package/docs/rangeslider/_meta.yml +3 -0
- package/docs/rangeslider/accessibility.md +26 -0
- package/docs/rangeslider/controlled.md +32 -0
- package/docs/rangeslider/disabled.md +23 -0
- package/docs/rangeslider/index.md +41 -0
- package/docs/rangeslider/keyboard-navigation.md +33 -0
- package/docs/rangeslider/orientation.md +24 -0
- package/docs/rangeslider/ticks.md +26 -0
- package/docs/rating/_meta.yml +3 -0
- package/docs/rating/accessibility.md +26 -0
- package/docs/rating/forms_support.md +39 -0
- package/docs/rating/functionality-and-features/_meta.yml +2 -0
- package/docs/rating/functionality-and-features/controlled.md +34 -0
- package/docs/rating/functionality-and-features/disabled.md +23 -0
- package/docs/rating/functionality-and-features/icon.md +27 -0
- package/docs/rating/functionality-and-features/items.md +24 -0
- package/docs/rating/functionality-and-features/label.md +28 -0
- package/docs/rating/functionality-and-features/precision.md +51 -0
- package/docs/rating/functionality-and-features/readonly.md +23 -0
- package/docs/rating/functionality-and-features/selection.md +23 -0
- package/docs/rating/index.md +45 -0
- package/docs/rating/item_custamization.md +45 -0
- package/docs/rating/keyboard-navigation.md +33 -0
- package/docs/signature/_meta.yml +3 -0
- package/docs/signature/appearance.md +96 -0
- package/docs/signature/controlled.md +60 -0
- package/docs/signature/disabled.md +21 -0
- package/docs/signature/events.md +20 -0
- package/docs/signature/forms.md +28 -0
- package/docs/signature/index.md +34 -0
- package/docs/signature/line-smoothing.md +16 -0
- package/docs/signature/popup.md +34 -0
- package/docs/signature/readonly.md +21 -0
- package/docs/slider/_meta.yml +3 -0
- package/docs/slider/accessibility.md +26 -0
- package/docs/slider/controlled.md +32 -0
- package/docs/slider/index.md +41 -0
- package/docs/slider/keyboard-navigation.md +33 -0
- package/docs/slider/orientation.md +24 -0
- package/docs/slider/side-buttons.md +24 -0
- package/docs/slider/ticks.md +31 -0
- package/docs/switch/_meta.yml +3 -0
- package/docs/switch/accessibility.md +17 -0
- package/docs/switch/appearance.md +30 -0
- package/docs/switch/controlled-switch.md +44 -0
- package/docs/switch/default-state.md +20 -0
- package/docs/switch/disabled-state.md +20 -0
- package/docs/switch/forms-support.md +78 -0
- package/docs/switch/index.md +44 -0
- package/docs/switch/keyboard-navigation.md +31 -0
- package/docs/switch/labels.md +29 -0
- package/docs/textarea/_meta.yml +3 -0
- package/docs/textarea/appearance.md +30 -0
- package/docs/textarea/controlled_mode.md +37 -0
- package/docs/textarea/counter.md +28 -0
- package/docs/textarea/default_state.md +25 -0
- package/docs/textarea/disabled.md +24 -0
- package/docs/textarea/forms_support.md +39 -0
- package/docs/textarea/index.md +51 -0
- package/docs/textarea/sizing.md +38 -0
- package/e2e/a11y.tests.ts +154 -0
- package/e2e/input.tests.ts +143 -0
- package/e2e/numeric.tests.ts +134 -0
- package/e2e/switch.tests.ts +122 -0
- package/examples/checkbox/checkbox.html +9 -0
- package/examples/checkbox/checkbox.tsx +292 -0
- package/examples/checkbox/checkboxForm.html +9 -0
- package/examples/checkbox/checkboxForm.tsx +81 -0
- package/examples/checkbox/checked-n-value.html +9 -0
- package/examples/checkbox/checked-n-value.tsx +115 -0
- package/examples/checkbox/controlled-mode.html +9 -0
- package/examples/checkbox/controlled-mode.tsx +69 -0
- package/examples/checkbox/form.html +9 -0
- package/examples/checkbox/form.tsx +78 -0
- package/examples/checkbox/formik.html +9 -0
- package/examples/checkbox/formik.tsx +89 -0
- package/examples/colors/colorContrast.html +12 -0
- package/examples/colors/colorContrast.tsx +52 -0
- package/examples/colors/colorGradient.html +9 -0
- package/examples/colors/colorGradient.tsx +37 -0
- package/examples/colors/colorPalette.html +9 -0
- package/examples/colors/colorPalette.tsx +29 -0
- package/examples/colors/colorPicker.html +22 -0
- package/examples/colors/colorPicker.tsx +58 -0
- package/examples/colors/colorPickerLocalization.html +9 -0
- package/examples/colors/colorPickerLocalization.tsx +31 -0
- package/examples/colors/flatColorPicker.html +12 -0
- package/examples/colors/flatColorPicker.tsx +21 -0
- package/examples/context/class/grid-with-filtering.tsx +32 -0
- package/examples/context/class/index.html +9 -0
- package/examples/context/class/index.tsx +28 -0
- package/examples/context/class/sample-products.tsx +182 -0
- package/examples/context/func/grid-with-filtering.tsx +32 -0
- package/examples/context/func/index.html +9 -0
- package/examples/context/func/index.tsx +26 -0
- package/examples/context/func/sample-products.tsx +182 -0
- package/examples/e2e/accessibility/CheckboxExample.tsx +26 -0
- package/examples/e2e/accessibility/ColorGradientExample.tsx +28 -0
- package/examples/e2e/accessibility/ColorPaletteExample.tsx +33 -0
- package/examples/e2e/accessibility/ColorPickerExample.tsx +21 -0
- package/examples/e2e/accessibility/InputExample.tsx +49 -0
- package/examples/e2e/accessibility/MaskedTextBoxExample.tsx +29 -0
- package/examples/e2e/accessibility/NumericTextBoxExample.tsx +24 -0
- package/examples/e2e/accessibility/RadioButtonExample.tsx +29 -0
- package/examples/e2e/accessibility/RangeSliderExample.tsx +26 -0
- package/examples/e2e/accessibility/RatingExample.tsx +13 -0
- package/examples/e2e/accessibility/SliderExample.tsx +19 -0
- package/examples/e2e/accessibility/SwitchExample.tsx +26 -0
- package/examples/e2e/accessibility/TextAreaExample.tsx +70 -0
- package/examples/e2e/accessibility/main.html +14 -0
- package/examples/e2e/accessibility/main.tsx +104 -0
- package/examples/e2e/input/input.html +9 -0
- package/examples/e2e/input/input.tsx +58 -0
- package/examples/e2e/numerictextbox/numericLabel.html +9 -0
- package/examples/e2e/numerictextbox/numericLabel.tsx +38 -0
- package/examples/e2e/switch/switch.html +16 -0
- package/examples/e2e/switch/switch.tsx +74 -0
- package/examples/focus/focus.html +9 -0
- package/examples/focus/focus.tsx +81 -0
- package/examples/input/inputFloatingLabels.html +9 -0
- package/examples/input/inputFloatingLabels.tsx +26 -0
- package/examples/input/inputForm.html +9 -0
- package/examples/input/inputForm.tsx +151 -0
- package/examples/maskedtextbox/basic.html +9 -0
- package/examples/maskedtextbox/basic.tsx +54 -0
- package/examples/maskedtextbox/ipmask.html +9 -0
- package/examples/maskedtextbox/ipmask.tsx +79 -0
- package/examples/messages/index.ts +4 -0
- package/examples/numerictextbox/newNumeric.html +9 -0
- package/examples/numerictextbox/newNumeric.tsx +149 -0
- package/examples/numerictextbox/numeric.html +9 -0
- package/examples/numerictextbox/numeric.tsx +247 -0
- package/examples/numerictextbox/numericApiExample.html +9 -0
- package/examples/numerictextbox/numericApiExample.tsx +25 -0
- package/examples/numerictextbox/numericForm.html +9 -0
- package/examples/numerictextbox/numericForm.tsx +89 -0
- package/examples/numerictextbox/roundingIssues.html +9 -0
- package/examples/numerictextbox/roundingIssues.tsx +51 -0
- package/examples/numerictextbox/test.html +9 -0
- package/examples/numerictextbox/test.tsx +165 -0
- package/examples/numerictextbox/testingBlurDisabled.html +9 -0
- package/examples/numerictextbox/testingBlurDisabled.tsx +167 -0
- package/examples/radio-group/customization/index.html +12 -0
- package/examples/radio-group/customization/index.tsx +32 -0
- package/examples/radioButton/accessibility.html +12 -0
- package/examples/radioButton/accessibility.tsx +81 -0
- package/examples/radioButton/html-forms.html +9 -0
- package/examples/radioButton/html-forms.tsx +63 -0
- package/examples/radioButton/kendo-react-form.html +12 -0
- package/examples/radioButton/kendo-react-form.tsx +80 -0
- package/examples/radioButton/radio.html +9 -0
- package/examples/radioButton/radio.tsx +45 -0
- package/examples/radioButton/standalone-radio.html +9 -0
- package/examples/radioButton/standalone-radio.tsx +76 -0
- package/examples/range-slider/form/index.html +9 -0
- package/examples/range-slider/form/index.tsx +57 -0
- package/examples/range-slider/index.html +9 -0
- package/examples/range-slider/index.tsx +147 -0
- package/examples/rating/index.html +9 -0
- package/examples/rating/index.tsx +158 -0
- package/examples/rtl/index.html +12 -0
- package/examples/rtl/index.tsx +29 -0
- package/examples/signature/basic.html +9 -0
- package/examples/signature/basic.tsx +72 -0
- package/examples/signature/forms-basic.html +9 -0
- package/examples/signature/forms-basic.tsx +72 -0
- package/examples/signature/forms.html +9 -0
- package/examples/signature/forms.tsx +90 -0
- package/examples/slider/slider.html +15 -0
- package/examples/slider/slider.tsx +99 -0
- package/examples/slider/vertical.html +15 -0
- package/examples/slider/vertical.tsx +28 -0
- package/examples/switch/switch.html +9 -0
- package/examples/switch/switch.tsx +44 -0
- package/examples/switch/switchDoubleEvent.html +9 -0
- package/examples/switch/switchDoubleEvent.tsx +25 -0
- package/examples/switch/switchForm.html +9 -0
- package/examples/switch/switchForm.tsx +138 -0
- package/examples/textarea/formik.html +12 -0
- package/examples/textarea/formik.tsx +84 -0
- package/examples/textarea/textarea.html +12 -0
- package/examples/textarea/textarea.tsx +96 -0
- package/gulpfile.js +7 -0
- package/package.json +19 -16
- package/src/checkbox/Checkbox.tsx +352 -0
- package/src/checkbox/interfaces/CheckboxBlurEvent.ts +7 -0
- package/src/checkbox/interfaces/CheckboxChangeEvent.ts +12 -0
- package/src/checkbox/interfaces/CheckboxFocusEvent.ts +7 -0
- package/src/checkbox/interfaces/CheckboxProps.ts +122 -0
- package/src/colors/ColorContrastLabels.tsx +83 -0
- package/src/colors/ColorContrastSvg.tsx +88 -0
- package/src/colors/ColorGradient.tsx +450 -0
- package/src/colors/ColorInput.tsx +192 -0
- package/src/colors/ColorPalette.tsx +329 -0
- package/src/colors/ColorPicker.tsx +387 -0
- package/src/colors/FlatColorPicker.tsx +258 -0
- package/src/colors/HexInput.tsx +67 -0
- package/src/colors/Picker.tsx +56 -0
- package/src/colors/interfaces/ColorGradientChangeEvent.ts +12 -0
- package/src/colors/interfaces/ColorGradientProps.ts +77 -0
- package/src/colors/interfaces/ColorPaletteChangeEvent.ts +16 -0
- package/src/colors/interfaces/ColorPaletteProps.ts +78 -0
- package/src/colors/interfaces/ColorPickerActiveColorClick.ts +17 -0
- package/src/colors/interfaces/ColorPickerBlurEvent.ts +13 -0
- package/src/colors/interfaces/ColorPickerChangeEvent.ts +17 -0
- package/src/colors/interfaces/ColorPickerFocusEvent.ts +13 -0
- package/src/colors/interfaces/ColorPickerGradientSettings.ts +19 -0
- package/src/colors/interfaces/ColorPickerPaletteSettings.ts +35 -0
- package/src/colors/interfaces/ColorPickerPopupSettings.ts +16 -0
- package/src/colors/interfaces/ColorPickerProps.ts +170 -0
- package/src/colors/interfaces/ColorPickerView.ts +10 -0
- package/src/colors/interfaces/PickerPopupSettings.ts +21 -0
- package/src/colors/interfaces/PickerProps.ts +51 -0
- package/src/colors/models/hsva.ts +9 -0
- package/src/colors/models/output-format.ts +4 -0
- package/src/colors/models/palette-presets.ts +54 -0
- package/src/colors/models/rgb.ts +8 -0
- package/src/colors/models/rgba.ts +9 -0
- package/src/colors/models/table-cell.ts +7 -0
- package/src/colors/models/tile-size.ts +8 -0
- package/src/colors/utils/color-cache.ts +71 -0
- package/src/colors/utils/color-palette.service.ts +79 -0
- package/src/colors/utils/color-parser.ts +158 -0
- package/src/colors/utils/misc.ts +23 -0
- package/src/colors/utils/svg-calc.ts +115 -0
- package/src/common/SliderTooltip.tsx +83 -0
- package/src/common/SwitchController.ts +130 -0
- package/src/common/SwitchModel.ts +12 -0
- package/src/input/Input.tsx +346 -0
- package/src/input/interfaces/InputChangeEvent.tsx +12 -0
- package/src/interfaces/Direction.ts +1 -0
- package/src/interfaces/ToggleBaseProps.ts +8 -0
- package/src/main.ts +57 -0
- package/src/maskedtextbox/MaskedTextBox.tsx +541 -0
- package/src/maskedtextbox/MaskedTextBoxProps.ts +215 -0
- package/src/maskedtextbox/masking.service.ts +230 -0
- package/src/maskedtextbox/parsing/combinators.ts +30 -0
- package/src/maskedtextbox/parsing/parsers.ts +179 -0
- package/src/maskedtextbox/parsing/result.ts +39 -0
- package/src/maskedtextbox/parsing/stream.ts +41 -0
- package/src/maskedtextbox/utils.ts +70 -0
- package/src/messages/index.ts +151 -0
- package/src/numerictextbox/NumericTextBox.tsx +626 -0
- package/src/numerictextbox/interfaces/NumericTextBoxBlurEvent.tsx +7 -0
- package/src/numerictextbox/interfaces/NumericTextBoxChangeEvent.tsx +12 -0
- package/src/numerictextbox/interfaces/NumericTextBoxFocusEvent.tsx +7 -0
- package/src/numerictextbox/interfaces/NumericTextBoxHandle.tsx +40 -0
- package/src/numerictextbox/interfaces/NumericTextBoxProps.tsx +180 -0
- package/src/numerictextbox/interfaces/NumericTextBoxState.tsx +15 -0
- package/src/numerictextbox/utils/index.tsx +744 -0
- package/src/package-metadata.ts +13 -0
- package/src/radiobutton/RadioButton.tsx +194 -0
- package/src/radiobutton/RadioGroup.tsx +190 -0
- package/src/radiobutton/interfaces/RadioButtonBlurEvent.ts +7 -0
- package/src/radiobutton/interfaces/RadioButtonChangeEvent.ts +12 -0
- package/src/radiobutton/interfaces/RadioButtonFocusEvent.ts +7 -0
- package/src/radiobutton/interfaces/RadioButtonProps.ts +102 -0
- package/src/radiobutton/interfaces/RadioGroupChangeEvent.ts +12 -0
- package/src/radiobutton/interfaces/RadioGroupFocusEvent.ts +7 -0
- package/src/radiobutton/interfaces/RadioGroupProps.ts +89 -0
- package/src/range-slider/RangeSlider.tsx +644 -0
- package/src/range-slider/range-raducer.tsx +153 -0
- package/src/rating/Rating.tsx +633 -0
- package/src/rating/RatingItem.tsx +268 -0
- package/src/rating/models/index.tsx +91 -0
- package/src/rating/rating-reducer.tsx +70 -0
- package/src/rating/utils/index.tsx +65 -0
- package/src/signature/Signature.tsx +488 -0
- package/src/signature/interfaces/SignatureBlurEvent.tsx +7 -0
- package/src/signature/interfaces/SignatureChangeEvent.tsx +12 -0
- package/src/signature/interfaces/SignatureCloseEvent.tsx +7 -0
- package/src/signature/interfaces/SignatureFocusEvent.tsx +7 -0
- package/src/signature/interfaces/SignatureHandle.tsx +35 -0
- package/src/signature/interfaces/SignatureOpenEvent.tsx +7 -0
- package/src/signature/interfaces/SignatureProps.tsx +227 -0
- package/src/signature/interfaces/index.ts +7 -0
- package/src/signature/utils/index.ts +11 -0
- package/src/slider/Slider.tsx +470 -0
- package/src/slider/SliderLabel.tsx +69 -0
- package/src/switch/Switch.tsx +559 -0
- package/src/textarea/TextArea.tsx +263 -0
- package/src/textarea/interfaces/TextAreaBlurEvent.ts +7 -0
- package/src/textarea/interfaces/TextAreaChangeEvent.ts +12 -0
- package/src/textarea/interfaces/TextAreaFocusEvent.ts +7 -0
- package/src/textarea/interfaces/TextAreaProps.tsx +131 -0
- package/src/utils.ts +16 -0
- package/test/Checkbox.tsx +252 -0
- package/test/ColorGradient.tsx +260 -0
- package/test/ColorPalette.tsx +440 -0
- package/test/ColorPicker.tsx +74 -0
- package/test/Input.tsx +255 -0
- package/test/NumericTextBox.tsx +984 -0
- package/test/RadioButton.tsx +176 -0
- package/test/RangeSlider.tsx +502 -0
- package/test/Rating.tsx +227 -0
- package/test/Slider.tsx +198 -0
- package/test/Switch.tsx +154 -0
- package/test/TextArea.tsx +216 -0
- package/test/maskedtextbox/component.tsx +424 -0
- package/test/maskedtextbox/masking.service.tsx +1345 -0
- package/test/maskedtextbox/parser.tsx +364 -0
- package/tsconfig.es.json +25 -0
- package/tsconfig.json +26 -0
- package/tsconfig.npm.json +25 -0
- package/LICENSE.md +0 -11
- package/NOTICE.txt +0 -111
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import { Label } from '@progress/kendo-react-labels';
|
|
4
|
+
import { DropDownList, DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
interface RadioButtonStyleConfiguratorProps {
|
|
8
|
+
size?: 'small' | 'medium' | 'large';
|
|
9
|
+
sizeOptions?: Array<'small' | 'medium' | 'large'>;
|
|
10
|
+
onSizeChange?: (size: 'small' | 'medium' | 'large') => void;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const RadioButtonStyleConfigurator = (props: RadioButtonStyleConfiguratorProps) => {
|
|
14
|
+
const {
|
|
15
|
+
sizeOptions,
|
|
16
|
+
onSizeChange
|
|
17
|
+
} = { ...RadioButtonStyleConfigurator.defaultProps, ...props };
|
|
18
|
+
|
|
19
|
+
const handleSizeChange = (event: DropDownListChangeEvent) => {
|
|
20
|
+
onSizeChange(event.value);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<div
|
|
25
|
+
style={{margin: '-30px -30px 30px -30px'}}
|
|
26
|
+
>
|
|
27
|
+
<div style={{display: 'flex', justifyContent: 'center'}}>
|
|
28
|
+
<span className="k-color-primary" style={{textTransform: 'uppercase', padding: '4px 0'}}>Configurator</span>
|
|
29
|
+
</div>
|
|
30
|
+
<div className="example-config" style={{display: 'flex', flexWrap: 'wrap'}}>
|
|
31
|
+
<span className="k-form-field" style={{ flex: "1 1 0px"}}>
|
|
32
|
+
<Label>
|
|
33
|
+
Size
|
|
34
|
+
<div className="k-form-field-wrap">
|
|
35
|
+
<DropDownList data={sizeOptions} value={props.size} onChange={handleSizeChange} style={{minWidth: 120}}/>
|
|
36
|
+
</div>
|
|
37
|
+
</Label>
|
|
38
|
+
</span>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
RadioButtonStyleConfigurator.defaultProps = {
|
|
45
|
+
sizeOptions: ['small', 'medium', 'large'],
|
|
46
|
+
onSizeChange: () => {/* noop */ }
|
|
47
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const sampleSignature = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAH4CAYAAABQRy9XAAAgAElEQVR4XuzdjZUjt4EuUL8I7BeBuRFYG4HpCCRHIDqC0UYgTgQzikBUBNZEYCoCSxEsFcGTItiHb83apenuJuqX9XPrHJxudaNQwAV6vPs1GvV/fuMiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEegv8n94taIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBD4jcDdIiBAgAABAgQIECBAgAABAgQIECBAgAABAgMICNwHQNQEAQIECBAgQIAAAQIECBAgQIAAAQIECBAQuFsDBAgQIECAAAECBAgQIECAAAECBAgQIEBgAAGB+wCImiBAgAABAgQIECBAgAABAgQIECBAgAABAgJ3a4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAwgIHAfAFETBAgQIECAAAECBAgQIECAAAECBAgQIEBA4G4NECBAgAABAgQIECBAgAABAgQIECBAgACBAQQE7gMgaoIAAQIECBAgQIAAAQIECBAgQIAAAQIECAjcrQECBAgQIECAAAECBAgQIECAAAECBAgQIDCAgMB9AERNECBAgAABAgQIECBAgAABAgQIECBAgAABgbs1QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBhAQuA+AqAkCBAgQIECAAAECBAgQIECAAAECBAgQICBwtwYIECBAgAABAgQIECBAgAABAgQIECBAgMAAAgL3ARA1QYAAAQIECBAgQIAAAQIECBAgQIAAAQIEBO7WAAECBAgQIECAAAECBAgQIECAAAECBAgQGEBA4D4AoiYIECBAgAABAgQIECBAgAABAgQIECBAgIDA3RogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIDCAjcB0DUBAECBAgQIECAAAECBAgQIECAAAECBAgQELhbAwQIECBAgAABAgQIECBAgAABAgQIECBAYAABgfsAiJogQIAAAQIECBAgQIAAAQIECBAgQIAAAQICd2uAAAECBAgQIECAAAECBAgQIECAAAECBAgMICBwHwBREwQIECBAgAABAgQIECBAgAABAgQIECBAQOBuDRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgQEEBO4DIGqCAAECBAgQIECAAAECBAgQIECAAAECBAgI3K0BAgQIECBAgAABAgQIECBAgAABAgQIECAwgIDAfQBETRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7NUCAAAECBAgQIECAAAECBAgQIECAAAECBAYQELgPgKgJAgQIECBAgAABAgQIECBAgAABAgQIECAgcLcGCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAAAIC9wEQNUGAAAECBAgQIECAAAECBAgQIECAAAECBATu1gABAgQIECBAgAABAgQIECBAgAABAgQIEBhAQOA+AKImCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN0aIECAAAECBAgQIECAAAECBAgQIECAAAECAwgI3AdA1AQBAgQIECBAgAABAgQIECBAgAABAgQIEBC4WwMECBAgQIAAAQIECBAgQIAAAQIECBAgQGAAAYH7AIiaIECAAAECBAgQIECAAAECBAgQIECAAAECAndrgAABAgQIECBAgAABAgQIECBAgAABAgQIDCAgcB8AURMECBAgQIAAAQIECBAgQIAAAQIECBAgQEDgbg0QIECAAAECBAgQIECAAAECBAgQIECAAIEBBATuAyBqggABAgQIECBAgAABAgQIECBAgAABAgQICNytAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMICAwH0ARE0QIECAAAECBAgQIECAAAECBAgQIECAAAGBuzVAgAABAgQIECBAgAABAgQIECBAgAABAgQGEBC4D4CoCQIECBAgQIAAAQIECBAgQIAAAQIECBAgIHC3BggQIECAAAECBAgQIECAAAECBAgQIECAwAACAvcBEDVBgAABAgQIECBAgAABAgQIECBAgAABAgQE7tYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYQEDgPgCiJggQIECAAAECBAgQIECAAAECBAgQIECAgMDdGiBAgAABAgQIECBAgAABAgQIECBAgAABAgMICNwHQNQEAQIECBAgQIAAAQIECBAgQIAAAQIECBAQuFsDBAgQIECAAAECBAgQIECAAAECBAgQIEBgAAGB+wCImiBAgAABAgQIECBAgAABAgQIECBAgAABAgJ3a4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAwgIHAfAFETBAgQIECAAAECBAgQIECAAAECBAgQIEBA4G4NECBAgAABAgQIECBAgAABAgQIECBAgACBAQQE7gMgaoIAAQIECBAgQIAAAQIECBAgQIAAAQIECAjcrQECBAgQIECAAAECBAgQIECAAAECBAgQIDCAgMB9AERNECBAgAABAgQIECBAgAABAgQIECBAgAABgbs1QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBhAQuA+AqAkCBAgQIECAAAECBAgQIECAAAECBAgQICBwtwYIECBAgAABAgQIECBAgAABAgQIECBAgMAAAgL3ARA1QYAAAQIECBAgQIAAAQIECBAgQIAAAQIEBO7WAAECBAgQIECAAAECBAgQIECAAAECBAgQGEBA4D4AoiYIECBAgAABAgQIECBAgAABAgQIECBAgIDA3RogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIDCAjcB0DUBAECBAgQIECAAAECBAgQIECAAAECBAgQELhbAwQIECBAgAABAgQIECBAgAABAgQIECBAYAABgfsAiJogQIAAAQIECBAgQIAAAQIECBAgQIAAAQICd2uAAAECBAgQIECAAAECBAgQIECAAAECBAgMICBwHwBREwQIECBAgAABAgQIECBAgAABAgQIECBAQOBuDRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgQEEBO4DIGqCAAECBAgQIECAAAECBAgQIECAAAECBAgI3K0BAgQIECBAgAABAgQIECBAgAABAgQIECAwgIDAfQBETRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7NUCAAAECBAgQIECAAAECBAgQIECAAAECBAYQELgPgKgJAgQIECBAgAABAgQIECBAgAABAgQIECAgcLcGCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAAAIC9wEQNUGAAAECBAgQIECAAAECBAgQIECAAAECBATu1gABAgQIECBAgAABAgQIECBAgAABAgQIEBhAQOA+AKImCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN0aIECAAAECBAgQIECAAAECBAgQIECAAAECAwgI3AdA1AQBAgQIECBAgAABAgQIECBAgAABAgQIEBC4WwMECBAgQIAAAQIECBAgQIAAAQIECBAgQGAAAYH7AIiaIECAAAECBAgQIECAAAECBAgQIECAAAECAndrgAABAgQIECBAgAABAgQIECBAgAABAgQIDCAgcB8AURMECBAgQIAAAQIECBAgQIAAAQIECBAgQEDgbg0QIECAAAECBAgQIECAAAECBAgQIECAAIEBBATuAyBqggABAgQIECBAgAABAgQIECBAgAABAgQICNytAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMICAwH0ARE0QIECAAAECBAgQIECAAAECBAgQIECAAAGBuzVAgAABAgQIECBAgAABAgQIECBAgAABAgQGEBC4D4CoCQIECBAgQIAAAQIECBAgQIAAAQIECBAgIHC3BggQIECAAAECBAgQIECAAAECBAgQIECAwAACAvcBEDVBgAABAgQIECBAgAABAgQIECBAgAABAgQE7tYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYQEDgPgCiJggQIECAAAECBAgQIECAAAECBAgQIECAgMDdGiBAgAABAgQIECBAgAABAgQIECBAgAABAgMICNwHQNQEAQIECBAgQIAAAQIECBAgQIAAAQIECBAQuFsDBAgQIECAAAECBAgQIECAAAECBAgQIEBgAAGB+wCImiBAgAABAgQIECBAgAABAgQIECBAgAABAgJ3a4AAAQIECBAgQIAAAQIECBAgQIAAAQIECAwgIHAfAFETBAgQIECAAAECBAgQIECAAAECBAgQIEBA4G4NECBAgAABAgQIECBAgAABAgQIECBAgACBAQQE7gMgaoIAAQIECBAgQIAAAQIECBAgQIAAAQIECAjcrQECBAgQIECAAAECBAgQIECAAAECBAgQIDCAgMB9AERNECBAgAABAgQIECBAgAABAgQIECBAgAABgbs1QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBhAQuA+AqAkCBAgQIECAAAECBAgQIECAAAECBAgQICBwtwYIECBAgAABAgQIECBAgAABAgQIECBAgMAAAgL3ARA1QYAAAQIECBAgQIAAAQIECBAgQIAAAQIEBO7WAAECBAgQIECAAAECBAgQIECAAAECBAgQGEBA4D4AoiYIECBAgAABAgQIECBAgAABAgQIECBAgIDA3RogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIDCAjcB0DUBAECBAgQIECAAAECBAgQIECAAAECBAgQELhbAwQIECBAgAABAgQIECBAgAABAgQIECBAYAABgfsAiJogQIAAAQIECBAgQIAAAQIECBAgQIAAAQICd2uAAAECBAgQIECAAAECBAgQIECAAAECBAgMICBwHwBREwQIECBAgAABAgQIECBAgAABAgQIECBAQOBuDRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgQEEBO4DIGqCAAECBAgQIECAAAECBAgQIECAAAECBAgI3K0BAgQIECBAgAABAgQIECBAgAABAgQIECAwgIDAfQBETRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7NUCAAAECBAgQIECAAAECBAgQIECAAAECBAYQELgPgKgJAgQIECBAgAABAgQIECBAgAABAgQIECAgcLcGCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAAAIC9wEQNUGAAAECBAgQIECAAAECBAgQIECAAAECBATu1gABAgQIECBAgAABAgQIECBAgAABAgQIEBhAQOA+AKImCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN0aIECAAAECBAgQIECAAAECBAgQIECAAAECAwgI3AdA1AQBAgQIECBAgAABAgQIECBAgAABAgQIEBC4WwMECBAgQIAAAQIECBAgQIBAF4HflZt+6XKjewgQIECAwFoFBO5rnVnjIkCAAAECBAgQIECAAAEC4wh8WZo9lrIr5VLKn0v5cZxHaZUAAQIECCxLQOC+rPnSWwIECBAgQIAAAQIECBAg8CyBBOzflrK/60B2uf9bKXa7P2tmPJcAAQIEZiMgcJ/NVOgIAQIECBAgQIAAAQIECBCYpUCOjnlXyvGN3v2lfO80y97rFAECBAgQmFBA4D4htkcRIECAAAECBAgQIECAAIGFCXxR+vuhlN2Dfr8v3z8ubGy6S4AAAQIEBhcQuA9OqkECBAgQIECAAAECBAgQILB4gQTsCdoTuD+6fi0VPivl8qii7xMgQIAAgbULCNzXPsPGR4AAAQIECBAgQIAAAQIE6gVqjo+5be2n8h+HUrw0td5YTQIECBBYsYDAfcWTa2gECBAgQIAAAQIECBAgQKCFwJel7rGUXcU92dWeuh8r6qpCgAABAgQ2IyBw38xUGygBAgQIECBAgAABAgQIEHhRYF+++m1l0J4GPpXyVSkXngQIECBAgMA/CwjcrQgCBAgQIECAAAECBAgQILBNgQTtX5eSjzXXz6XSoZRzTWV1CBAgQIDAFgUE7lucdWMmQIAAAQIECBAgQIAAgS0L7MrgE7QnPK+93peKx9rK6hEg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QIAAgf8VELhbDQQIECBwL5Cd7fs3wvZ8zxEy1g0BAgQIECBAgAABAgQIECBA4E5A4G5JECBAgMCtwLH8x9fCdouCAAECBAgQIECAAAECBAgQINBeQODe3swdBAgQWKvAvgwsu9tfu/5cvvH9WgdvXAQIECBAgAABAgQIECBAgACBvgIC976C7idAgMA6BHJu+3+W8tpLUt+X7x3XMVSjIECAAAECBAgQIECAAAECBAiMIyBwH8dVqwQIEFiawF9Lh794pdM/lK/vlzYg/SVAgAABAgQIECBAgAABAgQITC0gcJ9a3PMIECAwP4GvSpc+vNKtX8vXd6X8Mr9u6xEBAgQIECBAgAABAgQIECBAYF4CAvd5zYfeECBAYGqBz8oD//7GQ/9UvneeulOeR4AAAQIECBAgQIAAAQIECBBYooDAfYmzps8ECBAYTiAvQf38leac2z6cs5YIECBAgAABAgQIECBAgACBDQgI3DcwyYZIgACBNwReC9x/Kvdk97uLAAECBAgQIECAAAECBAgQIECgUkDgXgmlGgECBFYqkBel5oWpt5dz21c62YZFgAABAgQIECBAgAABAgQIjCsgcB/XV+sECBBYgkBC94+l/L6Un0vJf/+4hI7rIwECBAgQIECAAAECBAgQIEBgTgIC9znNhr4QIEDguQK78vjLc7vg6QQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgAABAgQIECBAgAABAgQIECBAgAABAjMSELjPaDJ0hQABAgQIECBAgAABAgQIECBAgAABAgSWKyBwX+7c6TkBAgQIECBAgAABAgQIECBAgAABAgQIzEhA4D6jydAVAgQIECBAgAABAgQIECBAgAABAgQIEFiugMB9uXOn5wQIECBAgAABAgQIECBAgAABAgQIECAwIwGB+4wmQ1cIECBAgAABAgQIECBAgAABAgQIECBAYLkCAvflzp2eEyBAgAABAgQIECBAgAABAgQIECBAgMCMBATuM5oMXSFAgAABAgQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgAABAgQIECBAgAABAgQIECBAgAABAjMSELjPaDJ0hQABAgQIECBAgAABAgQIECBAgAABAgSWKyBwX+7c6TkBAgQIECBAgAABAgQIECBAgAABAgQIzEhA4D6jydAVAgQIECBAgAABAgQIECBAgAABAgQIEFiugMB9uXOn5wQIECBAgAABAgQIECBAgAABAgQIECAwIwGB+4wmQ1cIECBAgAABAgQIECBAgAABAgQIECBAYLkCAvflzp2eEyBAgAABAgQIECBAgAABAgQIECBAgMCMBATuM5oMXSFAgAABAgQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgAABAgQIECBAgAABAgQIECBAgAABAjMSELjPaDJ0hQABAgQIECBAgAABAgQIECBAgAABAgSWKyBwX+7c6TkBAgQIECBAgAABAgQIECBAgAABAgQIzEhA4D6jydAVAgQIECBAgAABAgQIECBAgAABAgQIEFiugMB9uXOn5wQIECBAgAABAgQIECBAgAABAgQIECAwIwGB+4wmQ1cIECBAgAABAgQIECBAgAABAgQIECBAYLkCAvflzp2eEyBAgAABAgQIECBAgAABAgSFIJPXAAAHJ0lEQVQIECBAgMCMBATuM5oMXSFAgAABAgQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgAABAgQIECBAgAABAgQIECBAgAABAjMSELjPaDJ0hQABAgQIECBAgAABAgQIECBAgAABAgSWKyBwX+7c6TkBAgQIECBAgAABAgQIECBAgAABAgQIzEhA4D6jydAVAgQIECBAgAABAgQIECBAgAABAgQIEFiugMB9uXOn5wQIECBAgAABAgQIECBAgAABAgQIECAwIwGB+4wmQ1cIECBAgAABAgQIECBAgAABAgQIECBAYLkCAvflzp2eEyBAgAABAgQIECBAgAABAgQIECBAgMCMBATuM5oMXSFAgAABAgQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgAABAgQIECBAgAABAgQIECBAgAABAjMSELjPaDJ0hQABAgQIECBAgAABAgQIECBAgAABAgSWKyBwX+7c6TkBAgQIECBAgAABAgQIECBAgAABAgQIzEhA4D6jydAVAgQIECBAgAABAgQIECBAgAABAgQIEFiugMB9uXOn5wQIECBAgAABAgQIECBAgAABAgQIECAwIwGB+4wmQ1cIECBAgAABAgQIECBAgAABAgQIECBAYLkCAvflzp2eEyBAgAABAgQIECBAgAABAgQIECBAgMCMBATuM5oMXSFAgAABAgQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgAABAgQIECBAgAABAgQIECBAgAABAjMSELjPaDJ0hQABAgQIECBAgAABAgQIECBAgAABAgSWKyBwX+7c6TkBAgQIECBAgAABAgQIECBAgAABAgQIzEhA4D6jydAVAgQIECBAgAABAgQIECBAgAABAgQIEFiugMB9uXOn5wQIECBAgAABAgQIECBAgAABAgQIECAwIwGB+4wmQ1cIECBAgAABAgQIECBAgAABAgQIECBAYLkCAvflzp2eEyBAgAABAgQIECBAgAABAgQIECBAgMCMBATuM5oMXSFAgAABAgQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgAABAgQIECBAgAABAgQIECBAgAABAjMSELjPaDJ0hQABAgQIECBAgAABAgQIECBAgAABAgSWKyBwX+7c6TkBAgQIECBAgAABAgQIECBAgAABAgQIzEhA4D6jydAVAgQIECBAgAABAgQIECBAgAABAgQIEFiugMB9uXOn5wQIECBAgAABAgQIECBAgAABAgQIECAwIwGB+4wmQ1cIECBAgAABAgQIECBAgAABAgQIECBAYLkCAvflzp2eEyBAgAABAgQIECBAgAABAgQIECBAgMCMBATuM5oMXSFAgAABAgQIECBAgAABAgQIECBAgACB5QoI3Jc7d3pOgMD/b8eOaQAAABCG+XeNjZHUASnfCBAgQIAAAQIECBAgQIAAAQIECBAICQjuoTNMIUCAAAECBAgQIECAAAECBAgQIECAAIFfAcH99zvLCRAgQIAAAQIECBAgQIAAAQIECBAgQCAkILiHzjCFAAECBAgQIECAAAECBAgQIECAAAECBH4FBPff7ywnQIAAAQIECBAgQIAAAQIECBAgQIAAgZCA4B46wxQCBAgQIECAAAECBAgQIECAAAECBAgQ+BUQ3H+/s5wAAQIECBAgQIAAAQIECBAgQIAAAQIEQgKCe+gMUwgQIECAAAECBAgQIECAAAECBAgQIEDgV0Bw//3OcgIECBAgQIAAAQIECBAgQIAAAQIECBAICQjuoTNMIUCAAAECBAgQIECAAAECBAgQIECAAIFfAcH99zvLCRAgQIAAAQIECBAgQIAAAQIECBAgQCAkILiHzjCFAAECBAgQIECAAAECBAgQIECAAAECBH4FBPff7ywnQIAAAQIECBAgQIAAAQIECBAgQIAAgZCA4B46wxQCBAgQIECAAAECBAgQIECAAAECBAgQ+BUQ3H+/s5wAAQIECBAgQIAAAQIECBAgQIAAAQIEQgKCe+gMUwgQIECAAAECBAgQIECAAAECBAgQIEDgV0Bw//3OcgIECBAgQIAAAQIECBAgQIAAAQIECBAICQjuoTNMIUCAAAECBAgQIECAAAECBAgQIECAAIFfAcH99zvLCRAgQIAAAQIECBAgQIAAAQIECBAgQCAkILiHzjCFAAECBAgQIECAAAECBAgQIECAAAECBH4FBPff7ywnQIAAAQIECBAgQIAAAQIECBAgQIAAgZCA4B46wxQCBAgQIECAAAECBAgQIECAAAECBAgQ+BUQ3H+/s5wAAQIECBAgQIAAAQIECBAgQIAAAQIEQgKCe+gMUwgQIECAAAECBAgQIECAAAECBAgQIEDgV0Bw//3OcgIECBAgQIAAAQIECBAgQIAAAQIECBAICQjuoTNMIUCAAAECBAgQIECAAAECBAgQIECAAIFfgQGMc9WA31rv6AAAAABJRU5ErkJggg==';
|
|
2
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import { Label } from '@progress/kendo-react-labels';
|
|
4
|
+
import { DropDownList, DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
|
|
5
|
+
|
|
6
|
+
interface StyleConfiguratorProps {
|
|
7
|
+
size?: 'small' | 'medium' | 'large';
|
|
8
|
+
sizes?: Array<'small' | 'medium' | 'large'>;
|
|
9
|
+
onSizeChange?: (size: 'small' | 'medium' | 'large') => void;
|
|
10
|
+
|
|
11
|
+
fillMode?: 'solid' | 'outline' | 'flat';
|
|
12
|
+
fillModes?: Array<'solid' | 'outline' | 'flat'>;
|
|
13
|
+
onFillModeChange?: (fillMode: 'solid' | 'outline' | 'flat') => void;
|
|
14
|
+
|
|
15
|
+
rounded?: 'small' | 'medium' | 'large' | 'full';
|
|
16
|
+
roundedOptions?: Array<'small' | 'medium' | 'large' | 'full'>;
|
|
17
|
+
onRoundedChange?: (rounded: 'small' | 'medium' | 'large' | 'full') => void;
|
|
18
|
+
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const StyleConfigurator = (props: StyleConfiguratorProps) => {
|
|
23
|
+
const {
|
|
24
|
+
sizes,
|
|
25
|
+
onSizeChange,
|
|
26
|
+
|
|
27
|
+
fillModes,
|
|
28
|
+
onFillModeChange,
|
|
29
|
+
|
|
30
|
+
roundedOptions,
|
|
31
|
+
onRoundedChange
|
|
32
|
+
} = { ...StyleConfigurator.defaultProps, ...props };
|
|
33
|
+
|
|
34
|
+
const handleSizeChange = (event: DropDownListChangeEvent) => {
|
|
35
|
+
onSizeChange(event.value);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const handleFillModeChange = (event: DropDownListChangeEvent) => {
|
|
39
|
+
onFillModeChange(event.value);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const handleRoundedChange = (event: DropDownListChangeEvent) => {
|
|
43
|
+
onRoundedChange(event.value);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<div
|
|
48
|
+
style={{margin: '-30px -30px 30px -30px'}}
|
|
49
|
+
>
|
|
50
|
+
<div style={{display: 'flex', justifyContent: 'center'}}>
|
|
51
|
+
<span className="k-color-primary" style={{textTransform: 'uppercase', padding: '4px 0'}}>Configurator</span>
|
|
52
|
+
</div>
|
|
53
|
+
<div className="example-config" style={{display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap'}}>
|
|
54
|
+
{props.children}
|
|
55
|
+
<span className="k-form-field" style={{ flex: '1 1 0px'}}>
|
|
56
|
+
<Label>
|
|
57
|
+
Size
|
|
58
|
+
<div className="k-form-field-wrap">
|
|
59
|
+
<DropDownList data={sizes} value={props.size} onChange={handleSizeChange} style={{minWidth: 120}}/>
|
|
60
|
+
</div>
|
|
61
|
+
</Label>
|
|
62
|
+
</span>
|
|
63
|
+
<span className="k-form-field" style={{ flex: '1 1 0px'}}>
|
|
64
|
+
<Label>
|
|
65
|
+
Fill Mode
|
|
66
|
+
<div className="k-form-field-wrap">
|
|
67
|
+
<DropDownList data={fillModes} value={props.fillMode} onChange={handleFillModeChange} style={{minWidth: 120}}/>
|
|
68
|
+
</div>
|
|
69
|
+
</Label>
|
|
70
|
+
</span>
|
|
71
|
+
<span className="k-form-field" style={{ flex: '1 1 0px'}}>
|
|
72
|
+
<Label>
|
|
73
|
+
Border Radius
|
|
74
|
+
<div className="k-form-field-wrap">
|
|
75
|
+
<DropDownList data={roundedOptions} value={props.rounded} onChange={handleRoundedChange} style={{minWidth: 120}}/>
|
|
76
|
+
</div>
|
|
77
|
+
</Label>
|
|
78
|
+
</span>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
StyleConfigurator.defaultProps = {
|
|
85
|
+
sizes: ['small', 'medium', 'large'],
|
|
86
|
+
onSizeChange: () => {/* noop */ },
|
|
87
|
+
|
|
88
|
+
fillModes: ['solid', 'outline', 'flat'],
|
|
89
|
+
onFillModeChange: () => {/* noop */ },
|
|
90
|
+
|
|
91
|
+
roundedOptions: ['small', 'medium', 'large', 'full'],
|
|
92
|
+
onRoundedChange: () => {/* noop */ }
|
|
93
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import { Label } from '@progress/kendo-react-labels';
|
|
4
|
+
import { DropDownList, DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
interface SwitchStyleConfiguratorProps {
|
|
8
|
+
size?: 'small' | 'medium' | 'large';
|
|
9
|
+
sizeOptions?: Array<'small' | 'medium' | 'large'>;
|
|
10
|
+
onSizeChange?: (size: 'small' | 'medium' | 'large') => void;
|
|
11
|
+
|
|
12
|
+
trackRounded?: 'small'| 'medium' | 'large'| 'full';
|
|
13
|
+
trackRoundedOptions?: Array<'small' | 'medium' | 'large' | 'full'>;
|
|
14
|
+
onTrackRoundedChange?: (trackRounded: 'small' | 'medium' | 'large' | 'full') => void;
|
|
15
|
+
|
|
16
|
+
thumbRounded?: 'small' | 'medium' | 'large'| 'full';
|
|
17
|
+
thumbRoundedOptions?: Array<'small' | 'medium' | 'large'| 'full'>;
|
|
18
|
+
onThumbRoundedChange?: (thumbRounded: 'small' | 'medium' | 'large'| 'full') => void;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const SwitchStyleConfigurator = (props: SwitchStyleConfiguratorProps) => {
|
|
22
|
+
const {
|
|
23
|
+
sizeOptions,
|
|
24
|
+
onSizeChange,
|
|
25
|
+
|
|
26
|
+
trackRoundedOptions,
|
|
27
|
+
onTrackRoundedChange,
|
|
28
|
+
|
|
29
|
+
thumbRoundedOptions,
|
|
30
|
+
onThumbRoundedChange
|
|
31
|
+
} = { ...SwitchStyleConfigurator.defaultProps, ...props };
|
|
32
|
+
|
|
33
|
+
const handleSizeChange = (event: DropDownListChangeEvent) => {
|
|
34
|
+
onSizeChange(event.value);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const handleFillModeChange = (event: DropDownListChangeEvent) => {
|
|
38
|
+
onTrackRoundedChange(event.value);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const handleRoundedChange = (event: DropDownListChangeEvent) => {
|
|
42
|
+
onThumbRoundedChange(event.value);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<div
|
|
47
|
+
style={{margin: '-30px -30px 30px -30px'}}
|
|
48
|
+
>
|
|
49
|
+
<div style={{display: 'flex', justifyContent: 'center'}}>
|
|
50
|
+
<span className="k-color-primary" style={{textTransform: 'uppercase', padding: '4px 0'}}>Configurator</span>
|
|
51
|
+
</div>
|
|
52
|
+
<div className="example-config" style={{display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap'}}>
|
|
53
|
+
<span className="k-form-field" style={{ flex: "1 1 0px"}}>
|
|
54
|
+
<Label>
|
|
55
|
+
Size
|
|
56
|
+
<div className="k-form-field-wrap">
|
|
57
|
+
<DropDownList data={sizeOptions} value={props.size} onChange={handleSizeChange} style={{minWidth: 120}}/>
|
|
58
|
+
</div>
|
|
59
|
+
</Label>
|
|
60
|
+
</span>
|
|
61
|
+
<span className="k-form-field" style={{ flex: "1 1 0px"}}>
|
|
62
|
+
<Label>
|
|
63
|
+
Track Rounded Mode
|
|
64
|
+
<div className="k-form-field-wrap">
|
|
65
|
+
<DropDownList data={trackRoundedOptions} value={props.trackRounded} onChange={handleFillModeChange} style={{minWidth: 120}}/>
|
|
66
|
+
</div>
|
|
67
|
+
</Label>
|
|
68
|
+
</span>
|
|
69
|
+
<span className="k-form-field" style={{ flex: "1 1 0px"}}>
|
|
70
|
+
<Label>
|
|
71
|
+
Thumb Rounded Radius
|
|
72
|
+
<div className="k-form-field-wrap">
|
|
73
|
+
<DropDownList data={thumbRoundedOptions} value={props.thumbRounded} onChange={handleRoundedChange} style={{minWidth: 120}}/>
|
|
74
|
+
</div>
|
|
75
|
+
</Label>
|
|
76
|
+
</span>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
SwitchStyleConfigurator.defaultProps = {
|
|
83
|
+
sizeOptions: ['small', 'medium', 'large'],
|
|
84
|
+
onSizeChange: () => {/* noop */ },
|
|
85
|
+
|
|
86
|
+
trackRoundedOptions: ['small', 'medium', 'large', 'full'],
|
|
87
|
+
onTrackRoundedChange: () => {/* noop */ },
|
|
88
|
+
|
|
89
|
+
thumbRoundedOptions: ['small', 'medium', 'large', 'full'],
|
|
90
|
+
onThumbRoundedChange: () => {/* noop */ }
|
|
91
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { DropDownList, DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
|
|
4
|
+
import { Label } from '@progress/kendo-react-labels';
|
|
5
|
+
import { ColorPicker, ColorPickerChangeEvent, Signature } from '@progress/kendo-react-inputs';
|
|
6
|
+
import { StyleConfigurator } from './style-configurator';
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
const App = () => {
|
|
10
|
+
const [color, setColor] = React.useState('#000');
|
|
11
|
+
const [backgroundColor, setBackgroundColor] = React.useState('#fff');
|
|
12
|
+
const [strokeWidth, setStrokeWidth] = React.useState(1);
|
|
13
|
+
const [size, setSize] = React.useState<'small' | 'medium' | 'large'>('medium');
|
|
14
|
+
const [fillMode, setFillMode] = React.useState<'solid' | 'outline' | 'flat'>('solid');
|
|
15
|
+
const [rounded, setRounded] = React.useState<'small' | 'medium' | 'large' | 'full'>('medium');
|
|
16
|
+
|
|
17
|
+
const strokeWidthOptions = [1, 2, 3];
|
|
18
|
+
|
|
19
|
+
const onColorChange = (e: ColorPickerChangeEvent) => {
|
|
20
|
+
setColor(e.value);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const onStrokeWidthChange = (e: DropDownListChangeEvent) => {
|
|
24
|
+
setStrokeWidth(e.value);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const onBackgroundColorChange = (e: ColorPickerChangeEvent) => {
|
|
28
|
+
setBackgroundColor(e.value);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<div>
|
|
33
|
+
<StyleConfigurator
|
|
34
|
+
size={size}
|
|
35
|
+
onSizeChange={setSize}
|
|
36
|
+
|
|
37
|
+
fillMode={fillMode}
|
|
38
|
+
onFillModeChange={setFillMode}
|
|
39
|
+
|
|
40
|
+
rounded={rounded}
|
|
41
|
+
onRoundedChange={setRounded}
|
|
42
|
+
>
|
|
43
|
+
<span className="k-form-field" style={{ flex: '1 1 0px'}}>
|
|
44
|
+
<Label>
|
|
45
|
+
Color
|
|
46
|
+
<div className="k-form-field-wrap">
|
|
47
|
+
<ColorPicker value={color} onChange={onColorChange}/>
|
|
48
|
+
</div>
|
|
49
|
+
</Label>
|
|
50
|
+
</span>
|
|
51
|
+
<span className="k-form-field" style={{ flex: '1 1 0px'}}>
|
|
52
|
+
<Label>
|
|
53
|
+
Background Color
|
|
54
|
+
<div className="k-form-field-wrap">
|
|
55
|
+
<ColorPicker value={backgroundColor} onChange={onBackgroundColorChange}/>
|
|
56
|
+
</div>
|
|
57
|
+
</Label>
|
|
58
|
+
</span>
|
|
59
|
+
<span className="k-form-field" style={{ flex: '1 1 0px'}}>
|
|
60
|
+
<Label>
|
|
61
|
+
Stroke Width
|
|
62
|
+
<div className="k-form-field-wrap">
|
|
63
|
+
<DropDownList
|
|
64
|
+
data={strokeWidthOptions}
|
|
65
|
+
value={strokeWidth}
|
|
66
|
+
onChange={onStrokeWidthChange}
|
|
67
|
+
style={{minWidth: 120}}
|
|
68
|
+
/>
|
|
69
|
+
</div>
|
|
70
|
+
</Label>
|
|
71
|
+
</span>
|
|
72
|
+
</StyleConfigurator>
|
|
73
|
+
|
|
74
|
+
<div style={{ display: 'flex', justifyContent: 'center' }}>
|
|
75
|
+
<Signature
|
|
76
|
+
color={color}
|
|
77
|
+
backgroundColor={backgroundColor}
|
|
78
|
+
strokeWidth={strokeWidth}
|
|
79
|
+
smooth={true}
|
|
80
|
+
/>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
ReactDOM.render(
|
|
87
|
+
<App />,
|
|
88
|
+
document.querySelector('my-app')
|
|
89
|
+
);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { Signature } from '@progress/kendo-react-inputs';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
const App = () => (
|
|
7
|
+
<Signature
|
|
8
|
+
color="rgb(37, 37, 96)"
|
|
9
|
+
backgroundColor="salmon"
|
|
10
|
+
maximizable={false}
|
|
11
|
+
/>
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
ReactDOM.render(
|
|
15
|
+
<App />,
|
|
16
|
+
document.querySelector('my-app')
|
|
17
|
+
);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { Signature } from '@progress/kendo-react-inputs';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
const App = () => (
|
|
7
|
+
<Signature
|
|
8
|
+
strokeWidth={1.5}
|
|
9
|
+
maximizable={false}
|
|
10
|
+
/>
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
ReactDOM.render(
|
|
14
|
+
<App />,
|
|
15
|
+
document.querySelector('my-app')
|
|
16
|
+
);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { Signature, SignatureChangeEvent } from '@progress/kendo-react-inputs';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
const App = () => {
|
|
7
|
+
const [value, setValue] = React.useState<string>();
|
|
8
|
+
|
|
9
|
+
const handleOnChange = (event: SignatureChangeEvent) => setValue(event.value);
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<>
|
|
13
|
+
<Signature
|
|
14
|
+
value={value}
|
|
15
|
+
onChange={handleOnChange}
|
|
16
|
+
smooth={true}
|
|
17
|
+
exportScale={3}
|
|
18
|
+
/>
|
|
19
|
+
|
|
20
|
+
<div style={{ marginTop: '1em' }}>
|
|
21
|
+
<img
|
|
22
|
+
alt="Exported image"
|
|
23
|
+
src={value}
|
|
24
|
+
style={{ border: '1px solid #aaa', padding: '10px' }}
|
|
25
|
+
/>
|
|
26
|
+
</div>
|
|
27
|
+
</>
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
ReactDOM.render(
|
|
32
|
+
<App />,
|
|
33
|
+
document.querySelector('my-app')
|
|
34
|
+
);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { Button } from '@progress/kendo-react-buttons';
|
|
4
|
+
import { Signature } from '@progress/kendo-react-inputs';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const App = () => {
|
|
8
|
+
const [open, setOpen] = React.useState<boolean>(false);
|
|
9
|
+
|
|
10
|
+
const toggleOpen = () => setOpen(!open);
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div className="row">
|
|
14
|
+
<div className="col-xs-12 col-md-6 example-col">
|
|
15
|
+
<p>Controlled Signature</p>
|
|
16
|
+
<p>
|
|
17
|
+
<Button onClick={toggleOpen} themeColor='primary'>Open</Button>
|
|
18
|
+
</p>
|
|
19
|
+
<Signature open={open} onOpen={toggleOpen} onClose={toggleOpen} />
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
ReactDOM.render(
|
|
26
|
+
<App />,
|
|
27
|
+
document.querySelector('my-app')
|
|
28
|
+
);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { Signature, SignatureChangeEvent } from '@progress/kendo-react-inputs';
|
|
4
|
+
import { sampleSignature } from './sample-signature';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const App = () => {
|
|
8
|
+
const [value, setValue] = React.useState(sampleSignature);
|
|
9
|
+
|
|
10
|
+
const handleOnChange = (event: SignatureChangeEvent) => setValue(event.value);
|
|
11
|
+
|
|
12
|
+
return <Signature value={value} onChange={handleOnChange} />;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
ReactDOM.render(
|
|
17
|
+
<App />,
|
|
18
|
+
document.querySelector('my-app')
|
|
19
|
+
);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { Signature } from '@progress/kendo-react-inputs';
|
|
4
|
+
import { sampleSignature } from './sample-signature';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const App = () => {
|
|
8
|
+
const [value] = React.useState(sampleSignature);
|
|
9
|
+
|
|
10
|
+
return <Signature value={value} disabled={true} />;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
ReactDOM.render(
|
|
15
|
+
<App />,
|
|
16
|
+
document.querySelector('my-app')
|
|
17
|
+
);
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDOM from 'react-dom';
|
|
3
|
+
import { Signature, SignatureChangeEvent } from '@progress/kendo-react-inputs';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
const App = () => {
|
|
7
|
+
const [value, setValue] = React.useState<string>();
|
|
8
|
+
const [events, setEvents] = React.useState<string[]>([]);
|
|
9
|
+
const logElement = React.useRef<HTMLUListElement>(null);
|
|
10
|
+
|
|
11
|
+
React.useEffect(()=>{
|
|
12
|
+
if(logElement.current){
|
|
13
|
+
logElement.current.scrollTop = logElement.current.scrollHeight;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const log = (message: string) => {
|
|
18
|
+
setEvents(data => [...data, message]);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const onChange = (e: SignatureChangeEvent) => {
|
|
22
|
+
console.log('.');
|
|
23
|
+
setValue(e.value);
|
|
24
|
+
log(e.value ? 'Change' : 'Change (cleared)');
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const onFocus = () => {
|
|
28
|
+
log('Focus');
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const onBlur = () => {
|
|
32
|
+
log('Blur');
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const onOpen = () => {
|
|
36
|
+
log('Open');
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const onClose = () => {
|
|
40
|
+
log('Close');
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<>
|
|
45
|
+
<Signature
|
|
46
|
+
value={value}
|
|
47
|
+
onChange={onChange}
|
|
48
|
+
onFocus={onFocus}
|
|
49
|
+
onBlur={onBlur}
|
|
50
|
+
onOpen={onOpen}
|
|
51
|
+
onClose={onClose}
|
|
52
|
+
/>
|
|
53
|
+
<div className={'example-config'} style={{ marginTop: 20 }}>
|
|
54
|
+
<p>Event log:</p>
|
|
55
|
+
<ul className={'event-log'} ref={logElement}>
|
|
56
|
+
{events.map((event, idx) => <li key={idx}>{event}</li>)}
|
|
57
|
+
</ul>
|
|
58
|
+
</div>
|
|
59
|
+
</>
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
ReactDOM.render(
|
|
64
|
+
<App />,
|
|
65
|
+
document.querySelector('my-app')
|
|
66
|
+
);
|