@jcdecor/vue 0.1.0
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/README.md +68 -0
- package/dist/brand/Brand.d.ts +83 -0
- package/dist/brand/index.d.ts +2 -0
- package/dist/brand/paths.d.ts +43 -0
- package/dist/brand-CeSffe5P.js +320 -0
- package/dist/brand-CeSffe5P.js.map +1 -0
- package/dist/brand.d.ts +1 -0
- package/dist/brand.js +2 -0
- package/dist/charts/ChartCard.d.ts +32 -0
- package/dist/charts/charts.d.ts +124 -0
- package/dist/charts/echartsTheme.d.ts +19 -0
- package/dist/charts/index.d.ts +8 -0
- package/dist/charts/palette.d.ts +59 -0
- package/dist/charts.d.ts +1 -0
- package/dist/charts.js +473 -0
- package/dist/charts.js.map +1 -0
- package/dist/chat/ChatComposer.d.ts +34 -0
- package/dist/chat/ChatLayout.d.ts +53 -0
- package/dist/chat/ChatMessage.d.ts +26 -0
- package/dist/chat/ChatThread.d.ts +36 -0
- package/dist/chat/ConversationList.d.ts +22 -0
- package/dist/chat/TypingIndicator.d.ts +8 -0
- package/dist/chat/index.d.ts +9 -0
- package/dist/chat/node.d.ts +12 -0
- package/dist/chat/types.d.ts +38 -0
- package/dist/chat/utils.d.ts +25 -0
- package/dist/chat.d.ts +1 -0
- package/dist/chat.js +661 -0
- package/dist/chat.js.map +1 -0
- package/dist/colors-DUSEhAuo.js +32 -0
- package/dist/colors-DUSEhAuo.js.map +1 -0
- package/dist/components/ContentCard/ContentCard.d.ts +8 -0
- package/dist/components/ContentCard/ContentCard.types.d.ts +34 -0
- package/dist/components/ContentCard/ContentCard.vue.d.ts +35 -0
- package/dist/components/ContentCard/index.d.ts +1 -0
- package/dist/components/CouponCode/CouponCode.d.ts +20 -0
- package/dist/components/CouponCode/index.d.ts +1 -0
- package/dist/components/DataTable/DataTable.d.ts +95 -0
- package/dist/components/DataTable/index.d.ts +1 -0
- package/dist/components/KpiCard/KpiCard.d.ts +12 -0
- package/dist/components/KpiCard/KpiCard.types.d.ts +44 -0
- package/dist/components/KpiCard/KpiCard.vars.d.ts +3 -0
- package/dist/components/KpiCard/KpiCard.vue.d.ts +42 -0
- package/dist/components/KpiCard/KpiGroup.d.ts +10 -0
- package/dist/components/KpiCard/index.d.ts +1 -0
- package/dist/components/PageHeader/PageHeader.d.ts +29 -0
- package/dist/components/PageHeader/index.d.ts +1 -0
- package/dist/components/PriceTag/PriceTag.d.ts +21 -0
- package/dist/components/PriceTag/index.d.ts +1 -0
- package/dist/components/ProductCard/ProductCard.d.ts +12 -0
- package/dist/components/ProductCard/ProductCard.types.d.ts +53 -0
- package/dist/components/ProductCard/ProductCard.vue.d.ts +45 -0
- package/dist/components/ProductCard/index.d.ts +1 -0
- package/dist/components/PromoBanner/PromoBanner.d.ts +12 -0
- package/dist/components/PromoBanner/PromoBanner.types.d.ts +50 -0
- package/dist/components/PromoBanner/PromoBanner.vars.d.ts +2 -0
- package/dist/components/PromoBanner/PromoBanner.vue.d.ts +41 -0
- package/dist/components/PromoBanner/index.d.ts +1 -0
- package/dist/components/Tag/Tag.d.ts +18 -0
- package/dist/components/Tag/index.d.ts +1 -0
- package/dist/components/ThemeToggle/ThemeToggle.d.ts +10 -0
- package/dist/components/ThemeToggle/index.d.ts +1 -0
- package/dist/components/TokenSwatch/TokenSwatch.d.ts +21 -0
- package/dist/components/TokenSwatch/index.d.ts +1 -0
- package/dist/components/TopNav/TopNav.d.ts +9 -0
- package/dist/components/TopNav/TopNav.types.d.ts +50 -0
- package/dist/components/TopNav/TopNav.vue.d.ts +33 -0
- package/dist/components/TopNav/index.d.ts +1 -0
- package/dist/components/Typography/Typography.d.ts +41 -0
- package/dist/components/Typography/index.d.ts +1 -0
- package/dist/components/index.d.ts +13 -0
- package/dist/format-D40SMATK.js +108 -0
- package/dist/format-D40SMATK.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +2239 -0
- package/dist/index.js.map +1 -0
- package/dist/provider/JcProvider.d.ts +285 -0
- package/dist/styles.css +2 -0
- package/dist/theme/colors.d.ts +26 -0
- package/dist/theme/components/buttons.d.ts +2 -0
- package/dist/theme/components/combobox.d.ts +2 -0
- package/dist/theme/components/dataDisplay.d.ts +2 -0
- package/dist/theme/components/feedback.d.ts +2 -0
- package/dist/theme/components/index.d.ts +3 -0
- package/dist/theme/components/inputs.d.ts +2 -0
- package/dist/theme/components/layout.d.ts +2 -0
- package/dist/theme/components/misc.d.ts +2 -0
- package/dist/theme/components/navigation.d.ts +2 -0
- package/dist/theme/components/overlays.d.ts +2 -0
- package/dist/theme/components/types.d.ts +11 -0
- package/dist/theme/components/typography.d.ts +2 -0
- package/dist/theme/controls.d.ts +44 -0
- package/dist/theme/cssVariablesResolver.d.ts +2 -0
- package/dist/theme/theme.d.ts +3 -0
- package/dist/theme/themeDefaults.d.ts +18 -0
- package/dist/theme/tokens.d.ts +457 -0
- package/dist/theme/variantColorResolver.d.ts +9 -0
- package/dist/themeDefaults-Ckd05FUY.js +29 -0
- package/dist/themeDefaults-Ckd05FUY.js.map +1 -0
- package/dist/tokens-CDSk_JkY.js +315 -0
- package/dist/tokens-CDSk_JkY.js.map +1 -0
- package/dist/tokens.d.ts +2 -0
- package/dist/tokens.js +3 -0
- package/dist/utils/format.d.ts +14 -0
- package/dist/utils/styles-api.d.ts +15 -0
- package/dist/utils/vue.d.ts +27 -0
- package/package.json +109 -0
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
//#region src/theme/tokens.ts
|
|
2
|
+
var e = {
|
|
3
|
+
horizon: "#2663EB",
|
|
4
|
+
obsidian: "#08154B",
|
|
5
|
+
electric: "#F7D759",
|
|
6
|
+
evergreen: "#1E8540",
|
|
7
|
+
danger: "#D92D20",
|
|
8
|
+
white: "#FFFFFF"
|
|
9
|
+
}, t = {
|
|
10
|
+
horizon: {
|
|
11
|
+
50: "#F3F7FF",
|
|
12
|
+
100: "#E4EDFF",
|
|
13
|
+
200: "#C6DAFF",
|
|
14
|
+
300: "#A1C1FF",
|
|
15
|
+
400: "#6E9FFF",
|
|
16
|
+
500: "#407DFF",
|
|
17
|
+
600: "#2663EB",
|
|
18
|
+
700: "#0F4ACF",
|
|
19
|
+
800: "#0033AC",
|
|
20
|
+
900: "#002178"
|
|
21
|
+
},
|
|
22
|
+
obsidian: {
|
|
23
|
+
50: "#F1F5FE",
|
|
24
|
+
100: "#E0E8F9",
|
|
25
|
+
200: "#C5D1EC",
|
|
26
|
+
300: "#A1B1D5",
|
|
27
|
+
400: "#7285B4",
|
|
28
|
+
500: "#3D528A",
|
|
29
|
+
600: "#08154B",
|
|
30
|
+
700: "#040C3B",
|
|
31
|
+
800: "#02052A",
|
|
32
|
+
900: "#01021A"
|
|
33
|
+
},
|
|
34
|
+
electric: {
|
|
35
|
+
50: "#FFF9E1",
|
|
36
|
+
100: "#FEEFB7",
|
|
37
|
+
200: "#F9E07F",
|
|
38
|
+
300: "#F7D759",
|
|
39
|
+
400: "#D5A700",
|
|
40
|
+
500: "#BA8900",
|
|
41
|
+
600: "#A47000",
|
|
42
|
+
700: "#8D5900",
|
|
43
|
+
800: "#734300",
|
|
44
|
+
900: "#562C00"
|
|
45
|
+
},
|
|
46
|
+
evergreen: {
|
|
47
|
+
50: "#E9FBEC",
|
|
48
|
+
100: "#C9F3D2",
|
|
49
|
+
200: "#A8EDB5",
|
|
50
|
+
300: "#89D698",
|
|
51
|
+
400: "#61B875",
|
|
52
|
+
500: "#3E9C57",
|
|
53
|
+
600: "#1E8540",
|
|
54
|
+
700: "#006E2E",
|
|
55
|
+
800: "#005422",
|
|
56
|
+
900: "#003914"
|
|
57
|
+
},
|
|
58
|
+
danger: {
|
|
59
|
+
50: "#FFF4F2",
|
|
60
|
+
100: "#FFE6E2",
|
|
61
|
+
200: "#FFCBC2",
|
|
62
|
+
300: "#FFA698",
|
|
63
|
+
400: "#FF6C5A",
|
|
64
|
+
500: "#E84031",
|
|
65
|
+
600: "#D92D20",
|
|
66
|
+
700: "#AD0300",
|
|
67
|
+
800: "#860200",
|
|
68
|
+
900: "#5D0100"
|
|
69
|
+
},
|
|
70
|
+
gray: {
|
|
71
|
+
50: "#F6F7FA",
|
|
72
|
+
100: "#EAEFF7",
|
|
73
|
+
200: "#D7DBE3",
|
|
74
|
+
300: "#BFC3CB",
|
|
75
|
+
400: "#9FA3AB",
|
|
76
|
+
500: "#84888F",
|
|
77
|
+
600: "#6E7279",
|
|
78
|
+
700: "#4A4D54",
|
|
79
|
+
800: "#35383E",
|
|
80
|
+
900: "#1F2228"
|
|
81
|
+
}
|
|
82
|
+
}, n = [
|
|
83
|
+
"#E4E8EF",
|
|
84
|
+
"#BFC4CE",
|
|
85
|
+
"#9398A4",
|
|
86
|
+
"#636975",
|
|
87
|
+
"#373D49",
|
|
88
|
+
"#262B36",
|
|
89
|
+
"#1A1E27",
|
|
90
|
+
"#10141B",
|
|
91
|
+
"#0A0D13",
|
|
92
|
+
"#04060A"
|
|
93
|
+
], r = {
|
|
94
|
+
success: t.evergreen[600],
|
|
95
|
+
successBg: t.evergreen[50],
|
|
96
|
+
warn: t.electric[400],
|
|
97
|
+
warnBg: t.electric[50],
|
|
98
|
+
warnText: t.electric[700],
|
|
99
|
+
error: t.danger[600],
|
|
100
|
+
errorBg: t.danger[50]
|
|
101
|
+
}, i = {
|
|
102
|
+
light: {
|
|
103
|
+
bg: t.gray[50],
|
|
104
|
+
surface: "#FFFFFF",
|
|
105
|
+
surface2: t.gray[50],
|
|
106
|
+
text: t.gray[900],
|
|
107
|
+
text2: t.gray[700],
|
|
108
|
+
text3: t.gray[600],
|
|
109
|
+
border: "#8B9099",
|
|
110
|
+
borderSoft: t.gray[200],
|
|
111
|
+
primary: t.horizon[600],
|
|
112
|
+
primaryHover: t.horizon[700],
|
|
113
|
+
primarySoft: t.horizon[50],
|
|
114
|
+
accent: e.electric,
|
|
115
|
+
link: t.horizon[600],
|
|
116
|
+
successBg: t.evergreen[50],
|
|
117
|
+
warnBg: t.electric[50],
|
|
118
|
+
errorBg: t.danger[50],
|
|
119
|
+
shadowSm: "0 1px 2px rgba(31,34,40,.06), 0 1px 3px rgba(31,34,40,.08)",
|
|
120
|
+
shadowMd: "0 4px 12px rgba(31,34,40,.08), 0 2px 4px rgba(31,34,40,.04)",
|
|
121
|
+
shadowLg: "0 16px 40px rgba(31,34,40,.12), 0 4px 12px rgba(31,34,40,.06)"
|
|
122
|
+
},
|
|
123
|
+
dark: {
|
|
124
|
+
bg: n[7],
|
|
125
|
+
surface: n[6],
|
|
126
|
+
surface2: n[5],
|
|
127
|
+
text: n[0],
|
|
128
|
+
text2: n[1],
|
|
129
|
+
text3: n[2],
|
|
130
|
+
border: n[3],
|
|
131
|
+
borderSoft: n[5],
|
|
132
|
+
primary: t.horizon[400],
|
|
133
|
+
primaryHover: t.horizon[300],
|
|
134
|
+
primarySoft: "rgba(110,159,255,.14)",
|
|
135
|
+
accent: e.electric,
|
|
136
|
+
link: t.horizon[300],
|
|
137
|
+
successBg: "rgba(97,184,117,.14)",
|
|
138
|
+
warnBg: "rgba(247,215,89,.12)",
|
|
139
|
+
errorBg: "rgba(255,108,90,.14)",
|
|
140
|
+
shadowSm: "0 1px 3px rgba(0,0,0,.4)",
|
|
141
|
+
shadowMd: "0 4px 14px rgba(0,0,0,.45)",
|
|
142
|
+
shadowLg: "0 16px 40px rgba(0,0,0,.55)"
|
|
143
|
+
}
|
|
144
|
+
}, a = "'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif", o = {
|
|
145
|
+
displayLg: {
|
|
146
|
+
size: "clamp(40px, 2.4vw + 26px, 56px)",
|
|
147
|
+
weight: 700,
|
|
148
|
+
lineHeight: 1.1,
|
|
149
|
+
letterSpacing: "-0.02em",
|
|
150
|
+
px: "56/40",
|
|
151
|
+
label: "display-large"
|
|
152
|
+
},
|
|
153
|
+
displayMd: {
|
|
154
|
+
size: "clamp(36px, 1.8vw + 25px, 48px)",
|
|
155
|
+
weight: 700,
|
|
156
|
+
lineHeight: 1.15,
|
|
157
|
+
letterSpacing: "-0.02em",
|
|
158
|
+
px: "48/36",
|
|
159
|
+
label: "display-medium"
|
|
160
|
+
},
|
|
161
|
+
displaySm: {
|
|
162
|
+
size: "clamp(32px, 1.2vw + 25px, 40px)",
|
|
163
|
+
weight: 700,
|
|
164
|
+
lineHeight: 1.2,
|
|
165
|
+
letterSpacing: "-0.015em",
|
|
166
|
+
px: "40/32",
|
|
167
|
+
label: "display-small"
|
|
168
|
+
},
|
|
169
|
+
headlineLg: {
|
|
170
|
+
size: "clamp(26px, 0.9vw + 21px, 32px)",
|
|
171
|
+
weight: 600,
|
|
172
|
+
lineHeight: 1.25,
|
|
173
|
+
letterSpacing: "-0.01em",
|
|
174
|
+
px: "32/26",
|
|
175
|
+
label: "headline-large"
|
|
176
|
+
},
|
|
177
|
+
headlineMd: {
|
|
178
|
+
size: "24px",
|
|
179
|
+
weight: 600,
|
|
180
|
+
lineHeight: 1.33,
|
|
181
|
+
letterSpacing: "-0.005em",
|
|
182
|
+
px: "24",
|
|
183
|
+
label: "headline-medium"
|
|
184
|
+
},
|
|
185
|
+
headlineSm: {
|
|
186
|
+
size: "20px",
|
|
187
|
+
weight: 600,
|
|
188
|
+
lineHeight: 1.4,
|
|
189
|
+
letterSpacing: "0",
|
|
190
|
+
px: "20",
|
|
191
|
+
label: "headline-small"
|
|
192
|
+
},
|
|
193
|
+
subheadlineLg: {
|
|
194
|
+
size: "18px",
|
|
195
|
+
weight: 400,
|
|
196
|
+
lineHeight: 1.55,
|
|
197
|
+
letterSpacing: "0",
|
|
198
|
+
px: "18",
|
|
199
|
+
label: "body-large"
|
|
200
|
+
},
|
|
201
|
+
subheadlineRg: {
|
|
202
|
+
size: "16px",
|
|
203
|
+
weight: 400,
|
|
204
|
+
lineHeight: 1.5,
|
|
205
|
+
letterSpacing: "0",
|
|
206
|
+
px: "16",
|
|
207
|
+
label: "body"
|
|
208
|
+
},
|
|
209
|
+
subheadlineSm: {
|
|
210
|
+
size: "14px",
|
|
211
|
+
weight: 400,
|
|
212
|
+
lineHeight: 1.43,
|
|
213
|
+
letterSpacing: "0",
|
|
214
|
+
px: "14",
|
|
215
|
+
label: "body-small"
|
|
216
|
+
},
|
|
217
|
+
button: {
|
|
218
|
+
size: "14px",
|
|
219
|
+
weight: 600,
|
|
220
|
+
lineHeight: 1.43,
|
|
221
|
+
letterSpacing: "0.01em",
|
|
222
|
+
px: "14",
|
|
223
|
+
label: "button"
|
|
224
|
+
},
|
|
225
|
+
disclaimer: {
|
|
226
|
+
size: "12px",
|
|
227
|
+
weight: 500,
|
|
228
|
+
lineHeight: 1.33,
|
|
229
|
+
letterSpacing: "0.01em",
|
|
230
|
+
px: "12",
|
|
231
|
+
label: "caption"
|
|
232
|
+
}
|
|
233
|
+
}, s = {
|
|
234
|
+
0: "0px",
|
|
235
|
+
4: "4px",
|
|
236
|
+
8: "8px",
|
|
237
|
+
12: "12px",
|
|
238
|
+
16: "16px",
|
|
239
|
+
20: "20px",
|
|
240
|
+
24: "24px",
|
|
241
|
+
28: "28px",
|
|
242
|
+
32: "32px",
|
|
243
|
+
36: "36px",
|
|
244
|
+
40: "40px",
|
|
245
|
+
44: "44px",
|
|
246
|
+
48: "48px",
|
|
247
|
+
52: "52px",
|
|
248
|
+
56: "56px",
|
|
249
|
+
60: "60px",
|
|
250
|
+
64: "64px",
|
|
251
|
+
68: "68px",
|
|
252
|
+
72: "72px",
|
|
253
|
+
80: "80px",
|
|
254
|
+
100: "100px"
|
|
255
|
+
}, c = {
|
|
256
|
+
sm: "8px",
|
|
257
|
+
md: "12px",
|
|
258
|
+
lg: "16px"
|
|
259
|
+
}, l = {
|
|
260
|
+
max: "1224px",
|
|
261
|
+
gap: "24px",
|
|
262
|
+
margin: {
|
|
263
|
+
mobile: "20px",
|
|
264
|
+
tablet: "32px",
|
|
265
|
+
desktop: "64px"
|
|
266
|
+
},
|
|
267
|
+
columns: {
|
|
268
|
+
mobile: 4,
|
|
269
|
+
tablet: 8,
|
|
270
|
+
desktop: 12
|
|
271
|
+
},
|
|
272
|
+
breakpoints: {
|
|
273
|
+
mobile: 360,
|
|
274
|
+
tablet: 768,
|
|
275
|
+
desktop: 1366
|
|
276
|
+
}
|
|
277
|
+
}, u = {
|
|
278
|
+
light: [
|
|
279
|
+
"#2663EB",
|
|
280
|
+
"#1E8540",
|
|
281
|
+
"#D5A700",
|
|
282
|
+
"#08154B",
|
|
283
|
+
"#6E9FFF",
|
|
284
|
+
"#D92D20",
|
|
285
|
+
"#61B875",
|
|
286
|
+
"#84888F"
|
|
287
|
+
],
|
|
288
|
+
dark: [
|
|
289
|
+
"#6E9FFF",
|
|
290
|
+
"#61B875",
|
|
291
|
+
"#F7D759",
|
|
292
|
+
"#BFC4CE",
|
|
293
|
+
"#A1C1FF",
|
|
294
|
+
"#FF6C5A",
|
|
295
|
+
"#A8EDB5",
|
|
296
|
+
"#9398A4"
|
|
297
|
+
]
|
|
298
|
+
}, d = u.light.map((e, t) => `var(--jc-chart-${t + 1})`), f = {
|
|
299
|
+
brand: e,
|
|
300
|
+
ramps: t,
|
|
301
|
+
darkNeutrals: n,
|
|
302
|
+
feedback: r,
|
|
303
|
+
semantic: i,
|
|
304
|
+
fontFamily: a,
|
|
305
|
+
typography: o,
|
|
306
|
+
spacing: s,
|
|
307
|
+
radius: c,
|
|
308
|
+
grid: l,
|
|
309
|
+
chartColors: u,
|
|
310
|
+
chartPalette: d
|
|
311
|
+
};
|
|
312
|
+
//#endregion
|
|
313
|
+
export { r as a, c, s as d, f, n as i, t as l, u as n, a as o, o as p, d as r, l as s, e as t, i as u };
|
|
314
|
+
|
|
315
|
+
//# sourceMappingURL=tokens-CDSk_JkY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens-CDSk_JkY.js","names":["brand","ramps","darkNeutrals","feedback","semantic","fontFamily","typography","spacing","radius","grid","chartColors","chartPalette","i","tokens"],"sources":["../src/theme/tokens.ts"],"sourcesContent":["// @generated sincronizado de packages/ui/src/theme/tokens.ts — edite lá e rode `npm run sync -w @jcdecor/vue`\n/**\n * Tokens do Design System JC Decor — fonte da verdade do tema.\n *\n * v0.2 (out/2026): paleta e tipografia recalibradas a partir do site\n * jcdecor.com.br (azul #2663EB, Poppins em tamanhos fixos) com:\n * - rampas perceptuais em OKLCH (50 → 900, 600 = tom \"cheio\" de cada cor)\n * - neutros frios tingidos no matiz do azul (substituem o LightGray bege)\n * - todos os pares texto/fundo validados em WCAG AA (≥ 4,5:1; UI ≥ 3:1)\n * - proporção 60-30-10: neutros · azul/navy · amarelo de destaque\n * Nunca hard-code hex/px que estes tokens já carregam.\n */\n\n/** Cores-âncora da marca. */\nexport const brand = {\n /** Azul de ação (botões, links, preços) — 5,2:1 com branco */\n horizon: '#2663EB',\n /** Navy institucional (barra superior, hero, textos de marca) */\n obsidian: '#08154B',\n /** Amarelo de destaque — usar só como FUNDO com texto navy (12:1), nunca como texto */\n electric: '#F7D759',\n /** Verde de sucesso / Pix — 4,7:1 com branco */\n evergreen: '#1E8540',\n /** Vermelho de erro / desconto — 4,8:1 com branco */\n danger: '#D92D20',\n white: '#FFFFFF',\n} as const;\n\nexport type RampStep = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\ntype Ramp = Record<RampStep, string>;\n\n/** Rampas OKLCH. O tom 600 é a âncora de cada cor (exceto electric: âncora em 300). */\nexport const ramps: Record<'horizon' | 'obsidian' | 'electric' | 'evergreen' | 'danger' | 'gray', Ramp> = {\n horizon: { 50: '#F3F7FF', 100: '#E4EDFF', 200: '#C6DAFF', 300: '#A1C1FF', 400: '#6E9FFF', 500: '#407DFF', 600: '#2663EB', 700: '#0F4ACF', 800: '#0033AC', 900: '#002178' },\n obsidian: { 50: '#F1F5FE', 100: '#E0E8F9', 200: '#C5D1EC', 300: '#A1B1D5', 400: '#7285B4', 500: '#3D528A', 600: '#08154B', 700: '#040C3B', 800: '#02052A', 900: '#01021A' },\n /** Âncora #F7D759 em 300; tons escuros giram para âmbar (texto amarelo sobre branco: use 700+). */\n electric: { 50: '#FFF9E1', 100: '#FEEFB7', 200: '#F9E07F', 300: '#F7D759', 400: '#D5A700', 500: '#BA8900', 600: '#A47000', 700: '#8D5900', 800: '#734300', 900: '#562C00' },\n evergreen: { 50: '#E9FBEC', 100: '#C9F3D2', 200: '#A8EDB5', 300: '#89D698', 400: '#61B875', 500: '#3E9C57', 600: '#1E8540', 700: '#006E2E', 800: '#005422', 900: '#003914' },\n danger: { 50: '#FFF4F2', 100: '#FFE6E2', 200: '#FFCBC2', 300: '#FFA698', 400: '#FF6C5A', 500: '#E84031', 600: '#D92D20', 700: '#AD0300', 800: '#860200', 900: '#5D0100' },\n /** Neutro frio (OKLCH h 265, croma 0,012) — combina com o azul em vez de brigar com ele. */\n gray: { 50: '#F6F7FA', 100: '#EAEFF7', 200: '#D7DBE3', 300: '#BFC3CB', 400: '#9FA3AB', 500: '#84888F', 600: '#6E7279', 700: '#4A4D54', 800: '#35383E', 900: '#1F2228' },\n};\n\n/** Neutros do tema escuro (mesmo matiz, croma baixo — evita \"azul neon\" no escuro). */\nexport const darkNeutrals = ['#E4E8EF', '#BFC4CE', '#9398A4', '#636975', '#373D49', '#262B36', '#1A1E27', '#10141B', '#0A0D13', '#04060A'] as const;\n\nexport const feedback = {\n success: ramps.evergreen[600],\n successBg: ramps.evergreen[50],\n warn: ramps.electric[400],\n warnBg: ramps.electric[50],\n warnText: ramps.electric[700],\n error: ramps.danger[600],\n errorBg: ramps.danger[50],\n} as const;\n\n/** Tokens semânticos por tema (equivalentes às variáveis `--ds-*`). Contrastes medidos contra `surface`. */\nexport const semantic = {\n light: {\n bg: ramps.gray[50],\n surface: '#FFFFFF',\n surface2: ramps.gray[50],\n text: ramps.gray[900], // 15,9:1\n text2: ramps.gray[700], // 8,5:1\n text3: ramps.gray[600], // 4,8:1\n border: '#8B9099', // 3,2:1 — borda de campos (WCAG 1.4.11)\n borderSoft: ramps.gray[200], // divisores e cards (decorativo)\n primary: ramps.horizon[600],\n primaryHover: ramps.horizon[700],\n primarySoft: ramps.horizon[50],\n accent: brand.electric,\n link: ramps.horizon[600],\n successBg: ramps.evergreen[50],\n warnBg: ramps.electric[50],\n errorBg: ramps.danger[50],\n shadowSm: '0 1px 2px rgba(31,34,40,.06), 0 1px 3px rgba(31,34,40,.08)',\n shadowMd: '0 4px 12px rgba(31,34,40,.08), 0 2px 4px rgba(31,34,40,.04)',\n shadowLg: '0 16px 40px rgba(31,34,40,.12), 0 4px 12px rgba(31,34,40,.06)',\n },\n dark: {\n bg: darkNeutrals[7],\n surface: darkNeutrals[6],\n surface2: darkNeutrals[5],\n text: darkNeutrals[0], // 15:1\n text2: darkNeutrals[1], // 10,5:1\n text3: darkNeutrals[2], // 5,8:1\n border: darkNeutrals[3],\n borderSoft: darkNeutrals[5],\n primary: ramps.horizon[400], // 7:1 sobre o fundo\n primaryHover: ramps.horizon[300],\n primarySoft: 'rgba(110,159,255,.14)',\n accent: brand.electric,\n link: ramps.horizon[300],\n successBg: 'rgba(97,184,117,.14)',\n warnBg: 'rgba(247,215,89,.12)',\n errorBg: 'rgba(255,108,90,.14)',\n shadowSm: '0 1px 3px rgba(0,0,0,.4)',\n shadowMd: '0 4px 14px rgba(0,0,0,.45)',\n shadowLg: '0 16px 40px rgba(0,0,0,.55)',\n },\n} as const;\n\nexport const fontFamily = \"'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif\";\n\n/**\n * Escala tipográfica — razão ~1,25 (terça maior) sobre base 16px.\n * Texto de leitura e de UI tem tamanho FIXO (legibilidade e alinhamento consistentes);\n * só títulos de destaque (display, h1) são fluidos entre mobile e desktop.\n * Poppins tem x-height alto: entrelinha 1,5 no corpo e 1,2–1,3 nos títulos.\n */\nexport const typography = {\n displayLg: { size: 'clamp(40px, 2.4vw + 26px, 56px)', weight: 700, lineHeight: 1.1, letterSpacing: '-0.02em', px: '56/40', label: 'display-large' },\n displayMd: { size: 'clamp(36px, 1.8vw + 25px, 48px)', weight: 700, lineHeight: 1.15, letterSpacing: '-0.02em', px: '48/36', label: 'display-medium' },\n displaySm: { size: 'clamp(32px, 1.2vw + 25px, 40px)', weight: 700, lineHeight: 1.2, letterSpacing: '-0.015em', px: '40/32', label: 'display-small' },\n headlineLg: { size: 'clamp(26px, 0.9vw + 21px, 32px)', weight: 600, lineHeight: 1.25, letterSpacing: '-0.01em', px: '32/26', label: 'headline-large' },\n headlineMd: { size: '24px', weight: 600, lineHeight: 1.33, letterSpacing: '-0.005em', px: '24', label: 'headline-medium' },\n headlineSm: { size: '20px', weight: 600, lineHeight: 1.4, letterSpacing: '0', px: '20', label: 'headline-small' },\n subheadlineLg: { size: '18px', weight: 400, lineHeight: 1.55, letterSpacing: '0', px: '18', label: 'body-large' },\n subheadlineRg: { size: '16px', weight: 400, lineHeight: 1.5, letterSpacing: '0', px: '16', label: 'body' },\n subheadlineSm: { size: '14px', weight: 400, lineHeight: 1.43, letterSpacing: '0', px: '14', label: 'body-small' },\n button: { size: '14px', weight: 600, lineHeight: 1.43, letterSpacing: '0.01em', px: '14', label: 'button' },\n disclaimer: { size: '12px', weight: 500, lineHeight: 1.33, letterSpacing: '0.01em', px: '12', label: 'caption' },\n} as const;\n\nexport type TypographyToken = keyof typeof typography;\n\n/** Spacing — passos de 4px de 0 a 100. */\nexport const spacing = {\n 0: '0px', 4: '4px', 8: '8px', 12: '12px', 16: '16px', 20: '20px', 24: '24px', 28: '28px',\n 32: '32px', 36: '36px', 40: '40px', 44: '44px', 48: '48px', 52: '52px', 56: '56px',\n 60: '60px', 64: '64px', 68: '68px', 72: '72px', 80: '80px', 100: '100px',\n} as const;\n\n/** Raios: controles 8px, cards 12px (como os cards de produto do site), seções 16px. */\nexport const radius = { sm: '8px', md: '12px', lg: '16px' } as const;\n\n/** Grid: mobile 4col/16/20 · tablet 8col/24/32 · desktop 12col/24/64. */\nexport const grid = {\n max: '1224px',\n gap: '24px',\n margin: { mobile: '20px', tablet: '32px', desktop: '64px' },\n columns: { mobile: 4, tablet: 8, desktop: 12 },\n breakpoints: { mobile: 360, tablet: 768, desktop: 1366 },\n} as const;\n\n/** Cores das séries em gráficos por tema — vizinhos contrastantes e ≥ 3:1 contra o fundo. */\nexport const chartColors = {\n light: ['#2663EB', '#1E8540', '#D5A700', '#08154B', '#6E9FFF', '#D92D20', '#61B875', '#84888F'],\n dark: ['#6E9FFF', '#61B875', '#F7D759', '#BFC4CE', '#A1C1FF', '#FF6C5A', '#A8EDB5', '#9398A4'],\n} as const;\n\n/**\n * Ordem das séries em gráficos. São variáveis CSS (`--jc-chart-N`) que trocam\n * de valor entre claro/escuro — use como qualquer cor: `color={chartPalette[0]}`.\n */\nexport const chartPalette = chartColors.light.map((_, i) => `var(--jc-chart-${i + 1})`);\n\nexport const tokens = { brand, ramps, darkNeutrals, feedback, semantic, fontFamily, typography, spacing, radius, grid, chartColors, chartPalette };\nexport default tokens;\n"],"mappings":"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"}
|
package/dist/tokens.d.ts
ADDED
package/dist/tokens.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "./tokens-CDSk_JkY.js";
|
|
2
|
+
import { t as p } from "./colors-DUSEhAuo.js";
|
|
3
|
+
export { d as brand, o as chartColors, l as chartPalette, i as darkNeutrals, e as feedback, s as fontFamily, u as grid, p as jcColors, t as radius, a as ramps, f as semantic, n as spacing, r as tokens, c as typography };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Formatação pt-BR usada pelos componentes (KPIs, tabelas, preços, gráficos). */
|
|
2
|
+
export declare const LOCALE = "pt-BR";
|
|
3
|
+
export declare function formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
|
|
4
|
+
/** 1234.5 → "R$ 1.234,50" */
|
|
5
|
+
export declare function formatCurrency(value: number, options?: Intl.NumberFormatOptions): string;
|
|
6
|
+
/** -5.6 → "-5,6%" (recebe valor em pontos percentuais). `signed` adiciona "+" em positivos. */
|
|
7
|
+
export declare function formatPercent(value: number, { digits, signed }?: {
|
|
8
|
+
digits?: number | undefined;
|
|
9
|
+
signed?: boolean | undefined;
|
|
10
|
+
}): string;
|
|
11
|
+
/** 54959 → "55 mil" */
|
|
12
|
+
export declare function formatCompact(value: number): string;
|
|
13
|
+
export declare function formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
|
|
14
|
+
export declare function formatTime(value: Date | string | number): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StylesApiProps } from '@mantine-vue/core';
|
|
2
|
+
/**
|
|
3
|
+
* Mesmo contrato do `StylesApiProps` do Mantine Vue, redeclarado localmente: o compilador de SFC
|
|
4
|
+
* (`defineProps<T>()`) não consegue resolver um `extends` de interface genérica vinda de outro pacote.
|
|
5
|
+
*/
|
|
6
|
+
export interface JcStylesApiProps<Payload> {
|
|
7
|
+
/** Classes por seletor do Styles API (objeto ou função `(theme, props) => objeto`) */
|
|
8
|
+
classNames?: StylesApiProps<Payload>['classNames'];
|
|
9
|
+
/** Estilos inline por seletor do Styles API (objeto ou função `(theme, props) => objeto`) */
|
|
10
|
+
styles?: StylesApiProps<Payload>['styles'];
|
|
11
|
+
/** Resolver de variáveis CSS (`(theme, props) => ({ root: { '--x': … } })`) */
|
|
12
|
+
vars?: StylesApiProps<Payload>['vars'];
|
|
13
|
+
/** Remove as classes do componente (classNames, styles e variáveis continuam) @default false */
|
|
14
|
+
unstyled?: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type PropType, type VNodeChild } from 'vue';
|
|
2
|
+
import { type MantineNode } from '@mantine-vue/core';
|
|
3
|
+
/**
|
|
4
|
+
* Indica se há conteúdo renderizável. Diferente do `hasNode` do Mantine Vue, trata como vazio
|
|
5
|
+
* um slot que só devolveu comentários (`v-if` falso), texto em branco ou arrays/fragments vazios.
|
|
6
|
+
*/
|
|
7
|
+
export declare function hasContent(node: VNodeChild): boolean;
|
|
8
|
+
/** `resolveNode` do Mantine Vue (slot > prop) já normalizado para `undefined` quando vazio. */
|
|
9
|
+
export declare function resolveContent(prop: MantineNode | undefined, slot?: () => VNodeChild): VNodeChild;
|
|
10
|
+
/**
|
|
11
|
+
* Equivalente ao `if (onAction)` do React: devolve uma função que diz se o pai registrou um listener
|
|
12
|
+
* para o evento (`@action`, `v-model:favorite` → `onUpdate:favorite`…). Chame no setup e use a
|
|
13
|
+
* função durante o render.
|
|
14
|
+
*
|
|
15
|
+
* Os listeners de eventos declarados em `emits` não chegam em `attrs`, então a checagem é feita nas
|
|
16
|
+
* props do VNode do componente. Limitação do Vue: adicionar/remover só um listener (sem mudar
|
|
17
|
+
* nenhuma prop) não re-renderiza o filho.
|
|
18
|
+
*/
|
|
19
|
+
export declare function useListenerCheck(): (event: string) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Declaração runtime de uma prop `MantineNode` (texto, número, VNode ou função) para `defineComponent`.
|
|
22
|
+
* `type: null` aceita qualquer valor e evita o cast booleano do Vue.
|
|
23
|
+
*/
|
|
24
|
+
export declare const nodeProp: {
|
|
25
|
+
type: PropType<MantineNode>;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jcdecor/vue",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Design System JC Decor — tema, tokens e componentes Vue 3 sobre Mantine Vue.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/JC-Decor/design-system.git",
|
|
9
|
+
"directory": "packages/vue"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/JC-Decor/design-system#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/JC-Decor/design-system/issues"
|
|
14
|
+
},
|
|
15
|
+
"type": "module",
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"*.css"
|
|
18
|
+
],
|
|
19
|
+
"main": "./dist/index.js",
|
|
20
|
+
"module": "./dist/index.js",
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"import": "./dist/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./chat": {
|
|
28
|
+
"types": "./dist/chat.d.ts",
|
|
29
|
+
"import": "./dist/chat.js"
|
|
30
|
+
},
|
|
31
|
+
"./charts": {
|
|
32
|
+
"types": "./dist/charts.d.ts",
|
|
33
|
+
"import": "./dist/charts.js"
|
|
34
|
+
},
|
|
35
|
+
"./brand": {
|
|
36
|
+
"types": "./dist/brand.d.ts",
|
|
37
|
+
"import": "./dist/brand.js"
|
|
38
|
+
},
|
|
39
|
+
"./tokens": {
|
|
40
|
+
"types": "./dist/tokens.d.ts",
|
|
41
|
+
"import": "./dist/tokens.js"
|
|
42
|
+
},
|
|
43
|
+
"./styles.css": "./dist/styles.css",
|
|
44
|
+
"./package.json": "./package.json"
|
|
45
|
+
},
|
|
46
|
+
"files": [
|
|
47
|
+
"dist",
|
|
48
|
+
"README.md"
|
|
49
|
+
],
|
|
50
|
+
"keywords": [
|
|
51
|
+
"jcdecor",
|
|
52
|
+
"design-system",
|
|
53
|
+
"mantine",
|
|
54
|
+
"mantine-vue",
|
|
55
|
+
"vue"
|
|
56
|
+
],
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"access": "public"
|
|
59
|
+
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"sync": "node scripts/sync-shared.mjs",
|
|
62
|
+
"build": "vite build && vue-tsc -p tsconfig.build.json",
|
|
63
|
+
"dev": "vite build --watch",
|
|
64
|
+
"test": "vitest run",
|
|
65
|
+
"test:watch": "vitest",
|
|
66
|
+
"typecheck": "vue-tsc --noEmit",
|
|
67
|
+
"prepublishOnly": "npm run build && npm run test"
|
|
68
|
+
},
|
|
69
|
+
"peerDependencies": {
|
|
70
|
+
"@mantine-vue/charts": ">=3.5.0",
|
|
71
|
+
"@mantine-vue/core": ">=3.5.0",
|
|
72
|
+
"@mantine-vue/hooks": ">=3.5.0",
|
|
73
|
+
"@mantine-vue/utils": ">=3.5.0",
|
|
74
|
+
"echarts": ">=6.0.0",
|
|
75
|
+
"vue": ">=3.5.0",
|
|
76
|
+
"vue-echarts": ">=8.0.0"
|
|
77
|
+
},
|
|
78
|
+
"peerDependenciesMeta": {
|
|
79
|
+
"@mantine-vue/charts": {
|
|
80
|
+
"optional": true
|
|
81
|
+
},
|
|
82
|
+
"echarts": {
|
|
83
|
+
"optional": true
|
|
84
|
+
},
|
|
85
|
+
"vue-echarts": {
|
|
86
|
+
"optional": true
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"dependencies": {
|
|
90
|
+
"@tabler/icons-vue": "^3.49.0"
|
|
91
|
+
},
|
|
92
|
+
"devDependencies": {
|
|
93
|
+
"@mantine-vue/charts": "3.5.0",
|
|
94
|
+
"@mantine-vue/core": "3.5.0",
|
|
95
|
+
"@mantine-vue/hooks": "3.5.0",
|
|
96
|
+
"@mantine-vue/notifications": "3.5.0",
|
|
97
|
+
"@mantine-vue/store": "3.5.0",
|
|
98
|
+
"@mantine-vue/utils": "3.5.0",
|
|
99
|
+
"@testing-library/vue": "^8.1.0",
|
|
100
|
+
"@vitejs/plugin-vue": "^6.0.9",
|
|
101
|
+
"@vue/test-utils": "^2.4.6",
|
|
102
|
+
"echarts": "^6.0.0",
|
|
103
|
+
"postcss": "^8.5.0",
|
|
104
|
+
"postcss-preset-mantine": "^1.18.0",
|
|
105
|
+
"vue": "^3.5.22",
|
|
106
|
+
"vue-echarts": "^8.0.1",
|
|
107
|
+
"vue-tsc": "^3.1.0"
|
|
108
|
+
}
|
|
109
|
+
}
|