@treeal/ds 0.1.5 → 0.1.6
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/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs26.js +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs6.js +1 -1
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.cjs9.js.map +1 -1
- package/dist/index.esm10.js +1 -1
- package/dist/index.esm11.js +1 -1
- package/dist/index.esm13.js +1 -1
- package/dist/index.esm14.js +1 -1
- package/dist/index.esm15.js +1 -1
- package/dist/index.esm16.js +1 -1
- package/dist/index.esm18.js +22 -48
- package/dist/index.esm18.js.map +1 -1
- package/dist/index.esm19.js +12 -60
- package/dist/index.esm19.js.map +1 -1
- package/dist/index.esm20.js +22 -22
- package/dist/index.esm21.js +60 -22
- package/dist/index.esm21.js.map +1 -1
- package/dist/index.esm22.js +48 -40
- package/dist/index.esm22.js.map +1 -1
- package/dist/index.esm23.js +102 -60
- package/dist/index.esm23.js.map +1 -1
- package/dist/index.esm24.js +22 -22
- package/dist/index.esm26.js +22 -22
- package/dist/index.esm27.js +40 -102
- package/dist/index.esm27.js.map +1 -1
- package/dist/index.esm28.js +60 -12
- package/dist/index.esm28.js.map +1 -1
- package/dist/index.esm6.js +1 -1
- package/dist/index.esm7.js +1 -1
- package/dist/index.esm8.js +1 -1
- package/dist/index.esm9.js +1 -1
- package/dist/index.esm9.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm26.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
const o = "_button_1hwro_8", _ = "_sm_1hwro_40", t = "_md_1hwro_48", n = "_outline_1hwro_58", s = "_fill_1hwro_74", l = "_secondary_1hwro_89", e = "_text_1hwro_104", c = "_disabled_1hwro_119", r = "_label_1hwro_130", d = "_icon_1hwro_136", i = {
|
|
2
|
+
button: o,
|
|
3
|
+
sm: _,
|
|
4
|
+
md: t,
|
|
5
|
+
outline: n,
|
|
6
|
+
fill: s,
|
|
7
|
+
secondary: l,
|
|
8
|
+
text: e,
|
|
9
|
+
disabled: c,
|
|
10
|
+
label: r,
|
|
11
|
+
icon: d
|
|
12
12
|
};
|
|
13
13
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
c as
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
o as button,
|
|
15
|
+
i as default,
|
|
16
|
+
c as disabled,
|
|
17
|
+
s as fill,
|
|
18
|
+
d as icon,
|
|
19
|
+
r as label,
|
|
20
|
+
t as md,
|
|
21
|
+
n as outline,
|
|
22
|
+
l as secondary,
|
|
23
|
+
_ as sm,
|
|
24
|
+
e as text
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=index.esm26.js.map
|
package/dist/index.esm27.js
CHANGED
|
@@ -1,106 +1,44 @@
|
|
|
1
|
-
const e = "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
sectionItems: M,
|
|
22
|
-
item: C,
|
|
23
|
-
itemOpen: L,
|
|
24
|
-
itemOpenActive: A,
|
|
25
|
-
itemClosed: B,
|
|
26
|
-
itemClosedActive: O,
|
|
27
|
-
itemMobile: f,
|
|
28
|
-
itemMobileActive: w,
|
|
29
|
-
itemIcon: g,
|
|
30
|
-
itemIconDark: u,
|
|
31
|
-
itemIconLight: D,
|
|
32
|
-
itemLabel: R,
|
|
33
|
-
itemLabelDefault: T,
|
|
34
|
-
itemLabelActive: F,
|
|
35
|
-
itemLabelMobile: N,
|
|
36
|
-
chevron: x,
|
|
37
|
-
footer: y,
|
|
38
|
-
collapseBtn: j,
|
|
39
|
-
collapseBtnClosed: q,
|
|
40
|
-
collapseBtnIcon: z,
|
|
41
|
-
footerMobile: E,
|
|
42
|
-
ctaBtn: G,
|
|
43
|
-
workspace: H,
|
|
44
|
-
workspaceIcon: J,
|
|
45
|
-
workspaceLabel: K,
|
|
46
|
-
avatarRow: P,
|
|
47
|
-
avatar: Q,
|
|
48
|
-
avatarInitials: S,
|
|
49
|
-
avatarInfo: U,
|
|
50
|
-
avatarName: V,
|
|
51
|
-
avatarRole: W
|
|
1
|
+
const e = "_wrapper_r826a_9", _ = "_labelRow_r826a_19", a = "_label_r826a_19", r = "_labelDisabled_r826a_37", o = "_labelIcon_r826a_41", l = "_field_r826a_53", s = "_fieldMd_r826a_67", n = "_fieldSm_r826a_72", t = "_hover_r826a_79", c = "_active_r826a_86", i = "_disabled_r826a_94", d = "_error_r826a_107", b = "_icon_r826a_119", g = "_input_r826a_131", f = "_iconAction_r826a_155", p = "_toggleBtn_r826a_162", m = "_searchBtn_r826a_181", h = "_message_r826a_217", v = "_messageError_r826a_232", w = {
|
|
2
|
+
wrapper: e,
|
|
3
|
+
labelRow: _,
|
|
4
|
+
label: a,
|
|
5
|
+
labelDisabled: r,
|
|
6
|
+
labelIcon: o,
|
|
7
|
+
field: l,
|
|
8
|
+
fieldMd: s,
|
|
9
|
+
fieldSm: n,
|
|
10
|
+
hover: t,
|
|
11
|
+
active: c,
|
|
12
|
+
disabled: i,
|
|
13
|
+
error: d,
|
|
14
|
+
icon: b,
|
|
15
|
+
input: g,
|
|
16
|
+
iconAction: f,
|
|
17
|
+
toggleBtn: p,
|
|
18
|
+
searchBtn: m,
|
|
19
|
+
message: h,
|
|
20
|
+
messageError: v
|
|
52
21
|
};
|
|
53
22
|
export {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
r as headerTitle,
|
|
75
|
-
C as item,
|
|
76
|
-
B as itemClosed,
|
|
77
|
-
O as itemClosedActive,
|
|
78
|
-
g as itemIcon,
|
|
79
|
-
u as itemIconDark,
|
|
80
|
-
D as itemIconLight,
|
|
81
|
-
R as itemLabel,
|
|
82
|
-
F as itemLabelActive,
|
|
83
|
-
T as itemLabelDefault,
|
|
84
|
-
N as itemLabelMobile,
|
|
85
|
-
f as itemMobile,
|
|
86
|
-
w as itemMobileActive,
|
|
87
|
-
L as itemOpen,
|
|
88
|
-
A as itemOpenActive,
|
|
89
|
-
b as links,
|
|
90
|
-
p as linksClosed,
|
|
91
|
-
I as linksMobile,
|
|
92
|
-
d as linksOpen,
|
|
93
|
-
i as logoFull,
|
|
94
|
-
c as logoIcon,
|
|
95
|
-
e as nav,
|
|
96
|
-
o as navClosed,
|
|
97
|
-
_ as navMobile,
|
|
98
|
-
t as navOpen,
|
|
99
|
-
h as section,
|
|
100
|
-
M as sectionItems,
|
|
101
|
-
k as sectionTitle,
|
|
102
|
-
H as workspace,
|
|
103
|
-
J as workspaceIcon,
|
|
104
|
-
K as workspaceLabel
|
|
23
|
+
c as active,
|
|
24
|
+
w as default,
|
|
25
|
+
i as disabled,
|
|
26
|
+
d as error,
|
|
27
|
+
l as field,
|
|
28
|
+
s as fieldMd,
|
|
29
|
+
n as fieldSm,
|
|
30
|
+
t as hover,
|
|
31
|
+
b as icon,
|
|
32
|
+
f as iconAction,
|
|
33
|
+
g as input,
|
|
34
|
+
a as label,
|
|
35
|
+
r as labelDisabled,
|
|
36
|
+
o as labelIcon,
|
|
37
|
+
_ as labelRow,
|
|
38
|
+
h as message,
|
|
39
|
+
v as messageError,
|
|
40
|
+
m as searchBtn,
|
|
41
|
+
p as toggleBtn,
|
|
42
|
+
e as wrapper
|
|
105
43
|
};
|
|
106
44
|
//# sourceMappingURL=index.esm27.js.map
|
package/dist/index.esm27.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm27.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm27.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.esm28.js
CHANGED
|
@@ -1,16 +1,64 @@
|
|
|
1
|
-
const t = "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
const o = "_dropzone_19kgn_8", e = "_dropzoneMd_19kgn_22", n = "_dropzoneLg_19kgn_29", _ = "_dropzoneDragging_19kgn_39", t = "_dropzoneIconMd_19kgn_48", r = "_dropzoneIconLg_19kgn_56", s = "_dropzoneContent_19kgn_67", g = "_dropzoneTitleRow_19kgn_81", i = "_dropzoneTitle_19kgn_81", p = "_dropzoneBrowse_19kgn_99", l = "_dropzoneSubtitle_19kgn_114", d = "_fileList_19kgn_128", c = "_fileItem_19kgn_137", z = "_fileItemLg_19kgn_150", k = "_fileItemMd_19kgn_155", f = "_fileBadge_19kgn_161", a = "_fileContent_19kgn_176", I = "_fileHeader_19kgn_186", L = "_fileTexts_19kgn_193", m = "_fileName_19kgn_202", w = "_fileSize_19kgn_216", T = "_actions_19kgn_229", B = "_actionBtn_19kgn_236", M = "_progressRow_19kgn_259", b = "_progressTrack_19kgn_267", C = "_progressFill_19kgn_277", R = "_progressLabel_19kgn_288", S = "_spinner_19kgn_301", u = "_wrapper_19kgn_317", x = {
|
|
2
|
+
dropzone: o,
|
|
3
|
+
dropzoneMd: e,
|
|
4
|
+
dropzoneLg: n,
|
|
5
|
+
dropzoneDragging: _,
|
|
6
|
+
dropzoneIconMd: t,
|
|
7
|
+
dropzoneIconLg: r,
|
|
8
|
+
dropzoneContent: s,
|
|
9
|
+
dropzoneTitleRow: g,
|
|
10
|
+
dropzoneTitle: i,
|
|
11
|
+
dropzoneBrowse: p,
|
|
12
|
+
dropzoneSubtitle: l,
|
|
13
|
+
fileList: d,
|
|
14
|
+
fileItem: c,
|
|
15
|
+
fileItemLg: z,
|
|
16
|
+
fileItemMd: k,
|
|
17
|
+
fileBadge: f,
|
|
18
|
+
fileContent: a,
|
|
19
|
+
fileHeader: I,
|
|
20
|
+
fileTexts: L,
|
|
21
|
+
fileName: m,
|
|
22
|
+
fileSize: w,
|
|
23
|
+
actions: T,
|
|
24
|
+
actionBtn: B,
|
|
25
|
+
progressRow: M,
|
|
26
|
+
progressTrack: b,
|
|
27
|
+
progressFill: C,
|
|
28
|
+
progressLabel: R,
|
|
29
|
+
spinner: S,
|
|
30
|
+
wrapper: u
|
|
7
31
|
};
|
|
8
32
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
33
|
+
B as actionBtn,
|
|
34
|
+
T as actions,
|
|
35
|
+
x as default,
|
|
36
|
+
o as dropzone,
|
|
37
|
+
p as dropzoneBrowse,
|
|
38
|
+
s as dropzoneContent,
|
|
39
|
+
_ as dropzoneDragging,
|
|
40
|
+
r as dropzoneIconLg,
|
|
41
|
+
t as dropzoneIconMd,
|
|
42
|
+
n as dropzoneLg,
|
|
43
|
+
e as dropzoneMd,
|
|
44
|
+
l as dropzoneSubtitle,
|
|
45
|
+
i as dropzoneTitle,
|
|
46
|
+
g as dropzoneTitleRow,
|
|
47
|
+
f as fileBadge,
|
|
48
|
+
a as fileContent,
|
|
49
|
+
I as fileHeader,
|
|
50
|
+
c as fileItem,
|
|
51
|
+
z as fileItemLg,
|
|
52
|
+
k as fileItemMd,
|
|
53
|
+
d as fileList,
|
|
54
|
+
m as fileName,
|
|
55
|
+
w as fileSize,
|
|
56
|
+
L as fileTexts,
|
|
57
|
+
C as progressFill,
|
|
58
|
+
R as progressLabel,
|
|
59
|
+
M as progressRow,
|
|
60
|
+
b as progressTrack,
|
|
61
|
+
S as spinner,
|
|
62
|
+
u as wrapper
|
|
15
63
|
};
|
|
16
64
|
//# sourceMappingURL=index.esm28.js.map
|
package/dist/index.esm28.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm28.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm28.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.esm6.js
CHANGED
package/dist/index.esm7.js
CHANGED
package/dist/index.esm8.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as i, jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import e from "./index.
|
|
2
|
+
import e from "./index.esm21.js";
|
|
3
3
|
function b() {
|
|
4
4
|
return /* @__PURE__ */ i("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
5
5
|
/* @__PURE__ */ n("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }),
|
package/dist/index.esm9.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { useId as N, useState as E } from "react";
|
|
3
|
-
import r from "./index.
|
|
3
|
+
import r from "./index.esm27.js";
|
|
4
4
|
function y() {
|
|
5
5
|
return /* @__PURE__ */ t("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
|
|
6
6
|
/* @__PURE__ */ e("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round" }),
|
package/dist/index.esm9.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm9.js","sources":["../components/Input/Input.tsx"],"sourcesContent":["import React, { useId, useState } from 'react';\nimport styles from './Input.module.css';\n\nexport type InputState = 'Default' | 'Hover' | 'Active' | 'Disabled' | 'Error';\nexport type InputType = 'text' | 'email' | 'password' | 'search' | 'date';\nexport type InputSize = 'sm' | 'md';\n\n// ─── Built-in SVG icons ───────────────────────────────────────────────────────\n\nfunction IconEmail() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <polyline points=\"22,6 12,13 2,6\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n );\n}\n\nfunction IconSearch() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\"/>\n <path d=\"M16.5 16.5L21 21\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\"/>\n </svg>\n );\n}\n\nfunction IconCalendar() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M16 2v4M8 2v4M3 10h18\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n );\n}\n\nfunction IconLock() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"5\" y=\"11\" width=\"14\" height=\"11\" rx=\"2\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M8 11V7a4 4 0 0 1 8 0v4\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n );\n}\n\nfunction IconEye() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <circle cx=\"12\" cy=\"12\" r=\"3\" stroke=\"currentColor\" strokeWidth=\"1.75\"/>\n </svg>\n );\n}\n\nfunction IconEyeOff() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M1 1l22 22\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\"/>\n </svg>\n );\n}\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'type'> {\n /** Visual/interaction state. Defaults to 'Default'. */\n state?: InputState;\n /** Size variant. sm = 36px height, md = 48px height. Defaults to 'md'. */\n size?: InputSize;\n /**\n * Semantic input type. Sets the correct HTML type and auto-adds icons.\n * - email → envelope icon left\n * - password → lock icon left + show/hide toggle right\n * - search → search icon left + green search button right\n * - date → calendar icon right\n */\n inputType?: InputType;\n /** Label text rendered above the field. */\n label?: string;\n placeholder?: string;\n /** Helper or error message rendered below the field. */\n message?: string;\n /** Info icon rendered beside the label. */\n iconLabel?: React.ReactNode;\n /** Icon rendered inside the field, left side (24×24 slot). */\n iconLeft?: React.ReactNode;\n /** Icon rendered inside the field, right side (24×24 slot). */\n iconRight?: React.ReactNode;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** Called when search button is clicked (only for inputType=\"search\") */\n onSearch?: () => void;\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport function Input({\n state = 'Default',\n size = 'md',\n inputType = 'text',\n label,\n placeholder,\n message,\n iconLabel,\n iconLeft,\n iconRight,\n value,\n onChange,\n onSearch,\n id: idProp,\n className,\n ...props\n}: InputProps) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const [showPassword, setShowPassword] = useState(false);\n\n const isDisabled = state === 'Disabled';\n const isError = state === 'Error';\n\n // ── Resolve HTML type ──────────────────────────────────────────────────────\n const htmlType = inputType === 'password'\n ? (showPassword ? 'text' : 'password')\n : inputType === 'search'\n ? 'text'\n : inputType;\n\n // ── Resolve built-in icons ─────────────────────────────────────────────────\n const resolvedIconLeft: React.ReactNode =\n iconLeft ??\n (inputType === 'email' ? <IconEmail /> :\n inputType === 'password' ? <IconLock /> :\n undefined);\n\n const resolvedIconRight: React.ReactNode =\n iconRight ??\n (inputType === 'password'\n ? (\n <button\n type=\"button\"\n className={styles.toggleBtn}\n onClick={() => setShowPassword((v) => !v)}\n aria-label={showPassword ? 'Ocultar senha' : 'Mostrar senha'}\n tabIndex={-1}\n >\n {showPassword ? <IconEye /> : <IconEyeOff />}\n </button>\n )\n : inputType === 'date'\n ? <IconCalendar />\n : inputType === 'search'\n ? (\n <button\n type=\"button\"\n className={styles.searchBtn}\n onClick={onSearch}\n aria-label=\"Buscar\"\n tabIndex={-1}\n >\n <IconSearch />\n </button>\n )\n : undefined);\n\n const fieldClass = [\n styles.field,\n size === 'sm' ? styles.fieldSm : styles.fieldMd,\n state === 'Hover' ? styles.hover : '',\n state === 'Active' ? styles.active : '',\n isDisabled ? styles.disabled : '',\n isError ? styles.error : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={styles.wrapper}>\n {label && (\n <div className={styles.labelRow}>\n <label\n htmlFor={id}\n className={[styles.label, isDisabled ? styles.labelDisabled : '']\n .filter(Boolean)\n .join(' ')}\n >\n {label}\n </label>\n {iconLabel && (\n <span className={styles.labelIcon} aria-hidden=\"true\">\n {iconLabel}\n </span>\n )}\n </div>\n )}\n\n <div className={fieldClass}>\n {resolvedIconLeft && (\n <span className={styles.icon} aria-hidden=\"true\">\n {resolvedIconLeft}\n </span>\n )}\n <input\n id={id}\n type={htmlType}\n className={styles.input}\n placeholder={placeholder}\n disabled={isDisabled}\n value={value}\n onChange={onChange}\n aria-invalid={isError}\n aria-describedby={message ? `${id}-message` : undefined}\n {...props}\n />\n {resolvedIconRight && (\n <span className={[styles.icon, inputType === 'search' || inputType === 'password' ? styles.iconAction : ''].filter(Boolean).join(' ')}>\n {resolvedIconRight}\n </span>\n )}\n </div>\n\n {message && (\n <p\n id={`${id}-message`}\n className={[styles.message, isError ? styles.messageError : '']\n .filter(Boolean)\n .join(' ')}\n >\n {message}\n </p>\n )}\n </div>\n );\n}\n"],"names":["IconEmail","jsxs","jsx","IconSearch","IconCalendar","IconLock","IconEye","IconEyeOff","Input","state","size","inputType","label","placeholder","message","iconLabel","iconLeft","iconRight","value","onChange","onSearch","idProp","className","props","generatedId","useId","id","showPassword","setShowPassword","useState","isDisabled","isError","htmlType","resolvedIconLeft","resolvedIconRight","styles","v","fieldClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm9.js","sources":["../components/Input/Input.tsx"],"sourcesContent":["import React, { useId, useState } from 'react';\nimport styles from './Input.module.css';\n\nexport type InputState = 'Default' | 'Hover' | 'Active' | 'Disabled' | 'Error';\nexport type InputType = 'text' | 'email' | 'password' | 'search' | 'date';\nexport type InputSize = 'sm' | 'md';\n\n// ─── Built-in SVG icons ───────────────────────────────────────────────────────\n\nfunction IconEmail() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <polyline points=\"22,6 12,13 2,6\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n );\n}\n\nfunction IconSearch() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\"/>\n <path d=\"M16.5 16.5L21 21\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\"/>\n </svg>\n );\n}\n\nfunction IconCalendar() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M16 2v4M8 2v4M3 10h18\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n );\n}\n\nfunction IconLock() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"5\" y=\"11\" width=\"14\" height=\"11\" rx=\"2\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M8 11V7a4 4 0 0 1 8 0v4\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n );\n}\n\nfunction IconEye() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <circle cx=\"12\" cy=\"12\" r=\"3\" stroke=\"currentColor\" strokeWidth=\"1.75\"/>\n </svg>\n );\n}\n\nfunction IconEyeOff() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <path d=\"M1 1l22 22\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\"/>\n </svg>\n );\n}\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'type' | 'size'> {\n /** Visual/interaction state. Defaults to 'Default'. */\n state?: InputState;\n /** Size variant. sm = 36px height, md = 48px height. Defaults to 'md'. */\n size?: InputSize;\n /**\n * Semantic input type. Sets the correct HTML type and auto-adds icons.\n * - email → envelope icon left\n * - password → lock icon left + show/hide toggle right\n * - search → search icon left + green search button right\n * - date → calendar icon right\n */\n inputType?: InputType;\n /** Label text rendered above the field. */\n label?: string;\n placeholder?: string;\n /** Helper or error message rendered below the field. */\n message?: string;\n /** Info icon rendered beside the label. */\n iconLabel?: React.ReactNode;\n /** Icon rendered inside the field, left side (24×24 slot). */\n iconLeft?: React.ReactNode;\n /** Icon rendered inside the field, right side (24×24 slot). */\n iconRight?: React.ReactNode;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** Called when search button is clicked (only for inputType=\"search\") */\n onSearch?: () => void;\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport function Input({\n state = 'Default',\n size = 'md',\n inputType = 'text',\n label,\n placeholder,\n message,\n iconLabel,\n iconLeft,\n iconRight,\n value,\n onChange,\n onSearch,\n id: idProp,\n className,\n ...props\n}: InputProps) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const [showPassword, setShowPassword] = useState(false);\n\n const isDisabled = state === 'Disabled';\n const isError = state === 'Error';\n\n // ── Resolve HTML type ──────────────────────────────────────────────────────\n const htmlType = inputType === 'password'\n ? (showPassword ? 'text' : 'password')\n : inputType === 'search'\n ? 'text'\n : inputType;\n\n // ── Resolve built-in icons ─────────────────────────────────────────────────\n const resolvedIconLeft: React.ReactNode =\n iconLeft ??\n (inputType === 'email' ? <IconEmail /> :\n inputType === 'password' ? <IconLock /> :\n undefined);\n\n const resolvedIconRight: React.ReactNode =\n iconRight ??\n (inputType === 'password'\n ? (\n <button\n type=\"button\"\n className={styles.toggleBtn}\n onClick={() => setShowPassword((v) => !v)}\n aria-label={showPassword ? 'Ocultar senha' : 'Mostrar senha'}\n tabIndex={-1}\n >\n {showPassword ? <IconEye /> : <IconEyeOff />}\n </button>\n )\n : inputType === 'date'\n ? <IconCalendar />\n : inputType === 'search'\n ? (\n <button\n type=\"button\"\n className={styles.searchBtn}\n onClick={onSearch}\n aria-label=\"Buscar\"\n tabIndex={-1}\n >\n <IconSearch />\n </button>\n )\n : undefined);\n\n const fieldClass = [\n styles.field,\n size === 'sm' ? styles.fieldSm : styles.fieldMd,\n state === 'Hover' ? styles.hover : '',\n state === 'Active' ? styles.active : '',\n isDisabled ? styles.disabled : '',\n isError ? styles.error : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={styles.wrapper}>\n {label && (\n <div className={styles.labelRow}>\n <label\n htmlFor={id}\n className={[styles.label, isDisabled ? styles.labelDisabled : '']\n .filter(Boolean)\n .join(' ')}\n >\n {label}\n </label>\n {iconLabel && (\n <span className={styles.labelIcon} aria-hidden=\"true\">\n {iconLabel}\n </span>\n )}\n </div>\n )}\n\n <div className={fieldClass}>\n {resolvedIconLeft && (\n <span className={styles.icon} aria-hidden=\"true\">\n {resolvedIconLeft}\n </span>\n )}\n <input\n id={id}\n type={htmlType}\n className={styles.input}\n placeholder={placeholder}\n disabled={isDisabled}\n value={value}\n onChange={onChange}\n aria-invalid={isError}\n aria-describedby={message ? `${id}-message` : undefined}\n {...props}\n />\n {resolvedIconRight && (\n <span className={[styles.icon, inputType === 'search' || inputType === 'password' ? styles.iconAction : ''].filter(Boolean).join(' ')}>\n {resolvedIconRight}\n </span>\n )}\n </div>\n\n {message && (\n <p\n id={`${id}-message`}\n className={[styles.message, isError ? styles.messageError : '']\n .filter(Boolean)\n .join(' ')}\n >\n {message}\n </p>\n )}\n </div>\n );\n}\n"],"names":["IconEmail","jsxs","jsx","IconSearch","IconCalendar","IconLock","IconEye","IconEyeOff","Input","state","size","inputType","label","placeholder","message","iconLabel","iconLeft","iconRight","value","onChange","onSearch","idProp","className","props","generatedId","useId","id","showPassword","setShowPassword","useState","isDisabled","isError","htmlType","resolvedIconLeft","resolvedIconRight","styles","v","fieldClass"],"mappings":"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"}
|