@progress/kendo-vue-inputs 9.0.1-develop.1 → 9.1.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.
- package/dist/cdn/js/kendo-vue-inputs.js +1 -1
- package/index.d.mts +7 -0
- package/index.d.ts +7 -0
- package/index.js +1 -1
- package/index.mjs +17 -15
- package/messages/main.d.ts +10 -0
- package/messages/main.js +2 -2
- package/messages/main.mjs +27 -23
- package/otpinput/OTPInput.d.ts +256 -0
- package/otpinput/OTPInput.js +8 -0
- package/otpinput/OTPInput.mjs +424 -0
- package/otpinput/OTPInputCell.d.ts +168 -0
- package/otpinput/OTPInputCell.js +8 -0
- package/otpinput/OTPInputCell.mjs +173 -0
- package/otpinput/OTPInputHandle.d.ts +33 -0
- package/otpinput/OTPInputSeparator.d.ts +25 -0
- package/otpinput/OTPInputSeparator.js +8 -0
- package/otpinput/OTPInputSeparator.mjs +33 -0
- package/otpinput/interfaces/OTPInputBlurEvent.d.ts +25 -0
- package/otpinput/interfaces/OTPInputChangeEvent.d.ts +34 -0
- package/otpinput/interfaces/OTPInputFocusEvent.d.ts +29 -0
- package/otpinput/interfaces/OTPInputProps.d.ts +316 -0
- package/otpinput/interfaces/OTPSeparatorIcon.d.ts +27 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +9 -9
package/index.d.mts
CHANGED
|
@@ -79,3 +79,10 @@ export * from './signature/interfaces/main.js';
|
|
|
79
79
|
export * from './rating/Rating.js';
|
|
80
80
|
export * from './rating/interfaces/RatingFocusEvent.js';
|
|
81
81
|
export * from './rating/interfaces/RatingBlurEvent.js';
|
|
82
|
+
export * from './otpinput/OTPInput.js';
|
|
83
|
+
export * from './otpinput/OTPInputHandle.js';
|
|
84
|
+
export * from './otpinput/interfaces/OTPInputProps.js';
|
|
85
|
+
export * from './otpinput/interfaces/OTPInputChangeEvent.js';
|
|
86
|
+
export * from './otpinput/interfaces/OTPInputFocusEvent.js';
|
|
87
|
+
export * from './otpinput/interfaces/OTPInputBlurEvent.js';
|
|
88
|
+
export * from './otpinput/interfaces/OTPSeparatorIcon.js';
|
package/index.d.ts
CHANGED
|
@@ -79,3 +79,10 @@ export * from './signature/interfaces/main';
|
|
|
79
79
|
export * from './rating/Rating';
|
|
80
80
|
export * from './rating/interfaces/RatingFocusEvent';
|
|
81
81
|
export * from './rating/interfaces/RatingBlurEvent';
|
|
82
|
+
export * from './otpinput/OTPInput';
|
|
83
|
+
export * from './otpinput/OTPInputHandle';
|
|
84
|
+
export * from './otpinput/interfaces/OTPInputProps';
|
|
85
|
+
export * from './otpinput/interfaces/OTPInputChangeEvent';
|
|
86
|
+
export * from './otpinput/interfaces/OTPInputFocusEvent';
|
|
87
|
+
export * from './otpinput/interfaces/OTPInputBlurEvent';
|
|
88
|
+
export * from './otpinput/interfaces/OTPSeparatorIcon';
|
package/index.js
CHANGED
|
@@ -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"});require("@progress/kendo-vue-common");const r=require("./colors/ColorGradient.js"),t=require("./colors/ColorPalette.js"),o=require("./colors/ColorPicker.js"),i=require("./colors/FlatColorPicker.js"),n=require("./switch/Switch.js"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@progress/kendo-vue-common");const r=require("./colors/ColorGradient.js"),t=require("./colors/ColorPalette.js"),o=require("./colors/ColorPicker.js"),i=require("./colors/FlatColorPicker.js"),n=require("./switch/Switch.js"),u=require("./input-separator/InputSeparator.js"),a=require("./input/Input.js"),c=require("./textbox/TextBox.js"),l=require("./numerictextbox/NumericTextBox.js"),s=require("./maskedtextbox/MaskedTextBox.js"),x=require("./slider/Slider.js"),e=require("./slider/SliderLabel.js"),T=require("./range-slider/RangeSlider.js"),d=require("./checkbox/Checkbox.js"),q=require("./radiobutton/RadioGroup.js"),S=require("./radiobutton/RadioButton.js"),R=require("./textarea/TextArea.js"),p=require("./textarea/interfaces/TextAreaResize.js"),B=require("./signature/Signature.js"),C=require("./rating/Rating.js"),I=require("./otpinput/OTPInput.js");exports.ColorGradient=r.ColorGradient;exports.ColorPalette=t.ColorPalette;exports.ColorPicker=o.ColorPicker;exports.FlatColorPicker=i.FlatColorPicker;exports.Switch=n.Switch;exports.InputSeparator=u.InputSeparator;exports.Input=a.Input;exports.TextBox=c.TextBox;exports.NumericTextBox=l.NumericTextBox;exports.MaskedTextBox=s.MaskedTextBox;exports.Slider=x.Slider;exports.SLIDER_LABEL_ATTRIBUTE=e.SLIDER_LABEL_ATTRIBUTE;exports.SliderLabel=e.SliderLabel;exports.RangeSlider=T.RangeSlider;exports.Checkbox=d.Checkbox;exports.RadioGroup=q.RadioGroup;exports.RadioButton=S.RadioButton;exports.TextArea=R.TextArea;exports.TextAreaResizeEnum=p.TextAreaResizeEnum;exports.Signature=B.Signature;exports.Rating=C.Rating;exports.OTPInput=I.OTPInput;
|
package/index.mjs
CHANGED
|
@@ -11,21 +11,22 @@ import { ColorPalette as p } from "./colors/ColorPalette.mjs";
|
|
|
11
11
|
import { ColorPicker as f } from "./colors/ColorPicker.mjs";
|
|
12
12
|
import { FlatColorPicker as i } from "./colors/FlatColorPicker.mjs";
|
|
13
13
|
import { Switch as n } from "./switch/Switch.mjs";
|
|
14
|
-
import { InputSeparator as
|
|
14
|
+
import { InputSeparator as u } from "./input-separator/InputSeparator.mjs";
|
|
15
15
|
import { Input as R } from "./input/Input.mjs";
|
|
16
16
|
import { TextBox as B } from "./textbox/TextBox.mjs";
|
|
17
17
|
import { NumericTextBox as C } from "./numerictextbox/NumericTextBox.mjs";
|
|
18
|
-
import { MaskedTextBox as
|
|
19
|
-
import { Slider as
|
|
20
|
-
import { SLIDER_LABEL_ATTRIBUTE as
|
|
18
|
+
import { MaskedTextBox as k } from "./maskedtextbox/MaskedTextBox.mjs";
|
|
19
|
+
import { Slider as E } from "./slider/Slider.mjs";
|
|
20
|
+
import { SLIDER_LABEL_ATTRIBUTE as P, SliderLabel as g } from "./slider/SliderLabel.mjs";
|
|
21
21
|
import { RangeSlider as h } from "./range-slider/RangeSlider.mjs";
|
|
22
22
|
import { Checkbox as G } from "./checkbox/Checkbox.mjs";
|
|
23
23
|
import { RadioGroup as w } from "./radiobutton/RadioGroup.mjs";
|
|
24
24
|
import { RadioButton as D } from "./radiobutton/RadioButton.mjs";
|
|
25
25
|
import { TextArea as M } from "./textarea/TextArea.mjs";
|
|
26
|
-
import { TextAreaResizeEnum as
|
|
27
|
-
import { Signature as
|
|
28
|
-
import { Rating as
|
|
26
|
+
import { TextAreaResizeEnum as O } from "./textarea/interfaces/TextAreaResize.mjs";
|
|
27
|
+
import { Signature as j } from "./signature/Signature.mjs";
|
|
28
|
+
import { Rating as v } from "./rating/Rating.mjs";
|
|
29
|
+
import { OTPInput as H } from "./otpinput/OTPInput.mjs";
|
|
29
30
|
export {
|
|
30
31
|
G as Checkbox,
|
|
31
32
|
t as ColorGradient,
|
|
@@ -33,19 +34,20 @@ export {
|
|
|
33
34
|
f as ColorPicker,
|
|
34
35
|
i as FlatColorPicker,
|
|
35
36
|
R as Input,
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
u as InputSeparator,
|
|
38
|
+
k as MaskedTextBox,
|
|
38
39
|
C as NumericTextBox,
|
|
40
|
+
H as OTPInput,
|
|
39
41
|
D as RadioButton,
|
|
40
42
|
w as RadioGroup,
|
|
41
43
|
h as RangeSlider,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
v as Rating,
|
|
45
|
+
P as SLIDER_LABEL_ATTRIBUTE,
|
|
46
|
+
j as Signature,
|
|
47
|
+
E as Slider,
|
|
48
|
+
g as SliderLabel,
|
|
47
49
|
n as Switch,
|
|
48
50
|
M as TextArea,
|
|
49
|
-
|
|
51
|
+
O as TextAreaResizeEnum,
|
|
50
52
|
B as TextBox
|
|
51
53
|
};
|
package/messages/main.d.ts
CHANGED
|
@@ -165,6 +165,14 @@ export declare const signatureMaximize = "signature.maximize";
|
|
|
165
165
|
* @hidden
|
|
166
166
|
*/
|
|
167
167
|
export declare const signatureMinimize = "signature.minimize";
|
|
168
|
+
/**
|
|
169
|
+
* @hidden
|
|
170
|
+
*/
|
|
171
|
+
export declare const otpInputAriaLabel = "otpInput.ariaLabel";
|
|
172
|
+
/**
|
|
173
|
+
* @hidden
|
|
174
|
+
*/
|
|
175
|
+
export declare const otpInputCellAriaLabel = "otpInput.cellAriaLabel";
|
|
168
176
|
/**
|
|
169
177
|
* @hidden
|
|
170
178
|
*/
|
|
@@ -209,4 +217,6 @@ export declare const messages: {
|
|
|
209
217
|
"signature.clear": string;
|
|
210
218
|
"signature.maximize": string;
|
|
211
219
|
"signature.minimize": string;
|
|
220
|
+
"otpInput.ariaLabel": string;
|
|
221
|
+
"otpInput.cellAriaLabel": string;
|
|
212
222
|
};
|
package/messages/main.js
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
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 e="numerictextbox.increment",o="numerictextbox.decrement",r="slider.increment",t="slider.decrement",a="slider.dragTitle",l="colorGradient.dragHandle",n="colorGradient.r",i="colorGradient.g",c="colorGradient.b",d="colorGradient.a",s="colorGradient.hex",G="colorGradient.hexLabel",u="colorGradient.inputColorButton",
|
|
9
|
-
saturation and lightness. Selected color is`,[u]:"Change the color input",[n]:"r",[i]:"g",[c]:"b",[d]:"a",[
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="numerictextbox.increment",o="numerictextbox.decrement",r="slider.increment",t="slider.decrement",a="slider.dragTitle",l="colorGradient.dragHandle",n="colorGradient.r",i="colorGradient.g",c="colorGradient.b",d="colorGradient.a",s="colorGradient.hex",G="colorGradient.hexLabel",u="colorGradient.inputColorButton",p="colorGradient.rLabel",b="colorGradient.gLabel",g="colorGradient.bLabel",A="colorGradient.aLabel",L="colorGradient.contrastRatio",C="colorGradient.colorGradientAALevel",P="colorGradient.colorGradientAAALevel",B="colorGradient.colorGradientPass",h="colorGradient.colorGradientFail",k="colorGradient.hueSliderLabel",x="colorGradient.alphaSliderLabel",m="flatColorPicker.cancelBtn",f="flatColorPicker.applyBtn",I="flatColorPicker.gradientBtn",v="flatColorPicker.paletterBtn",D="flatColorPicker.clearBtn",V="colorPicker.adaptiveTitle",w="checkbox.validation",T="checkbox.optionalText",H="radioButton.validation",S="switch.validation",y="colorPicker.dropdownButtonAriaLabel",z="colorGradient.toggleInputsButton",R="rating.ariaLabel",M="signature.clear",O="signature.maximize",F="signature.minimize",j="otpInput.ariaLabel",E="otpInput.cellAriaLabel",X={[e]:"Increase value",[o]:"Decrease value",[r]:"Increase",[t]:"Decrease",[a]:"Drag",[l]:`Color well with two-dimensional slider for selecting
|
|
9
|
+
saturation and lightness. Selected color is`,[u]:"Change the color input",[n]:"r",[i]:"g",[c]:"b",[d]:"a",[p]:"red chanel",[b]:"green chanel",[g]:"blue chanel",[A]:"alpha chanel",[s]:"hex",[G]:"HEX",[L]:"Contrast ratio",[C]:"AA",[P]:"AAA",[B]:"Pass",[h]:"Fail",[k]:"Hue slider",[x]:"Alpha slider",[z]:"Toggle colorgradient inputs",[m]:"Cancel",[f]:"Apply",[I]:"Gradient",[v]:"Palette",[D]:"Clear",[V]:"Choose color",[w]:"Please check this box if you want to proceed!",[T]:"(Optional)",[H]:"Please select option if you want to proceed!",[S]:"Please turn on if you want to proceed!",[y]:"Select",[R]:"Rating",[M]:"Clear",[O]:"Maximize",[F]:"Minimize",[j]:"One-time password",[E]:"Digit {index} of {total}"};exports.checkboxOptionalText=T;exports.checkboxValidation=w;exports.colorGradientA=d;exports.colorGradientAAALevel=P;exports.colorGradientAALevel=C;exports.colorGradientALabel=A;exports.colorGradientAlphaSliderLabel=x;exports.colorGradientB=c;exports.colorGradientBLabel=g;exports.colorGradientContrastRatio=L;exports.colorGradientDragHandle=l;exports.colorGradientFail=h;exports.colorGradientG=i;exports.colorGradientGLabel=b;exports.colorGradientHex=s;exports.colorGradientHexLabel=G;exports.colorGradientHueSliderLabel=k;exports.colorGradientInputColorButton=u;exports.colorGradientPass=B;exports.colorGradientR=n;exports.colorGradientRLabel=p;exports.colorGradientToggleInputsButton=z;exports.colorPickerAdaptiveTitle=V;exports.colorPickerDropdownButtonAriaLabel=y;exports.flatColorPickerApplyBtn=f;exports.flatColorPickerCancelBtn=m;exports.flatColorPickerClearBtn=D;exports.flatColorPickerGradientBtn=I;exports.flatColorPickerPaletteBtn=v;exports.messages=X;exports.numericDecreaseValue=o;exports.numericIncreaseValue=e;exports.otpInputAriaLabel=j;exports.otpInputCellAriaLabel=E;exports.radioButtonValidation=H;exports.ratingAriaLabel=R;exports.signatureClear=M;exports.signatureMaximize=O;exports.signatureMinimize=F;exports.sliderDecreaseValue=t;exports.sliderDragTitle=a;exports.sliderIncreaseValue=r;exports.switchValidation=S;
|
package/messages/main.mjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
const e = "numerictextbox.increment", o = "numerictextbox.decrement", t = "slider.increment", r = "slider.decrement", a = "slider.dragTitle", n = "colorGradient.dragHandle", l = "colorGradient.r", i = "colorGradient.g", c = "colorGradient.b", s = "colorGradient.a", d = "colorGradient.hex", G = "colorGradient.hexLabel", u = "colorGradient.inputColorButton",
|
|
8
|
+
const e = "numerictextbox.increment", o = "numerictextbox.decrement", t = "slider.increment", r = "slider.decrement", a = "slider.dragTitle", n = "colorGradient.dragHandle", l = "colorGradient.r", i = "colorGradient.g", c = "colorGradient.b", s = "colorGradient.a", d = "colorGradient.hex", G = "colorGradient.hexLabel", u = "colorGradient.inputColorButton", p = "colorGradient.rLabel", b = "colorGradient.gLabel", g = "colorGradient.bLabel", A = "colorGradient.aLabel", L = "colorGradient.contrastRatio", h = "colorGradient.colorGradientAALevel", C = "colorGradient.colorGradientAAALevel", P = "colorGradient.colorGradientPass", x = "colorGradient.colorGradientFail", B = "colorGradient.hueSliderLabel", k = "colorGradient.alphaSliderLabel", m = "flatColorPicker.cancelBtn", f = "flatColorPicker.applyBtn", v = "flatColorPicker.gradientBtn", w = "flatColorPicker.paletterBtn", I = "flatColorPicker.clearBtn", D = "colorPicker.adaptiveTitle", T = "checkbox.validation", H = "checkbox.optionalText", V = "radioButton.validation", y = "switch.validation", z = "colorPicker.dropdownButtonAriaLabel", S = "colorGradient.toggleInputsButton", R = "rating.ariaLabel", M = "signature.clear", F = "signature.maximize", O = "signature.minimize", E = "otpInput.ariaLabel", X = "otpInput.cellAriaLabel", j = {
|
|
9
9
|
[e]: "Increase value",
|
|
10
10
|
[o]: "Decrease value",
|
|
11
11
|
[t]: "Increase",
|
|
@@ -18,15 +18,15 @@ const e = "numerictextbox.increment", o = "numerictextbox.decrement", t = "slide
|
|
|
18
18
|
[i]: "g",
|
|
19
19
|
[c]: "b",
|
|
20
20
|
[s]: "a",
|
|
21
|
-
[
|
|
21
|
+
[p]: "red chanel",
|
|
22
22
|
[b]: "green chanel",
|
|
23
|
-
[
|
|
24
|
-
[
|
|
23
|
+
[g]: "blue chanel",
|
|
24
|
+
[A]: "alpha chanel",
|
|
25
25
|
[d]: "hex",
|
|
26
26
|
[G]: "HEX",
|
|
27
|
-
[
|
|
28
|
-
[
|
|
29
|
-
[
|
|
27
|
+
[L]: "Contrast ratio",
|
|
28
|
+
[h]: "AA",
|
|
29
|
+
[C]: "AAA",
|
|
30
30
|
[P]: "Pass",
|
|
31
31
|
[x]: "Fail",
|
|
32
32
|
[B]: "Hue slider",
|
|
@@ -36,29 +36,31 @@ const e = "numerictextbox.increment", o = "numerictextbox.decrement", t = "slide
|
|
|
36
36
|
[f]: "Apply",
|
|
37
37
|
[v]: "Gradient",
|
|
38
38
|
[w]: "Palette",
|
|
39
|
-
[
|
|
40
|
-
[
|
|
41
|
-
[
|
|
42
|
-
[
|
|
39
|
+
[I]: "Clear",
|
|
40
|
+
[D]: "Choose color",
|
|
41
|
+
[T]: "Please check this box if you want to proceed!",
|
|
42
|
+
[H]: "(Optional)",
|
|
43
43
|
[V]: "Please select option if you want to proceed!",
|
|
44
44
|
[y]: "Please turn on if you want to proceed!",
|
|
45
45
|
[z]: "Select",
|
|
46
46
|
[R]: "Rating",
|
|
47
47
|
[M]: "Clear",
|
|
48
48
|
[F]: "Maximize",
|
|
49
|
-
[O]: "Minimize"
|
|
49
|
+
[O]: "Minimize",
|
|
50
|
+
[E]: "One-time password",
|
|
51
|
+
[X]: "Digit {index} of {total}"
|
|
50
52
|
};
|
|
51
53
|
export {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
H as checkboxOptionalText,
|
|
55
|
+
T as checkboxValidation,
|
|
54
56
|
s as colorGradientA,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
C as colorGradientAAALevel,
|
|
58
|
+
h as colorGradientAALevel,
|
|
59
|
+
A as colorGradientALabel,
|
|
58
60
|
k as colorGradientAlphaSliderLabel,
|
|
59
61
|
c as colorGradientB,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
g as colorGradientBLabel,
|
|
63
|
+
L as colorGradientContrastRatio,
|
|
62
64
|
n as colorGradientDragHandle,
|
|
63
65
|
x as colorGradientFail,
|
|
64
66
|
i as colorGradientG,
|
|
@@ -69,18 +71,20 @@ export {
|
|
|
69
71
|
u as colorGradientInputColorButton,
|
|
70
72
|
P as colorGradientPass,
|
|
71
73
|
l as colorGradientR,
|
|
72
|
-
|
|
74
|
+
p as colorGradientRLabel,
|
|
73
75
|
S as colorGradientToggleInputsButton,
|
|
74
|
-
|
|
76
|
+
D as colorPickerAdaptiveTitle,
|
|
75
77
|
z as colorPickerDropdownButtonAriaLabel,
|
|
76
78
|
f as flatColorPickerApplyBtn,
|
|
77
79
|
m as flatColorPickerCancelBtn,
|
|
78
|
-
|
|
80
|
+
I as flatColorPickerClearBtn,
|
|
79
81
|
v as flatColorPickerGradientBtn,
|
|
80
82
|
w as flatColorPickerPaletteBtn,
|
|
81
|
-
|
|
83
|
+
j as messages,
|
|
82
84
|
o as numericDecreaseValue,
|
|
83
85
|
e as numericIncreaseValue,
|
|
86
|
+
E as otpInputAriaLabel,
|
|
87
|
+
X as otpInputCellAriaLabel,
|
|
84
88
|
V as radioButtonValidation,
|
|
85
89
|
R as ratingAriaLabel,
|
|
86
90
|
M as signatureClear,
|
|
@@ -0,0 +1,256 @@
|
|
|
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 { PropType } from 'vue';
|
|
9
|
+
import { OTPInputHandle } from './OTPInputHandle';
|
|
10
|
+
import { OTPInputChangeEvent } from './interfaces/OTPInputChangeEvent';
|
|
11
|
+
import { OTPInputFocusEvent } from './interfaces/OTPInputFocusEvent';
|
|
12
|
+
import { OTPInputBlurEvent } from './interfaces/OTPInputBlurEvent';
|
|
13
|
+
/**
|
|
14
|
+
* Represents the Kendo UI for Vue [OTPInput](https://www.telerik.com/kendo-vue-ui/components/inputs/otpinput/) component.
|
|
15
|
+
*/
|
|
16
|
+
declare const OTPInput: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
17
|
+
value: {
|
|
18
|
+
type: PropType<string>;
|
|
19
|
+
};
|
|
20
|
+
modelValue: {
|
|
21
|
+
type: PropType<string>;
|
|
22
|
+
};
|
|
23
|
+
defaultValue: {
|
|
24
|
+
type: PropType<string>;
|
|
25
|
+
};
|
|
26
|
+
length: {
|
|
27
|
+
type: PropType<number>;
|
|
28
|
+
default: number;
|
|
29
|
+
};
|
|
30
|
+
groupLength: {
|
|
31
|
+
type: PropType<number | number[]>;
|
|
32
|
+
};
|
|
33
|
+
separator: {
|
|
34
|
+
type: PropType<string | import('..').OTPSeparatorIcon>;
|
|
35
|
+
};
|
|
36
|
+
type: {
|
|
37
|
+
type: PropType<import('./interfaces/OTPInputProps').OTPInputType>;
|
|
38
|
+
default: string;
|
|
39
|
+
};
|
|
40
|
+
placeholder: {
|
|
41
|
+
type: PropType<string>;
|
|
42
|
+
};
|
|
43
|
+
spacing: {
|
|
44
|
+
type: PropType<boolean>;
|
|
45
|
+
default: boolean;
|
|
46
|
+
};
|
|
47
|
+
disabled: {
|
|
48
|
+
type: PropType<boolean>;
|
|
49
|
+
default: boolean;
|
|
50
|
+
};
|
|
51
|
+
readOnly: {
|
|
52
|
+
type: PropType<boolean>;
|
|
53
|
+
default: boolean;
|
|
54
|
+
};
|
|
55
|
+
inputAttributes: {
|
|
56
|
+
type: PropType<Object>;
|
|
57
|
+
};
|
|
58
|
+
name: {
|
|
59
|
+
type: PropType<string>;
|
|
60
|
+
};
|
|
61
|
+
required: {
|
|
62
|
+
type: PropType<boolean>;
|
|
63
|
+
default: boolean;
|
|
64
|
+
};
|
|
65
|
+
valid: {
|
|
66
|
+
type: PropType<boolean>;
|
|
67
|
+
default: any;
|
|
68
|
+
};
|
|
69
|
+
size: {
|
|
70
|
+
type: PropType<"small" | "medium" | "large">;
|
|
71
|
+
};
|
|
72
|
+
fillMode: {
|
|
73
|
+
type: PropType<"flat" | "solid" | "outline">;
|
|
74
|
+
};
|
|
75
|
+
rounded: {
|
|
76
|
+
type: PropType<"small" | "medium" | "large" | "full" | "none">;
|
|
77
|
+
};
|
|
78
|
+
onChange: {
|
|
79
|
+
type: PropType<(event: OTPInputChangeEvent) => void>;
|
|
80
|
+
};
|
|
81
|
+
onFocus: {
|
|
82
|
+
type: PropType<(event: OTPInputFocusEvent) => void>;
|
|
83
|
+
};
|
|
84
|
+
onBlur: {
|
|
85
|
+
type: PropType<(event: OTPInputBlurEvent) => void>;
|
|
86
|
+
};
|
|
87
|
+
ariaLabel: {
|
|
88
|
+
type: PropType<string>;
|
|
89
|
+
};
|
|
90
|
+
ariaLabelledBy: {
|
|
91
|
+
type: PropType<string>;
|
|
92
|
+
};
|
|
93
|
+
ariaDescribedBy: {
|
|
94
|
+
type: PropType<string>;
|
|
95
|
+
};
|
|
96
|
+
id: {
|
|
97
|
+
type: PropType<string>;
|
|
98
|
+
};
|
|
99
|
+
dir: {
|
|
100
|
+
type: PropType<"rtl" | "ltr">;
|
|
101
|
+
};
|
|
102
|
+
touched: {
|
|
103
|
+
type: PropType<boolean>;
|
|
104
|
+
};
|
|
105
|
+
visited: {
|
|
106
|
+
type: PropType<boolean>;
|
|
107
|
+
};
|
|
108
|
+
modified: {
|
|
109
|
+
type: PropType<boolean>;
|
|
110
|
+
};
|
|
111
|
+
validationMessage: {
|
|
112
|
+
type: PropType<string>;
|
|
113
|
+
};
|
|
114
|
+
}>, {}, {
|
|
115
|
+
stateValue: string;
|
|
116
|
+
lastCommittedValue: string;
|
|
117
|
+
invalidCellIndex: number;
|
|
118
|
+
invalidTimer: NodeJS.Timeout;
|
|
119
|
+
}, {
|
|
120
|
+
currentValue(): string;
|
|
121
|
+
isControlled(): boolean;
|
|
122
|
+
}, {
|
|
123
|
+
focus(index?: number): void;
|
|
124
|
+
blur(): void;
|
|
125
|
+
_eventTarget(): OTPInputHandle;
|
|
126
|
+
focusCell(index: number): void;
|
|
127
|
+
flashInvalid(index: number): void;
|
|
128
|
+
updateValue(newValue: string, nativeEvent: Event): void;
|
|
129
|
+
handleCellChange(index: number, _char: string, event: Event): void;
|
|
130
|
+
handlePrintableOnFilledCell(index: number, key: string, event: KeyboardEvent): void;
|
|
131
|
+
handleCellKeyDown(index: number, event: KeyboardEvent): void;
|
|
132
|
+
handleCellFocus(index: number, event: FocusEvent): void;
|
|
133
|
+
handleCellBlur(_index: number, _event: FocusEvent): void;
|
|
134
|
+
handleWrapperFocusOut(event: FocusEvent): void;
|
|
135
|
+
handlePaste(event: ClipboardEvent): void;
|
|
136
|
+
buildContent(): any[];
|
|
137
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
138
|
+
change: (event: OTPInputChangeEvent) => true;
|
|
139
|
+
changemodel: (value: string) => true;
|
|
140
|
+
'update:modelValue': (value: string) => true;
|
|
141
|
+
focus: (event: OTPInputFocusEvent) => true;
|
|
142
|
+
blur: (event: OTPInputBlurEvent) => true;
|
|
143
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
144
|
+
value: {
|
|
145
|
+
type: PropType<string>;
|
|
146
|
+
};
|
|
147
|
+
modelValue: {
|
|
148
|
+
type: PropType<string>;
|
|
149
|
+
};
|
|
150
|
+
defaultValue: {
|
|
151
|
+
type: PropType<string>;
|
|
152
|
+
};
|
|
153
|
+
length: {
|
|
154
|
+
type: PropType<number>;
|
|
155
|
+
default: number;
|
|
156
|
+
};
|
|
157
|
+
groupLength: {
|
|
158
|
+
type: PropType<number | number[]>;
|
|
159
|
+
};
|
|
160
|
+
separator: {
|
|
161
|
+
type: PropType<string | import('..').OTPSeparatorIcon>;
|
|
162
|
+
};
|
|
163
|
+
type: {
|
|
164
|
+
type: PropType<import('./interfaces/OTPInputProps').OTPInputType>;
|
|
165
|
+
default: string;
|
|
166
|
+
};
|
|
167
|
+
placeholder: {
|
|
168
|
+
type: PropType<string>;
|
|
169
|
+
};
|
|
170
|
+
spacing: {
|
|
171
|
+
type: PropType<boolean>;
|
|
172
|
+
default: boolean;
|
|
173
|
+
};
|
|
174
|
+
disabled: {
|
|
175
|
+
type: PropType<boolean>;
|
|
176
|
+
default: boolean;
|
|
177
|
+
};
|
|
178
|
+
readOnly: {
|
|
179
|
+
type: PropType<boolean>;
|
|
180
|
+
default: boolean;
|
|
181
|
+
};
|
|
182
|
+
inputAttributes: {
|
|
183
|
+
type: PropType<Object>;
|
|
184
|
+
};
|
|
185
|
+
name: {
|
|
186
|
+
type: PropType<string>;
|
|
187
|
+
};
|
|
188
|
+
required: {
|
|
189
|
+
type: PropType<boolean>;
|
|
190
|
+
default: boolean;
|
|
191
|
+
};
|
|
192
|
+
valid: {
|
|
193
|
+
type: PropType<boolean>;
|
|
194
|
+
default: any;
|
|
195
|
+
};
|
|
196
|
+
size: {
|
|
197
|
+
type: PropType<"small" | "medium" | "large">;
|
|
198
|
+
};
|
|
199
|
+
fillMode: {
|
|
200
|
+
type: PropType<"flat" | "solid" | "outline">;
|
|
201
|
+
};
|
|
202
|
+
rounded: {
|
|
203
|
+
type: PropType<"small" | "medium" | "large" | "full" | "none">;
|
|
204
|
+
};
|
|
205
|
+
onChange: {
|
|
206
|
+
type: PropType<(event: OTPInputChangeEvent) => void>;
|
|
207
|
+
};
|
|
208
|
+
onFocus: {
|
|
209
|
+
type: PropType<(event: OTPInputFocusEvent) => void>;
|
|
210
|
+
};
|
|
211
|
+
onBlur: {
|
|
212
|
+
type: PropType<(event: OTPInputBlurEvent) => void>;
|
|
213
|
+
};
|
|
214
|
+
ariaLabel: {
|
|
215
|
+
type: PropType<string>;
|
|
216
|
+
};
|
|
217
|
+
ariaLabelledBy: {
|
|
218
|
+
type: PropType<string>;
|
|
219
|
+
};
|
|
220
|
+
ariaDescribedBy: {
|
|
221
|
+
type: PropType<string>;
|
|
222
|
+
};
|
|
223
|
+
id: {
|
|
224
|
+
type: PropType<string>;
|
|
225
|
+
};
|
|
226
|
+
dir: {
|
|
227
|
+
type: PropType<"rtl" | "ltr">;
|
|
228
|
+
};
|
|
229
|
+
touched: {
|
|
230
|
+
type: PropType<boolean>;
|
|
231
|
+
};
|
|
232
|
+
visited: {
|
|
233
|
+
type: PropType<boolean>;
|
|
234
|
+
};
|
|
235
|
+
modified: {
|
|
236
|
+
type: PropType<boolean>;
|
|
237
|
+
};
|
|
238
|
+
validationMessage: {
|
|
239
|
+
type: PropType<string>;
|
|
240
|
+
};
|
|
241
|
+
}>> & Readonly<{
|
|
242
|
+
onBlur?: (event: OTPInputBlurEvent) => any;
|
|
243
|
+
onChange?: (event: OTPInputChangeEvent) => any;
|
|
244
|
+
onFocus?: (event: OTPInputFocusEvent) => any;
|
|
245
|
+
onChangemodel?: (value: string) => any;
|
|
246
|
+
"onUpdate:modelValue"?: (value: string) => any;
|
|
247
|
+
}>, {
|
|
248
|
+
length: number;
|
|
249
|
+
type: import('./interfaces/OTPInputProps').OTPInputType;
|
|
250
|
+
required: boolean;
|
|
251
|
+
disabled: boolean;
|
|
252
|
+
valid: boolean;
|
|
253
|
+
readOnly: boolean;
|
|
254
|
+
spacing: boolean;
|
|
255
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
256
|
+
export { OTPInput };
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("vue"),p=require("@progress/kendo-vue-common"),v=require("@progress/kendo-vue-intl"),$=require("../package-metadata.js"),m=require("../messages/main.js"),V=require("./OTPInputCell.js"),T=require("./OTPInputSeparator.js"),h=4;function k(e,t){if(Array.isArray(t)){const i=t.reduce((n,a)=>n+a,0);return i!==e&&console.warn(`[OTPInput] The sum of groupLength values (${i}) must equal length (${e}).`),t}const s=[];let l=e;for(;l>0;)s.push(Math.min(t,l)),l-=t;return s}const S=d.defineComponent({name:"KendoOTPInput",model:{event:"changemodel"},emits:{change:e=>!0,changemodel:e=>!0,"update:modelValue":e=>!0,focus:e=>!0,blur:e=>!0},props:{value:{type:String},modelValue:{type:String},defaultValue:{type:String},length:{type:Number,default:h},groupLength:{type:[Number,Array]},separator:{type:[String,Object]},type:{type:String,default:"text"},placeholder:{type:String},spacing:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},inputAttributes:{type:Object},name:{type:String},required:{type:Boolean,default:!1},valid:{type:Boolean,default:void 0},size:{type:String},fillMode:{type:String},rounded:{type:String},onChange:{type:Function},onFocus:{type:Function},onBlur:{type:Function},ariaLabel:{type:String},ariaLabelledBy:{type:String},ariaDescribedBy:{type:String},id:{type:String},dir:{type:String},touched:{type:Boolean},visited:{type:Boolean},modified:{type:Boolean},validationMessage:{type:String}},inject:{kendoLocalizationService:{default:null}},data(){var l,i,n,a;const e=(l=this.$props.defaultValue)!=null?l:"",t=(i=this.$props.length)!=null?i:h,s=((a=(n=this.$props.value)!=null?n:this.$props.modelValue)!=null?a:e).padEnd(t," ").slice(0,t);return{stateValue:e.padEnd(t," ").slice(0,t),lastCommittedValue:s,invalidCellIndex:null,invalidTimer:null}},created(){p.validatePackage($.packageMetadata)},beforeUnmount(){this.invalidTimer!==null&&clearTimeout(this.invalidTimer)},computed:{currentValue(){var s,l,i;const e=(s=this.$props.length)!=null?s:h;return((i=(l=this.$props.value)!=null?l:this.$props.modelValue)!=null?i:this.stateValue).padEnd(e," ").slice(0,e)},isControlled(){return this.$props.value!==void 0||this.$props.modelValue!==void 0}},watch:{currentValue(e){this.lastCommittedValue=e}},methods:{focus(e){var s;const t=(s=this.$props.length)!=null?s:h;if(e!==void 0)this.focusCell(e);else{const l=this.lastCommittedValue.indexOf(" ");this.focusCell(l>=0?l:t-1)}},blur(){var t;const e=(t=this.$props.length)!=null?t:h;for(let s=0;s<e;s++){const l=p.getRef(this,`cell_${s}`);l&&typeof l.blur=="function"&&l.blur()}},_eventTarget(){var e;return{element:(e=this.$el)!=null?e:null,value:this.currentValue,focus:t=>this.focus(t),blur:()=>this.blur()}},focusCell(e){var i;const t=(i=this.$props.length)!=null?i:h,s=Math.max(0,Math.min(e,t-1)),l=p.getRef(this,`cell_${s}`);l&&typeof l.focus=="function"&&l.focus()},flashInvalid(e){this.invalidTimer!==null&&clearTimeout(this.invalidTimer),this.invalidCellIndex=e,this.invalidTimer=setTimeout(()=>{this.invalidCellIndex=null,this.invalidTimer=null},300)},updateValue(e,t){var a;const s=(a=this.$props.length)!=null?a:h,l=e.padEnd(s," ").slice(0,s);if(l===this.currentValue)return;this.isControlled||(this.stateValue=l),this.lastCommittedValue=l;const i=this._eventTarget(),n={syntheticEvent:t,nativeEvent:t,target:i,value:l,component:this};this.$emit("change",n),this.$emit("changemodel",l),this.$emit("update:modelValue",l)},handleCellChange(e,t,s){const l=s.target,n=l.value.slice(-1);if(!n)return;if(this.$props.type==="number"&&!/^\d$/.test(n)){this.flashInvalid(e);const r=this.currentValue[e]===" "?"":this.currentValue[e];l.value=r,l.select();return}const a=this.lastCommittedValue.split("");a[e]=n,this.updateValue(a.join(""),s),this.focusCell(e+1)},handlePrintableOnFilledCell(e,t,s){if(s.preventDefault(),this.$props.type==="number"&&!/^\d$/.test(t)){this.flashInvalid(e),s.target.select();return}const l=this.currentValue.split("");l[e]=t,this.updateValue(l.join(""),s),this.focusCell(e+1)},handleCellKeyDown(e,t){var l,i;if(this.$props.readOnly)return;const s=((l=this.$el)==null?void 0:l.getAttribute("dir"))==="rtl";switch(t.key){case"ArrowLeft":{t.preventDefault(),this.focusCell(s?e+1:e-1);break}case"ArrowRight":{t.preventDefault(),this.focusCell(s?e-1:e+1);break}case"ArrowUp":case"ArrowDown":{t.preventDefault();break}case"Backspace":{t.preventDefault();const n=this.currentValue.split("");n[e]=" ",this.updateValue(n.join(""),t),this.focusCell(e-1);break}case"Delete":{t.preventDefault();const n=this.currentValue.split("");n[e]=" ",this.updateValue(n.join(""),t);break}default:{const{key:n,ctrlKey:a,altKey:r,metaKey:o}=t,c=(i=this.currentValue[e])!=null?i:" ";n.length===1&&!a&&!r&&!o&&c!==" "&&this.handlePrintableOnFilledCell(e,n,t);break}}},handleCellFocus(e,t){const s=this._eventTarget(),l={syntheticEvent:t,nativeEvent:t,target:s,cellIndex:e};this.$emit("focus",l)},handleCellBlur(e,t){},handleWrapperFocusOut(e){var i;const t=e.relatedTarget;if(t&&((i=this.$el)!=null&&i.contains(t)))return;const s=this._eventTarget(),l={syntheticEvent:e,nativeEvent:e,target:s};this.$emit("blur",l)},handlePaste(e){var r,o,c,g,y,b;if(e.preventDefault(),this.$props.readOnly)return;const t=(o=(r=e.clipboardData)==null?void 0:r.getData("text"))!=null?o:"";if(!t)return;const s=(c=this.$props.length)!=null?c:h;let l=-1;for(let u=0;u<s;u++){const f=p.getRef(this,`cell_${u}`),C=(b=f==null?void 0:f._input)!=null?b:(y=(g=f==null?void 0:f.$refs)==null?void 0:g.textBoxRef)==null?void 0:y._input;if(C&&C===document.activeElement){l=u;break}}const i=l>=0?l:0;if(this.$props.type==="number"&&!/^\d+$/.test(t.trim())){this.flashInvalid(i);return}const n=this.currentValue.split("");for(let u=0;u<t.length&&i+u<s;u++)n[i+u]=t[u];this.updateValue(n.join(""),e);const a=Math.min(i+t.length,s-1);this.focusCell(a)},buildContent(){var n;const e=(n=this.length)!=null?n:h,t=a=>{var r,o;return d.createVNode(V.OTPInputCell,{ref:p.setRef(this,`cell_${a}`),index:a,totalLength:e,char:(r=this.currentValue[a])!=null?r:" ",type:this.type,placeholder:this.placeholder,disabled:this.disabled,readOnly:this.readOnly,required:this.required,size:this.size,fillMode:this.fillMode,rounded:this.rounded,inputAttributes:this.inputAttributes,valid:this.valid===!1||this.invalidCellIndex===a?!1:(o=this.valid)!=null?o:!0,id:this.id?`${this.id}-cell-${a}`:`otp-cell-${a}`,name:this.name?`${this.name}-cell-${a}`:`otp-cell-${a}`,onCellChange:this.handleCellChange,onCellKeyDown:this.handleCellKeyDown,onCellFocus:this.handleCellFocus,onCellBlur:this.handleCellBlur},null)};if(!this.groupLength){const a=Array.from({length:e},(r,o)=>t(o));return this.spacing===!1?[d.createVNode("div",{key:"group",class:"k-input-group"},[a])]:a}const s=k(e,this.groupLength);let l=0;const i=[];return s.forEach((a,r)=>{const o=l;r>0&&this.separator!==void 0&&i.push(d.createVNode(T.OTPInputSeparator,{key:`sep-${o}`,separator:this.separator},null));const c=[];for(let g=0;g<a;g++)c.push(t(l++));this.spacing===!1?i.push(d.createVNode("div",{key:`group-${o}`,class:"k-input-group"},[c])):i.push(...c)}),i}},render(){const t=v.provideLocalizationService(this).toLanguageString(m.otpInputAriaLabel,m.messages[m.otpInputAriaLabel]),s=p.classNames("k-otp",{"k-disabled":this.disabled,"k-invalid":this.valid===!1,[`k-otp-${p.kendoThemeMaps.sizeMap[this.size]||this.size}`]:this.size},this.$props.className);return d.createVNode("div",{class:s,role:"group","aria-label":this.ariaLabel||t,"aria-labelledby":this.ariaLabelledBy,"aria-describedby":this.ariaDescribedBy,id:this.id,style:this.$props.style,dir:this.dir,onFocusout:this.handleWrapperFocusOut,onPaste:this.handlePaste},[this.name&&d.createVNode("input",{"aria-hidden":!0,type:"hidden",name:this.name,value:this.currentValue.replace(/ /g,"")},null),this.buildContent()])}});exports.OTPInput=S;
|