@snksergio/design-system 0.1.0 → 0.4.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 +34 -1
- package/dist-lib/chunks/{app-shell-BNTvOETJ.mjs → app-shell-BdVam01i.cjs} +55 -55
- package/dist-lib/chunks/app-shell-BdVam01i.cjs.map +1 -0
- package/dist-lib/chunks/{app-shell-CDy42aNI.mjs → app-shell-C_enrPD8.mjs} +86 -86
- package/dist-lib/chunks/app-shell-C_enrPD8.mjs.map +1 -0
- package/dist-lib/chunks/{app-shell-mocks-oO_IV3Gw.mjs → app-shell-mocks-oO_IV3Gw.cjs} +1 -1
- package/dist-lib/chunks/{app-shell-mocks-oO_IV3Gw.mjs.map → app-shell-mocks-oO_IV3Gw.cjs.map} +1 -1
- package/dist-lib/chunks/{badge-B_2Zt52o.mjs → badge-B0D_PRxn.mjs} +10 -10
- package/dist-lib/chunks/badge-B0D_PRxn.mjs.map +1 -0
- package/dist-lib/chunks/{badge-DKpXURa1.mjs → badge-CUttkO1X.cjs} +10 -10
- package/dist-lib/chunks/badge-CUttkO1X.cjs.map +1 -0
- package/dist-lib/chunks/{chat-v2-mocks-BV9Wha_Z.mjs → chat-v2-mocks-BV9Wha_Z.cjs} +1 -1
- package/dist-lib/chunks/{chat-v2-mocks-BV9Wha_Z.mjs.map → chat-v2-mocks-BV9Wha_Z.cjs.map} +1 -1
- package/dist-lib/chunks/{chip-group-CsKBBHW2.mjs → chip-group-2-f_Yo7Y.cjs} +31 -64
- package/dist-lib/chunks/chip-group-2-f_Yo7Y.cjs.map +1 -0
- package/dist-lib/chunks/{chip-group-D3D0i72q.mjs → chip-group-_e-yh1Zq.mjs} +31 -64
- package/dist-lib/chunks/chip-group-_e-yh1Zq.mjs.map +1 -0
- package/dist-lib/chunks/{clientes-showcase-mocks-BMfbNNJh.mjs → clientes-showcase-mocks-CPNOhx1G.cjs} +3 -3
- package/dist-lib/chunks/clientes-showcase-mocks-CPNOhx1G.cjs.map +1 -0
- package/dist-lib/chunks/{clientes-showcase-mocks-Cq9u3nGZ.mjs → clientes-showcase-mocks-DEHCKxMK.mjs} +3 -3
- package/dist-lib/chunks/clientes-showcase-mocks-DEHCKxMK.mjs.map +1 -0
- package/dist-lib/chunks/{input-374MpdBL.mjs → input-BWevV7up.cjs} +3 -3
- package/dist-lib/chunks/input-BWevV7up.cjs.map +1 -0
- package/dist-lib/chunks/{input-DF4XAWmr.mjs → input-C9eKSSEb.mjs} +3 -3
- package/dist-lib/chunks/input-C9eKSSEb.mjs.map +1 -0
- package/dist-lib/chunks/{page-header-mC1gGtOI.mjs → page-header-DM2G1mdi.mjs} +3 -3
- package/dist-lib/chunks/page-header-DM2G1mdi.mjs.map +1 -0
- package/dist-lib/chunks/{page-header-Dw-3wqAG.mjs → page-header-qOywgRWy.cjs} +3 -3
- package/dist-lib/chunks/page-header-qOywgRWy.cjs.map +1 -0
- package/dist-lib/chunks/{panel-bzNmFlEZ.mjs → panel-CjfnpA-4.cjs} +532 -244
- package/dist-lib/chunks/panel-CjfnpA-4.cjs.map +1 -0
- package/dist-lib/chunks/{panel-Ds15whqp.mjs → panel-DZ7X1NZV.mjs} +547 -259
- package/dist-lib/chunks/panel-DZ7X1NZV.mjs.map +1 -0
- package/dist-lib/chunks/{useTheme-Dee4mo-A.mjs → useTheme-Dee4mo-A.cjs} +1 -1
- package/dist-lib/chunks/{useTheme-Dee4mo-A.mjs.map → useTheme-Dee4mo-A.cjs.map} +1 -1
- package/dist-lib/index.cjs +23 -76
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.mjs +89 -142
- package/dist-lib/index.mjs.map +1 -1
- package/dist-lib/preview/chat.cjs +38 -39
- package/dist-lib/preview/chat.cjs.map +1 -1
- package/dist-lib/preview/chat.mjs +35 -36
- package/dist-lib/preview/chat.mjs.map +1 -1
- package/dist-lib/preview/clientes.cjs +22 -22
- package/dist-lib/preview/clientes.cjs.map +1 -1
- package/dist-lib/preview/clientes.mjs +20 -20
- package/dist-lib/preview/clientes.mjs.map +1 -1
- package/dist-lib/preview/dashboard.cjs +40 -40
- package/dist-lib/preview/dashboard.cjs.map +1 -1
- package/dist-lib/preview/dashboard.mjs +38 -38
- package/dist-lib/preview/dashboard.mjs.map +1 -1
- package/dist-lib/preview/mocks.cjs +3 -3
- package/dist-lib/preview/mocks.mjs +1 -1
- package/dist-lib/theme.css +18 -122
- package/dist-lib/tokens.cjs +24 -160
- package/dist-lib/tokens.cjs.map +1 -1
- package/dist-lib/tokens.mjs +24 -160
- package/dist-lib/tokens.mjs.map +1 -1
- package/package.json +142 -142
- package/dist-lib/chunks/app-shell-BNTvOETJ.mjs.map +0 -1
- package/dist-lib/chunks/app-shell-CDy42aNI.mjs.map +0 -1
- package/dist-lib/chunks/badge-B_2Zt52o.mjs.map +0 -1
- package/dist-lib/chunks/badge-DKpXURa1.mjs.map +0 -1
- package/dist-lib/chunks/chip-group-CsKBBHW2.mjs.map +0 -1
- package/dist-lib/chunks/chip-group-D3D0i72q.mjs.map +0 -1
- package/dist-lib/chunks/clientes-showcase-mocks-BMfbNNJh.mjs.map +0 -1
- package/dist-lib/chunks/clientes-showcase-mocks-Cq9u3nGZ.mjs.map +0 -1
- package/dist-lib/chunks/input-374MpdBL.mjs.map +0 -1
- package/dist-lib/chunks/input-DF4XAWmr.mjs.map +0 -1
- package/dist-lib/chunks/page-header-Dw-3wqAG.mjs.map +0 -1
- package/dist-lib/chunks/page-header-mC1gGtOI.mjs.map +0 -1
- package/dist-lib/chunks/panel-Ds15whqp.mjs.map +0 -1
- package/dist-lib/chunks/panel-bzNmFlEZ.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -80,9 +80,25 @@ tokens/brands/default/
|
|
|
80
80
|
|
|
81
81
|
---
|
|
82
82
|
|
|
83
|
+
## Quick start (CLI)
|
|
84
|
+
|
|
85
|
+
Para criar um projeto novo do zero já consumindo o DS, com tudo configurado (Vite + React 19 + Tailwind v4 + tema light/dark + exemplo funcional):
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm create @snksergio/design-system my-app
|
|
89
|
+
cd my-app
|
|
90
|
+
npm run dev
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
O CLI pergunta o nome do projeto, package manager, se quer instalar deps e iniciar git. Em ~30 segundos você tem um app rodando em `http://localhost:3200` com 4 componentes do DS demonstrados. Sem precisar configurar nada manualmente, sem gotcha do `@source` do Tailwind v4.
|
|
94
|
+
|
|
95
|
+
Ver detalhes: [`cli/README.md`](cli/README.md).
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
83
99
|
## Install in external apps
|
|
84
100
|
|
|
85
|
-
|
|
101
|
+
Se você prefere adicionar o DS num projeto JÁ existente (ao invés de usar o CLI), é publicado como pacote NPM público (`@snksergio/design-system`):
|
|
86
102
|
|
|
87
103
|
```bash
|
|
88
104
|
npm install @snksergio/design-system
|
|
@@ -92,6 +108,23 @@ npm install @snksergio/design-system
|
|
|
92
108
|
- React 19+ (peer dep)
|
|
93
109
|
- Tailwind CSS v4 instalado e configurado
|
|
94
110
|
- Importar `@snksergio/design-system/theme.css` uma vez no entry CSS
|
|
111
|
+
- **Adicionar `@source` apontando pro `dist-lib/` do package** (ver abaixo) — sem isso, as classes utility usadas DENTRO dos componentes não são geradas pelo Tailwind v4
|
|
112
|
+
|
|
113
|
+
**Configuração mínima do CSS de entrada (`index.css` ou `globals.css`):**
|
|
114
|
+
|
|
115
|
+
```css
|
|
116
|
+
@import "tailwindcss";
|
|
117
|
+
|
|
118
|
+
/* Necessário: Tailwind v4 ignora node_modules por default.
|
|
119
|
+
Isso instrui ele a escanear os bundles do DS pra gerar
|
|
120
|
+
classes utility usadas DENTRO dos componentes
|
|
121
|
+
(gap-gp-md, rounded-radius-base, min-h-form-lg, etc.) */
|
|
122
|
+
@source "../node_modules/@snksergio/design-system/dist-lib/**/*.{mjs,cjs,js}";
|
|
123
|
+
|
|
124
|
+
@import "@snksergio/design-system/theme.css";
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
⚠️ **Esse `@source` é obrigatório.** Sem ele, os componentes ficam sem estilo (cores aparecem via CSS vars, mas spacing/radius/shadow/sizing somem porque as classes utility ficam órfãs).
|
|
95
128
|
|
|
96
129
|
**Uso:**
|
|
97
130
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const chipGroup = require("./chip-group-
|
|
4
|
+
const chipGroup = require("./chip-group-2-f_Yo7Y.cjs");
|
|
5
5
|
const lucideReact = require("lucide-react");
|
|
6
6
|
const cmdk = require("cmdk");
|
|
7
7
|
const SheetPrimitive = require("@radix-ui/react-dialog");
|
|
@@ -80,10 +80,10 @@ const breadcrumbItem = chipGroup.tv({
|
|
|
80
80
|
true: "text-fg-default font-semibold",
|
|
81
81
|
false: "text-fg-muted hover:text-fg-default cursor-pointer"
|
|
82
82
|
},
|
|
83
|
-
/** Quando único item no breadcrumb (= título da página), font-size sobe pra
|
|
83
|
+
/** Quando único item no breadcrumb (= título da página), font-size sobe pra 16px */
|
|
84
84
|
standalone: {
|
|
85
|
-
true: "text-
|
|
86
|
-
false: "text-
|
|
85
|
+
true: "text-body-lg",
|
|
86
|
+
false: "text-body-sm font-normal"
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
89
|
defaultVariants: { current: false, standalone: false }
|
|
@@ -96,7 +96,7 @@ const searchFakeInput = chipGroup.tv({
|
|
|
96
96
|
"inline-flex items-center gap-gp-md h-form-md w-[180px]",
|
|
97
97
|
"px-pad-xl rounded-radius-md",
|
|
98
98
|
"bg-bg-subtle border border-border-subtle cursor-pointer",
|
|
99
|
-
"text-fg-subtle text-
|
|
99
|
+
"text-fg-subtle text-body-sm font-normal",
|
|
100
100
|
"transition-colors duration-150",
|
|
101
101
|
"hover:bg-bg-muted hover:border-border-default",
|
|
102
102
|
"focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary"
|
|
@@ -113,7 +113,7 @@ const searchFakeInputKbd = chipGroup.tv({
|
|
|
113
113
|
"ml-auto inline-flex items-center justify-center",
|
|
114
114
|
"h-[20px] px-pad-xs rounded-radius-xs",
|
|
115
115
|
"bg-bg-canvas border border-border-subtle dark:bg-bg-muted",
|
|
116
|
-
"text-
|
|
116
|
+
"text-caption-xs font-semibold text-fg-muted tabular-nums shrink-0"
|
|
117
117
|
]
|
|
118
118
|
});
|
|
119
119
|
const hdWrap = chipGroup.tv({
|
|
@@ -140,13 +140,13 @@ const hdHeader = chipGroup.tv({
|
|
|
140
140
|
base: "flex items-center justify-between"
|
|
141
141
|
});
|
|
142
142
|
const hdTitle = chipGroup.tv({
|
|
143
|
-
base: "flex items-center gap-gp-sm text-
|
|
143
|
+
base: "flex items-center gap-gp-sm text-body-lg font-semibold text-fg-default"
|
|
144
144
|
});
|
|
145
145
|
const hdTitleCount = chipGroup.tv({
|
|
146
146
|
base: [
|
|
147
147
|
"inline-flex items-center justify-center min-w-[20px] h-[20px] px-pad-xs",
|
|
148
148
|
"rounded-radius-xs bg-bg-brand text-fg-on-brand",
|
|
149
|
-
"text-
|
|
149
|
+
"text-caption-sm font-bold tabular-nums"
|
|
150
150
|
]
|
|
151
151
|
});
|
|
152
152
|
const hdHeaderActions = chipGroup.tv({
|
|
@@ -165,7 +165,7 @@ chipGroup.tv({
|
|
|
165
165
|
base: "size-[14px] text-fg-muted shrink-0"
|
|
166
166
|
});
|
|
167
167
|
chipGroup.tv({
|
|
168
|
-
base: "flex-1 min-w-0 bg-transparent border-0 outline-none text-
|
|
168
|
+
base: "flex-1 min-w-0 bg-transparent border-0 outline-none text-body-sm font-normal text-fg-default placeholder:text-fg-subtle"
|
|
169
169
|
});
|
|
170
170
|
chipGroup.tv({
|
|
171
171
|
base: "flex items-center gap-gp-2xs p-[3px] rounded-radius-lg bg-bg-muted"
|
|
@@ -174,7 +174,7 @@ chipGroup.tv({
|
|
|
174
174
|
base: [
|
|
175
175
|
"inline-flex items-center justify-center gap-gp-xs",
|
|
176
176
|
"h-[28px] px-[10px] rounded-radius-sm",
|
|
177
|
-
"text-
|
|
177
|
+
"text-body-xs font-medium text-fg-muted cursor-pointer",
|
|
178
178
|
"bg-transparent border-0",
|
|
179
179
|
"transition-colors duration-150",
|
|
180
180
|
"hover:text-fg-default",
|
|
@@ -187,7 +187,7 @@ chipGroup.tv({
|
|
|
187
187
|
}
|
|
188
188
|
});
|
|
189
189
|
chipGroup.tv({
|
|
190
|
-
base: "text-
|
|
190
|
+
base: "text-caption-xs font-bold tabular-nums opacity-70"
|
|
191
191
|
});
|
|
192
192
|
const hdBody = chipGroup.tv({
|
|
193
193
|
base: "flex-1 overflow-y-auto p-pad-sm flex flex-col gap-px"
|
|
@@ -196,7 +196,7 @@ const hdEmpty = chipGroup.tv({
|
|
|
196
196
|
base: "flex flex-col items-center justify-center gap-gp-md py-pad-7xl text-fg-subtle"
|
|
197
197
|
});
|
|
198
198
|
const hdEmptyText = chipGroup.tv({
|
|
199
|
-
base: "text-
|
|
199
|
+
base: "text-body-md"
|
|
200
200
|
});
|
|
201
201
|
const hdNotif = chipGroup.tv({
|
|
202
202
|
base: [
|
|
@@ -214,13 +214,13 @@ const hdNotifBody = chipGroup.tv({
|
|
|
214
214
|
base: "flex-1 min-w-0 flex flex-col gap-gp-2xs"
|
|
215
215
|
});
|
|
216
216
|
const hdNotifTitle = chipGroup.tv({
|
|
217
|
-
base: "text-
|
|
217
|
+
base: "text-body-sm font-semibold text-fg-default leading-tight"
|
|
218
218
|
});
|
|
219
219
|
const hdNotifText = chipGroup.tv({
|
|
220
|
-
base: "text-
|
|
220
|
+
base: "text-body-xs font-normal text-fg-muted leading-snug line-clamp-2"
|
|
221
221
|
});
|
|
222
222
|
const hdNotifTime = chipGroup.tv({
|
|
223
|
-
base: "text-
|
|
223
|
+
base: "text-caption-sm text-fg-subtle"
|
|
224
224
|
});
|
|
225
225
|
const hdNotifDot = chipGroup.tv({
|
|
226
226
|
base: "shrink-0 mt-pad-xs w-[8px] h-[8px] rounded-full bg-bg-brand"
|
|
@@ -237,7 +237,7 @@ const hdMsg = chipGroup.tv({
|
|
|
237
237
|
const hdMsgAvatar = chipGroup.tv({
|
|
238
238
|
base: [
|
|
239
239
|
"flex-none grid place-items-center w-icon-lg h-icon-lg rounded-full",
|
|
240
|
-
"text-white text-
|
|
240
|
+
"text-white text-caption-sm font-bold uppercase tracking-[0.02em] leading-none"
|
|
241
241
|
]
|
|
242
242
|
});
|
|
243
243
|
const hdMsgBody = chipGroup.tv({
|
|
@@ -247,16 +247,16 @@ const hdMsgRow = chipGroup.tv({
|
|
|
247
247
|
base: "flex items-center justify-between gap-gp-sm"
|
|
248
248
|
});
|
|
249
249
|
const hdMsgName = chipGroup.tv({
|
|
250
|
-
base: "text-
|
|
250
|
+
base: "text-body-sm font-semibold text-fg-default truncate"
|
|
251
251
|
});
|
|
252
252
|
const hdMsgTime = chipGroup.tv({
|
|
253
|
-
base: "text-
|
|
253
|
+
base: "text-caption-sm text-fg-subtle shrink-0"
|
|
254
254
|
});
|
|
255
255
|
const hdMsgPreviewRow = chipGroup.tv({
|
|
256
256
|
base: "flex items-center gap-gp-sm"
|
|
257
257
|
});
|
|
258
258
|
const hdMsgPreview = chipGroup.tv({
|
|
259
|
-
base: "flex-1 min-w-0 text-
|
|
259
|
+
base: "flex-1 min-w-0 text-body-xs font-normal text-fg-muted truncate"
|
|
260
260
|
});
|
|
261
261
|
const hdMsgDot = chipGroup.tv({
|
|
262
262
|
base: "shrink-0 w-[8px] h-[8px] rounded-full bg-bg-brand"
|
|
@@ -268,7 +268,7 @@ const hdFooterLink = chipGroup.tv({
|
|
|
268
268
|
base: [
|
|
269
269
|
"inline-flex items-center justify-center gap-gp-sm",
|
|
270
270
|
"h-form-sm px-pad-lg rounded-radius-md w-full",
|
|
271
|
-
"text-
|
|
271
|
+
"text-body-sm font-medium text-fg-brand no-underline",
|
|
272
272
|
"transition-colors duration-150",
|
|
273
273
|
"hover:bg-bg-brand-subtle",
|
|
274
274
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring-brand"
|
|
@@ -374,7 +374,7 @@ const DialogContent = React__namespace.forwardRef(({ className, children, hideCl
|
|
|
374
374
|
{
|
|
375
375
|
ref,
|
|
376
376
|
className: chipGroup.cn(
|
|
377
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-gp-4xl rounded-radius-base bg-bg-surface p-pad-4xl text-
|
|
377
|
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-gp-4xl rounded-radius-base bg-bg-surface p-pad-4xl text-body-md text-fg-default shadow-sh-xl outline-float duration-200 sm:max-w-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
378
378
|
className
|
|
379
379
|
),
|
|
380
380
|
...props,
|
|
@@ -405,7 +405,7 @@ const DialogDescription = React__namespace.forwardRef(({ className, ...props },
|
|
|
405
405
|
SheetPrimitive__namespace.Description,
|
|
406
406
|
{
|
|
407
407
|
ref,
|
|
408
|
-
className: chipGroup.cn("text-
|
|
408
|
+
className: chipGroup.cn("text-body-md text-fg-muted", className),
|
|
409
409
|
...props
|
|
410
410
|
}
|
|
411
411
|
));
|
|
@@ -456,7 +456,7 @@ const CommandInput = React__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
456
456
|
ref,
|
|
457
457
|
className: chipGroup.cn(
|
|
458
458
|
"flex-1 min-w-0 bg-transparent border-0 outline-none",
|
|
459
|
-
"text-
|
|
459
|
+
"text-body-sm font-normal text-fg-default placeholder:text-fg-muted",
|
|
460
460
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
461
461
|
className
|
|
462
462
|
),
|
|
@@ -483,7 +483,7 @@ const CommandEmpty = React__namespace.forwardRef((props, ref) => /* @__PURE__ */
|
|
|
483
483
|
cmdk.Command.Empty,
|
|
484
484
|
{
|
|
485
485
|
ref,
|
|
486
|
-
className: "py-pad-5xl text-center text-
|
|
486
|
+
className: "py-pad-5xl text-center text-body-md text-fg-muted",
|
|
487
487
|
...props
|
|
488
488
|
}
|
|
489
489
|
));
|
|
@@ -496,7 +496,7 @@ const CommandGroup = React__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
496
496
|
"overflow-hidden text-fg-default",
|
|
497
497
|
"[&_[cmdk-group-heading]]:flex [&_[cmdk-group-heading]]:items-center",
|
|
498
498
|
"[&_[cmdk-group-heading]]:h-[28px] [&_[cmdk-group-heading]]:px-pad-xl",
|
|
499
|
-
"[&_[cmdk-group-heading]]:text-
|
|
499
|
+
"[&_[cmdk-group-heading]]:text-caption-xs [&_[cmdk-group-heading]]:font-bold",
|
|
500
500
|
"[&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wider",
|
|
501
501
|
"[&_[cmdk-group-heading]]:text-fg-subtle",
|
|
502
502
|
className
|
|
@@ -521,7 +521,7 @@ const CommandItem = React__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
521
521
|
className: chipGroup.cn(
|
|
522
522
|
"relative flex cursor-default select-none items-center gap-gp-md",
|
|
523
523
|
"rounded-radius-lg px-pad-xl py-pad-md",
|
|
524
|
-
"text-
|
|
524
|
+
"text-body-sm font-medium text-fg-muted",
|
|
525
525
|
"outline-none transition-colors",
|
|
526
526
|
"data-[selected='true']:bg-bg-muted data-[selected='true']:text-fg-default data-[selected='true']:[&_svg]:text-fg-default",
|
|
527
527
|
"data-[disabled='true']:pointer-events-none data-[disabled='true']:opacity-50",
|
|
@@ -540,7 +540,7 @@ const CommandShortcut = ({
|
|
|
540
540
|
"span",
|
|
541
541
|
{
|
|
542
542
|
className: chipGroup.cn(
|
|
543
|
-
"ml-auto text-
|
|
543
|
+
"ml-auto text-caption-sm tracking-wider text-fg-subtle",
|
|
544
544
|
className
|
|
545
545
|
),
|
|
546
546
|
...props
|
|
@@ -813,10 +813,10 @@ const inputGroupVariants = classVarianceAuthority.cva(
|
|
|
813
813
|
{
|
|
814
814
|
variants: {
|
|
815
815
|
size: {
|
|
816
|
-
xxs: "min-h-form-xs px-pad-md gap-gp-xs rounded-radius-md text-
|
|
817
|
-
xs: "min-h-form-sm px-pad-xl gap-gp-md rounded-radius-md text-
|
|
818
|
-
sm: "min-h-form-md px-pad-xl gap-gp-md rounded-radius-lg text-
|
|
819
|
-
md: "min-h-form-lg px-pad-xl gap-gp-md rounded-radius-lg text-
|
|
816
|
+
xxs: "min-h-form-xs px-pad-md gap-gp-xs rounded-radius-md text-body-sm font-normal",
|
|
817
|
+
xs: "min-h-form-sm px-pad-xl gap-gp-md rounded-radius-md text-body-sm font-normal",
|
|
818
|
+
sm: "min-h-form-md px-pad-xl gap-gp-md rounded-radius-lg text-body-sm font-normal",
|
|
819
|
+
md: "min-h-form-lg px-pad-xl gap-gp-md rounded-radius-lg text-body-sm font-normal"
|
|
820
820
|
},
|
|
821
821
|
state: {
|
|
822
822
|
default: "focus-within:border-border-brand focus-within:shadow-sh-ring",
|
|
@@ -843,7 +843,7 @@ const InputGroup = React__namespace.forwardRef(
|
|
|
843
843
|
InputGroup.displayName = "InputGroup";
|
|
844
844
|
const inputGroupInputVariants = classVarianceAuthority.cva([
|
|
845
845
|
"flex-1 min-w-0 bg-transparent border-0 outline-none",
|
|
846
|
-
"text-
|
|
846
|
+
"text-body-sm font-normal text-fg-default placeholder:text-fg-muted placeholder:opacity-70",
|
|
847
847
|
"disabled:cursor-not-allowed",
|
|
848
848
|
"file:inline-flex file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-fg-default"
|
|
849
849
|
]);
|
|
@@ -861,7 +861,7 @@ InputGroupInput.displayName = "InputGroupInput";
|
|
|
861
861
|
const inputGroupTextareaVariants = classVarianceAuthority.cva([
|
|
862
862
|
"flex-1 min-w-0 bg-transparent border-0 outline-none resize-y",
|
|
863
863
|
"py-pad-md",
|
|
864
|
-
"text-
|
|
864
|
+
"text-body-sm font-normal leading-[1.5] text-fg-default placeholder:text-fg-muted placeholder:opacity-70",
|
|
865
865
|
"disabled:cursor-not-allowed"
|
|
866
866
|
]);
|
|
867
867
|
const InputGroupTextarea = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -918,7 +918,7 @@ const InputGroupText = React__namespace.forwardRef(({ className, ...props }, ref
|
|
|
918
918
|
ref,
|
|
919
919
|
"data-slot": "input-group-text",
|
|
920
920
|
className: chipGroup.cn(
|
|
921
|
-
"text-
|
|
921
|
+
"text-body-xs text-fg-muted whitespace-nowrap",
|
|
922
922
|
className
|
|
923
923
|
),
|
|
924
924
|
...props
|
|
@@ -936,9 +936,9 @@ const inputGroupButtonVariants = classVarianceAuthority.cva(
|
|
|
936
936
|
{
|
|
937
937
|
variants: {
|
|
938
938
|
size: {
|
|
939
|
-
xs: "h-form-xs px-pad-md gap-gp-xs text-
|
|
939
|
+
xs: "h-form-xs px-pad-md gap-gp-xs text-body-xs font-normal",
|
|
940
940
|
"icon-xs": "size-form-xs",
|
|
941
|
-
sm: "h-form-sm px-pad-lg gap-gp-md text-
|
|
941
|
+
sm: "h-form-sm px-pad-lg gap-gp-md text-body-xs font-normal",
|
|
942
942
|
"icon-sm": "size-form-sm"
|
|
943
943
|
},
|
|
944
944
|
variant: {
|
|
@@ -1162,7 +1162,7 @@ const CONTAINER_CLASSES = [
|
|
|
1162
1162
|
const ITEM_BASE = [
|
|
1163
1163
|
"relative flex cursor-default select-none items-center",
|
|
1164
1164
|
"gap-pad-lg px-pad-lg py-pad-md rounded-radius-sm",
|
|
1165
|
-
"text-
|
|
1165
|
+
"text-body-sm font-medium",
|
|
1166
1166
|
"outline-none transition-colors",
|
|
1167
1167
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1168
1168
|
"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0"
|
|
@@ -1507,7 +1507,7 @@ const sidebarRailTooltip = chipGroup.tv({
|
|
|
1507
1507
|
"pointer-events-none absolute left-full ml-[14px] top-1/2 -translate-y-1/2",
|
|
1508
1508
|
"px-pad-md py-[5px] rounded-radius-sm",
|
|
1509
1509
|
"bg-fg-default text-bg-sidebar",
|
|
1510
|
-
"text-
|
|
1510
|
+
"text-caption-sm font-semibold tracking-[0.01em] whitespace-nowrap",
|
|
1511
1511
|
"opacity-0 group-hover/rail-item:opacity-100",
|
|
1512
1512
|
"transition-opacity duration-150 z-50",
|
|
1513
1513
|
"shadow-sh-md"
|
|
@@ -1529,7 +1529,7 @@ const sidebarRailUserDefault = chipGroup.tv({
|
|
|
1529
1529
|
base: [
|
|
1530
1530
|
"grid place-items-center w-9 h-9 rounded-full",
|
|
1531
1531
|
// tracking-[0.02em] preserva tracking original (preset usa +0.06em)
|
|
1532
|
-
"bg-bg-brand text-fg-on-brand font-bold text-
|
|
1532
|
+
"bg-bg-brand text-fg-on-brand font-bold text-caption-sm uppercase tracking-[0.02em]"
|
|
1533
1533
|
]
|
|
1534
1534
|
});
|
|
1535
1535
|
const sidebarPanel = chipGroup.tv({
|
|
@@ -1556,7 +1556,7 @@ const sidebarPanelTitle = chipGroup.tv({
|
|
|
1556
1556
|
"flex-1 min-w-0 inline-flex items-center gap-gp-sm",
|
|
1557
1557
|
"py-pad-sm px-pad-md rounded-radius-md",
|
|
1558
1558
|
"bg-transparent border-0 cursor-pointer text-left",
|
|
1559
|
-
"font-bold text-fg-default
|
|
1559
|
+
"text-body-md font-medium font-bold text-fg-default",
|
|
1560
1560
|
"transition-colors hover:bg-bg-sidebar-accent-hover",
|
|
1561
1561
|
"focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary"
|
|
1562
1562
|
]
|
|
@@ -1570,7 +1570,7 @@ const sidebarPanelGroup = chipGroup.tv({
|
|
|
1570
1570
|
const sidebarItem = chipGroup.tv({
|
|
1571
1571
|
base: [
|
|
1572
1572
|
"flex items-center gap-[11px] h-form-lg w-full px-pad-xl rounded-radius-md",
|
|
1573
|
-
"text-fg-default text-
|
|
1573
|
+
"text-fg-default text-body-sm font-medium text-left no-underline cursor-pointer",
|
|
1574
1574
|
"bg-transparent border-0",
|
|
1575
1575
|
"transition-colors duration-150",
|
|
1576
1576
|
// Hover usa sidebar-accent-hover (mineral subtle no light, alpha-12 no dark) —
|
|
@@ -1588,7 +1588,7 @@ const sidebarItem = chipGroup.tv({
|
|
|
1588
1588
|
]
|
|
1589
1589
|
},
|
|
1590
1590
|
subitem: {
|
|
1591
|
-
true: "h-form-sm px-pad-lg text-
|
|
1591
|
+
true: "h-form-sm px-pad-lg text-body-xs font-normal text-fg-muted hover:text-fg-default"
|
|
1592
1592
|
}
|
|
1593
1593
|
},
|
|
1594
1594
|
compoundVariants: [
|
|
@@ -1618,7 +1618,7 @@ const sidebarPill = chipGroup.tv({
|
|
|
1618
1618
|
"inline-flex items-center justify-center flex-none",
|
|
1619
1619
|
"min-w-[22px] h-[22px] px-[7px] rounded-radius-sm",
|
|
1620
1620
|
// tracking-[0.02em] e leading-none preservam visual original (preset usa +0.06em e lineHeight 14px)
|
|
1621
|
-
"text-
|
|
1621
|
+
"text-caption-sm font-bold leading-none tracking-[0.02em] tabular-nums"
|
|
1622
1622
|
],
|
|
1623
1623
|
variants: {
|
|
1624
1624
|
kind: {
|
|
@@ -1667,7 +1667,7 @@ const sidebarSectionHeader = chipGroup.tv({
|
|
|
1667
1667
|
base: [
|
|
1668
1668
|
"flex items-center gap-gp-sm px-pad-lg pt-pad-sm pb-pad-md",
|
|
1669
1669
|
"bg-transparent border-0 text-left cursor-pointer select-none w-full",
|
|
1670
|
-
"text-
|
|
1670
|
+
"text-caption-xs font-bold uppercase tracking-[0.06em] text-fg-default",
|
|
1671
1671
|
"transition-colors hover:text-fg-default",
|
|
1672
1672
|
"focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary rounded-radius-sm",
|
|
1673
1673
|
// Dark: enfraquecer (mais sutil)
|
|
@@ -1685,7 +1685,7 @@ const sidebarSectionChev = chipGroup.tv({
|
|
|
1685
1685
|
const sidebarSectionAdd = chipGroup.tv({
|
|
1686
1686
|
base: [
|
|
1687
1687
|
"ml-auto w-[18px] h-[18px] grid place-items-center rounded-radius-xs",
|
|
1688
|
-
"text-fg-muted bg-transparent border-0 cursor-pointer text-
|
|
1688
|
+
"text-fg-muted bg-transparent border-0 cursor-pointer text-body-md leading-none",
|
|
1689
1689
|
"transition-colors hover:bg-bg-sidebar-accent-hover hover:text-fg-default",
|
|
1690
1690
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring-secondary"
|
|
1691
1691
|
]
|
|
@@ -1707,7 +1707,7 @@ const sidebarSectionList = chipGroup.tv({
|
|
|
1707
1707
|
const sidebarSectionItem = chipGroup.tv({
|
|
1708
1708
|
base: [
|
|
1709
1709
|
"flex items-center gap-[11px] h-form-sm w-full px-pad-lg rounded-radius-md",
|
|
1710
|
-
"text-
|
|
1710
|
+
"text-body-xs font-medium text-fg-muted no-underline cursor-pointer",
|
|
1711
1711
|
"bg-transparent border-0 text-left",
|
|
1712
1712
|
"transition-colors duration-150",
|
|
1713
1713
|
"hover:bg-bg-sidebar-accent-hover hover:text-fg-default",
|
|
@@ -1721,7 +1721,7 @@ const sidebarChatAvatar = chipGroup.tv({
|
|
|
1721
1721
|
base: [
|
|
1722
1722
|
"flex-none grid place-items-center w-icon-lg h-icon-lg rounded-full",
|
|
1723
1723
|
// tracking-[0.02em] preserva o tracking original (preset usa +0.06em); leading-none mantém centralização vertical
|
|
1724
|
-
"text-white text-
|
|
1724
|
+
"text-white text-caption-xs font-bold uppercase tracking-[0.02em] leading-none"
|
|
1725
1725
|
]
|
|
1726
1726
|
});
|
|
1727
1727
|
const sidebarChatStatus = chipGroup.tv({
|
|
@@ -2348,7 +2348,7 @@ const AvatarFallback = React__namespace.forwardRef(({ className, ...props }, ref
|
|
|
2348
2348
|
{
|
|
2349
2349
|
ref,
|
|
2350
2350
|
className: chipGroup.cn(
|
|
2351
|
-
"flex h-full w-full items-center justify-center rounded-full bg-bg-muted text-fg-muted text-
|
|
2351
|
+
"flex h-full w-full items-center justify-center rounded-full bg-bg-muted text-fg-muted text-body-sm font-normal",
|
|
2352
2352
|
className
|
|
2353
2353
|
),
|
|
2354
2354
|
...props
|
|
@@ -2383,7 +2383,7 @@ function UserMenu({
|
|
|
2383
2383
|
"aria-label": `Menu do usuário (${user.name})`,
|
|
2384
2384
|
className: [
|
|
2385
2385
|
"grid place-items-center w-9 h-9 rounded-full shrink-0",
|
|
2386
|
-
"bg-bg-brand text-fg-on-brand text-
|
|
2386
|
+
"bg-bg-brand text-fg-on-brand text-caption-sm font-bold uppercase tracking-[0.02em]",
|
|
2387
2387
|
"cursor-pointer transition-opacity duration-150",
|
|
2388
2388
|
"hover:opacity-90",
|
|
2389
2389
|
"focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary",
|
|
@@ -2412,13 +2412,13 @@ function UserMenu({
|
|
|
2412
2412
|
style: user.avatarColor ? { background: user.avatarColor } : void 0,
|
|
2413
2413
|
children: [
|
|
2414
2414
|
user.avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.avatarSrc, alt: user.name }),
|
|
2415
|
-
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-bg-brand text-fg-on-brand text-
|
|
2415
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-bg-brand text-fg-on-brand text-body-xs font-bold uppercase", children: initials })
|
|
2416
2416
|
]
|
|
2417
2417
|
}
|
|
2418
2418
|
),
|
|
2419
2419
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col min-w-0 flex-1", children: [
|
|
2420
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
2421
|
-
user.email && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
2420
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body-sm font-medium text-fg-default truncate", children: user.name }),
|
|
2421
|
+
user.email && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-caption-sm text-fg-muted truncate", children: user.email })
|
|
2422
2422
|
] })
|
|
2423
2423
|
] }),
|
|
2424
2424
|
hasGroups && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
@@ -2426,7 +2426,7 @@ function UserMenu({
|
|
|
2426
2426
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { children: [
|
|
2427
2427
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutGrid, {}),
|
|
2428
2428
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Layout" }),
|
|
2429
|
-
currentLayoutLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-
|
|
2429
|
+
currentLayoutLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-caption-sm text-fg-subtle", children: currentLayoutLabel })
|
|
2430
2430
|
] }),
|
|
2431
2431
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2432
2432
|
DropdownMenuRadioGroup,
|
|
@@ -2447,7 +2447,7 @@ function UserMenu({
|
|
|
2447
2447
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { children: [
|
|
2448
2448
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.SunMoon, {}),
|
|
2449
2449
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Tema" }),
|
|
2450
|
-
currentThemeLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-
|
|
2450
|
+
currentThemeLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-caption-sm text-fg-subtle", children: currentThemeLabel })
|
|
2451
2451
|
] }),
|
|
2452
2452
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2453
2453
|
DropdownMenuRadioGroup,
|
|
@@ -2678,4 +2678,4 @@ exports.SidebarSubgroup = SidebarSubgroup;
|
|
|
2678
2678
|
exports.UserMenu = UserMenu;
|
|
2679
2679
|
exports.useControllable = useControllable;
|
|
2680
2680
|
exports.useMediaQuery = useMediaQuery;
|
|
2681
|
-
//# sourceMappingURL=app-shell-
|
|
2681
|
+
//# sourceMappingURL=app-shell-BdVam01i.cjs.map
|