@progress/kendo-react-inputs 13.3.0-develop.9 → 13.4.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/checkbox/Checkbox.d.ts +49 -0
  2. package/checkbox/Checkbox.js +1 -1
  3. package/checkbox/Checkbox.mjs +35 -36
  4. package/checkbox/interfaces/CheckboxBlurEvent.d.ts +14 -0
  5. package/checkbox/interfaces/CheckboxChangeEvent.d.ts +18 -0
  6. package/checkbox/interfaces/CheckboxFocusEvent.d.ts +14 -0
  7. package/checkbox/interfaces/CheckboxProps.d.ts +148 -0
  8. package/colors/ColorContrastLabels.d.ts +22 -0
  9. package/colors/ColorContrastSvg.d.ts +25 -0
  10. package/colors/ColorGradient.d.ts +215 -0
  11. package/colors/ColorGradient.js +1 -1
  12. package/colors/ColorGradient.mjs +20 -19
  13. package/colors/ColorInput.d.ts +40 -0
  14. package/colors/ColorInput.js +1 -1
  15. package/colors/ColorInput.mjs +20 -16
  16. package/colors/ColorPalette.d.ts +129 -0
  17. package/colors/ColorPalette.js +1 -1
  18. package/colors/ColorPalette.mjs +7 -7
  19. package/colors/ColorPicker.d.ts +34 -0
  20. package/colors/ColorPicker.js +1 -1
  21. package/colors/ColorPicker.mjs +96 -94
  22. package/colors/FlatColorPicker.d.ts +189 -0
  23. package/colors/FlatColorPicker.js +1 -1
  24. package/colors/FlatColorPicker.mjs +41 -40
  25. package/colors/HexInput.d.ts +39 -0
  26. package/colors/HexInput.js +1 -1
  27. package/colors/HexInput.mjs +2 -1
  28. package/colors/Picker.d.ts +13 -0
  29. package/colors/interfaces/ColorGradientChangeEvent.d.ts +18 -0
  30. package/colors/interfaces/ColorGradientProps.d.ts +160 -0
  31. package/colors/interfaces/ColorPaletteChangeEvent.d.ts +22 -0
  32. package/colors/interfaces/ColorPaletteProps.d.ts +116 -0
  33. package/colors/interfaces/ColorPickerActiveColorClick.d.ts +29 -0
  34. package/colors/interfaces/ColorPickerBlurEvent.d.ts +20 -0
  35. package/colors/interfaces/ColorPickerChangeEvent.d.ts +29 -0
  36. package/colors/interfaces/ColorPickerFocusEvent.d.ts +20 -0
  37. package/colors/interfaces/ColorPickerGradientSettings.d.ts +29 -0
  38. package/colors/interfaces/ColorPickerPaletteSettings.d.ts +39 -0
  39. package/colors/interfaces/ColorPickerPopupSettings.d.ts +21 -0
  40. package/colors/interfaces/ColorPickerProps.d.ts +242 -0
  41. package/colors/interfaces/ColorPickerView.d.ts +17 -0
  42. package/colors/interfaces/PickerPopupSettings.d.ts +29 -0
  43. package/colors/interfaces/PickerProps.d.ts +57 -0
  44. package/colors/models/hsva.d.ts +16 -0
  45. package/colors/models/output-format.d.ts +11 -0
  46. package/colors/models/palette-presets.d.ts +60 -0
  47. package/colors/models/rgb.d.ts +15 -0
  48. package/colors/models/rgba.d.ts +16 -0
  49. package/colors/models/table-cell.d.ts +14 -0
  50. package/colors/models/tile-size.d.ts +18 -0
  51. package/colors/utils/color-cache.d.ts +37 -0
  52. package/colors/utils/color-palette.service.d.ts +19 -0
  53. package/colors/utils/color-parser.d.ts +72 -0
  54. package/colors/utils/color-parser.js +1 -1
  55. package/colors/utils/color-parser.mjs +1 -1
  56. package/colors/utils/misc.d.ts +23 -0
  57. package/colors/utils/svg-calc.d.ts +69 -0
  58. package/common/AdaptiveMode.d.ts +21 -0
  59. package/common/SliderTooltip.d.ts +25 -0
  60. package/common/SwitchController.d.ts +38 -0
  61. package/common/SwitchModel.d.ts +14 -0
  62. package/dist/cdn/js/kendo-react-inputs.js +1 -1
  63. package/index.d.mts +72 -5128
  64. package/index.d.ts +72 -5128
  65. package/input/Input.d.ts +119 -0
  66. package/input/Input.js +1 -1
  67. package/input/Input.mjs +45 -43
  68. package/input/InputClearValue.d.ts +28 -0
  69. package/input/InputPrefix.d.ts +30 -0
  70. package/input/InputSeparator.d.ts +30 -0
  71. package/input/InputSuffix.d.ts +32 -0
  72. package/input/InputValidationIcon.d.ts +21 -0
  73. package/input/interfaces/InputChangeEvent.d.ts +18 -0
  74. package/interfaces/Direction.d.ts +8 -0
  75. package/interfaces/ToggleBaseProps.d.ts +24 -0
  76. package/maskedtextbox/MaskedTextBox.d.ts +224 -0
  77. package/maskedtextbox/MaskedTextBox.js +1 -1
  78. package/maskedtextbox/MaskedTextBox.mjs +80 -79
  79. package/maskedtextbox/MaskedTextBoxProps.d.ts +273 -0
  80. package/maskedtextbox/masking.service.d.ts +48 -0
  81. package/maskedtextbox/masking.service.mjs +9 -9
  82. package/maskedtextbox/parsing/combinators.d.ts +16 -0
  83. package/maskedtextbox/parsing/parsers.d.ts +54 -0
  84. package/maskedtextbox/parsing/result.d.ts +30 -0
  85. package/maskedtextbox/parsing/stream.d.ts +29 -0
  86. package/maskedtextbox/utils.d.ts +23 -0
  87. package/messages/index.d.ts +177 -0
  88. package/numerictextbox/NumericTextBox.d.ts +21 -0
  89. package/numerictextbox/NumericTextBox.js +1 -1
  90. package/numerictextbox/NumericTextBox.mjs +161 -161
  91. package/numerictextbox/interfaces/NumericTextBoxBlurEvent.d.ts +14 -0
  92. package/numerictextbox/interfaces/NumericTextBoxChangeEvent.d.ts +18 -0
  93. package/numerictextbox/interfaces/NumericTextBoxFocusEvent.d.ts +14 -0
  94. package/numerictextbox/interfaces/NumericTextBoxHandle.d.ts +46 -0
  95. package/numerictextbox/interfaces/NumericTextBoxProps.d.ts +212 -0
  96. package/numerictextbox/interfaces/NumericTextBoxState.d.ts +22 -0
  97. package/numerictextbox/utils/index.d.ts +126 -0
  98. package/package-metadata.d.ts +12 -0
  99. package/package-metadata.js +1 -1
  100. package/package-metadata.mjs +10 -16
  101. package/package.json +10 -10
  102. package/radiobutton/RadioButton.d.ts +36 -0
  103. package/radiobutton/RadioButton.js +1 -1
  104. package/radiobutton/RadioButton.mjs +8 -8
  105. package/radiobutton/RadioGroup.d.ts +36 -0
  106. package/radiobutton/interfaces/RadioButtonBlurEvent.d.ts +14 -0
  107. package/radiobutton/interfaces/RadioButtonChangeEvent.d.ts +18 -0
  108. package/radiobutton/interfaces/RadioButtonFocusEvent.d.ts +14 -0
  109. package/radiobutton/interfaces/RadioButtonProps.d.ts +107 -0
  110. package/radiobutton/interfaces/RadioGroupChangeEvent.d.ts +18 -0
  111. package/radiobutton/interfaces/RadioGroupFocusEvent.d.ts +14 -0
  112. package/radiobutton/interfaces/RadioGroupProps.d.ts +178 -0
  113. package/range-slider/RangeSlider.d.ts +152 -0
  114. package/range-slider/range-raducer.d.ts +46 -0
  115. package/rating/Rating.d.ts +302 -0
  116. package/rating/Rating.mjs +3 -3
  117. package/rating/RatingItem.d.ts +111 -0
  118. package/rating/models/index.d.ts +91 -0
  119. package/rating/rating-reducer.d.ts +39 -0
  120. package/rating/utils/index.d.ts +31 -0
  121. package/signature/Signature.d.ts +21 -0
  122. package/signature/Signature.js +1 -1
  123. package/signature/Signature.mjs +26 -23
  124. package/signature/interfaces/SignatureBlurEvent.d.ts +14 -0
  125. package/signature/interfaces/SignatureChangeEvent.d.ts +18 -0
  126. package/signature/interfaces/SignatureCloseEvent.d.ts +14 -0
  127. package/signature/interfaces/SignatureFocusEvent.d.ts +14 -0
  128. package/signature/interfaces/SignatureHandle.d.ts +49 -0
  129. package/signature/interfaces/SignatureOpenEvent.d.ts +14 -0
  130. package/signature/interfaces/SignatureProps.d.ts +324 -0
  131. package/signature/interfaces/index.d.ts +14 -0
  132. package/signature/utils/index.d.ts +11 -0
  133. package/slider/Slider.d.ts +288 -0
  134. package/slider/Slider.mjs +9 -9
  135. package/slider/SliderLabel.d.ts +51 -0
  136. package/switch/Switch.d.ts +397 -0
  137. package/switch/Switch.js +1 -1
  138. package/switch/Switch.mjs +29 -22
  139. package/textarea/TextArea.d.ts +40 -0
  140. package/textarea/TextArea.js +1 -1
  141. package/textarea/TextArea.mjs +41 -41
  142. package/textarea/interfaces/TextAreaBlurEvent.d.ts +14 -0
  143. package/textarea/interfaces/TextAreaChangeEvent.d.ts +18 -0
  144. package/textarea/interfaces/TextAreaFocusEvent.d.ts +14 -0
  145. package/textarea/interfaces/TextAreaProps.d.ts +199 -0
  146. package/textbox/Textbox.d.ts +99 -0
  147. package/textbox/Textbox.js +1 -1
  148. package/textbox/Textbox.mjs +70 -66
  149. package/utils.d.ts +11 -0
@@ -0,0 +1,302 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { FormComponentProps, SVGIcon } from '@progress/kendo-react-common';
9
+ import { RatingItemProps } from './RatingItem.js';
10
+ import { RatingKeyboardEvent, RatingItemMouseEvent, RatingItemFocusEvent } from './models/index.js';
11
+ import * as React from 'react';
12
+ /**
13
+ * Represents the properties of [Rating](https://www.telerik.com/kendo-react-ui/components/inputs/api/rating) component.
14
+ */
15
+ export interface RatingProps extends FormComponentProps {
16
+ /**
17
+ * Sets the `id` property of the top div element of the Rating.
18
+ *
19
+ * @example
20
+ * ```jsx
21
+ * <Rating id="rating-component" value={3} />
22
+ * ```
23
+ */
24
+ id?: string;
25
+ /**
26
+ * Adds custom CSS classes to the Rating.
27
+ *
28
+ * @example
29
+ * ```jsx
30
+ * <Rating className="custom-class" value={4} />
31
+ * ```
32
+ */
33
+ className?: string;
34
+ /**
35
+ * Sets the `tabIndex` attribute.
36
+ *
37
+ * @example
38
+ * ```jsx
39
+ * <Rating tabIndex={0} value={2} />
40
+ * ```
41
+ */
42
+ tabIndex?: number;
43
+ /**
44
+ * Sets additional CSS styles to the Rating.
45
+ *
46
+ * @example
47
+ * ```jsx
48
+ * <Rating style={{ margin: '10px' }} value={5} />
49
+ * ```
50
+ */
51
+ style?: React.CSSProperties;
52
+ /**
53
+ * Determines the children nodes.
54
+ *
55
+ * @hidden
56
+ */
57
+ children?: React.ReactNode;
58
+ /**
59
+ * Represents the rendered Rating item.
60
+ *
61
+ * @example
62
+ * ```jsx
63
+ * <Rating item={(props) => <RatingItem {...props}>{props.value}</RatingItem>} />
64
+ * ```
65
+ */
66
+ item?: React.ComponentType<RatingItemProps>;
67
+ /**
68
+ * Sets the current value of the Rating, used in controlled mode.
69
+ *
70
+ * @example
71
+ * ```jsx
72
+ * <Rating value={3} />
73
+ * ```
74
+ */
75
+ value?: number;
76
+ /**
77
+ * Sets the default value of the Rating, used in uncontrolled mode.
78
+ *
79
+ * @example
80
+ * ```jsx
81
+ * <Rating defaultValue={2} />
82
+ * ```
83
+ */
84
+ defaultValue?: number;
85
+ /**
86
+ * Sets the minimum possible value of the Rating.
87
+ *
88
+ * @example
89
+ * ```jsx
90
+ * <Rating min={1} max={10} />
91
+ * ```
92
+ */
93
+ min?: number;
94
+ /**
95
+ * Sets the maximum possible value of the Rating.
96
+ *
97
+ * @example
98
+ * ```jsx
99
+ * <Rating max={10} />
100
+ * ```
101
+ */
102
+ max?: number;
103
+ /**
104
+ * Sets the step value between the minimum and maximum values.
105
+ *
106
+ * @example
107
+ * ```jsx
108
+ * <Rating step={0.5} />
109
+ * ```
110
+ */
111
+ step?: number;
112
+ /**
113
+ * Specifies the direction of the Rating (`ltr` or `rtl`).
114
+ *
115
+ * @example
116
+ * ```jsx
117
+ * <Rating dir="rtl" />
118
+ * ```
119
+ */
120
+ dir?: string;
121
+ /**
122
+ * Sets a custom label for the Rating.
123
+ *
124
+ * @example
125
+ * ```jsx
126
+ * <Rating label="Rating Label" />
127
+ * ```
128
+ */
129
+ label?: React.ReactNode;
130
+ /**
131
+ * Sets the `readonly` mode of the Rating.
132
+ *
133
+ * @example
134
+ * ```jsx
135
+ * <Rating readonly={true} value={4} />
136
+ * ```
137
+ */
138
+ readonly?: boolean;
139
+ /**
140
+ * Disables the Rating when set to `true`.
141
+ *
142
+ * @example
143
+ * ```jsx
144
+ * <Rating disabled={true} />
145
+ * ```
146
+ */
147
+ disabled?: boolean;
148
+ /**
149
+ * Sets a custom icon for the Rating.
150
+ *
151
+ * @example
152
+ * ```jsx
153
+ * <Rating icon="star" />
154
+ * ```
155
+ */
156
+ icon?: string;
157
+ /**
158
+ * Sets a custom SVG icon for the Rating.
159
+ *
160
+ * @example
161
+ * ```jsx
162
+ * import { gearIcon } from '@progress/kendo-svg-icons';
163
+ *
164
+ * <Rating svgIcon={gearIcon} />
165
+ * ```
166
+ */
167
+ svgIcon?: SVGIcon;
168
+ /**
169
+ * Sets a custom outline SVG icon for the Rating.
170
+ *
171
+ * @example
172
+ * ```jsx
173
+ * <Rating svgIconOutline={customOutlineSvgIcon} />
174
+ * ```
175
+ */
176
+ svgIconOutline?: SVGIcon;
177
+ /**
178
+ * Determines the selection mode of the Rating (`continues` or `single`).
179
+ *
180
+ * @example
181
+ * ```jsx
182
+ * <Rating selection="single" />
183
+ * ```
184
+ */
185
+ selection?: 'continues' | 'single';
186
+ /**
187
+ * Determines the precision of the Rating (`item` or `half`).
188
+ *
189
+ * @example
190
+ * ```jsx
191
+ * <Rating precision="half" />
192
+ * ```
193
+ */
194
+ precision?: 'half' | 'item';
195
+ /**
196
+ * Fires when the value of the Rating changes.
197
+ *
198
+ * @example
199
+ * ```jsx
200
+ * <Rating onChange={(event) => console.log(event.value)} />
201
+ * ```
202
+ */
203
+ onChange?: (event: RatingChangeEvent) => void;
204
+ /**
205
+ * Fires when the Rating is clicked.
206
+ *
207
+ * @example
208
+ * ```jsx
209
+ * <Rating onClick={(event) => console.log(event.value)} />
210
+ * ```
211
+ */
212
+ onClick?: (event: RatingItemMouseEvent) => void;
213
+ /**
214
+ * Fires when a key is pressed while the Rating is focused.
215
+ *
216
+ * @example
217
+ * ```jsx
218
+ * <Rating onKeyDown={(event) => console.log(event.value)} />
219
+ * ```
220
+ */
221
+ onKeyDown?: (event: RatingKeyboardEvent) => void;
222
+ /**
223
+ * Fires when the Rating is focused.
224
+ *
225
+ * @example
226
+ * ```jsx
227
+ * <Rating onFocus={(event) => console.log('Focused')} />
228
+ * ```
229
+ */
230
+ onFocus?: (event: RatingItemFocusEvent) => void;
231
+ /**
232
+ * Fires when the Rating loses focus.
233
+ *
234
+ * @example
235
+ * ```jsx
236
+ * <Rating onBlur={(event) => console.log('Blurred')} />
237
+ * ```
238
+ */
239
+ onBlur?: (event: RatingItemFocusEvent) => void;
240
+ /**
241
+ * Identifies the element(s) which will describe the component.
242
+ *
243
+ * @example
244
+ * ```jsx
245
+ * <Rating ariaDescribedBy="description-id" />
246
+ * ```
247
+ */
248
+ ariaDescribedBy?: string;
249
+ /**
250
+ * Identifies the element(s) which will label the component.
251
+ *
252
+ * @example
253
+ * ```jsx
254
+ * <Rating ariaLabelledBy="label-id" />
255
+ * ```
256
+ */
257
+ ariaLabelledBy?: string;
258
+ }
259
+ /**
260
+ * Represents the target(element and props) of the RatingChangeEvent.
261
+ */
262
+ export interface RatingHandle {
263
+ /**
264
+ * The current element or `null` if there is no one.
265
+ */
266
+ element: HTMLDivElement | null;
267
+ /**
268
+ * The props value of the Rating.
269
+ */
270
+ props: RatingProps;
271
+ }
272
+ /**
273
+ * Represents the return type of RatingChangeEvent.
274
+ */
275
+ export interface RatingChangeEvent {
276
+ /**
277
+ * The current Rating value.
278
+ */
279
+ value: number;
280
+ /**
281
+ * The target of the RatingChangeEvent from RatingHandle.
282
+ */
283
+ target: RatingHandle;
284
+ /**
285
+ * The event of the RatingChangeEvent.
286
+ */
287
+ syntheticEvent: React.SyntheticEvent<any>;
288
+ }
289
+ /**
290
+ * Represents the PropsContext of the `Rating` component.
291
+ * Used for global configuration of all `Rating` instances.
292
+ *
293
+ * For more information, refer to the [Inputs Props Context](https://www.telerik.com/kendo-react-ui/components/inputs/props-context) article.
294
+ */
295
+ export declare const RatingPropsContext: React.Context<(p: RatingProps) => RatingProps>;
296
+ /**
297
+ * Represents the [KendoReact Rating component](https://www.telerik.com/kendo-react-ui/components/inputs/rating).
298
+ *
299
+ * Accepts properties of type [RatingProps](https://www.telerik.com/kendo-react-ui/components/inputs/api/ratingprops).
300
+ * Obtaining the `ref` returns an object of type [RatingHandle](https://www.telerik.com/kendo-react-ui/components/inputs/api/ratinghandle).
301
+ */
302
+ export declare const Rating: React.ForwardRefExoticComponent<RatingProps & React.RefAttributes<RatingHandle | null>>;
package/rating/Rating.mjs CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import * as a from "react";
9
9
  import c from "prop-types";
10
- import { createPropsContext as te, usePropsContext as ae, useDir as ne, Keys as R, IconWrap as y, toIconName as B, getTabIndex as le, classNames as se, svgIconPropType as S } from "@progress/kendo-react-common";
10
+ import { createPropsContext as te, usePropsContext as ae, useDir as ne, Keys as R, IconWrap as y, toIconName as B, classNames as le, getTabIndex as se, svgIconPropType as S } from "@progress/kendo-react-common";
11
11
  import { starOutlineIcon as $, starIcon as K } from "@progress/kendo-svg-icons";
12
12
  import { RatingItem as oe } from "./RatingItem.mjs";
13
13
  import { RATING_ACTION as r, ratingReducer as ie } from "./rating-reducer.mjs";
@@ -244,8 +244,8 @@ const q = (n, g, v) => {
244
244
  ref: h,
245
245
  role: "slider",
246
246
  dir: o,
247
- tabIndex: le(e.tabIndex, e.disabled, void 0),
248
- className: se(
247
+ tabIndex: se(e.tabIndex, e.disabled, void 0),
248
+ className: le(
249
249
  "k-rating",
250
250
  {
251
251
  "k-rtl": o === "rtl",
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { RatingItemMouseEvent, RatingItemFocusEvent, RatingItemKeyboardEvent } from './models/index.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * Represents the properties of [RatingItem](https://www.telerik.com/kendo-react-ui/components/inputs/api/ratingitem) component.
12
+ */
13
+ export interface RatingItemProps {
14
+ /**
15
+ * Sets the `id` property of the top div element of the RatingItem.
16
+ */
17
+ id?: string;
18
+ /**
19
+ * Sets additional classes to the RatingItem.
20
+ */
21
+ className?: string;
22
+ /**
23
+ * Sets the `tabIndex` attribute.
24
+ */
25
+ tabIndex?: number;
26
+ /**
27
+ * Determines if icon is partly selected.
28
+ */
29
+ half?: boolean;
30
+ /**
31
+ * Sets additional CSS styles to the RatingItem.
32
+ */
33
+ style?: React.CSSProperties;
34
+ /**
35
+ * Determines the children nodes.
36
+ */
37
+ children?: React.ReactNode;
38
+ /**
39
+ * Determines the RatingItem direction `ltr` - by default, or `rtl`.
40
+ */
41
+ dir?: string;
42
+ /**
43
+ * Sets the current value of the RatingItem, used in controlled mode.
44
+ */
45
+ value: number;
46
+ /**
47
+ * Sets the title of current RatingItem component. [See example](https://www.telerik.com/kendo-react-ui/components/inputs/rating/controlled)
48
+ */
49
+ title?: string;
50
+ /**
51
+ * Sets the icon of current RatingItem component. [See example](https://www.telerik.com/kendo-react-ui/components/inputs/rating/label)
52
+ */
53
+ icon?: any;
54
+ /**
55
+ * Determines if current RatingItem is selected. [See example](https://www.telerik.com/kendo-react-ui/components/inputs/rating/customization)
56
+ */
57
+ selected?: boolean;
58
+ /**
59
+ * Determines if current RatingItem is hovered.
60
+ */
61
+ hovered?: boolean;
62
+ /**
63
+ * Triggered after `onClick` event. Gets outside access to the target element, the new value and the event type.
64
+ */
65
+ onClick?: (event: RatingItemMouseEvent) => void;
66
+ /**
67
+ * Triggered after `onKeyDown` event. Gets outside access to the target element, the new value and the event type.
68
+ */
69
+ onKeyDown?: (event: RatingItemKeyboardEvent) => void;
70
+ /**
71
+ * Triggered after `onFocus` event. Gets outside access to the target element and the event type.
72
+ */
73
+ onFocus?: (event: RatingItemFocusEvent) => void;
74
+ /**
75
+ * Triggered after `onBlur` event. Gets outside access to the target element and the event type.
76
+ */
77
+ onBlur?: (event: RatingItemFocusEvent) => void;
78
+ /**
79
+ * Triggered after `onMouseEnter` event. Gets outside access to the target element and the event type.
80
+ */
81
+ onMouseEnter?: (event: RatingItemMouseEvent) => void;
82
+ /**
83
+ * Triggered after `onMouseLeave` event. Gets outside access to the target element and the event type.
84
+ */
85
+ onMouseLeave?: (event: RatingItemMouseEvent) => void;
86
+ /**
87
+ * Triggered after `onMouseMove` event. Gets outside access to the target element and the event type.
88
+ */
89
+ onMouseMove?: (event: RatingItemMouseEvent) => void;
90
+ }
91
+ /**
92
+ * Represents the target(value, element and props) of The RatingItem.
93
+ */
94
+ export interface RatingItemHandle {
95
+ /**
96
+ * The current RatingItem value.
97
+ */
98
+ value: number;
99
+ /**
100
+ * The current element or `null` if there is no one.
101
+ */
102
+ element: HTMLDivElement | null;
103
+ /**
104
+ * The props value of the RatingItem.
105
+ */
106
+ props: RatingItemProps;
107
+ }
108
+ /**
109
+ * Represents the RatingItem component.
110
+ */
111
+ export declare const RatingItem: React.ForwardRefExoticComponent<RatingItemProps & React.RefAttributes<RatingItemHandle | null>>;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { RatingItemHandle } from './../RatingItem.js';
9
+ import { RatingHandle } from './../Rating.js';
10
+ /**
11
+ * Represents the return type of the RatingItemMouseEvent.
12
+ */
13
+ export interface RatingItemMouseEvent {
14
+ /**
15
+ * The target of the RatingItemMouseEvent from RatingItemHandle.
16
+ */
17
+ target: RatingItemHandle;
18
+ /**
19
+ * The event of the RatingItemMouseEvent.
20
+ */
21
+ syntheticEvent: React.MouseEvent<any>;
22
+ /**
23
+ * @hidden
24
+ */
25
+ value?: number | null;
26
+ }
27
+ /**
28
+ * Represents the return type of the RatingItemKeyboardEvent.
29
+ */
30
+ export interface RatingItemKeyboardEvent {
31
+ /**
32
+ * The target of the RatingItemKeyboardEvent from RatingItemHandle.
33
+ */
34
+ target: RatingItemHandle;
35
+ /**
36
+ * The event of the RatingItemKeyboardEvent.
37
+ */
38
+ syntheticEvent: React.KeyboardEvent<any>;
39
+ }
40
+ /**
41
+ * Represents the return type of the RatingItemFocusEvent.
42
+ */
43
+ export interface RatingItemFocusEvent {
44
+ /**
45
+ * The target of the RatingItemFocusEvent from RatingItemHandle.
46
+ */
47
+ target: RatingItemHandle;
48
+ /**
49
+ * The event of the RatingItemFocusEvent.
50
+ */
51
+ syntheticEvent: React.FocusEvent<any>;
52
+ }
53
+ /**
54
+ * Represents the return type of the RatingMouseEvent.
55
+ */
56
+ export interface RatingMouseEvent {
57
+ /**
58
+ * The target of the RatingMouseEvent from RatingHandle.
59
+ */
60
+ target: RatingHandle;
61
+ /**
62
+ * The event of the RatingMouseEvent.
63
+ */
64
+ syntheticEvent: React.MouseEvent<any>;
65
+ }
66
+ /**
67
+ * Represents the return type of the RatingKeyboardEvent.
68
+ */
69
+ export interface RatingKeyboardEvent {
70
+ /**
71
+ * The target of the RatingKeyboardEvent from RatingHandle.
72
+ */
73
+ target: RatingHandle;
74
+ /**
75
+ * The event of the RatingKeyboardEvent.
76
+ */
77
+ syntheticEvent: React.KeyboardEvent<any>;
78
+ }
79
+ /**
80
+ * Represents the return type od the RatingFocusEvent.
81
+ */
82
+ export interface RatingFocusEvent {
83
+ /**
84
+ * The target of the RatingFocusEvent from RatingHandle.
85
+ */
86
+ target: RatingHandle;
87
+ /**
88
+ * The event of the RatingFocusEvent.
89
+ */
90
+ syntheticEvent: React.FocusEvent<any>;
91
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare enum RATING_ACTION {
12
+ select = "select",
13
+ deselect = "deselect",
14
+ increase = "increase",
15
+ decrease = "decrease",
16
+ min = "min",
17
+ max = "max",
18
+ reset = "reset"
19
+ }
20
+ /**
21
+ * @hidden
22
+ */
23
+ export type RatingActionDispatch = {
24
+ type: RATING_ACTION;
25
+ payload?: number;
26
+ event?: React.SyntheticEvent<any>;
27
+ };
28
+ /**
29
+ * @hidden
30
+ */
31
+ export type RatingAction = {
32
+ min: number;
33
+ max: number;
34
+ step?: number;
35
+ };
36
+ /**
37
+ * @hidden
38
+ */
39
+ export declare const ratingReducer: (state: any, action: RatingAction & RatingActionDispatch) => any;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare const toRound: (num: number, base: number) => number;
12
+ /**
13
+ * @hidden
14
+ */
15
+ export declare const getRemainder: (x: number, y: number) => number;
16
+ /**
17
+ * @hidden
18
+ */
19
+ export declare const isHalf: (index: number, value: number, step: number) => boolean;
20
+ /**
21
+ * @hidden
22
+ */
23
+ export declare const isSelected: (index: number, value: number | null, step: number, selection: 'single' | 'continues') => boolean;
24
+ /**
25
+ * @hidden
26
+ */
27
+ export declare const calcIsFirstHalf: (dir: string, rect: any, clientX: number) => boolean;
28
+ /**
29
+ * @hidden
30
+ */
31
+ export declare const isCorrectValue: (min: number, max: number, step: number, value: number) => boolean;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { SignatureHandle } from './interfaces/SignatureHandle.js';
9
+ import { SignatureProps } from './interfaces/SignatureProps.js';
10
+ import * as React from 'react';
11
+ /**
12
+ * Represents the PropsContext of the `Signature` component.
13
+ * Used for global configuration of all `Signature` instances.
14
+ *
15
+ * For more information, refer to the [Inputs Props Context](https://www.telerik.com/kendo-react-ui/components/inputs/props-context) article.
16
+ */
17
+ export declare const SignaturePropsContext: React.Context<(p: SignatureProps) => SignatureProps>;
18
+ /**
19
+ * Represents the [KendoReact Signature component](https://www.telerik.com/kendo-react-ui/components/inputs/signature).
20
+ */
21
+ export declare const Signature: React.ForwardRefExoticComponent<SignatureProps & React.RefAttributes<SignatureHandle | null>>;
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ze=require("@progress/kendo-inputs-common"),_=require("@progress/kendo-react-buttons"),a=require("@progress/kendo-react-common"),Oe=require("@progress/kendo-react-dialogs"),Ee=require("@progress/kendo-react-intl"),s=require("prop-types"),xe=require("react"),p=require("../messages/index.js"),ne=require("../package-metadata.js"),Me=require("./utils/index.js"),N=require("@progress/kendo-svg-icons");function we(c){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const g in c)if(g!=="default"){const y=Object.getOwnPropertyDescriptor(c,g);Object.defineProperty(k,g,y.get?y:{enumerable:!0,get:()=>c[g]})}}return k.default=c,Object.freeze(k)}const n=we(xe),Ie=250,Le=84,ae=3,se=2,Pe="#000000",qe="#ffffff",oe=c=>c!==void 0,re=a.createPropsContext(),E=n.forwardRef((c,k)=>{const g=!a.validatePackage(ne.packageMetadata,{component:"Signature"}),y=a.getLicenseMessage(ne.packageMetadata),F=a.usePropsContext(re,c),e=n.useMemo(()=>({strokeWidth:l.strokeWidth,smooth:l.smooth,popupScale:l.popupScale,exportScale:l.exportScale,maximizable:l.maximizable,disabled:l.disabled,required:l.required,validityStyles:l.validityStyles,onChange:l.onChange,onFocus:l.onFocus,onBlur:l.onBlur,onOpen:l.onOpen,onClose:l.onClose,size:l.size,rounded:l.rounded,fillMode:l.fillMode,...F}),[F]),x=Ee.useLocalization(),d=n.useRef(null),v=n.useRef(null),j=n.useRef(null),W=n.useRef(null),M=n.useRef(null),[r,ie]=n.useState(),[h,G]=n.useState(!1),[w,A]=n.useState(!1),[C,V]=n.useState(),[le,ce]=n.useState(),U=oe(e.value)?e.value:C,[ue,de]=n.useState(!1),b=oe(e.open),f=b?e.open:ue,me=e.maximized||w||!e.maximizable||e.disabled,pe=!(e.maximized&&!w),ge=!(!(e.value||C)||w||e.readOnly||e.disabled),H=x.toLanguageString(p.signatureMaximize,p.messages[p.signatureMaximize]),$=x.toLanguageString(p.signatureMinimize,p.messages[p.signatureMinimize]),K=x.toLanguageString(p.signatureClear,p.messages[p.signatureClear]),I=e.popupScale||ae,L=e.exportScale||se,P=t=>{V(t),e.onChange&&e.onChange({value:t})},fe=t=>{r==null||r.loadImage(t.value),P(t.value)};n.useEffect(()=>{e.value!==C&&(V(e.value),r==null||r.loadImage(e.value))},[e.value]);const ke=()=>{r==null||r.clear(),P()},S=n.useCallback(t=>{b||de(t)},[b]),be=t=>{var o,i;Z(t),(i=((o=M.current)==null?void 0:o.element)||v.current)==null||i.focus()},q=n.useCallback(()=>{let t=Pe;return!e.color&&typeof document!="undefined"&&d.current&&(t=getComputedStyle(d.current).color),e.color||t},[e.color]),D=n.useCallback(()=>{let t=qe;return!e.backgroundColor&&typeof document!="undefined"&&d.current&&(t=getComputedStyle(d.current).backgroundColor),e.backgroundColor||t},[e.backgroundColor]),X=()=>({scale:e.maximized?e.popupScale:1,color:q(),backgroundColor:D(),strokeWidth:e.strokeWidth,smooth:e.smooth,readonly:e.readOnly}),J=async t=>{const{width:o,height:i}=t;return await(r==null?void 0:r.exportImage({width:o*L,height:i*L}))};n.useEffect(()=>{const t=v.current,o=new ze.SignaturePad(t,X());return U&&o.loadImage(U),ie(o),()=>o.destroy()},[]),n.useEffect(()=>{r==null||r.setOptions({onChange:async()=>P(await J(ee())),onDraw:()=>A(!0),onDrawEnd:()=>A(!1)})},[r]),a.useIsomorphicLayoutEffect(()=>r==null?void 0:r.setOptions(X()),[e.readOnly,e.color,e.backgroundColor,e.strokeWidth,e.smooth]),n.useEffect(()=>{var i,u;const t=(u=(i=j.current)==null?void 0:i.element)==null?void 0:u.querySelector(".k-overlay");if(!t)return;const o=()=>S(!1);return t.addEventListener("click",o),()=>t.removeEventListener("click",o)},[f]),n.useEffect(()=>{if(!f||typeof document=="undefined")return;const t=o=>{var i,u;o.key==="Escape"&&(S(!1),(u=(i=M.current)==null?void 0:i.element)==null||u.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[f]),n.useEffect(()=>{var t,o;e.maximized&&((o=(t=W.current)==null?void 0:t.element)==null||o.focus())},[]);const R=n.useCallback(()=>{var t;return(t=v.current)==null?void 0:t.focus()},[]),z=n.useCallback(()=>e.value,[e.value]),Q=n.useCallback(()=>e.name,[e.name]),O=n.useCallback(()=>e.required,[e.required]),T=n.useCallback(()=>{const t=e.validationMessage!==void 0,i=!z(),u=e.valid!==void 0?e.valid:!O()||!i;return{customError:t,valid:u,valueMissing:i}},[e.validationMessage,e.valid,z,O]),B=n.useCallback(()=>e.validityStyles,[e.validityStyles]),Y=n.useCallback(()=>e,[e]),m=n.useCallback(()=>{const t={element:d.current,focus:R};return Object.defineProperty(t,"name",{get:Q}),Object.defineProperty(t,"value",{get:z}),Object.defineProperty(t,"validity",{get:T}),Object.defineProperty(t,"validityStyles",{get:B}),Object.defineProperty(t,"required",{get:O}),Object.defineProperty(t,"props",{get:Y}),Object.defineProperty(t,"color",{get:q}),Object.defineProperty(t,"backgroundColor",{get:D}),t},[Q,z,T,B,O,R,Y,q,D]);n.useImperativeHandle(k,m);const ye=n.useCallback(t=>{h||e.maximized||(G(!0),a.dispatchEvent(e.onFocus,t,m(),{}))},[h,e.onFocus,m]),ve=n.useCallback(t=>{Me.hasParent(t.relatedTarget,d.current)||(G(!1),a.dispatchEvent(e.onBlur,t,m(),{}))},[h,e.onBlur,m]),he=n.useCallback(async t=>{ce(await J(te())),S(!0),a.dispatchEvent(e.onOpen,t,m(),{})},[f,b,e.onOpen,e.value,C,m]),Z=n.useCallback(t=>{S(!1),a.dispatchEvent(e.onClose,t,m(),{})},[f,b,e.onClose,m]),Ce=()=>{ke(),R()},ee=()=>{var i,u;const t=e.width||((i=d.current)==null?void 0:i.offsetWidth)||Ie,o=e.height||((u=d.current)==null?void 0:u.offsetHeight)||Le;return{width:t,height:o}},te=()=>{const{width:t,height:o}=ee();return{width:t*I,height:o*I}},Se=!B()||T().valid;return n.createElement("div",{ref:d,dir:e.dir,style:{width:e.width,height:e.height,...e.style},className:a.classNames("k-input","k-signature",{"k-signature-maximized":e.maximized,[`k-signature-${a.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size,[`k-signature-${e.fillMode}`]:e.fillMode,[`k-input-${e.fillMode}`]:e.fillMode,[`k-rounded-${a.kendoThemeMaps.roundedMap[e.rounded]||e.rounded}`]:e.rounded,"k-invalid":!Se,"k-required":e.required,"k-disabled":e.disabled,"k-focus":h},e.className),onFocus:ye,onBlur:ve},n.createElement("div",{className:"k-signature-canvas",ref:v,tabIndex:a.getTabIndex(e.tabIndex,e.disabled),role:"img",id:e.id,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledBy,"aria-describedby":e.ariaDescribedBy,"aria-disabled":e.disabled?"true":void 0,style:e.inputStyle}),n.createElement("div",{className:"k-signature-actions k-signature-actions-top"},n.createElement(_.Button,{type:"button",className:a.classNames("k-signature-action","k-signature-maximize",{"k-hidden":e.disabled||me}),ref:M,icon:"hyperlink-open",svgIcon:N.hyperlinkOpenIcon,fillMode:"flat",size:e.size,onClick:he,"aria-label":H,title:H}),n.createElement(_.Button,{type:"button",className:a.classNames("k-signature-action","k-signature-minimize","k-rotate-180",{"k-hidden":e.disabled||pe}),ref:W,icon:"hyperlink-open",svgIcon:N.hyperlinkOpenIcon,fillMode:"flat",size:e.size,onClick:Z,"aria-label":$,title:$})),!e.hideLine&&n.createElement("div",{className:"k-signature-line",style:{zIndex:2,pointerEvents:"none"}}),n.createElement("div",{className:"k-signature-actions k-signature-actions-bottom"},ge&&n.createElement(_.Button,{type:"button",className:"k-signature-action k-signature-clear",icon:"x",svgIcon:N.xIcon,fillMode:"flat",size:e.size,onClick:Ce,"aria-label":K,title:K})),f&&n.createElement(Oe.Dialog,{ref:j},n.createElement(E,{...e,...te(),value:le,maximized:!0,exportScale:1/I*L,open:!1,onChange:fe,onClose:be})),g&&n.createElement(a.WatermarkOverlay,{message:y}))});E.propTypes={value:s.string,width:s.number,height:s.number,tabIndex:s.number,dir:s.string,ariaDescribedBy:s.string,ariaLabelledBy:s.string,ariaLabel:s.string,readOnly:s.bool,disabled:s.bool,validationMessage:s.string,required:s.bool,onChange:s.func,onFocus:s.func,onBlur:s.func,onOpen:s.func,onClose:s.func,size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large"]),fillMode:s.oneOf([null,"solid","flat","outline"])};const l={strokeWidth:1,smooth:!1,popupScale:ae,exportScale:se,maximizable:!0,disabled:!1,required:!1,validityStyles:!0,onChange:c=>a.noop,onFocus:c=>a.noop,onBlur:c=>a.noop,onOpen:c=>a.noop,onClose:c=>a.noop,size:"medium",rounded:"medium",fillMode:"solid"};E.displayName="KendoSignature";exports.Signature=E;exports.SignaturePropsContext=re;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ze=require("@progress/kendo-inputs-common"),_=require("@progress/kendo-react-buttons"),a=require("@progress/kendo-react-common"),Oe=require("@progress/kendo-react-dialogs"),Ee=require("@progress/kendo-react-intl"),r=require("prop-types"),xe=require("react"),p=require("../messages/index.js"),ne=require("../package-metadata.js"),Me=require("./utils/index.js"),N=require("@progress/kendo-svg-icons");function we(c){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const g in c)if(g!=="default"){const v=Object.getOwnPropertyDescriptor(c,g);Object.defineProperty(k,g,v.get?v:{enumerable:!0,get:()=>c[g]})}}return k.default=c,Object.freeze(k)}const n=we(xe),Ie=250,Le=84,ae=3,re=2,Pe="#000000",qe="#ffffff",oe=c=>c!==void 0,se=a.createPropsContext(),E=n.forwardRef((c,k)=>{const g=!a.validatePackage(ne.packageMetadata,{component:"Signature"}),v=a.getLicenseMessage(ne.packageMetadata),F=a.usePropsContext(se,c),e=n.useMemo(()=>({strokeWidth:l.strokeWidth,smooth:l.smooth,popupScale:l.popupScale,exportScale:l.exportScale,maximizable:l.maximizable,disabled:l.disabled,required:l.required,validityStyles:l.validityStyles,onChange:l.onChange,onFocus:l.onFocus,onBlur:l.onBlur,onOpen:l.onOpen,onClose:l.onClose,size:l.size,rounded:l.rounded,fillMode:l.fillMode,...F}),[F]),x=Ee.useLocalization(),d=n.useRef(null),y=n.useRef(null),j=n.useRef(null),W=n.useRef(null),M=n.useRef(null),[s,ie]=n.useState(),[h,G]=n.useState(!1),[w,A]=n.useState(!1),[C,V]=n.useState(),[le,ce]=n.useState(),U=oe(e.value)?e.value:C,[ue,de]=n.useState(!1),b=oe(e.open),f=b?e.open:ue,me=e.maximized||w||!e.maximizable||e.disabled,pe=!(e.maximized&&!w),ge=!(!(e.value||C)||w||e.readOnly||e.disabled),H=x.toLanguageString(p.signatureMaximize,p.messages[p.signatureMaximize]),$=x.toLanguageString(p.signatureMinimize,p.messages[p.signatureMinimize]),K=x.toLanguageString(p.signatureClear,p.messages[p.signatureClear]),I=e.popupScale||ae,L=e.exportScale||re,P=t=>{V(t),e.onChange&&e.onChange({value:t})},fe=t=>{s==null||s.loadImage(t.value),P(t.value)};n.useEffect(()=>{e.value!==C&&(V(e.value),s==null||s.loadImage(e.value))},[e.value]);const ke=()=>{s==null||s.clear(),P()},S=n.useCallback(t=>{b||de(t)},[b]),be=t=>{var o,i;Z(t),(i=((o=M.current)==null?void 0:o.element)||y.current)==null||i.focus()},q=n.useCallback(()=>{let t=Pe;return!e.color&&typeof document!="undefined"&&d.current&&(t=getComputedStyle(d.current).color),e.color||t},[e.color]),D=n.useCallback(()=>{let t=qe;return!e.backgroundColor&&typeof document!="undefined"&&d.current&&(t=getComputedStyle(d.current).backgroundColor),e.backgroundColor||t},[e.backgroundColor]),X=()=>({scale:e.maximized?e.popupScale:1,color:q(),backgroundColor:D(),strokeWidth:e.strokeWidth,smooth:e.smooth,readonly:e.readOnly}),J=async t=>{const{width:o,height:i}=t;return await(s==null?void 0:s.exportImage({width:o*L,height:i*L}))};n.useEffect(()=>{const t=y.current,o=new ze.SignaturePad(t,X());return U&&o.loadImage(U),ie(o),()=>o.destroy()},[]),n.useEffect(()=>{s==null||s.setOptions({onChange:async()=>P(await J(ee())),onDraw:()=>A(!0),onDrawEnd:()=>A(!1)})},[s]),a.useIsomorphicLayoutEffect(()=>s==null?void 0:s.setOptions(X()),[e.readOnly,e.color,e.backgroundColor,e.strokeWidth,e.smooth]),n.useEffect(()=>{var i,u;const t=(u=(i=j.current)==null?void 0:i.element)==null?void 0:u.querySelector(".k-overlay");if(!t)return;const o=()=>S(!1);return t.addEventListener("click",o),()=>t.removeEventListener("click",o)},[f]),n.useEffect(()=>{if(!f||typeof document=="undefined")return;const t=o=>{var i,u;o.key==="Escape"&&(S(!1),(u=(i=M.current)==null?void 0:i.element)==null||u.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[f]),n.useEffect(()=>{var t,o;e.maximized&&((o=(t=W.current)==null?void 0:t.element)==null||o.focus())},[]);const R=n.useCallback(()=>{var t;return(t=y.current)==null?void 0:t.focus()},[]),z=n.useCallback(()=>e.value,[e.value]),Q=n.useCallback(()=>e.name,[e.name]),O=n.useCallback(()=>e.required,[e.required]),T=n.useCallback(()=>{const t=e.validationMessage!==void 0,i=!z(),u=e.valid!==void 0?e.valid:!O()||!i;return{customError:t,valid:u,valueMissing:i}},[e.validationMessage,e.valid,z,O]),B=n.useCallback(()=>e.validityStyles,[e.validityStyles]),Y=n.useCallback(()=>e,[e]),m=n.useCallback(()=>{const t={element:d.current,focus:R};return Object.defineProperty(t,"name",{get:Q}),Object.defineProperty(t,"value",{get:z}),Object.defineProperty(t,"validity",{get:T}),Object.defineProperty(t,"validityStyles",{get:B}),Object.defineProperty(t,"required",{get:O}),Object.defineProperty(t,"props",{get:Y}),Object.defineProperty(t,"color",{get:q}),Object.defineProperty(t,"backgroundColor",{get:D}),t},[Q,z,T,B,O,R,Y,q,D]);n.useImperativeHandle(k,m);const ve=n.useCallback(t=>{h||e.maximized||(G(!0),a.dispatchEvent(e.onFocus,t,m(),{}))},[h,e.onFocus,m]),ye=n.useCallback(t=>{Me.hasParent(t.relatedTarget,d.current)||(G(!1),a.dispatchEvent(e.onBlur,t,m(),{}))},[h,e.onBlur,m]),he=n.useCallback(async t=>{ce(await J(te())),S(!0),a.dispatchEvent(e.onOpen,t,m(),{})},[f,b,e.onOpen,e.value,C,m]),Z=n.useCallback(t=>{S(!1),a.dispatchEvent(e.onClose,t,m(),{})},[f,b,e.onClose,m]),Ce=()=>{ke(),R()},ee=()=>{var i,u;const t=e.width||((i=d.current)==null?void 0:i.offsetWidth)||Ie,o=e.height||((u=d.current)==null?void 0:u.offsetHeight)||Le;return{width:t,height:o}},te=()=>{const{width:t,height:o}=ee();return{width:t*I,height:o*I}},Se=!B()||T().valid;return n.createElement("div",{ref:d,dir:e.dir,style:{width:e.width,height:e.height,...e.style},className:a.classNames("k-input","k-signature",{"k-signature-maximized":e.maximized,[`k-signature-${a.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size,[`k-signature-${e.fillMode}`]:e.fillMode,[`k-input-${e.fillMode}`]:e.fillMode,[`k-rounded-${a.kendoThemeMaps.roundedMap[e.rounded]||e.rounded}`]:e.rounded,"k-invalid":!Se,"k-required":e.required,"k-disabled":e.disabled,"k-focus":h},e.className),onFocus:ve,onBlur:ye},n.createElement("div",{className:"k-signature-canvas",ref:y,tabIndex:a.getTabIndex(e.tabIndex,e.disabled),role:"img",id:e.id,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledBy,"aria-describedby":e.ariaDescribedBy,"aria-disabled":e.disabled?"true":void 0,style:e.inputStyle}),n.createElement("div",{className:"k-signature-actions k-signature-actions-top"},n.createElement(_.Button,{type:"button",className:a.classNames("k-signature-action","k-signature-maximize",{"k-hidden":e.disabled||me}),ref:M,icon:"hyperlink-open",svgIcon:N.hyperlinkOpenIcon,size:e.size,rounded:e.rounded,fillMode:"flat",onClick:he,"aria-label":H,title:H}),n.createElement(_.Button,{type:"button",className:a.classNames("k-signature-action","k-signature-minimize","k-rotate-180",{"k-hidden":e.disabled||pe}),ref:W,icon:"hyperlink-open",svgIcon:N.hyperlinkOpenIcon,size:e.size,rounded:e.rounded,fillMode:"flat",onClick:Z,"aria-label":$,title:$})),!e.hideLine&&n.createElement("div",{className:"k-signature-line",style:{zIndex:2,pointerEvents:"none"}}),n.createElement("div",{className:"k-signature-actions k-signature-actions-bottom"},ge&&n.createElement(_.Button,{type:"button",className:"k-signature-action k-signature-clear",icon:"x",svgIcon:N.xIcon,size:e.size,rounded:e.rounded,fillMode:"flat",onClick:Ce,"aria-label":K,title:K})),f&&n.createElement(Oe.Dialog,{ref:j},n.createElement(E,{...e,...te(),value:le,maximized:!0,exportScale:1/I*L,open:!1,onChange:fe,onClose:be})),g&&n.createElement(a.WatermarkOverlay,{message:v}))});E.propTypes={value:r.string,width:r.number,height:r.number,tabIndex:r.number,dir:r.string,ariaDescribedBy:r.string,ariaLabelledBy:r.string,ariaLabel:r.string,readOnly:r.bool,disabled:r.bool,validationMessage:r.string,required:r.bool,onChange:r.func,onFocus:r.func,onBlur:r.func,onOpen:r.func,onClose:r.func,size:r.oneOf(["small","medium","large"]),rounded:r.oneOf(["small","medium","large"]),fillMode:r.oneOf(["solid","flat","outline"])};const l={strokeWidth:1,smooth:!1,popupScale:ae,exportScale:re,maximizable:!0,disabled:!1,required:!1,validityStyles:!0,onChange:c=>a.noop,onFocus:c=>a.noop,onBlur:c=>a.noop,onOpen:c=>a.noop,onClose:c=>a.noop,size:void 0,rounded:void 0,fillMode:void 0};E.displayName="KendoSignature";exports.Signature=E;exports.SignaturePropsContext=se;