wimui 0.6.0 → 0.6.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/components/_internal/FeedbackIcon.cjs +1 -1
- package/dist/components/_internal/FeedbackIcon.js +18 -23
- package/dist/components/feedback/Result/Result.cjs +1 -1
- package/dist/components/feedback/Result/Result.js +37 -35
- package/dist/components/form/FileUpload/FileUpload.cjs +1 -1
- package/dist/components/form/FileUpload/FileUpload.js +49 -45
- package/dist/components/form/OtpInput/OtpInput.cjs +1 -1
- package/dist/components/form/OtpInput/OtpInput.js +53 -54
- package/dist/llms-full.txt +1 -1
- package/dist/llms.txt +1 -1
- package/dist/styles.css +1 -1
- package/dist/wimui.umd.js +5 -5
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../icon/
|
|
2
|
+
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../icon/alert-circle.cjs"),n=require("../../icon/check.cjs"),r=require("../../icon/circle.cjs"),i=require("../../icon/info-circle.cjs"),a=require("../media/Icon/Icon.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("react/jsx-runtime");var c=({intent:e=`info`,icon:t,size:n=`sm`,className:i,color:c})=>t&&o.default.isValidElement(t)?(0,s.jsx)(s.Fragment,{children:t}):t===!1?null:(0,s.jsx)(a.Icon,{component:l[e]??r.default,size:n,className:i,color:c}),l={success:n.default,danger:t.default,warning:t.default,info:i.default};exports.FeedbackIcon=c;
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import e from "../../icon/
|
|
3
|
-
import t from "../../icon/
|
|
4
|
-
import
|
|
5
|
-
import r from "
|
|
6
|
-
import {
|
|
2
|
+
import e from "../../icon/alert-circle.js";
|
|
3
|
+
import t from "../../icon/check.js";
|
|
4
|
+
import n from "../../icon/circle.js";
|
|
5
|
+
import r from "../../icon/info-circle.js";
|
|
6
|
+
import { Icon as i } from "../media/Icon/Icon.js";
|
|
7
|
+
import a from "react";
|
|
8
|
+
import { Fragment as o, jsx as s } from "react/jsx-runtime";
|
|
7
9
|
//#region src/components/_internal/FeedbackIcon.tsx
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
default: return /* @__PURE__ */ a(n, {
|
|
19
|
-
component: t,
|
|
20
|
-
size: c,
|
|
21
|
-
className: l,
|
|
22
|
-
color: u
|
|
23
|
-
});
|
|
24
|
-
}
|
|
10
|
+
var c = ({ intent: e = "info", icon: t, size: r = "sm", className: c, color: u }) => t && a.isValidElement(t) ? /* @__PURE__ */ s(o, { children: t }) : t === !1 ? null : /* @__PURE__ */ s(i, {
|
|
11
|
+
component: l[e] ?? n,
|
|
12
|
+
size: r,
|
|
13
|
+
className: c,
|
|
14
|
+
color: u
|
|
15
|
+
}), l = {
|
|
16
|
+
success: t,
|
|
17
|
+
danger: e,
|
|
18
|
+
warning: e,
|
|
19
|
+
info: r
|
|
25
20
|
};
|
|
26
21
|
//#endregion
|
|
27
|
-
export {
|
|
22
|
+
export { c as FeedbackIcon };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/InteractiveArea/InteractiveArea.cjs"),n=require("../../../icon/
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/InteractiveArea/InteractiveArea.cjs"),n=require("../../../icon/alert-circle.cjs"),r=require("../../../icon/check.cjs"),i=require("../../../icon/circle.cjs"),a=require("../../../icon/info-circle.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("./result.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime");var d=({intent:e,status:t,className:s})=>{if(t)return(0,u.jsx)(o.Icon,{component:n.default,color:`secondary`,className:s});switch(e){case`success`:return(0,u.jsx)(o.Icon,{component:r.default,color:`success`,className:s});case`danger`:return(0,u.jsx)(o.Icon,{component:n.default,color:`danger`,className:s});case`warning`:return(0,u.jsx)(o.Icon,{component:n.default,color:`warning`,className:s});case`info`:return(0,u.jsx)(o.Icon,{component:a.default,color:`info`,className:s});default:return(0,u.jsx)(o.Icon,{component:i.default,color:`secondary`,className:s})}},f=({intent:e=`default`,status:n,title:r,description:i,extra:a,icon:o,className:c,children:f})=>(0,u.jsx)(t.InteractiveArea,{icon:o||(0,u.jsx)(d,{intent:e,status:n,className:s.default.icon}),title:r??void 0,description:i??void 0,actions:a,variant:`none`,bgVariant:`transparent`,className:(0,l.default)(`wim-result`,s.default.root,e&&s.default[e],n&&s.default[n],c),styles:{inner:s.default.inner,icon:s.default.icon,content:s.default.content},children:f});exports.Result=f;
|
|
@@ -1,64 +1,66 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { InteractiveArea as e } from "../../layout/InteractiveArea/InteractiveArea.js";
|
|
3
|
-
import t from "../../../icon/
|
|
4
|
-
import n from "../../../icon/
|
|
5
|
-
import
|
|
6
|
-
import i from "
|
|
3
|
+
import t from "../../../icon/alert-circle.js";
|
|
4
|
+
import n from "../../../icon/check.js";
|
|
5
|
+
import r from "../../../icon/circle.js";
|
|
6
|
+
import i from "../../../icon/info-circle.js";
|
|
7
|
+
import { Icon as a } from "../../media/Icon/Icon.js";
|
|
8
|
+
import o from "./result.module.js";
|
|
7
9
|
import "react";
|
|
8
|
-
import
|
|
9
|
-
import { jsx as
|
|
10
|
+
import s from "classnames";
|
|
11
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
10
12
|
//#region src/components/feedback/Result/Result.tsx
|
|
11
|
-
var
|
|
12
|
-
if (
|
|
13
|
-
component:
|
|
13
|
+
var l = ({ intent: e, status: o, className: s }) => {
|
|
14
|
+
if (o) return /* @__PURE__ */ c(a, {
|
|
15
|
+
component: t,
|
|
14
16
|
color: "secondary",
|
|
15
|
-
className:
|
|
17
|
+
className: s
|
|
16
18
|
});
|
|
17
19
|
switch (e) {
|
|
18
|
-
case "success": return /* @__PURE__ */
|
|
19
|
-
component:
|
|
20
|
+
case "success": return /* @__PURE__ */ c(a, {
|
|
21
|
+
component: n,
|
|
20
22
|
color: "success",
|
|
21
|
-
className:
|
|
23
|
+
className: s
|
|
22
24
|
});
|
|
23
|
-
case "danger": return /* @__PURE__ */
|
|
24
|
-
component:
|
|
25
|
+
case "danger": return /* @__PURE__ */ c(a, {
|
|
26
|
+
component: t,
|
|
25
27
|
color: "danger",
|
|
26
|
-
className:
|
|
28
|
+
className: s
|
|
27
29
|
});
|
|
28
|
-
case "warning": return /* @__PURE__ */
|
|
29
|
-
component:
|
|
30
|
+
case "warning": return /* @__PURE__ */ c(a, {
|
|
31
|
+
component: t,
|
|
30
32
|
color: "warning",
|
|
31
|
-
className:
|
|
33
|
+
className: s
|
|
32
34
|
});
|
|
33
|
-
case "info": return /* @__PURE__ */
|
|
34
|
-
component:
|
|
35
|
+
case "info": return /* @__PURE__ */ c(a, {
|
|
36
|
+
component: i,
|
|
35
37
|
color: "info",
|
|
36
|
-
className:
|
|
38
|
+
className: s
|
|
37
39
|
});
|
|
38
|
-
default: return /* @__PURE__ */
|
|
39
|
-
component:
|
|
40
|
+
default: return /* @__PURE__ */ c(a, {
|
|
41
|
+
component: r,
|
|
40
42
|
color: "secondary",
|
|
41
|
-
className:
|
|
43
|
+
className: s
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
|
-
},
|
|
45
|
-
icon: u || /* @__PURE__ */
|
|
46
|
+
}, u = ({ intent: t = "default", status: n, title: r, description: i, extra: a, icon: u, className: d, children: f }) => /* @__PURE__ */ c(e, {
|
|
47
|
+
icon: u || /* @__PURE__ */ c(l, {
|
|
46
48
|
intent: t,
|
|
47
49
|
status: n,
|
|
48
|
-
className:
|
|
50
|
+
className: o.icon
|
|
49
51
|
}),
|
|
50
52
|
title: r ?? void 0,
|
|
51
|
-
description:
|
|
52
|
-
actions:
|
|
53
|
+
description: i ?? void 0,
|
|
54
|
+
actions: a,
|
|
53
55
|
variant: "none",
|
|
54
56
|
bgVariant: "transparent",
|
|
55
|
-
className:
|
|
57
|
+
className: s("wim-result", o.root, t && o[t], n && o[n], d),
|
|
56
58
|
styles: {
|
|
57
|
-
inner:
|
|
58
|
-
icon:
|
|
59
|
-
content:
|
|
59
|
+
inner: o.inner,
|
|
60
|
+
icon: o.icon,
|
|
61
|
+
content: o.content
|
|
60
62
|
},
|
|
61
63
|
children: f
|
|
62
64
|
});
|
|
63
65
|
//#endregion
|
|
64
|
-
export {
|
|
66
|
+
export { u as Result };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../Button/Button.cjs"),
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),r=require("../Button/Button.cjs"),i=require("../FieldTemplate/FieldTemplate.cjs"),a=require("./file-upload.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=({label:e,buttonLabel:l,noFileLabel:u,accept:d,multiple:f=!1,disabled:p=!1,onChange:m,className:h,iconName:g,iconPosition:_,size:v=`md`,error:y,required:b,layout:x=`vertical`})=>{let{t:S}=t.useWimTranslation(`form`),C=`wim-fileupload-${o.default.useId()}`,w=e?`${C}-label`:void 0,T=y?`${C}-error`:void 0,E=b?`${C}-required`:void 0,D=[T,E].filter(Boolean).join(` `)||void 0,O=(0,o.useRef)(null),[k,A]=(0,o.useState)(null),j=()=>{O.current?.click()},M=e=>{let t=e.target.files;A(t),m&&m(t)},N=k?Array.from(k).map(e=>e.name).join(`, `):u??S(`fileupload.no_file`);return(0,c.jsx)(i.FieldTemplate,{label:e,error:y,required:b,layout:x,labelId:w,errorId:T,className:(0,s.default)(`wim-file-upload`,a.default.root,a.default[v],h),children:(0,c.jsxs)(`div`,{className:a.default.controls,children:[(0,c.jsx)(`input`,{type:`file`,ref:O,accept:d,multiple:f,disabled:p,onChange:M,className:a.default.input,"aria-hidden":`true`,tabIndex:-1}),(0,c.jsx)(r.Button,{onClick:j,disabled:p,variant:`outline`,icon:g,iconPosition:_,size:v,"aria-labelledby":w,"aria-describedby":D,"aria-invalid":y?!0:void 0,children:l??S(`fileupload.button`)}),b&&(0,c.jsx)(n.VisuallyHidden,{id:E,children:S(`form.required`)}),(0,c.jsx)(`span`,{className:(0,s.default)(a.default.fileNames,a.default[v],p&&a.default.disabled),"aria-disabled":p||void 0,children:N})]})})};exports.FileUpload=l;
|
|
@@ -1,62 +1,66 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import r from "
|
|
6
|
-
import i
|
|
7
|
-
import s from "
|
|
8
|
-
import
|
|
3
|
+
import { VisuallyHidden as t } from "../../layout/VisuallyHidden/VisuallyHidden.js";
|
|
4
|
+
import { Button as n } from "../Button/Button.js";
|
|
5
|
+
import { FieldTemplate as r } from "../FieldTemplate/FieldTemplate.js";
|
|
6
|
+
import i from "./file-upload.module.js";
|
|
7
|
+
import a, { useRef as o, useState as s } from "react";
|
|
8
|
+
import c from "classnames";
|
|
9
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
9
10
|
//#region src/components/form/FileUpload/FileUpload.tsx
|
|
10
|
-
var
|
|
11
|
-
let { t:
|
|
12
|
-
|
|
13
|
-
},
|
|
11
|
+
var d = ({ label: d, buttonLabel: f, noFileLabel: p, accept: m, multiple: h = !1, disabled: g = !1, onChange: _, className: v, iconName: y, iconPosition: b, size: x = "md", error: S, required: C, layout: w = "vertical" }) => {
|
|
12
|
+
let { t: T } = e("form"), E = `wim-fileupload-${a.useId()}`, D = d ? `${E}-label` : void 0, O = S ? `${E}-error` : void 0, k = C ? `${E}-required` : void 0, A = [O, k].filter(Boolean).join(" ") || void 0, j = o(null), [M, N] = s(null), P = () => {
|
|
13
|
+
j.current?.click();
|
|
14
|
+
}, F = (e) => {
|
|
14
15
|
let t = e.target.files;
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
-
label:
|
|
19
|
-
error:
|
|
20
|
-
required:
|
|
21
|
-
layout:
|
|
22
|
-
labelId:
|
|
23
|
-
errorId:
|
|
24
|
-
className:
|
|
25
|
-
children: /* @__PURE__ */
|
|
26
|
-
className:
|
|
16
|
+
N(t), _ && _(t);
|
|
17
|
+
}, I = M ? Array.from(M).map((e) => e.name).join(", ") : p ?? T("fileupload.no_file");
|
|
18
|
+
return /* @__PURE__ */ l(r, {
|
|
19
|
+
label: d,
|
|
20
|
+
error: S,
|
|
21
|
+
required: C,
|
|
22
|
+
layout: w,
|
|
23
|
+
labelId: D,
|
|
24
|
+
errorId: O,
|
|
25
|
+
className: c("wim-file-upload", i.root, i[x], v),
|
|
26
|
+
children: /* @__PURE__ */ u("div", {
|
|
27
|
+
className: i.controls,
|
|
27
28
|
children: [
|
|
28
|
-
/* @__PURE__ */
|
|
29
|
+
/* @__PURE__ */ l("input", {
|
|
29
30
|
type: "file",
|
|
30
|
-
ref:
|
|
31
|
-
accept:
|
|
32
|
-
multiple:
|
|
33
|
-
disabled:
|
|
34
|
-
onChange:
|
|
35
|
-
className:
|
|
31
|
+
ref: j,
|
|
32
|
+
accept: m,
|
|
33
|
+
multiple: h,
|
|
34
|
+
disabled: g,
|
|
35
|
+
onChange: F,
|
|
36
|
+
className: i.input,
|
|
36
37
|
"aria-hidden": "true",
|
|
37
38
|
tabIndex: -1
|
|
38
39
|
}),
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
-
onClick:
|
|
41
|
-
disabled:
|
|
40
|
+
/* @__PURE__ */ l(n, {
|
|
41
|
+
onClick: P,
|
|
42
|
+
disabled: g,
|
|
42
43
|
variant: "outline",
|
|
43
|
-
icon:
|
|
44
|
-
iconPosition:
|
|
45
|
-
size:
|
|
46
|
-
"aria-labelledby":
|
|
47
|
-
"aria-describedby":
|
|
48
|
-
"aria-
|
|
49
|
-
|
|
50
|
-
children: d ?? w("fileupload.button")
|
|
44
|
+
icon: y,
|
|
45
|
+
iconPosition: b,
|
|
46
|
+
size: x,
|
|
47
|
+
"aria-labelledby": D,
|
|
48
|
+
"aria-describedby": A,
|
|
49
|
+
"aria-invalid": S ? !0 : void 0,
|
|
50
|
+
children: f ?? T("fileupload.button")
|
|
51
51
|
}),
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
|
|
52
|
+
C && /* @__PURE__ */ l(t, {
|
|
53
|
+
id: k,
|
|
54
|
+
children: T("form.required")
|
|
55
|
+
}),
|
|
56
|
+
/* @__PURE__ */ l("span", {
|
|
57
|
+
className: c(i.fileNames, i[x], g && i.disabled),
|
|
58
|
+
"aria-disabled": g || void 0,
|
|
59
|
+
children: I
|
|
56
60
|
})
|
|
57
61
|
]
|
|
58
62
|
})
|
|
59
63
|
});
|
|
60
64
|
};
|
|
61
65
|
//#endregion
|
|
62
|
-
export {
|
|
66
|
+
export { d as FileUpload };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../FieldTemplate/FieldTemplate.cjs"),r=require("./otp-input.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=(0,i.forwardRef)(({length:e=6,value:
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../FieldTemplate/FieldTemplate.cjs"),r=require("./otp-input.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=(e,t)=>{let n=e.split(``).slice(0,t);return Array(t).fill(``).map((e,t)=>n[t]??``)},c=(0,i.forwardRef)(({length:e=6,value:c=``,onChange:l,disabled:u=!1,error:d,required:f,label:p,layout:m,className:h,labels:g={},asChild:_=!1,fullWidth:v=!1,children:y,...b},x)=>{let{digitAriaLabel:S=e=>`Digit ${e}`}=g,[C,w]=(0,i.useState)(()=>s(c,e)),[T,E]=(0,i.useState)(c),D=(0,i.useRef)([]),O=`wim-otp-input-${(0,i.useId)()}`,k=p?`${O}-label`:void 0,A=d?`${O}-error`:void 0;c!==T&&(E(c),w(s(c,e)));let j=e=>{let t=e.join(``);l&&l(t)},M=(t,n)=>{let r=t.target.value.slice(-1),i=[...C];i[n]=r,w(i),j(i),r&&n<e-1&&D.current[n+1]?.focus()},N=(t,n)=>{if(t.key===`Backspace`){if(!C[n]&&n>0){let e=[...C];e[n-1]=``,w(e),j(e),D.current[n-1]?.focus()}else if(C[n]){let e=[...C];e[n]=``,w(e),j(e)}}else t.key===`ArrowLeft`&&n>0?(t.preventDefault(),D.current[n-1]?.focus()):t.key===`ArrowRight`&&n<e-1&&(t.preventDefault(),D.current[n+1]?.focus())},P=t=>{t.preventDefault();let n=t.clipboardData.getData(`text`).slice(0,e).split(``),r=[...C];n.forEach((t,n)=>{n<e&&(r[n]=t)}),w(r),j(r);let i=Math.min(n.length,e-1);D.current[i]?.focus()},F=_?t.Root:`div`;return(0,o.jsx)(n.FieldTemplate,{label:p,error:d,required:f,layout:m,labelId:k,htmlFor:O,errorId:A,className:(0,a.default)(h,v&&r.default.fullWidth),children:(0,o.jsxs)(F,{className:(0,a.default)(`wim-otp-input`,r.default.root,v&&r.default.fullWidth),ref:x,...b,children:[(0,o.jsx)(t.Slottable,{children:(0,o.jsx)(`div`,{className:(0,a.default)(r.default.container,u&&r.default.disabled),role:`group`,"aria-labelledby":k,"data-testid":`otp-input-container`,"data-disabled":u,children:Array.from({length:e}).map((e,t)=>(0,o.jsx)(`input`,{id:t===0?O:void 0,ref:e=>{D.current[t]=e},"data-testid":`otp-input`,className:(0,a.default)(r.default.input,d&&r.default.danger,u&&r.default.disabled),type:`text`,maxLength:1,value:C[t],onChange:e=>M(e,t),onKeyDown:e=>N(e,t),onPaste:P,disabled:u,"aria-label":S(t+1),"aria-invalid":d?`true`:`false`,"aria-describedby":A,"aria-required":f?`true`:void 0},t))})}),y]})})});c.displayName=`OtpInput`,exports.OtpInput=c,exports.default=c;
|
|
@@ -6,80 +6,79 @@ import { forwardRef as i, useId as a, useRef as o, useState as s } from "react";
|
|
|
6
6
|
import c from "classnames";
|
|
7
7
|
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/form/OtpInput/OtpInput.tsx
|
|
9
|
-
var d =
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
let P = (e) => {
|
|
9
|
+
var d = (e, t) => {
|
|
10
|
+
let n = e.split("").slice(0, t);
|
|
11
|
+
return Array(t).fill("").map((e, t) => n[t] ?? "");
|
|
12
|
+
}, f = i(({ length: i = 6, value: f = "", onChange: p, disabled: m = !1, error: h, required: g, label: _, layout: v, className: y, labels: b = {}, asChild: x = !1, fullWidth: S = !1, children: C, ...w }, T) => {
|
|
13
|
+
let { digitAriaLabel: E = (e) => `Digit ${e}` } = b, [D, O] = s(() => d(f, i)), [k, A] = s(f), j = o([]), M = `wim-otp-input-${a()}`, N = _ ? `${M}-label` : void 0, P = h ? `${M}-error` : void 0;
|
|
14
|
+
f !== k && (A(f), O(d(f, i)));
|
|
15
|
+
let F = (e) => {
|
|
17
16
|
let t = e.join("");
|
|
18
|
-
|
|
19
|
-
}, F = (e, t) => {
|
|
20
|
-
let n = e.target.value.slice(-1), r = [...E];
|
|
21
|
-
r[t] = n, D(r), P(r), n && t < i - 1 && A.current[t + 1]?.focus();
|
|
17
|
+
p && p(t);
|
|
22
18
|
}, I = (e, t) => {
|
|
19
|
+
let n = e.target.value.slice(-1), r = [...D];
|
|
20
|
+
r[t] = n, O(r), F(r), n && t < i - 1 && j.current[t + 1]?.focus();
|
|
21
|
+
}, L = (e, t) => {
|
|
23
22
|
if (e.key === "Backspace") {
|
|
24
|
-
if (!
|
|
25
|
-
let e = [...
|
|
26
|
-
e[t - 1] = "",
|
|
27
|
-
} else if (
|
|
28
|
-
let e = [...
|
|
29
|
-
e[t] = "",
|
|
23
|
+
if (!D[t] && t > 0) {
|
|
24
|
+
let e = [...D];
|
|
25
|
+
e[t - 1] = "", O(e), F(e), j.current[t - 1]?.focus();
|
|
26
|
+
} else if (D[t]) {
|
|
27
|
+
let e = [...D];
|
|
28
|
+
e[t] = "", O(e), F(e);
|
|
30
29
|
}
|
|
31
|
-
} else e.key === "ArrowLeft" && t > 0 ? (e.preventDefault(),
|
|
32
|
-
},
|
|
30
|
+
} else e.key === "ArrowLeft" && t > 0 ? (e.preventDefault(), j.current[t - 1]?.focus()) : e.key === "ArrowRight" && t < i - 1 && (e.preventDefault(), j.current[t + 1]?.focus());
|
|
31
|
+
}, R = (e) => {
|
|
33
32
|
e.preventDefault();
|
|
34
|
-
let t = e.clipboardData.getData("text").slice(0, i).split(""), n = [...
|
|
33
|
+
let t = e.clipboardData.getData("text").slice(0, i).split(""), n = [...D];
|
|
35
34
|
t.forEach((e, t) => {
|
|
36
35
|
t < i && (n[t] = e);
|
|
37
|
-
}),
|
|
36
|
+
}), O(n), F(n);
|
|
38
37
|
let r = Math.min(t.length, i - 1);
|
|
39
|
-
|
|
40
|
-
},
|
|
38
|
+
j.current[r]?.focus();
|
|
39
|
+
}, z = x ? e : "div";
|
|
41
40
|
return /* @__PURE__ */ l(n, {
|
|
42
|
-
label:
|
|
43
|
-
error:
|
|
44
|
-
required:
|
|
45
|
-
layout:
|
|
46
|
-
labelId:
|
|
47
|
-
htmlFor:
|
|
48
|
-
errorId:
|
|
49
|
-
className: c(
|
|
50
|
-
children: /* @__PURE__ */ u(
|
|
51
|
-
className: c("wim-otp-input", r.root,
|
|
52
|
-
ref:
|
|
53
|
-
...
|
|
41
|
+
label: _,
|
|
42
|
+
error: h,
|
|
43
|
+
required: g,
|
|
44
|
+
layout: v,
|
|
45
|
+
labelId: N,
|
|
46
|
+
htmlFor: M,
|
|
47
|
+
errorId: P,
|
|
48
|
+
className: c(y, S && r.fullWidth),
|
|
49
|
+
children: /* @__PURE__ */ u(z, {
|
|
50
|
+
className: c("wim-otp-input", r.root, S && r.fullWidth),
|
|
51
|
+
ref: T,
|
|
52
|
+
...w,
|
|
54
53
|
children: [/* @__PURE__ */ l(t, { children: /* @__PURE__ */ l("div", {
|
|
55
|
-
className: c(r.container,
|
|
54
|
+
className: c(r.container, m && r.disabled),
|
|
56
55
|
role: "group",
|
|
57
|
-
"aria-labelledby":
|
|
56
|
+
"aria-labelledby": N,
|
|
58
57
|
"data-testid": "otp-input-container",
|
|
59
|
-
"data-disabled":
|
|
58
|
+
"data-disabled": m,
|
|
60
59
|
children: Array.from({ length: i }).map((e, t) => /* @__PURE__ */ l("input", {
|
|
61
|
-
id: t === 0 ?
|
|
60
|
+
id: t === 0 ? M : void 0,
|
|
62
61
|
ref: (e) => {
|
|
63
|
-
|
|
62
|
+
j.current[t] = e;
|
|
64
63
|
},
|
|
65
64
|
"data-testid": "otp-input",
|
|
66
|
-
className: c(r.input,
|
|
65
|
+
className: c(r.input, h && r.danger, m && r.disabled),
|
|
67
66
|
type: "text",
|
|
68
67
|
maxLength: 1,
|
|
69
|
-
value:
|
|
70
|
-
onChange: (e) =>
|
|
71
|
-
onKeyDown: (e) =>
|
|
72
|
-
onPaste:
|
|
73
|
-
disabled:
|
|
74
|
-
"aria-label":
|
|
75
|
-
"aria-invalid":
|
|
76
|
-
"aria-describedby":
|
|
77
|
-
"aria-required":
|
|
68
|
+
value: D[t],
|
|
69
|
+
onChange: (e) => I(e, t),
|
|
70
|
+
onKeyDown: (e) => L(e, t),
|
|
71
|
+
onPaste: R,
|
|
72
|
+
disabled: m,
|
|
73
|
+
"aria-label": E(t + 1),
|
|
74
|
+
"aria-invalid": h ? "true" : "false",
|
|
75
|
+
"aria-describedby": P,
|
|
76
|
+
"aria-required": g ? "true" : void 0
|
|
78
77
|
}, t))
|
|
79
|
-
}) }),
|
|
78
|
+
}) }), C]
|
|
80
79
|
})
|
|
81
80
|
});
|
|
82
81
|
});
|
|
83
|
-
|
|
82
|
+
f.displayName = "OtpInput";
|
|
84
83
|
//#endregion
|
|
85
|
-
export {
|
|
84
|
+
export { f as OtpInput, f as default };
|
package/dist/llms-full.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.6.
|
|
7
|
+
**wimui** v0.6.1 — a React 19 component library: 216 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
|
|
8
8
|
|
|
9
9
|
## Install & required setup
|
|
10
10
|
|
package/dist/llms.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.6.
|
|
7
|
+
**wimui** v0.6.1 — a React 19 component library: 216 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
|
|
8
8
|
|
|
9
9
|
## Install & required setup
|
|
10
10
|
|