@snksergio/design-system 0.32.1 → 0.34.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/dist-lib/chunks/{input-BjUSWce3.cjs → input-CizzMZ20.cjs} +3 -3
- package/dist-lib/chunks/{input-BjUSWce3.cjs.map → input-CizzMZ20.cjs.map} +1 -1
- package/dist-lib/chunks/{input-DCDU4i4S.mjs → input-Cym0k4ZI.mjs} +2 -2
- package/dist-lib/chunks/{input-DCDU4i4S.mjs.map → input-Cym0k4ZI.mjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs → kpi-delta-DrSJPMCY.cjs} +8 -8
- package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs.map → kpi-delta-DrSJPMCY.cjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs → kpi-delta-FhfuIg27.mjs} +2 -2
- package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs.map → kpi-delta-FhfuIg27.mjs.map} +1 -1
- package/dist-lib/chunks/{page-header-D0rpU0yn.cjs → page-header-BMzUloFi.cjs} +4 -4
- package/dist-lib/chunks/{page-header-D0rpU0yn.cjs.map → page-header-BMzUloFi.cjs.map} +1 -1
- package/dist-lib/chunks/{page-header-B6XJyIMz.mjs → page-header-Buh6YlQM.mjs} +2 -2
- package/dist-lib/chunks/{page-header-B6XJyIMz.mjs.map → page-header-Buh6YlQM.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-8FiBxwcI.mjs → panel-Cdl0GPVE.mjs} +3 -3
- package/dist-lib/chunks/{panel-8FiBxwcI.mjs.map → panel-Cdl0GPVE.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-BOrETqXz.cjs → panel-DlyaLunw.cjs} +401 -401
- package/dist-lib/chunks/{panel-BOrETqXz.cjs.map → panel-DlyaLunw.cjs.map} +1 -1
- package/dist-lib/chunks/{app-shell-Cyh8AUJT.cjs → useTheme-D4alxxGV.cjs} +70 -4
- package/dist-lib/chunks/useTheme-D4alxxGV.cjs.map +1 -0
- package/dist-lib/chunks/{app-shell-78w0pYdP.mjs → useTheme-DF2xbSdI.mjs} +107 -41
- package/dist-lib/chunks/useTheme-DF2xbSdI.mjs.map +1 -0
- package/dist-lib/index.cjs +224 -154
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.mjs +110 -40
- package/dist-lib/index.mjs.map +1 -1
- package/dist-lib/preview/chat.cjs +54 -55
- package/dist-lib/preview/chat.cjs.map +1 -1
- package/dist-lib/preview/chat.mjs +2 -3
- package/dist-lib/preview/chat.mjs.map +1 -1
- package/dist-lib/preview/clientes.cjs +28 -29
- package/dist-lib/preview/clientes.cjs.map +1 -1
- package/dist-lib/preview/clientes.mjs +4 -5
- package/dist-lib/preview/clientes.mjs.map +1 -1
- package/dist-lib/preview/dashboard.cjs +24 -25
- package/dist-lib/preview/dashboard.cjs.map +1 -1
- package/dist-lib/preview/dashboard.mjs +3 -4
- package/dist-lib/preview/dashboard.mjs.map +1 -1
- package/dist-lib/src/components/index.d.ts +4 -0
- package/dist-lib/src/components/index.d.ts.map +1 -1
- package/dist-lib/src/components/ui/AppShell/app-shell.d.ts +3 -2
- package/dist-lib/src/components/ui/AppShell/app-shell.d.ts.map +1 -1
- package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts +21 -4
- package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts.map +1 -1
- package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts +13 -3
- package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts.map +1 -1
- package/dist-lib/src/hooks/useBrand.d.ts +49 -16
- package/dist-lib/src/hooks/useBrand.d.ts.map +1 -1
- package/dist-lib/theme/brand-blue.css +6 -3
- package/dist-lib/theme/brand-green.css +6 -3
- package/dist-lib/theme/brand-pay.css +6 -3
- package/dist-lib/theme/brand-vibrant.css +6 -3
- package/dist-lib/theme.css +5 -2
- package/package.json +4 -2
- package/dist-lib/chunks/app-shell-78w0pYdP.mjs.map +0 -1
- package/dist-lib/chunks/app-shell-Cyh8AUJT.cjs.map +0 -1
- package/dist-lib/chunks/useTheme-BUPLZBMs.mjs +0 -66
- package/dist-lib/chunks/useTheme-BUPLZBMs.mjs.map +0 -1
- package/dist-lib/chunks/useTheme-Dee4mo-A.cjs +0 -65
- package/dist-lib/chunks/useTheme-Dee4mo-A.cjs.map +0 -1
|
@@ -57,4 +57,8 @@ export type { InputProps, InputVariantProps, InputState } from './shadcn';
|
|
|
57
57
|
export { InputGroup, InputGroupInput, InputGroupTextarea, InputGroupAddon, InputGroupText, InputGroupButton, } from './shadcn';
|
|
58
58
|
export { inputGroupVariants } from './shadcn';
|
|
59
59
|
export type { InputGroupProps, InputGroupVariantProps, InputGroupInputProps, InputGroupTextareaProps, InputGroupAddonProps, InputGroupAddonAlign, InputGroupTextProps, InputGroupButtonProps, InputGroupState, } from './shadcn';
|
|
60
|
+
export { useBrand, BRANDS } from '../hooks/useBrand';
|
|
61
|
+
export type { Brand, BrandOption, UseBrandOptions } from '../hooks/useBrand';
|
|
62
|
+
export { useTheme } from '../hooks/useTheme';
|
|
63
|
+
export type { Theme } from '../hooks/useTheme';
|
|
60
64
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AAInC;;;;GAIG;AACH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,aAAa,IAAI,oBAAoB,EACrC,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE1E,OAAO,EACL,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,9 @@ import { AppShellProps } from './app-shell.types';
|
|
|
9
9
|
*
|
|
10
10
|
* **Padrão controlled/uncontrolled** pra `menuCollapsed`:
|
|
11
11
|
* - `menuCollapsed` prop → controlled (consumer gerencia state)
|
|
12
|
-
* - `defaultMenuCollapsed` → uncontrolled initial value
|
|
13
|
-
* - Sem nenhum dos dois → uncontrolled
|
|
12
|
+
* - `defaultMenuCollapsed` → uncontrolled initial value (vence a regra responsiva)
|
|
13
|
+
* - Sem nenhum dos dois → uncontrolled com default **responsivo**: colapsado
|
|
14
|
+
* abaixo de 1536px, expandido acima (ver o `useState` do `internalCollapsed`)
|
|
14
15
|
*
|
|
15
16
|
* Todas as outras props são **passthrough 1:1** pros sub-componentes.
|
|
16
17
|
* AppShell não impõe styling ao body além de gap/padding fixos — consumer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,EAEvB,QAAQ,EACR,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,WAAW,EAEX,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,KAAK,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EAEf,IAAI,EACJ,MAAM,EACN,cAAc,EACd,aAAa,EACb,UAAU,EACV,QAAQ,EAER,aAAa,EAAE,mBAAmB,EAClC,oBAAoB,EACpB,oBAAoB,EAEpB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,SAAS,GACV,EAAE,aAAa,2CAgHf;yBArJe,QAAQ"}
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* Layout 2-column: sidebar à esquerda (fixa, full-height) + main area
|
|
5
5
|
* à direita (Header sticky no topo + body abaixo).
|
|
6
6
|
*
|
|
7
|
-
* Body recebe `gap-gp-4xl` (24px) e
|
|
8
|
-
*
|
|
7
|
+
* Body recebe `gap-gp-4xl` (24px) fixo e padding responsivo em 3 patamares
|
|
8
|
+
* (18 / 24 / 32px — ver `bodyInner`) por design — slot "padronizado" pra todas
|
|
9
|
+
* as telas. Consumer customiza só os filhos.
|
|
9
10
|
*/
|
|
10
11
|
export declare const root: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
|
|
11
12
|
/** Wrapper da área principal (Header + Body). Ocupa o resto do flex row. */
|
|
@@ -26,8 +27,24 @@ export declare const body: import('tailwind-variants').TVReturnType<{} | {} | {}
|
|
|
26
27
|
* - `fluid` (default): ocupa 100% da largura disponível (atual)
|
|
27
28
|
* - `compact`: max-width 1368px (`--container-main-content-max`), centralizado
|
|
28
29
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
30
|
+
* Padding por faixa de viewport — 3 patamares, não 2:
|
|
31
|
+
*
|
|
32
|
+
* < 768px (max-md) 18px — telas pequenas precisam respiro mínimo mas não
|
|
33
|
+
* zero (chat/navegação por overlays usam o
|
|
34
|
+
* bodyInner cheio).
|
|
35
|
+
* 768–1535 (max-2xl) 24px — NOTEBOOK. Até 2026-08-04 esta faixa herdava os
|
|
36
|
+
* 32px do desktop: um 1366×768 gastava a mesma
|
|
37
|
+
* moldura de um 4K, com muito menos área útil.
|
|
38
|
+
* O corte é em `2xl` (1536) e não em `xl` (1280)
|
|
39
|
+
* porque 1366 e 1536 são as duas resoluções de
|
|
40
|
+
* notebook dominantes — cortar em `xl` deixaria a
|
|
41
|
+
* 1536 de fora justamente onde aperta.
|
|
42
|
+
* ≥ 1536px 32px — desktop, valor original preservado.
|
|
43
|
+
*
|
|
44
|
+
* ⚠️ `max-md:` tem que vencer `max-2xl:` abaixo de 768px. Vence por ordem de
|
|
45
|
+
* fonte: o Tailwind emite as variantes `max-*` em breakpoint DECRESCENTE, então
|
|
46
|
+
* a regra `max-md` sai depois da `max-2xl` com a mesma especificidade. Medido no
|
|
47
|
+
* browser nos 3 patamares, não deduzido — é a classe de erro da L-066.
|
|
31
48
|
*/
|
|
32
49
|
export declare const bodyInner: import('tailwind-variants').TVReturnType<{
|
|
33
50
|
layout: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.styles.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"app-shell.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,SAAS;;;;;IAUlB;;;;;;;OAOG;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;qDAUL,CAAC"}
|
|
@@ -92,17 +92,27 @@ export type AppShellProps = {
|
|
|
92
92
|
* interno (uncontrolled) — toggle do header dispara setInternal.
|
|
93
93
|
*/
|
|
94
94
|
menuCollapsed?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Estado inicial do collapse (uncontrolled). **Omitido, o default é responsivo:**
|
|
97
|
+
* colapsado abaixo de 1536px (mesma fronteira do padding do body), expandido
|
|
98
|
+
* acima — notebook perde ~200px de largura útil com o painel aberto.
|
|
99
|
+
*
|
|
100
|
+
* Passar valor explícito **vence** a regra responsiva, inclusive `false`.
|
|
101
|
+
* Aplicado só no mount: resize não re-colapsa, pra não brigar com quem abriu o
|
|
102
|
+
* menu na mão.
|
|
103
|
+
*/
|
|
95
104
|
defaultMenuCollapsed?: boolean;
|
|
96
105
|
onMenuCollapseChange?: (collapsed: boolean) => void;
|
|
97
|
-
/** Conteúdo do body — o que muda entre telas. Aplicado dentro de slot
|
|
98
|
-
*
|
|
106
|
+
/** Conteúdo do body — o que muda entre telas. Aplicado dentro de slot com
|
|
107
|
+
* gap 24px (`gap-gp-4xl`) e padding responsivo em 3 patamares:
|
|
108
|
+
* **18px** < 768px · **24px** 768–1535px (notebook) · **32px** ≥ 1536px. */
|
|
99
109
|
children: ReactNode;
|
|
100
110
|
/** ClassName extra no body slot (raro — use só pra ajustes pontuais). */
|
|
101
111
|
bodyClassName?: string;
|
|
102
112
|
/**
|
|
103
113
|
* Em mobile (<md), zera o padding interno do body — útil pra telas que
|
|
104
114
|
* controlam o próprio padding (chat com overlays fullscreen, mapas, etc).
|
|
105
|
-
* Default: false (
|
|
115
|
+
* Default: false (18px mobile · 24px notebook · 32px desktop).
|
|
106
116
|
*/
|
|
107
117
|
mobileEdgeToEdge?: boolean;
|
|
108
118
|
/** ClassName extra no root da AppShell (afeta toda a tela). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,aAAa,GAAG;IAE1B,wEAAwE;IACxE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAG9C,sEAAsE;IACtE,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,kEAAkE;IAClE,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,oCAAoC;IACpC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,6CAA6C;IAC7C,eAAe,CAAC,EAAE,SAAS,CAAC;IAG5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACvC,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAGtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAGpD;
|
|
1
|
+
{"version":3,"file":"app-shell.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,64 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Marcas disponíveis.
|
|
3
|
-
*
|
|
2
|
+
* Marcas disponíveis. `default` = tema-base (verde iGreen, sem `data-theme`); as
|
|
3
|
+
* outras 4 são overlays de cor escopados em `[data-theme="<id>"]`.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Marca nova: gere o overlay (`npm run tokens:brand:<x>`), importe no `globals.css`
|
|
6
|
+
* e acrescente aqui **e** no `BRANDS` abaixo. As 6 superfícies completas estão em
|
|
7
|
+
* `.claude/rules/ds-standards.md` §"Sistema multi-marca".
|
|
7
8
|
*/
|
|
8
9
|
export type Brand = "default" | "blue" | "green" | "pay" | "vibrant";
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
* Nova marca: gere o overlay, importe no globals.css, acrescente aqui e no type.
|
|
12
|
-
*/
|
|
13
|
-
export declare const BRANDS: {
|
|
10
|
+
/** Uma entrada de catálogo: o que o seletor precisa pra renderizar a opção. */
|
|
11
|
+
export type BrandOption = {
|
|
14
12
|
id: Brand;
|
|
15
13
|
label: string;
|
|
14
|
+
/** Cor do swatch no seletor. Aceita qualquer valor CSS de cor. */
|
|
16
15
|
swatch: string;
|
|
17
|
-
}
|
|
16
|
+
};
|
|
18
17
|
/**
|
|
19
|
-
*
|
|
18
|
+
* Catálogo COMPLETO — as 5 marcas que o DS publica. É a fonte única do seletor do
|
|
19
|
+
* showcase e o default do hook.
|
|
20
|
+
*
|
|
21
|
+
* ⚠️ Consumidor: só passe este catálogo inteiro se você importou os 5 overlays. Marca
|
|
22
|
+
* cujo CSS não está no bundle **não faz nada** quando selecionada — `data-theme` com id
|
|
23
|
+
* sem CSS é no-op silencioso. Se você instalou só um tema, passe um catálogo com ele:
|
|
24
|
+
* `useBrand({ brands: [{ id: "vibrant", label: "…", swatch: "…" }] })`.
|
|
25
|
+
*/
|
|
26
|
+
export declare const BRANDS: BrandOption[];
|
|
27
|
+
export type UseBrandOptions = {
|
|
28
|
+
/**
|
|
29
|
+
* Catálogo que o hook valida e percorre. Default: `BRANDS` (as 5 do DS).
|
|
30
|
+
*
|
|
31
|
+
* Passe um subconjunto quando o projeto importou só alguns overlays — o hook usa esta
|
|
32
|
+
* lista pra validar o valor persistido e pra ciclar no `toggle()`, então id fora dela
|
|
33
|
+
* é ignorado e cai no fallback. A **primeira** entrada é o fallback.
|
|
34
|
+
*/
|
|
35
|
+
brands?: BrandOption[];
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Hook de MARCA — eixo ortogonal ao dark/light (`useTheme`).
|
|
39
|
+
*
|
|
40
|
+
* - Aplica `data-theme="<marca>"` no `<html>`. A primeira entrada do catálogo é
|
|
41
|
+
* tratada como padrão: se ela for `default`, o atributo é REMOVIDO (o tema-base
|
|
42
|
+
* não tem overlay, então `default` = ausência de `data-theme`).
|
|
43
|
+
* - Persiste em `localStorage` e sincroniza instâncias (CustomEvent + storage).
|
|
44
|
+
* - Marca e dark/light são independentes: o overlay declara os 2 blocos
|
|
45
|
+
* (`[data-theme]:not(.dark)` e `.dark[data-theme]`), então os eixos combinam.
|
|
46
|
+
*
|
|
47
|
+
* ```tsx
|
|
48
|
+
* const { brand, brands, setBrand } = useBrand(); // as 5 do DS
|
|
49
|
+
* const { brand, setBrand } = useBrand({ brands: meus }); // só o que instalei
|
|
50
|
+
* ```
|
|
20
51
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* - Persiste em localStorage + sincroniza instâncias (CustomEvent + storage).
|
|
52
|
+
* ⚠️ Selecionar marca cujo CSS não está no bundle é **no-op silencioso** — o atributo
|
|
53
|
+
* entra no `<html>` e nenhuma regra casa. Mantenha o catálogo alinhado com os
|
|
54
|
+
* `@import` do seu CSS de entrada.
|
|
25
55
|
*/
|
|
26
|
-
export declare function useBrand(): {
|
|
56
|
+
export declare function useBrand(options?: UseBrandOptions): {
|
|
27
57
|
readonly brand: Brand;
|
|
58
|
+
readonly brands: BrandOption[];
|
|
59
|
+
readonly current: BrandOption;
|
|
28
60
|
readonly setBrand: (next: Brand) => void;
|
|
29
61
|
readonly toggle: () => void;
|
|
62
|
+
readonly isBrand: (value: unknown) => value is Brand;
|
|
30
63
|
};
|
|
31
64
|
//# sourceMappingURL=useBrand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBrand.d.ts","sourceRoot":"","sources":["../../../src/hooks/useBrand.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"useBrand.d.ts","sourceRoot":"","sources":["../../../src/hooks/useBrand.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;AAErE,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,EAAE,WAAW,EAM/B,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe;;;;8BAkCZ,KAAK;;8BAvB/B,OAAO,KAAG,KAAK,IAAI,KAAK;EA4EnC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* brand-blue.css — Auto-gerado. Não editar manualmente.
|
|
3
3
|
* Overlay de marca escopado (só o DIFF de cor vs. default). Coexiste com o tema-base.
|
|
4
|
-
* Source: tokens/brands/blue/semantic/*.ts
|
|
5
|
-
* Regenerar
|
|
4
|
+
* Source (repo do DS): tokens/brands/blue/semantic/*.ts
|
|
5
|
+
* Regenerar (só no repo do DS): npm run tokens:brand:blue
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* ATIVAR: importe este arquivo DEPOIS do tailwind-theme.css e ponha
|
|
8
|
+
* data-theme="blue" no <html>. Sem o atributo nada casa — e não dá erro.
|
|
9
|
+
* Seletor de marca em runtime: hook `useBrand` do pacote (≥ 0.33.0), ou
|
|
10
|
+
* setAttribute/removeAttribute na mão ("default" = remover o atributo).
|
|
8
11
|
*
|
|
9
12
|
* Os 2 blocos são MUTUAMENTE EXCLUSIVOS por construção (`:not(.dark)`). No dark,
|
|
10
13
|
* token ausente do bloco dark cai no `.dark` do tema-base de propósito: o diff só
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* brand-green.css — Auto-gerado. Não editar manualmente.
|
|
3
3
|
* Overlay de marca escopado (só o DIFF de cor vs. default). Coexiste com o tema-base.
|
|
4
|
-
* Source: tokens/brands/green/semantic/*.ts
|
|
5
|
-
* Regenerar
|
|
4
|
+
* Source (repo do DS): tokens/brands/green/semantic/*.ts
|
|
5
|
+
* Regenerar (só no repo do DS): npm run tokens:brand:green
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* ATIVAR: importe este arquivo DEPOIS do tailwind-theme.css e ponha
|
|
8
|
+
* data-theme="green" no <html>. Sem o atributo nada casa — e não dá erro.
|
|
9
|
+
* Seletor de marca em runtime: hook `useBrand` do pacote (≥ 0.33.0), ou
|
|
10
|
+
* setAttribute/removeAttribute na mão ("default" = remover o atributo).
|
|
8
11
|
*
|
|
9
12
|
* Os 2 blocos são MUTUAMENTE EXCLUSIVOS por construção (`:not(.dark)`). No dark,
|
|
10
13
|
* token ausente do bloco dark cai no `.dark` do tema-base de propósito: o diff só
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* brand-pay.css — Auto-gerado. Não editar manualmente.
|
|
3
3
|
* Overlay de marca escopado (só o DIFF de cor vs. default). Coexiste com o tema-base.
|
|
4
|
-
* Source: tokens/brands/pay/semantic/*.ts
|
|
5
|
-
* Regenerar
|
|
4
|
+
* Source (repo do DS): tokens/brands/pay/semantic/*.ts
|
|
5
|
+
* Regenerar (só no repo do DS): npm run tokens:brand:pay
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* ATIVAR: importe este arquivo DEPOIS do tailwind-theme.css e ponha
|
|
8
|
+
* data-theme="pay" no <html>. Sem o atributo nada casa — e não dá erro.
|
|
9
|
+
* Seletor de marca em runtime: hook `useBrand` do pacote (≥ 0.33.0), ou
|
|
10
|
+
* setAttribute/removeAttribute na mão ("default" = remover o atributo).
|
|
8
11
|
*
|
|
9
12
|
* Os 2 blocos são MUTUAMENTE EXCLUSIVOS por construção (`:not(.dark)`). No dark,
|
|
10
13
|
* token ausente do bloco dark cai no `.dark` do tema-base de propósito: o diff só
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* brand-vibrant.css — Auto-gerado. Não editar manualmente.
|
|
3
3
|
* Overlay de marca escopado (só o DIFF de cor vs. default). Coexiste com o tema-base.
|
|
4
|
-
* Source: tokens/brands/vibrant/semantic/*.ts
|
|
5
|
-
* Regenerar
|
|
4
|
+
* Source (repo do DS): tokens/brands/vibrant/semantic/*.ts
|
|
5
|
+
* Regenerar (só no repo do DS): npm run tokens:brand:vibrant
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* ATIVAR: importe este arquivo DEPOIS do tailwind-theme.css e ponha
|
|
8
|
+
* data-theme="vibrant" no <html>. Sem o atributo nada casa — e não dá erro.
|
|
9
|
+
* Seletor de marca em runtime: hook `useBrand` do pacote (≥ 0.33.0), ou
|
|
10
|
+
* setAttribute/removeAttribute na mão ("default" = remover o atributo).
|
|
8
11
|
*
|
|
9
12
|
* Os 2 blocos são MUTUAMENTE EXCLUSIVOS por construção (`:not(.dark)`). No dark,
|
|
10
13
|
* token ausente do bloco dark cai no `.dark` do tema-base de propósito: o diff só
|
package/dist-lib/theme.css
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* tailwind-theme.css — Auto-gerado. Não editar manualmente.
|
|
3
|
-
* Source of truth: tokens/brands/default/semantic/*.ts
|
|
4
|
-
* Regenerar:
|
|
3
|
+
* Source of truth (repo do DS): tokens/brands/default/semantic/*.ts
|
|
4
|
+
* Regenerar (só no repo do DS): npm run tokens:tw4
|
|
5
|
+
*
|
|
6
|
+
* No seu projeto: este arquivo é gerenciado pelo DS — edição some no próximo update.
|
|
7
|
+
* Customize na composição da tela (props/variantes + classes DS), não nos tokens.
|
|
5
8
|
*/
|
|
6
9
|
|
|
7
10
|
@theme {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snksergio/design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"//distribuicao": "Canal PRIMARIO = registry shadcn (copy-in) + CLI @snksergio/create-design-system; sobe sozinho no merge (Vercel). Canal SECUNDARIO = este pacote npm (@snksergio/design-system), funcional (build:lib gera ESM+CJS+types+theme.css) e publicado por passo MANUAL do mantenedor, entao costuma ficar atras do registry. NAO e depreciado — o texto anterior dizia isso e estava errado. Publish so pelo Passo 7 do .claude/skills/ds-dev/release.md (valida com `npm run lib:verify`, pede o token, publica, revoga). Ver DISTRIBUICAO.md.",
|
|
5
5
|
"description": "iGreen Design System — internal library for SaaS CRM, admin panels and dashboards. React 19 + Tailwind v4 + Shadcn + Radix.",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -91,9 +91,11 @@
|
|
|
91
91
|
"tokens:dtcg": "tsx tokens/transforms/to-dtcg.ts > dist/tokens.tokens.json",
|
|
92
92
|
"tokens:all": "npm run tokens:tw4 && npm run tokens:css && npm run tokens:dtcg",
|
|
93
93
|
"tokens:check": "tsc --noEmit",
|
|
94
|
+
"brand:check": "node scripts/brand-check.mjs",
|
|
95
|
+
"brand:contrast": "node scripts/brand-contrast.mjs",
|
|
94
96
|
"registry:stamp": "node scripts/registry-stamp.mjs",
|
|
95
97
|
"registry:build": "npm run examples:drift && npm run tokens:tw4 && npm run registry:stamp && npx shadcn build",
|
|
96
|
-
"release:check": "node scripts/registry-check.mjs && node scripts/distribution-debt.mjs --ci && node scripts/examples-drift-check.mjs && npm run registry-app:audit",
|
|
98
|
+
"release:check": "node scripts/registry-check.mjs --ci && node scripts/brand-check.mjs && node scripts/distribution-debt.mjs --ci && node scripts/examples-drift-check.mjs && npm run registry-app:audit",
|
|
97
99
|
"registry-app:audit": "npm audit --audit-level=high --prefix registry-app",
|
|
98
100
|
"distribution:debt": "node scripts/distribution-debt.mjs",
|
|
99
101
|
"lint:styles": "node scripts/lint-styles.mjs --ratchet origin/main",
|