@treeal/ds 0.1.0 → 0.1.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/assets/style.css +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs11.js.map +1 -1
- package/dist/index.cjs12.js +1 -1
- package/dist/index.cjs12.js.map +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs13.js.map +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs14.js.map +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs17.js +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs19.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 +2 -0
- package/dist/index.cjs24.js.map +1 -0
- package/dist/index.cjs3.js +1 -1
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.cjs4.js +1 -1
- package/dist/index.cjs4.js.map +1 -1
- package/dist/index.cjs5.js +1 -1
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs6.js +1 -1
- package/dist/index.cjs6.js.map +1 -1
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs7.js.map +1 -1
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs8.js.map +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.cjs9.js.map +1 -1
- package/dist/index.esm.js +24 -23
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm10.js +66 -226
- package/dist/index.esm10.js.map +1 -1
- package/dist/index.esm11.js +221 -160
- package/dist/index.esm11.js.map +1 -1
- package/dist/index.esm12.js +157 -73
- package/dist/index.esm12.js.map +1 -1
- package/dist/index.esm13.js +83 -212
- package/dist/index.esm13.js.map +1 -1
- package/dist/index.esm14.js +219 -23
- package/dist/index.esm14.js.map +1 -1
- package/dist/index.esm15.js +22 -30
- package/dist/index.esm15.js.map +1 -1
- package/dist/index.esm16.js +38 -60
- package/dist/index.esm16.js.map +1 -1
- package/dist/index.esm17.js +30 -60
- package/dist/index.esm17.js.map +1 -1
- package/dist/index.esm18.js +22 -38
- package/dist/index.esm18.js.map +1 -1
- package/dist/index.esm19.js +60 -22
- package/dist/index.esm19.js.map +1 -1
- package/dist/index.esm21.js +102 -48
- package/dist/index.esm21.js.map +1 -1
- package/dist/index.esm22.js +22 -22
- package/dist/index.esm23.js +60 -102
- package/dist/index.esm23.js.map +1 -1
- package/dist/index.esm24.js +52 -0
- package/dist/index.esm24.js.map +1 -0
- package/dist/index.esm3.js +89 -53
- package/dist/index.esm3.js.map +1 -1
- package/dist/index.esm4.js +58 -111
- package/dist/index.esm4.js.map +1 -1
- package/dist/index.esm5.js +106 -60
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.esm6.js +60 -28
- package/dist/index.esm6.js.map +1 -1
- package/dist/index.esm7.js +26 -171
- package/dist/index.esm7.js.map +1 -1
- package/dist/index.esm8.js +167 -54
- package/dist/index.esm8.js.map +1 -1
- package/dist/index.esm9.js +62 -71
- package/dist/index.esm9.js.map +1 -1
- package/package.json +1 -1
- package/dist/index.cjs2.js +0 -2
- package/dist/index.cjs2.js.map +0 -1
- package/dist/index.esm2.js +0 -98
- package/dist/index.esm2.js.map +0 -1
package/dist/index.esm8.js
CHANGED
|
@@ -1,69 +1,182 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { jsxs as i, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import e from "./index.esm19.js";
|
|
3
|
+
function b() {
|
|
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
|
+
/* @__PURE__ */ n("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }),
|
|
6
|
+
/* @__PURE__ */ n("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" })
|
|
7
|
+
] });
|
|
8
|
+
}
|
|
9
|
+
function x() {
|
|
10
|
+
return /* @__PURE__ */ i("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", "aria-hidden": "true", children: [
|
|
11
|
+
/* @__PURE__ */ n("line", { x1: "4", y1: "6", x2: "20", y2: "6" }),
|
|
12
|
+
/* @__PURE__ */ n("line", { x1: "4", y1: "12", x2: "20", y2: "12" }),
|
|
13
|
+
/* @__PURE__ */ n("line", { x1: "4", y1: "18", x2: "20", y2: "18" })
|
|
14
|
+
] });
|
|
15
|
+
}
|
|
16
|
+
function C() {
|
|
17
|
+
return /* @__PURE__ */ n("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M4 6l4 4 4-4" }) });
|
|
18
|
+
}
|
|
19
|
+
function k({
|
|
20
|
+
workspaceName: a = "Workspace",
|
|
21
|
+
workspaceAccount: l = "Conta Atual",
|
|
22
|
+
fullWidth: t = !1
|
|
23
|
+
}) {
|
|
24
|
+
return /* @__PURE__ */ i(
|
|
25
|
+
"button",
|
|
26
|
+
{
|
|
27
|
+
type: "button",
|
|
28
|
+
className: [e.workspace, t ? e.workspaceFull : ""].filter(Boolean).join(" "),
|
|
29
|
+
"aria-label": `Trocar workspace: ${a}`,
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ i("div", { className: e.workspaceLeft, children: [
|
|
32
|
+
/* @__PURE__ */ n("span", { className: e.statusDot, "aria-hidden": "true" }),
|
|
33
|
+
/* @__PURE__ */ i("div", { className: e.workspaceCol, children: [
|
|
34
|
+
/* @__PURE__ */ n("p", { className: e.workspaceAccount, children: l }),
|
|
35
|
+
/* @__PURE__ */ n("p", { className: e.workspaceName, children: a })
|
|
36
|
+
] })
|
|
37
|
+
] }),
|
|
38
|
+
/* @__PURE__ */ n("span", { className: e.workspaceArrow, children: /* @__PURE__ */ n(C, {}) })
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
function f({
|
|
44
|
+
userName: a,
|
|
45
|
+
userRole: l,
|
|
46
|
+
userAvatar: t
|
|
17
47
|
}) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
48
|
+
const o = a ? a.split(" ").slice(0, 2).map((s) => s[0]).join("").toUpperCase() : "?";
|
|
49
|
+
return /* @__PURE__ */ i("div", { className: e.navUser, children: [
|
|
50
|
+
/* @__PURE__ */ n("div", { className: e.avatar, children: t ? /* @__PURE__ */ n(
|
|
51
|
+
"img",
|
|
52
|
+
{
|
|
53
|
+
src: t,
|
|
54
|
+
alt: a ?? "Avatar",
|
|
55
|
+
className: e.avatarImg
|
|
56
|
+
}
|
|
57
|
+
) : /* @__PURE__ */ n("span", { className: e.avatarInitials, children: o }) }),
|
|
58
|
+
(a || l) && /* @__PURE__ */ i("div", { className: e.userText, children: [
|
|
59
|
+
a && /* @__PURE__ */ n("p", { className: e.userName, children: a }),
|
|
60
|
+
l && /* @__PURE__ */ n("p", { className: e.userRole, children: l })
|
|
61
|
+
] })
|
|
62
|
+
] });
|
|
63
|
+
}
|
|
64
|
+
function y({
|
|
65
|
+
variant: a = "Default",
|
|
66
|
+
pageTitle: l = "Portal de Gestão",
|
|
67
|
+
workspaceName: t,
|
|
68
|
+
workspaceAccount: o,
|
|
69
|
+
userName: s,
|
|
70
|
+
userRole: h,
|
|
71
|
+
userAvatar: p,
|
|
72
|
+
onMenuToggle: v,
|
|
73
|
+
onNotifications: u,
|
|
74
|
+
primaryAction: r,
|
|
75
|
+
className: N
|
|
76
|
+
}) {
|
|
77
|
+
const c = a === "Default", m = a === "Mobile", d = a === "MobileOpen", w = [
|
|
78
|
+
e.header,
|
|
79
|
+
c ? e.variantDefault : "",
|
|
80
|
+
m ? e.variantMobile : "",
|
|
81
|
+
d ? e.variantMobileOpen : "",
|
|
82
|
+
N
|
|
25
83
|
].filter(Boolean).join(" ");
|
|
26
|
-
return /* @__PURE__ */
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
84
|
+
return /* @__PURE__ */ i("header", { className: w, children: [
|
|
85
|
+
!d && /* @__PURE__ */ n(
|
|
86
|
+
"h1",
|
|
87
|
+
{
|
|
88
|
+
className: [
|
|
89
|
+
e.pageTitle,
|
|
90
|
+
c ? e.pageTitleDesktop : e.pageTitleMobile
|
|
91
|
+
].join(" "),
|
|
92
|
+
children: l
|
|
93
|
+
}
|
|
94
|
+
),
|
|
95
|
+
c && /* @__PURE__ */ i("div", { className: e.actions, children: [
|
|
96
|
+
/* @__PURE__ */ n(
|
|
97
|
+
k,
|
|
98
|
+
{
|
|
99
|
+
workspaceName: t,
|
|
100
|
+
workspaceAccount: o
|
|
101
|
+
}
|
|
102
|
+
),
|
|
103
|
+
/* @__PURE__ */ n(
|
|
104
|
+
"button",
|
|
30
105
|
{
|
|
31
|
-
|
|
32
|
-
className:
|
|
33
|
-
|
|
106
|
+
type: "button",
|
|
107
|
+
className: e.bellBtn,
|
|
108
|
+
onClick: u,
|
|
109
|
+
"aria-label": "Notificações",
|
|
110
|
+
children: /* @__PURE__ */ n(b, {})
|
|
34
111
|
}
|
|
35
112
|
),
|
|
36
|
-
|
|
113
|
+
/* @__PURE__ */ n(
|
|
114
|
+
f,
|
|
115
|
+
{
|
|
116
|
+
userName: s,
|
|
117
|
+
userRole: h,
|
|
118
|
+
userAvatar: p
|
|
119
|
+
}
|
|
120
|
+
)
|
|
37
121
|
] }),
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"input",
|
|
122
|
+
m && /* @__PURE__ */ i("div", { className: e.actions, children: [
|
|
123
|
+
/* @__PURE__ */ n(
|
|
124
|
+
"button",
|
|
42
125
|
{
|
|
43
|
-
|
|
44
|
-
className: e.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
onChange: b,
|
|
49
|
-
"aria-invalid": d,
|
|
50
|
-
"aria-describedby": s ? `${r}-message` : void 0,
|
|
51
|
-
...v
|
|
126
|
+
type: "button",
|
|
127
|
+
className: e.bellBtn,
|
|
128
|
+
onClick: u,
|
|
129
|
+
"aria-label": "Notificações",
|
|
130
|
+
children: /* @__PURE__ */ n(b, {})
|
|
52
131
|
}
|
|
53
132
|
),
|
|
54
|
-
|
|
133
|
+
/* @__PURE__ */ i(
|
|
134
|
+
"button",
|
|
135
|
+
{
|
|
136
|
+
type: "button",
|
|
137
|
+
className: e.menuBtn,
|
|
138
|
+
onClick: v,
|
|
139
|
+
"aria-label": "Abrir menu",
|
|
140
|
+
"aria-expanded": !1,
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ n("span", { className: e.menuIcon, children: /* @__PURE__ */ n(x, {}) }),
|
|
143
|
+
"Menu"
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
)
|
|
55
147
|
] }),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
148
|
+
d && /* @__PURE__ */ i("div", { className: [e.actions, e.actionsMobileOpen].join(" "), children: [
|
|
149
|
+
r && /* @__PURE__ */ n(
|
|
150
|
+
"button",
|
|
151
|
+
{
|
|
152
|
+
type: "button",
|
|
153
|
+
className: e.ctaBtn,
|
|
154
|
+
onClick: r.onClick,
|
|
155
|
+
children: r.label
|
|
156
|
+
}
|
|
157
|
+
),
|
|
158
|
+
/* @__PURE__ */ i("div", { className: e.mainActions, children: [
|
|
159
|
+
/* @__PURE__ */ n(
|
|
160
|
+
k,
|
|
161
|
+
{
|
|
162
|
+
workspaceName: t,
|
|
163
|
+
workspaceAccount: o,
|
|
164
|
+
fullWidth: !0
|
|
165
|
+
}
|
|
166
|
+
),
|
|
167
|
+
/* @__PURE__ */ n(
|
|
168
|
+
f,
|
|
169
|
+
{
|
|
170
|
+
userName: s,
|
|
171
|
+
userRole: h,
|
|
172
|
+
userAvatar: p
|
|
173
|
+
}
|
|
174
|
+
)
|
|
175
|
+
] })
|
|
176
|
+
] })
|
|
64
177
|
] });
|
|
65
178
|
}
|
|
66
179
|
export {
|
|
67
|
-
|
|
180
|
+
y as Header
|
|
68
181
|
};
|
|
69
182
|
//# sourceMappingURL=index.esm8.js.map
|
package/dist/index.esm8.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm8.js","sources":["../components/Input/Input.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport styles from './Input.module.css';\n\nexport type InputState = 'Default' | 'Hover' | 'Active' | 'Disabled' | 'Error';\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /** Visual/interaction state. Defaults to 'Default'. */\n state?: InputState;\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}\n\nexport function Input({\n state = 'Default',\n label,\n placeholder,\n message,\n iconLabel,\n iconLeft,\n iconRight,\n value,\n onChange,\n id: idProp,\n className,\n ...props\n}: InputProps) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n\n const isDisabled = state === 'Disabled';\n const isError = state === 'Error';\n\n const fieldClass = [\n styles.field,\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 {iconLeft && (\n <span className={styles.icon} aria-hidden=\"true\">\n {iconLeft}\n </span>\n )}\n <input\n id={id}\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 {iconRight && (\n <span className={styles.icon} aria-hidden=\"true\">\n {iconRight}\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":["Input","state","label","placeholder","message","iconLabel","iconLeft","iconRight","value","onChange","idProp","className","props","generatedId","useId","id","isDisabled","isError","fieldClass","styles","jsxs","jsx"],"mappings":";;;AAwBO,SAASA,EAAM;AAAA,EACpB,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAIC;AAAA,EACJ,WAAAC;AAAA,EACA,GAAGC;AACL,GAAe;AACb,QAAMC,IAAcC,EAAA,GACdC,IAAKL,KAAUG,GAEfG,IAAaf,MAAU,YACvBgB,IAAUhB,MAAU,SAEpBiB,IAAa;AAAA,IACjBC,EAAO;AAAA,IACPlB,MAAU,UAAUkB,EAAO,QAAQ;AAAA,IACnClB,MAAU,WAAWkB,EAAO,SAAS;AAAA,IACrCH,IAAaG,EAAO,WAAW;AAAA,IAC/BF,IAAUE,EAAO,QAAQ;AAAA,IACzBR;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAWD,EAAO,SACpB,UAAA;AAAA,IAAAjB,KACC,gBAAAkB,EAAC,OAAA,EAAI,WAAWD,EAAO,UACrB,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAASN;AAAA,UACT,WAAW,CAACI,EAAO,OAAOH,IAAaG,EAAO,gBAAgB,EAAE,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,UAEV,UAAAjB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEFG,uBACE,QAAA,EAAK,WAAWc,EAAO,WAAW,eAAY,QAC5C,UAAAd,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IAGF,gBAAAe,EAAC,OAAA,EAAI,WAAWF,GACb,UAAA;AAAA,MAAAZ,uBACE,QAAA,EAAK,WAAWa,EAAO,MAAM,eAAY,QACvC,UAAAb,EAAA,CACH;AAAA,MAEF,gBAAAe;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAAN;AAAA,UACA,WAAWI,EAAO;AAAA,UAClB,aAAAhB;AAAA,UACA,UAAUa;AAAA,UACV,OAAAR;AAAA,UACA,UAAAC;AAAA,UACA,gBAAcQ;AAAA,UACd,oBAAkBb,IAAU,GAAGW,CAAE,aAAa;AAAA,UAC7C,GAAGH;AAAA,QAAA;AAAA,MAAA;AAAA,MAELL,uBACE,QAAA,EAAK,WAAWY,EAAO,MAAM,eAAY,QACvC,UAAAZ,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IAECH,KACC,gBAAAiB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI,GAAGN,CAAE;AAAA,QACT,WAAW,CAACI,EAAO,SAASF,IAAUE,EAAO,eAAe,EAAE,EAC3D,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QAEV,UAAAf;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GAEJ;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"index.esm8.js","sources":["../components/Header/Header.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './Header.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type HeaderVariant = 'Default' | 'Mobile' | 'MobileOpen';\n\nexport interface HeaderProps {\n variant?: HeaderVariant;\n /** Page / section title shown on the left */\n pageTitle?: string;\n /** Workspace display name (e.g. \"Best Buy Eletronics\") */\n workspaceName?: string;\n /** Workspace account label (defaults to \"Conta Atual\") */\n workspaceAccount?: string;\n /** Logged-in user display name */\n userName?: string;\n /** Logged-in user role / subtitle */\n userRole?: string;\n /** Avatar image URL — falls back to initials */\n userAvatar?: string;\n /** Called when the Mobile hamburger \"Menu\" button is clicked */\n onMenuToggle?: () => void;\n /** Called when the bell notification button is clicked */\n onNotifications?: () => void;\n /** Primary CTA in MobileOpen expanded panel */\n primaryAction?: { label: string; onClick: () => void };\n className?: string;\n}\n\n// ─── Inline SVG icons ─────────────────────────────────────────────────────────\n\nfunction IconBell() {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\" />\n <path d=\"M13.73 21a2 2 0 0 1-3.46 0\" />\n </svg>\n );\n}\n\nfunction IconMenu() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <line x1=\"4\" y1=\"6\" x2=\"20\" y2=\"6\" />\n <line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\" />\n <line x1=\"4\" y1=\"18\" x2=\"20\" y2=\"18\" />\n </svg>\n );\n}\n\nfunction IconChevronDown() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" />\n </svg>\n );\n}\n\n// ─── Sub-components ───────────────────────────────────────────────────────────\n\nfunction WorkspaceSwitcher({\n workspaceName = 'Workspace',\n workspaceAccount = 'Conta Atual',\n fullWidth = false,\n}: {\n workspaceName?: string;\n workspaceAccount?: string;\n fullWidth?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n className={[styles.workspace, fullWidth ? styles.workspaceFull : ''].filter(Boolean).join(' ')}\n aria-label={`Trocar workspace: ${workspaceName}`}\n >\n <div className={styles.workspaceLeft}>\n <span className={styles.statusDot} aria-hidden=\"true\" />\n <div className={styles.workspaceCol}>\n <p className={styles.workspaceAccount}>{workspaceAccount}</p>\n <p className={styles.workspaceName}>{workspaceName}</p>\n </div>\n </div>\n <span className={styles.workspaceArrow}>\n <IconChevronDown />\n </span>\n </button>\n );\n}\n\nfunction UserInfo({\n userName,\n userRole,\n userAvatar,\n}: {\n userName?: string;\n userRole?: string;\n userAvatar?: string;\n}) {\n const initials = userName\n ? userName\n .split(' ')\n .slice(0, 2)\n .map((w) => w[0])\n .join('')\n .toUpperCase()\n : '?';\n\n return (\n <div className={styles.navUser}>\n <div className={styles.avatar}>\n {userAvatar ? (\n <img\n src={userAvatar}\n alt={userName ?? 'Avatar'}\n className={styles.avatarImg}\n />\n ) : (\n <span className={styles.avatarInitials}>{initials}</span>\n )}\n </div>\n {(userName || userRole) && (\n <div className={styles.userText}>\n {userName && <p className={styles.userName}>{userName}</p>}\n {userRole && <p className={styles.userRole}>{userRole}</p>}\n </div>\n )}\n </div>\n );\n}\n\n// ─── Header ───────────────────────────────────────────────────────────────────\n\nexport function Header({\n variant = 'Default',\n pageTitle = 'Portal de Gestão',\n workspaceName,\n workspaceAccount,\n userName,\n userRole,\n userAvatar,\n onMenuToggle,\n onNotifications,\n primaryAction,\n className,\n}: HeaderProps) {\n const isDefault = variant === 'Default';\n const isMobile = variant === 'Mobile';\n const isMobileOpen = variant === 'MobileOpen';\n\n const rootClass = [\n styles.header,\n isDefault ? styles.variantDefault : '',\n isMobile ? styles.variantMobile : '',\n isMobileOpen ? styles.variantMobileOpen : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <header className={rootClass}>\n {/* Page title — Default + Mobile only */}\n {!isMobileOpen && (\n <h1\n className={[\n styles.pageTitle,\n isDefault ? styles.pageTitleDesktop : styles.pageTitleMobile,\n ].join(' ')}\n >\n {pageTitle}\n </h1>\n )}\n\n {/* ── Default actions ─────────────────────────────────────────────── */}\n {isDefault && (\n <div className={styles.actions}>\n <WorkspaceSwitcher\n workspaceName={workspaceName}\n workspaceAccount={workspaceAccount}\n />\n <button\n type=\"button\"\n className={styles.bellBtn}\n onClick={onNotifications}\n aria-label=\"Notificações\"\n >\n <IconBell />\n </button>\n <UserInfo\n userName={userName}\n userRole={userRole}\n userAvatar={userAvatar}\n />\n </div>\n )}\n\n {/* ── Mobile actions ──────────────────────────────────────────────── */}\n {isMobile && (\n <div className={styles.actions}>\n <button\n type=\"button\"\n className={styles.bellBtn}\n onClick={onNotifications}\n aria-label=\"Notificações\"\n >\n <IconBell />\n </button>\n <button\n type=\"button\"\n className={styles.menuBtn}\n onClick={onMenuToggle}\n aria-label=\"Abrir menu\"\n aria-expanded={false}\n >\n <span className={styles.menuIcon}>\n <IconMenu />\n </span>\n Menu\n </button>\n </div>\n )}\n\n {/* ── MobileOpen expanded panel ────────────────────────────────────── */}\n {isMobileOpen && (\n <div className={[styles.actions, styles.actionsMobileOpen].join(' ')}>\n {/* CTA */}\n {primaryAction && (\n <button\n type=\"button\"\n className={styles.ctaBtn}\n onClick={primaryAction.onClick}\n >\n {primaryAction.label}\n </button>\n )}\n\n {/* Workspace + User */}\n <div className={styles.mainActions}>\n <WorkspaceSwitcher\n workspaceName={workspaceName}\n workspaceAccount={workspaceAccount}\n fullWidth\n />\n <UserInfo\n userName={userName}\n userRole={userRole}\n userAvatar={userAvatar}\n />\n </div>\n </div>\n )}\n </header>\n );\n}\n"],"names":["IconBell","jsx","IconMenu","IconChevronDown","WorkspaceSwitcher","workspaceName","workspaceAccount","fullWidth","jsxs","styles","UserInfo","userName","userRole","userAvatar","initials","w","Header","variant","pageTitle","onMenuToggle","onNotifications","primaryAction","className","isDefault","isMobile","isMobileOpen","rootClass"],"mappings":"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"}
|
package/dist/index.esm9.js
CHANGED
|
@@ -1,78 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import e from "./index.
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { jsxs as n, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useId as D } from "react";
|
|
3
|
+
import e from "./index.esm17.js";
|
|
4
|
+
function E({
|
|
5
|
+
state: i = "Default",
|
|
6
|
+
label: o,
|
|
7
|
+
placeholder: p,
|
|
8
|
+
message: s,
|
|
9
|
+
iconLabel: c,
|
|
10
|
+
iconLeft: m,
|
|
11
|
+
iconRight: t,
|
|
12
|
+
value: h,
|
|
13
|
+
onChange: b,
|
|
14
|
+
id: u,
|
|
15
|
+
className: f,
|
|
16
|
+
...v
|
|
12
17
|
}) {
|
|
13
|
-
const i =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
}, [d, i]), !d) return null;
|
|
27
|
-
const b = o || t;
|
|
28
|
-
return /* @__PURE__ */ l(
|
|
29
|
-
"div",
|
|
30
|
-
{
|
|
31
|
-
className: e.overlay,
|
|
32
|
-
onClick: s,
|
|
33
|
-
role: "presentation",
|
|
34
|
-
children: /* @__PURE__ */ r(
|
|
35
|
-
"div",
|
|
18
|
+
const N = D(), r = u ?? N, l = i === "Disabled", d = i === "Error", j = [
|
|
19
|
+
e.field,
|
|
20
|
+
i === "Hover" ? e.hover : "",
|
|
21
|
+
i === "Active" ? e.active : "",
|
|
22
|
+
l ? e.disabled : "",
|
|
23
|
+
d ? e.error : "",
|
|
24
|
+
f
|
|
25
|
+
].filter(Boolean).join(" ");
|
|
26
|
+
return /* @__PURE__ */ n("div", { className: e.wrapper, children: [
|
|
27
|
+
o && /* @__PURE__ */ n("div", { className: e.labelRow, children: [
|
|
28
|
+
/* @__PURE__ */ a(
|
|
29
|
+
"label",
|
|
36
30
|
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"aria-labelledby": "modal-title",
|
|
41
|
-
"aria-describedby": n ? "modal-desc" : void 0,
|
|
42
|
-
onClick: (a) => a.stopPropagation(),
|
|
43
|
-
children: [
|
|
44
|
-
/* @__PURE__ */ r("div", { className: e.heading, children: [
|
|
45
|
-
/* @__PURE__ */ l("p", { id: "modal-title", className: e.title, children: m }),
|
|
46
|
-
n && /* @__PURE__ */ l("p", { id: "modal-desc", className: e.description, children: n })
|
|
47
|
-
] }),
|
|
48
|
-
c && /* @__PURE__ */ l("div", { className: e.body, children: c }),
|
|
49
|
-
b && /* @__PURE__ */ l("div", { className: e.actions, children: /* @__PURE__ */ r("div", { className: e.btns, children: [
|
|
50
|
-
t && /* @__PURE__ */ l(
|
|
51
|
-
"button",
|
|
52
|
-
{
|
|
53
|
-
type: "button",
|
|
54
|
-
className: e.btnSecondary,
|
|
55
|
-
onClick: t.onClick,
|
|
56
|
-
children: t.label
|
|
57
|
-
}
|
|
58
|
-
),
|
|
59
|
-
o && /* @__PURE__ */ l(
|
|
60
|
-
"button",
|
|
61
|
-
{
|
|
62
|
-
type: "button",
|
|
63
|
-
className: e.btnPrimary,
|
|
64
|
-
onClick: o.onClick,
|
|
65
|
-
children: o.label
|
|
66
|
-
}
|
|
67
|
-
)
|
|
68
|
-
] }) })
|
|
69
|
-
]
|
|
31
|
+
htmlFor: r,
|
|
32
|
+
className: [e.label, l ? e.labelDisabled : ""].filter(Boolean).join(" "),
|
|
33
|
+
children: o
|
|
70
34
|
}
|
|
71
|
-
)
|
|
72
|
-
|
|
73
|
-
|
|
35
|
+
),
|
|
36
|
+
c && /* @__PURE__ */ a("span", { className: e.labelIcon, "aria-hidden": "true", children: c })
|
|
37
|
+
] }),
|
|
38
|
+
/* @__PURE__ */ n("div", { className: j, children: [
|
|
39
|
+
m && /* @__PURE__ */ a("span", { className: e.icon, "aria-hidden": "true", children: m }),
|
|
40
|
+
/* @__PURE__ */ a(
|
|
41
|
+
"input",
|
|
42
|
+
{
|
|
43
|
+
id: r,
|
|
44
|
+
className: e.input,
|
|
45
|
+
placeholder: p,
|
|
46
|
+
disabled: l,
|
|
47
|
+
value: h,
|
|
48
|
+
onChange: b,
|
|
49
|
+
"aria-invalid": d,
|
|
50
|
+
"aria-describedby": s ? `${r}-message` : void 0,
|
|
51
|
+
...v
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
t && /* @__PURE__ */ a("span", { className: e.icon, "aria-hidden": "true", children: t })
|
|
55
|
+
] }),
|
|
56
|
+
s && /* @__PURE__ */ a(
|
|
57
|
+
"p",
|
|
58
|
+
{
|
|
59
|
+
id: `${r}-message`,
|
|
60
|
+
className: [e.message, d ? e.messageError : ""].filter(Boolean).join(" "),
|
|
61
|
+
children: s
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
] });
|
|
74
65
|
}
|
|
75
66
|
export {
|
|
76
|
-
|
|
67
|
+
E as Input
|
|
77
68
|
};
|
|
78
69
|
//# sourceMappingURL=index.esm9.js.map
|
package/dist/index.esm9.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm9.js","sources":["../components/
|
|
1
|
+
{"version":3,"file":"index.esm9.js","sources":["../components/Input/Input.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport styles from './Input.module.css';\n\nexport type InputState = 'Default' | 'Hover' | 'Active' | 'Disabled' | 'Error';\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /** Visual/interaction state. Defaults to 'Default'. */\n state?: InputState;\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}\n\nexport function Input({\n state = 'Default',\n label,\n placeholder,\n message,\n iconLabel,\n iconLeft,\n iconRight,\n value,\n onChange,\n id: idProp,\n className,\n ...props\n}: InputProps) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n\n const isDisabled = state === 'Disabled';\n const isError = state === 'Error';\n\n const fieldClass = [\n styles.field,\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 {iconLeft && (\n <span className={styles.icon} aria-hidden=\"true\">\n {iconLeft}\n </span>\n )}\n <input\n id={id}\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 {iconRight && (\n <span className={styles.icon} aria-hidden=\"true\">\n {iconRight}\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":["Input","state","label","placeholder","message","iconLabel","iconLeft","iconRight","value","onChange","idProp","className","props","generatedId","useId","id","isDisabled","isError","fieldClass","styles","jsxs","jsx"],"mappings":";;;AAwBO,SAASA,EAAM;AAAA,EACpB,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAIC;AAAA,EACJ,WAAAC;AAAA,EACA,GAAGC;AACL,GAAe;AACb,QAAMC,IAAcC,EAAA,GACdC,IAAKL,KAAUG,GAEfG,IAAaf,MAAU,YACvBgB,IAAUhB,MAAU,SAEpBiB,IAAa;AAAA,IACjBC,EAAO;AAAA,IACPlB,MAAU,UAAUkB,EAAO,QAAQ;AAAA,IACnClB,MAAU,WAAWkB,EAAO,SAAS;AAAA,IACrCH,IAAaG,EAAO,WAAW;AAAA,IAC/BF,IAAUE,EAAO,QAAQ;AAAA,IACzBR;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAWD,EAAO,SACpB,UAAA;AAAA,IAAAjB,KACC,gBAAAkB,EAAC,OAAA,EAAI,WAAWD,EAAO,UACrB,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAASN;AAAA,UACT,WAAW,CAACI,EAAO,OAAOH,IAAaG,EAAO,gBAAgB,EAAE,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,UAEV,UAAAjB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEFG,uBACE,QAAA,EAAK,WAAWc,EAAO,WAAW,eAAY,QAC5C,UAAAd,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IAGF,gBAAAe,EAAC,OAAA,EAAI,WAAWF,GACb,UAAA;AAAA,MAAAZ,uBACE,QAAA,EAAK,WAAWa,EAAO,MAAM,eAAY,QACvC,UAAAb,EAAA,CACH;AAAA,MAEF,gBAAAe;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAAN;AAAA,UACA,WAAWI,EAAO;AAAA,UAClB,aAAAhB;AAAA,UACA,UAAUa;AAAA,UACV,OAAAR;AAAA,UACA,UAAAC;AAAA,UACA,gBAAcQ;AAAA,UACd,oBAAkBb,IAAU,GAAGW,CAAE,aAAa;AAAA,UAC7C,GAAGH;AAAA,QAAA;AAAA,MAAA;AAAA,MAELL,uBACE,QAAA,EAAK,WAAWY,EAAO,MAAM,eAAY,QACvC,UAAAZ,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IAECH,KACC,gBAAAiB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI,GAAGN,CAAE;AAAA,QACT,WAAW,CAACI,EAAO,SAASF,IAAUE,EAAO,eAAe,EAAE,EAC3D,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QAEV,UAAAf;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GAEJ;AAEJ;"}
|
package/package.json
CHANGED
package/dist/index.cjs2.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F={brand:{primary:{base:"#203224"},secondary:{base:"#0F6C13"},tertiary:{base:"#E7DA10"}},default:{white:"#FFFFFF",textDark:"#524E69",textMedium:"#9490AC",disabled:"#EFEEF2",border:"#DCE5DE",stepDefault:"#E0DEED",whiteCloud:"#F5F5F5",modalBorder:"#E0DEED",modalTextMedium:"#757094"},message:{info:{base:"#2472BA"},danger:{base:"#FF3A29"}},gray:{900:"#101828",600:"#475467",500:"#667085",300:"#D0D5DD",200:"#EAECF0"},pagination:{active:"#0F6C13",border:"#CED4DA",text:"#101113"},alert:{default:{bg:"#F9F8FC",border:"#DCE5DE",title:"#524E69"},info:{bg:"#F4F9FF",border:"#C9E2FE",title:"#2472BA"},success:{bg:"#F5FBF7",border:"#CAE7D5",title:"#2C7D56"},warning:{bg:"#FFF9E9",border:"#FFDB90",title:"#A36A00"},error:{bg:"#FFF8F6",border:"#FFCABF",title:"#DE0000"}},shadow:{popper:"0px 1px 12px 0px rgba(25,27,35,0.15)"},primary:{600:"#154FEF",500:"#2970FF",400:"#5280FF",200:"#B2C9FF",100:"#DBE8FF"}};exports.colors=F;
|
|
2
|
-
//# sourceMappingURL=index.cjs2.js.map
|
package/dist/index.cjs2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs2.js","sources":["../tokens/colors.ts"],"sourcesContent":["/**\n * Color tokens — extracted directly from Figma (VekfomfsZU4q2iaY1j4VXP)\n * Nodes: BtnsBase (3107:5509), TextField (3105:3885), BaseCheckRadio (3106:4752),\n * FileUpload (3210:3538), Pagination (3203:662), NavPrimary (3554:548),\n * Modal (5139:1464), AlertSticky (3114:1706)\n */\n\nexport const colors = {\n brand: {\n primary: {\n /** #203224 — Secondary button bg; Fill button text; Check/Radio checked bg */\n base: '#203224',\n },\n secondary: {\n /** #0F6C13 — Outline button border & text */\n base: '#0F6C13',\n },\n tertiary: {\n /** #E7DA10 — Fill button background */\n base: '#E7DA10',\n },\n },\n default: {\n /** #FFFFFF — Secondary button text; input background */\n white: '#FFFFFF',\n /** #524E69 — Disabled text; input active/error text */\n textDark: '#524E69',\n /** #9490AC — Placeholder; input hover/active border; Grayscale/600 */\n textMedium: '#9490AC',\n /** #EFEEF2 — Disabled background; input focus ring; Grayscale/100 */\n disabled: '#EFEEF2',\n /** #DCE5DE — Default input border; Check/Radio border */\n border: '#DCE5DE',\n /** #E0DEED — Grayscale/200 · Default step background */\n stepDefault: '#E0DEED',\n /** #F5F5F5 — Default Colors/White Cloud · Nav sidebar background */\n whiteCloud: '#F5F5F5',\n /** #E0DEED — Grayscale/200 · Modal slot border */\n modalBorder: '#E0DEED',\n /** #757094 — Default Colors/Text medium · Modal slot text, option labels */\n modalTextMedium: '#757094',\n },\n message: {\n info: {\n /** #2472BA — Text button text */\n base: '#2472BA',\n },\n danger: {\n /** #FF3A29 — Error input border & message */\n base: '#FF3A29',\n },\n },\n /** Gray scale — FileUpload / Gray/x00 tokens */\n gray: {\n /** #101828 — Gray/900 · file name, body text */\n 900: '#101828',\n /** #475467 — Gray/600 · action icon color */\n 600: '#475467',\n /** #667085 — Gray/500 · file size, muted text */\n 500: '#667085',\n /** #D0D5DD — Gray/300 · upload drop-zone default border */\n 300: '#D0D5DD',\n /** #EAECF0 — Gray/200 · file item border, progress track */\n 200: '#EAECF0',\n },\n /** Pagination tokens — Pagination (3203:662) */\n pagination: {\n /** #0F6C13 — active item bg (= brand.secondary.base) */\n active: '#0F6C13',\n /** #CED4DA — Gray/Gray 4 · inactive item border, control border */\n border: '#CED4DA',\n /** #101113 — Dark/Dark 9 · page number text */\n text: '#101113',\n },\n /** Alert tokens — AlertSticky (3114:1706) */\n alert: {\n default: { bg: '#F9F8FC', border: '#DCE5DE', title: '#524E69' },\n info: { bg: '#F4F9FF', border: '#C9E2FE', title: '#2472BA' },\n success: { bg: '#F5FBF7', border: '#CAE7D5', title: '#2C7D56' },\n warning: { bg: '#FFF9E9', border: '#FFDB90', title: '#A36A00' },\n error: { bg: '#FFF8F6', border: '#FFCABF', title: '#DE0000' },\n },\n /** Shadow tokens */\n shadow: {\n /** 0px 1px 12px 0px rgba(25,27,35,0.15) — BS-Popper */\n popper: '0px 1px 12px 0px rgba(25,27,35,0.15)',\n },\n /** Blue primary scale — FileUpload / Primary/x00 tokens */\n primary: {\n /** #154FEF — Primary/600 · \"browse\" link color */\n 600: '#154FEF',\n /** #2970FF — Primary/500 · active drop-zone border, progress fill */\n 500: '#2970FF',\n /** #5280FF — Primary/400 */\n 400: '#5280FF',\n /** #B2C9FF — Primary/200 · file badge background */\n 200: '#B2C9FF',\n /** #DBE8FF — Primary/100 · file badge ring, active drop-zone bg */\n 100: '#DBE8FF',\n },\n} as const;\n\nexport type Colors = typeof colors;\n"],"names":["colors"],"mappings":"gFAOO,MAAMA,EAAS,CACpB,MAAO,CACL,QAAS,CAEP,KAAM,SAAA,EAER,UAAW,CAET,KAAM,SAAA,EAER,SAAU,CAER,KAAM,SAAA,CACR,EAEF,QAAS,CAEP,MAAO,UAEP,SAAU,UAEV,WAAY,UAEZ,SAAU,UAEV,OAAQ,UAER,YAAa,UAEb,WAAY,UAEZ,YAAa,UAEb,gBAAiB,SAAA,EAEnB,QAAS,CACP,KAAM,CAEJ,KAAM,SAAA,EAER,OAAQ,CAEN,KAAM,SAAA,CACR,EAGF,KAAM,CAEJ,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,SAAA,EAGP,WAAY,CAEV,OAAQ,UAER,OAAQ,UAER,KAAM,SAAA,EAGR,MAAO,CACL,QAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,KAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,QAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,QAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,MAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,CAAU,EAGhE,OAAQ,CAEN,OAAQ,sCAAA,EAGV,QAAS,CAEP,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,SAAA,CAET"}
|
package/dist/index.esm2.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
const F = {
|
|
2
|
-
brand: {
|
|
3
|
-
primary: {
|
|
4
|
-
/** #203224 — Secondary button bg; Fill button text; Check/Radio checked bg */
|
|
5
|
-
base: "#203224"
|
|
6
|
-
},
|
|
7
|
-
secondary: {
|
|
8
|
-
/** #0F6C13 — Outline button border & text */
|
|
9
|
-
base: "#0F6C13"
|
|
10
|
-
},
|
|
11
|
-
tertiary: {
|
|
12
|
-
/** #E7DA10 — Fill button background */
|
|
13
|
-
base: "#E7DA10"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
default: {
|
|
17
|
-
/** #FFFFFF — Secondary button text; input background */
|
|
18
|
-
white: "#FFFFFF",
|
|
19
|
-
/** #524E69 — Disabled text; input active/error text */
|
|
20
|
-
textDark: "#524E69",
|
|
21
|
-
/** #9490AC — Placeholder; input hover/active border; Grayscale/600 */
|
|
22
|
-
textMedium: "#9490AC",
|
|
23
|
-
/** #EFEEF2 — Disabled background; input focus ring; Grayscale/100 */
|
|
24
|
-
disabled: "#EFEEF2",
|
|
25
|
-
/** #DCE5DE — Default input border; Check/Radio border */
|
|
26
|
-
border: "#DCE5DE",
|
|
27
|
-
/** #E0DEED — Grayscale/200 · Default step background */
|
|
28
|
-
stepDefault: "#E0DEED",
|
|
29
|
-
/** #F5F5F5 — Default Colors/White Cloud · Nav sidebar background */
|
|
30
|
-
whiteCloud: "#F5F5F5",
|
|
31
|
-
/** #E0DEED — Grayscale/200 · Modal slot border */
|
|
32
|
-
modalBorder: "#E0DEED",
|
|
33
|
-
/** #757094 — Default Colors/Text medium · Modal slot text, option labels */
|
|
34
|
-
modalTextMedium: "#757094"
|
|
35
|
-
},
|
|
36
|
-
message: {
|
|
37
|
-
info: {
|
|
38
|
-
/** #2472BA — Text button text */
|
|
39
|
-
base: "#2472BA"
|
|
40
|
-
},
|
|
41
|
-
danger: {
|
|
42
|
-
/** #FF3A29 — Error input border & message */
|
|
43
|
-
base: "#FF3A29"
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
/** Gray scale — FileUpload / Gray/x00 tokens */
|
|
47
|
-
gray: {
|
|
48
|
-
/** #101828 — Gray/900 · file name, body text */
|
|
49
|
-
900: "#101828",
|
|
50
|
-
/** #475467 — Gray/600 · action icon color */
|
|
51
|
-
600: "#475467",
|
|
52
|
-
/** #667085 — Gray/500 · file size, muted text */
|
|
53
|
-
500: "#667085",
|
|
54
|
-
/** #D0D5DD — Gray/300 · upload drop-zone default border */
|
|
55
|
-
300: "#D0D5DD",
|
|
56
|
-
/** #EAECF0 — Gray/200 · file item border, progress track */
|
|
57
|
-
200: "#EAECF0"
|
|
58
|
-
},
|
|
59
|
-
/** Pagination tokens — Pagination (3203:662) */
|
|
60
|
-
pagination: {
|
|
61
|
-
/** #0F6C13 — active item bg (= brand.secondary.base) */
|
|
62
|
-
active: "#0F6C13",
|
|
63
|
-
/** #CED4DA — Gray/Gray 4 · inactive item border, control border */
|
|
64
|
-
border: "#CED4DA",
|
|
65
|
-
/** #101113 — Dark/Dark 9 · page number text */
|
|
66
|
-
text: "#101113"
|
|
67
|
-
},
|
|
68
|
-
/** Alert tokens — AlertSticky (3114:1706) */
|
|
69
|
-
alert: {
|
|
70
|
-
default: { bg: "#F9F8FC", border: "#DCE5DE", title: "#524E69" },
|
|
71
|
-
info: { bg: "#F4F9FF", border: "#C9E2FE", title: "#2472BA" },
|
|
72
|
-
success: { bg: "#F5FBF7", border: "#CAE7D5", title: "#2C7D56" },
|
|
73
|
-
warning: { bg: "#FFF9E9", border: "#FFDB90", title: "#A36A00" },
|
|
74
|
-
error: { bg: "#FFF8F6", border: "#FFCABF", title: "#DE0000" }
|
|
75
|
-
},
|
|
76
|
-
/** Shadow tokens */
|
|
77
|
-
shadow: {
|
|
78
|
-
/** 0px 1px 12px 0px rgba(25,27,35,0.15) — BS-Popper */
|
|
79
|
-
popper: "0px 1px 12px 0px rgba(25,27,35,0.15)"
|
|
80
|
-
},
|
|
81
|
-
/** Blue primary scale — FileUpload / Primary/x00 tokens */
|
|
82
|
-
primary: {
|
|
83
|
-
/** #154FEF — Primary/600 · "browse" link color */
|
|
84
|
-
600: "#154FEF",
|
|
85
|
-
/** #2970FF — Primary/500 · active drop-zone border, progress fill */
|
|
86
|
-
500: "#2970FF",
|
|
87
|
-
/** #5280FF — Primary/400 */
|
|
88
|
-
400: "#5280FF",
|
|
89
|
-
/** #B2C9FF — Primary/200 · file badge background */
|
|
90
|
-
200: "#B2C9FF",
|
|
91
|
-
/** #DBE8FF — Primary/100 · file badge ring, active drop-zone bg */
|
|
92
|
-
100: "#DBE8FF"
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
export {
|
|
96
|
-
F as colors
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=index.esm2.js.map
|
package/dist/index.esm2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm2.js","sources":["../tokens/colors.ts"],"sourcesContent":["/**\n * Color tokens — extracted directly from Figma (VekfomfsZU4q2iaY1j4VXP)\n * Nodes: BtnsBase (3107:5509), TextField (3105:3885), BaseCheckRadio (3106:4752),\n * FileUpload (3210:3538), Pagination (3203:662), NavPrimary (3554:548),\n * Modal (5139:1464), AlertSticky (3114:1706)\n */\n\nexport const colors = {\n brand: {\n primary: {\n /** #203224 — Secondary button bg; Fill button text; Check/Radio checked bg */\n base: '#203224',\n },\n secondary: {\n /** #0F6C13 — Outline button border & text */\n base: '#0F6C13',\n },\n tertiary: {\n /** #E7DA10 — Fill button background */\n base: '#E7DA10',\n },\n },\n default: {\n /** #FFFFFF — Secondary button text; input background */\n white: '#FFFFFF',\n /** #524E69 — Disabled text; input active/error text */\n textDark: '#524E69',\n /** #9490AC — Placeholder; input hover/active border; Grayscale/600 */\n textMedium: '#9490AC',\n /** #EFEEF2 — Disabled background; input focus ring; Grayscale/100 */\n disabled: '#EFEEF2',\n /** #DCE5DE — Default input border; Check/Radio border */\n border: '#DCE5DE',\n /** #E0DEED — Grayscale/200 · Default step background */\n stepDefault: '#E0DEED',\n /** #F5F5F5 — Default Colors/White Cloud · Nav sidebar background */\n whiteCloud: '#F5F5F5',\n /** #E0DEED — Grayscale/200 · Modal slot border */\n modalBorder: '#E0DEED',\n /** #757094 — Default Colors/Text medium · Modal slot text, option labels */\n modalTextMedium: '#757094',\n },\n message: {\n info: {\n /** #2472BA — Text button text */\n base: '#2472BA',\n },\n danger: {\n /** #FF3A29 — Error input border & message */\n base: '#FF3A29',\n },\n },\n /** Gray scale — FileUpload / Gray/x00 tokens */\n gray: {\n /** #101828 — Gray/900 · file name, body text */\n 900: '#101828',\n /** #475467 — Gray/600 · action icon color */\n 600: '#475467',\n /** #667085 — Gray/500 · file size, muted text */\n 500: '#667085',\n /** #D0D5DD — Gray/300 · upload drop-zone default border */\n 300: '#D0D5DD',\n /** #EAECF0 — Gray/200 · file item border, progress track */\n 200: '#EAECF0',\n },\n /** Pagination tokens — Pagination (3203:662) */\n pagination: {\n /** #0F6C13 — active item bg (= brand.secondary.base) */\n active: '#0F6C13',\n /** #CED4DA — Gray/Gray 4 · inactive item border, control border */\n border: '#CED4DA',\n /** #101113 — Dark/Dark 9 · page number text */\n text: '#101113',\n },\n /** Alert tokens — AlertSticky (3114:1706) */\n alert: {\n default: { bg: '#F9F8FC', border: '#DCE5DE', title: '#524E69' },\n info: { bg: '#F4F9FF', border: '#C9E2FE', title: '#2472BA' },\n success: { bg: '#F5FBF7', border: '#CAE7D5', title: '#2C7D56' },\n warning: { bg: '#FFF9E9', border: '#FFDB90', title: '#A36A00' },\n error: { bg: '#FFF8F6', border: '#FFCABF', title: '#DE0000' },\n },\n /** Shadow tokens */\n shadow: {\n /** 0px 1px 12px 0px rgba(25,27,35,0.15) — BS-Popper */\n popper: '0px 1px 12px 0px rgba(25,27,35,0.15)',\n },\n /** Blue primary scale — FileUpload / Primary/x00 tokens */\n primary: {\n /** #154FEF — Primary/600 · \"browse\" link color */\n 600: '#154FEF',\n /** #2970FF — Primary/500 · active drop-zone border, progress fill */\n 500: '#2970FF',\n /** #5280FF — Primary/400 */\n 400: '#5280FF',\n /** #B2C9FF — Primary/200 · file badge background */\n 200: '#B2C9FF',\n /** #DBE8FF — Primary/100 · file badge ring, active drop-zone bg */\n 100: '#DBE8FF',\n },\n} as const;\n\nexport type Colors = typeof colors;\n"],"names":["colors"],"mappings":"AAOO,MAAMA,IAAS;AAAA,EACpB,OAAO;AAAA,IACL,SAAS;AAAA;AAAA,MAEP,MAAM;AAAA,IAAA;AAAA,IAER,WAAW;AAAA;AAAA,MAET,MAAM;AAAA,IAAA;AAAA,IAER,UAAU;AAAA;AAAA,MAER,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,SAAS;AAAA;AAAA,IAEP,OAAO;AAAA;AAAA,IAEP,UAAU;AAAA;AAAA,IAEV,YAAY;AAAA;AAAA,IAEZ,UAAU;AAAA;AAAA,IAEV,QAAQ;AAAA;AAAA,IAER,aAAa;AAAA;AAAA,IAEb,YAAY;AAAA;AAAA,IAEZ,aAAa;AAAA;AAAA,IAEb,iBAAiB;AAAA,EAAA;AAAA,EAEnB,SAAS;AAAA,IACP,MAAM;AAAA;AAAA,MAEJ,MAAM;AAAA,IAAA;AAAA,IAER,QAAQ;AAAA;AAAA,MAEN,MAAM;AAAA,IAAA;AAAA,EACR;AAAA;AAAA,EAGF,MAAM;AAAA;AAAA,IAEJ,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,EAAA;AAAA;AAAA,EAGP,YAAY;AAAA;AAAA,IAEV,QAAQ;AAAA;AAAA,IAER,QAAQ;AAAA;AAAA,IAER,MAAM;AAAA,EAAA;AAAA;AAAA,EAGR,OAAO;AAAA,IACL,SAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,MAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,SAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,SAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,OAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,EAAU;AAAA;AAAA,EAGhE,QAAQ;AAAA;AAAA,IAEN,QAAQ;AAAA,EAAA;AAAA;AAAA,EAGV,SAAS;AAAA;AAAA,IAEP,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,EAAA;AAET;"}
|