@wellingtonhlc/shared-ui 0.24.2 → 0.24.4
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 +53 -7
- package/dist/components/Page.d.ts +12 -1
- package/dist/components/Page.d.ts.map +1 -1
- package/dist/components/Page.js +26 -1
- package/dist/components/Tooltip.d.ts +2 -1
- package/dist/components/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip.js +36 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/styles.css +31 -0
- package/package.json +15 -3
package/README.md
CHANGED
|
@@ -55,6 +55,10 @@ Nao inclua:
|
|
|
55
55
|
|
|
56
56
|
| Comando | Uso |
|
|
57
57
|
|---------|-----|
|
|
58
|
+
| `npm run typecheck` | Valida tipos sem emitir arquivos. |
|
|
59
|
+
| `npm run test` | Executa testes de contrato e acessibilidade com Vitest, Testing Library e axe. |
|
|
60
|
+
| `npm run check:storybook-static` | Confere se o Storybook estatico gerado possui artefatos e stories publicas. |
|
|
61
|
+
| `npm run check` | Gate local completo: typecheck, testes, build, Storybook, smoke do Storybook estatico e `npm pack --dry-run`. |
|
|
58
62
|
| `npm run build` | Compila TypeScript e copia assets para `dist`. |
|
|
59
63
|
| `npm run prepack` | Executado automaticamente antes de empacotar/publicar. |
|
|
60
64
|
| `npm run storybook` | Sobe o Storybook local. |
|
|
@@ -74,8 +78,22 @@ Antes de publicar ou consumir localmente uma alteracao visual, gere tambem a bui
|
|
|
74
78
|
|
|
75
79
|
```bash
|
|
76
80
|
npm run build-storybook
|
|
81
|
+
npm run check:storybook-static
|
|
77
82
|
```
|
|
78
83
|
|
|
84
|
+
## Qualidade publica
|
|
85
|
+
|
|
86
|
+
Todo export publico deve ter pelo menos uma destas evidencias:
|
|
87
|
+
|
|
88
|
+
- teste de contrato observavel em `tests/`;
|
|
89
|
+
- story em `stories/` cobrindo uso real, estados e variantes;
|
|
90
|
+
- justificativa explicita na spec/PR quando o export for puramente auxiliar.
|
|
91
|
+
|
|
92
|
+
Componentes interativos devem preservar acessibilidade verificavel: labels, roles, atributos
|
|
93
|
+
`aria-*`, estado `disabled`/`loading`/`selected` quando aplicavel, foco e callbacks publicos.
|
|
94
|
+
O gate `npm run test` inclui axe em composicoes representativas e nao deve ser burlado com
|
|
95
|
+
snapshots de classe completa.
|
|
96
|
+
|
|
79
97
|
## Exportacoes
|
|
80
98
|
|
|
81
99
|
Entrada principal:
|
|
@@ -84,6 +102,14 @@ Entrada principal:
|
|
|
84
102
|
import { Button, Card, Modal, Table, cn } from '@wellingtonhlc/shared-ui';
|
|
85
103
|
```
|
|
86
104
|
|
|
105
|
+
Subpaths recomendados para telas grandes ou rotas lazy-loaded:
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
import { Button } from '@wellingtonhlc/shared-ui/components/Button';
|
|
109
|
+
import { Table } from '@wellingtonhlc/shared-ui/components/Table';
|
|
110
|
+
import { cn } from '@wellingtonhlc/shared-ui/utils/cn';
|
|
111
|
+
```
|
|
112
|
+
|
|
87
113
|
Estilos:
|
|
88
114
|
|
|
89
115
|
```tsx
|
|
@@ -106,7 +132,7 @@ Componentes disponiveis na API publica:
|
|
|
106
132
|
| Acoes | `Button`, `ActionPrimitives`, `AppShellActions`, `ConfirmationDialog` |
|
|
107
133
|
| Feedback | `Badge`, `EmptyState`, `PageMessage`, `Tooltip`, `CopyableField` |
|
|
108
134
|
| Formularios | `FieldControl`, `FieldGroup`, `TextField`, `TextareaField`, `SelectField`, `DateField`, `DecimalField`, `MultiSelectField`, `PasswordInput`, `Switch`, `RadioGroup` |
|
|
109
|
-
| Consulta | `Filter` |
|
|
135
|
+
| Consulta | `Filter`, `Workspace` |
|
|
110
136
|
| Dados | `Table`, `Pagination`, `TabsUnderlined` |
|
|
111
137
|
| Controle de renderizacao | `RenderIf`, `RenderCase` |
|
|
112
138
|
| Tema | `ThemePreferencesSelector` |
|
|
@@ -187,7 +213,21 @@ Padrões do painel:
|
|
|
187
213
|
- Use `Filter.Footer` para manter botões sempre visíveis no rodapé do painel.
|
|
188
214
|
- Em telas administrativas, campos internos devem preferir `size="sm"` e não devem usar formato `rounded-full`.
|
|
189
215
|
|
|
190
|
-
## Contrato
|
|
216
|
+
## Contrato publico atual
|
|
217
|
+
|
|
218
|
+
O pacote oficial e `@wellingtonhlc/shared-ui`, publicado no npm publico (`https://registry.npmjs.org/`).
|
|
219
|
+
Ele deve permanecer generico: componentes visuais, utilitarios, tokens, estilos e preset Tailwind.
|
|
220
|
+
|
|
221
|
+
Fora do contrato publico:
|
|
222
|
+
|
|
223
|
+
- regra de negocio;
|
|
224
|
+
- services HTTP;
|
|
225
|
+
- rotas;
|
|
226
|
+
- permissoes;
|
|
227
|
+
- schemas de dominio;
|
|
228
|
+
- textos ou fluxos especificos de CRM, licencas, pagamentos, suporte, relatorios ou clientes.
|
|
229
|
+
|
|
230
|
+
## Contrato publico 0.1.0
|
|
191
231
|
|
|
192
232
|
A API pública pré-v1 foi limpa para evitar compatibilidade artificial em produção.
|
|
193
233
|
|
|
@@ -226,6 +266,9 @@ Tabela de historico:
|
|
|
226
266
|
|
|
227
267
|
| Versao | Data | Tipo | Resumo | Validacao |
|
|
228
268
|
|--------|------|------|--------|-----------|
|
|
269
|
+
| `0.24.3` | 2026-06-18 | Patch | Amplia testes de contrato para exports publicos, adiciona gate axe e smoke do Storybook estatico ao `check`. | `npm run test`; `npm run check`. |
|
|
270
|
+
| `0.24.2` | 2026-06-18 | Patch | Alinha metadados e documentacao do pacote npm publico, mantendo o contrato generico e sem regra de negocio. | `npm run build`; `npm run build-storybook`; `npm pack --dry-run`. |
|
|
271
|
+
| `0.24.0` | 2026-06-17 | Minor pre-v1 | Adiciona `Workspace` e corrige a composicao de `Filter` para consultas com painel de filtros e area de resultados. | `npm run build`; build do `EloDesk.CRM`. |
|
|
229
272
|
| `0.21.0` | 2026-06-17 | Minor pre-v1 | Adiciona stories para `Modal`, `Card`, `PageMessage`, `EmptyState`, `StatCard`, `SelectField`, `TextareaField`, `DateField`, `DecimalField`, `RadioGroup`, `MultiSelectField`, `TabsUnderlined`, `Tooltip`, `CopyableField`, `FieldGroup`, `FieldSkeleton`, `FieldValidationError`, `NavCard`, `Sidebar` e `AppShell`. | `npm run build`; `npm run build-storybook`. |
|
|
230
273
|
| `0.1.17` | 2026-06-16 | Minor pre-v1 | Remove a variante ambigua `default` de `Button`; adiciona variants semanticas `information` e `warning`; `ConfirmationDialog` usa `information`, `question`, `warning` e `destructive` com botao principal na cor da variant; Storybook passou a gerar tokens semanticos de tema. | `npm run build`; `npm run build-storybook`; builds do `EloDesk.CRM` e `EloDesk.CRM.Portal`. |
|
|
231
274
|
| `0.1.16` | 2026-06-16 | Patch | Consolida os ajustes visuais recentes do pacote para consumo no `EloDesk.CRM`. | `npm run build`; `npm run build-storybook`; validacao no `EloDesk.CRM`. |
|
|
@@ -254,9 +297,10 @@ Ao criar uma nova versao:
|
|
|
254
297
|
|
|
255
298
|
1. Atualize `package.json`.
|
|
256
299
|
2. Atualize esta tabela com versao, data, tipo, resumo e validacao.
|
|
257
|
-
3. Rode `npm run
|
|
258
|
-
4.
|
|
259
|
-
5.
|
|
300
|
+
3. Rode `npm run check`.
|
|
301
|
+
4. Rode `npm pack --dry-run` e revise o conteudo do pacote.
|
|
302
|
+
5. Publique com `npm publish --access public --registry=https://registry.npmjs.org/`.
|
|
303
|
+
6. Atualize os consumidores afetados.
|
|
260
304
|
|
|
261
305
|
## Publicacao
|
|
262
306
|
|
|
@@ -264,13 +308,15 @@ Publicacao npm:
|
|
|
264
308
|
|
|
265
309
|
```bash
|
|
266
310
|
npm run build
|
|
267
|
-
npm
|
|
311
|
+
npm run check
|
|
312
|
+
npm pack --dry-run
|
|
313
|
+
npm publish --access public --registry=https://registry.npmjs.org/
|
|
268
314
|
```
|
|
269
315
|
|
|
270
316
|
Quando o npm exigir OTP:
|
|
271
317
|
|
|
272
318
|
```bash
|
|
273
|
-
npm publish --otp CODIGO_OTP
|
|
319
|
+
npm publish --access public --registry=https://registry.npmjs.org/ --otp CODIGO_OTP
|
|
274
320
|
```
|
|
275
321
|
|
|
276
322
|
Depois de publicar, atualize os consumidores:
|
|
@@ -9,11 +9,21 @@ export interface PageActionsProps {
|
|
|
9
9
|
position?: PageActionsPosition;
|
|
10
10
|
align?: PageActionsAlign;
|
|
11
11
|
size?: PageActionsSize;
|
|
12
|
+
helpContent?: ReactNode;
|
|
13
|
+
helpLabel?: string;
|
|
14
|
+
helpClassName?: string;
|
|
12
15
|
}
|
|
13
16
|
export type PageActionsElement = ReactElement<PageActionsProps, typeof Actions>;
|
|
14
17
|
export type PageActionsSeparatorProps = ActionSeparatorPrimitiveProps;
|
|
15
18
|
export type PageActionButtonProps = ActionButtonPrimitiveProps;
|
|
16
|
-
|
|
19
|
+
export interface PageActionsHelpContentProps {
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
className?: string;
|
|
22
|
+
items?: ReactNode[];
|
|
23
|
+
title?: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
declare function ActionsHelpContent({ children, className, items, title }: PageActionsHelpContentProps): import("react").JSX.Element;
|
|
26
|
+
declare function Actions({ align, children, className, helpClassName, helpContent, helpLabel, position, size, }: PageActionsProps): import("react").JSX.Element;
|
|
17
27
|
declare function ActionsSeparator(props: PageActionsSeparatorProps): import("react").JSX.Element;
|
|
18
28
|
interface PageRootProps extends HTMLAttributes<HTMLElement> {
|
|
19
29
|
children: ReactNode;
|
|
@@ -46,6 +56,7 @@ export declare const Page: {
|
|
|
46
56
|
Title: typeof Title;
|
|
47
57
|
Description: typeof Description;
|
|
48
58
|
Actions: typeof Actions;
|
|
59
|
+
ActionsHelpContent: typeof ActionsHelpContent;
|
|
49
60
|
ActionButton: import("react").ForwardRefExoticComponent<ActionButtonPrimitiveProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
50
61
|
ActionsSeparator: typeof ActionsSeparator;
|
|
51
62
|
ActionsProvider: typeof ActionsProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../src/components/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../src/components/Page.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/Page.js
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext, useLayoutEffect, useMemo, useState, } from 'react';
|
|
3
|
+
import { CircleHelpIcon } from 'lucide-react';
|
|
3
4
|
import { ActionButtonPrimitive, ActionGroupPrimitive, ActionSeparatorPrimitive, } from './ActionPrimitives';
|
|
5
|
+
import { Tooltip } from './Tooltip';
|
|
4
6
|
import { cn } from '../utils/cn';
|
|
5
7
|
const PageActionsContext = createContext(null);
|
|
6
|
-
function
|
|
8
|
+
function ActionsHelpContent({ children, className, items, title }) {
|
|
9
|
+
return (_jsxs("div", { className: cn('max-w-[22rem] space-y-2 text-xs leading-5 [overflow-wrap:anywhere]', className), children: [title && _jsx("p", { className: "font-semibold text-foreground", children: title }), children && _jsx("div", { className: "text-foreground-muted", children: children }), items?.length ? (_jsx("ul", { className: "list-disc space-y-1 pl-4 text-foreground-muted", children: items.map((item, index) => (_jsx("li", { children: item }, index))) })) : null] }));
|
|
10
|
+
}
|
|
11
|
+
function getHelpSide(position) {
|
|
12
|
+
const sideByPosition = {
|
|
13
|
+
top: 'bottom',
|
|
14
|
+
bottom: 'top',
|
|
15
|
+
left: 'right',
|
|
16
|
+
right: 'left',
|
|
17
|
+
};
|
|
18
|
+
return sideByPosition[position];
|
|
19
|
+
}
|
|
20
|
+
function hasHelpContent(helpContent) {
|
|
21
|
+
return helpContent !== null && helpContent !== undefined && helpContent !== false && helpContent !== '';
|
|
22
|
+
}
|
|
23
|
+
function Actions({ align = 'start', children, className, helpClassName, helpContent, helpLabel = 'Ajuda da tela', position = 'top', size = 'md', }) {
|
|
7
24
|
const positionClasses = {
|
|
8
25
|
top: 'w-full max-w-full self-stretch border-b border-app-border bg-background-secondary p-1',
|
|
9
26
|
bottom: 'w-full border-t border-app-border bg-background-secondary p-1',
|
|
@@ -14,6 +31,13 @@ function Actions({ align = 'start', children, className, position = 'top', size
|
|
|
14
31
|
start: position === 'left' || position === 'right' ? 'justify-start' : 'justify-start',
|
|
15
32
|
end: position === 'left' || position === 'right' ? 'justify-end' : 'ml-auto justify-end self-end',
|
|
16
33
|
};
|
|
34
|
+
const helpVisible = hasHelpContent(helpContent);
|
|
35
|
+
if (helpVisible) {
|
|
36
|
+
const isVertical = position === 'left' || position === 'right';
|
|
37
|
+
const actions = (_jsx(ActionGroupPrimitive, { align: align, size: size, className: cn('min-w-0', isVertical ? 'w-full flex-col items-stretch' : 'min-w-0 flex-1 overflow-x-auto overflow-y-hidden', alignClasses[align]), children: children }));
|
|
38
|
+
const helpButton = (_jsx("div", { className: cn('flex shrink-0', isVertical && 'mt-auto w-full justify-center pt-2', !isVertical && align === 'start' && 'ml-auto pl-2', !isVertical && align === 'end' && 'mr-auto pr-2'), children: _jsx(Tooltip, { className: cn('max-w-[22rem] px-3 py-2', helpClassName), content: helpContent, delayDuration: 120, openOnClick: true, side: getHelpSide(position), children: _jsx(ActionButtonPrimitive, { "aria-label": helpLabel, icon: _jsx(CircleHelpIcon, { "aria-hidden": "true" }), tooltip: helpLabel }) }) }));
|
|
39
|
+
return (_jsxs("div", { className: cn('flex min-w-0', positionClasses[position], isVertical ? 'flex-col' : 'items-center', className), children: [align === 'end' && !isVertical ? helpButton : null, actions, align === 'start' || isVertical ? helpButton : null] }));
|
|
40
|
+
}
|
|
17
41
|
return (_jsx(ActionGroupPrimitive, { align: align, size: size, className: cn('min-w-0', positionClasses[position], alignClasses[align], className), children: children }));
|
|
18
42
|
}
|
|
19
43
|
function ActionsSeparator(props) {
|
|
@@ -74,6 +98,7 @@ export const Page = {
|
|
|
74
98
|
Title,
|
|
75
99
|
Description,
|
|
76
100
|
Actions,
|
|
101
|
+
ActionsHelpContent,
|
|
77
102
|
ActionButton,
|
|
78
103
|
ActionsSeparator,
|
|
79
104
|
ActionsProvider,
|
|
@@ -5,8 +5,9 @@ export interface TooltipProps {
|
|
|
5
5
|
className?: string;
|
|
6
6
|
content: ReactNode;
|
|
7
7
|
delayDuration?: number;
|
|
8
|
+
openOnClick?: boolean;
|
|
8
9
|
side?: TooltipSide;
|
|
9
10
|
sideOffset?: number;
|
|
10
11
|
}
|
|
11
|
-
export declare function Tooltip({ children, className, content, delayDuration, side, sideOffset, }: TooltipProps): React.JSX.Element;
|
|
12
|
+
export declare function Tooltip({ children, className, content, delayDuration, openOnClick, side, sideOffset, }: TooltipProps): React.JSX.Element;
|
|
12
13
|
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK3E,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAmB,EACnB,WAAmB,EACnB,IAAe,EACf,UAAc,GACf,EAAE,YAAY,qBA+Dd"}
|
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
3
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
3
4
|
import { cn } from '../utils/cn';
|
|
4
|
-
export function Tooltip({ children, className, content, delayDuration = 300, side = 'bottom', sideOffset = 6, }) {
|
|
5
|
-
|
|
5
|
+
export function Tooltip({ children, className, content, delayDuration = 300, openOnClick = false, side = 'bottom', sideOffset = 6, }) {
|
|
6
|
+
const [open, setOpen] = useState(false);
|
|
7
|
+
const triggerRef = useRef(null);
|
|
8
|
+
const contentRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (!openOnClick || !open)
|
|
11
|
+
return undefined;
|
|
12
|
+
function handlePointerDown(event) {
|
|
13
|
+
const target = event.target;
|
|
14
|
+
if (!target)
|
|
15
|
+
return;
|
|
16
|
+
if (triggerRef.current?.contains(target) || contentRef.current?.contains(target))
|
|
17
|
+
return;
|
|
18
|
+
setOpen(false);
|
|
19
|
+
}
|
|
20
|
+
function handleKeyDown(event) {
|
|
21
|
+
if (event.key === 'Escape')
|
|
22
|
+
setOpen(false);
|
|
23
|
+
}
|
|
24
|
+
document.addEventListener('pointerdown', handlePointerDown);
|
|
25
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
26
|
+
return () => {
|
|
27
|
+
document.removeEventListener('pointerdown', handlePointerDown);
|
|
28
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
29
|
+
};
|
|
30
|
+
}, [open, openOnClick]);
|
|
31
|
+
function handleOpenChange(nextOpen) {
|
|
32
|
+
setOpen(nextOpen);
|
|
33
|
+
}
|
|
34
|
+
function handleTriggerClick() {
|
|
35
|
+
if (!openOnClick)
|
|
36
|
+
return;
|
|
37
|
+
setOpen((current) => !current);
|
|
38
|
+
}
|
|
39
|
+
return (_jsx(TooltipPrimitive.Provider, { delayDuration: delayDuration, children: _jsxs(TooltipPrimitive.Root, { open: openOnClick ? open : undefined, onOpenChange: openOnClick ? handleOpenChange : undefined, children: [_jsx(TooltipPrimitive.Trigger, { asChild: true, ref: triggerRef, onClick: handleTriggerClick, children: children }), _jsx(TooltipPrimitive.Portal, { children: _jsxs(TooltipPrimitive.Content, { ref: contentRef, className: cn('border-app-border bg-surface text-foreground z-50 rounded-md border px-3 py-1.5 text-xs shadow-lg', 'data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0', className), side: side, sideOffset: sideOffset, children: [content, _jsx(TooltipPrimitive.Arrow, { className: "fill-surface" })] }) })] }) }));
|
|
6
40
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { TextareaField, type TextareaFieldProps } from './components/TextareaFie
|
|
|
23
23
|
export { DateField, type DateFieldProps } from './components/DateField';
|
|
24
24
|
export { DecimalField, type DecimalFieldProps } from './components/DecimalField';
|
|
25
25
|
export { Pagination, type PaginationProps, type PaginationSize } from './components/Pagination';
|
|
26
|
-
export { Page, type PageActionButtonProps, type PageActionsAlign, type PageActionsElement, type PageActionsPosition, type PageActionsProps, type PageActionsSeparatorProps, type PageActionsSize, type PageDescriptionProps, type PageTitleProps, } from './components/Page';
|
|
26
|
+
export { Page, type PageActionButtonProps, type PageActionsAlign, type PageActionsElement, type PageActionsHelpContentProps, type PageActionsPosition, type PageActionsProps, type PageActionsSeparatorProps, type PageActionsSize, type PageDescriptionProps, type PageTitleProps, } from './components/Page';
|
|
27
27
|
export { PageMessage, type PageMessageProps, type PageMessageVariant } from './components/PageMessage';
|
|
28
28
|
export { PasswordInput, type PasswordInputProps } from './components/PasswordInput';
|
|
29
29
|
export { Filter, type FilterFooterProps, type FilterRootProps } from './components/Filter';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -990,6 +990,9 @@ h2.react-datepicker__current-month {
|
|
|
990
990
|
.mt-3 {
|
|
991
991
|
margin-top: calc(var(--spacing) * 3);
|
|
992
992
|
}
|
|
993
|
+
.mt-auto {
|
|
994
|
+
margin-top: auto;
|
|
995
|
+
}
|
|
993
996
|
.mt-px {
|
|
994
997
|
margin-top: 1px;
|
|
995
998
|
}
|
|
@@ -1147,6 +1150,9 @@ h2.react-datepicker__current-month {
|
|
|
1147
1150
|
.h-72 {
|
|
1148
1151
|
height: calc(var(--spacing) * 72);
|
|
1149
1152
|
}
|
|
1153
|
+
.h-80 {
|
|
1154
|
+
height: calc(var(--spacing) * 80);
|
|
1155
|
+
}
|
|
1150
1156
|
.h-96 {
|
|
1151
1157
|
height: calc(var(--spacing) * 96);
|
|
1152
1158
|
}
|
|
@@ -1336,6 +1342,9 @@ h2.react-datepicker__current-month {
|
|
|
1336
1342
|
.max-w-40 {
|
|
1337
1343
|
max-width: calc(var(--spacing) * 40);
|
|
1338
1344
|
}
|
|
1345
|
+
.max-w-\[22rem\] {
|
|
1346
|
+
max-width: 22rem;
|
|
1347
|
+
}
|
|
1339
1348
|
.max-w-\[120px\] {
|
|
1340
1349
|
max-width: 120px;
|
|
1341
1350
|
}
|
|
@@ -1460,6 +1469,9 @@ h2.react-datepicker__current-month {
|
|
|
1460
1469
|
.cursor-wait {
|
|
1461
1470
|
cursor: wait;
|
|
1462
1471
|
}
|
|
1472
|
+
.list-disc {
|
|
1473
|
+
list-style-type: disc;
|
|
1474
|
+
}
|
|
1463
1475
|
.appearance-none {
|
|
1464
1476
|
appearance: none;
|
|
1465
1477
|
}
|
|
@@ -2017,6 +2029,9 @@ h2.react-datepicker__current-month {
|
|
|
2017
2029
|
.pr-1 {
|
|
2018
2030
|
padding-right: calc(var(--spacing) * 1);
|
|
2019
2031
|
}
|
|
2032
|
+
.pr-2 {
|
|
2033
|
+
padding-right: calc(var(--spacing) * 2);
|
|
2034
|
+
}
|
|
2020
2035
|
.pr-4 {
|
|
2021
2036
|
padding-right: calc(var(--spacing) * 4);
|
|
2022
2037
|
}
|
|
@@ -2038,6 +2053,12 @@ h2.react-datepicker__current-month {
|
|
|
2038
2053
|
.pb-4 {
|
|
2039
2054
|
padding-bottom: calc(var(--spacing) * 4);
|
|
2040
2055
|
}
|
|
2056
|
+
.pl-2 {
|
|
2057
|
+
padding-left: calc(var(--spacing) * 2);
|
|
2058
|
+
}
|
|
2059
|
+
.pl-4 {
|
|
2060
|
+
padding-left: calc(var(--spacing) * 4);
|
|
2061
|
+
}
|
|
2041
2062
|
.pl-8 {
|
|
2042
2063
|
padding-left: calc(var(--spacing) * 8);
|
|
2043
2064
|
}
|
|
@@ -3503,6 +3524,16 @@ h2.react-datepicker__current-month {
|
|
|
3503
3524
|
gap: calc(var(--spacing) * 4);
|
|
3504
3525
|
}
|
|
3505
3526
|
}
|
|
3527
|
+
.md\:text-center {
|
|
3528
|
+
@media (width >= 48rem) {
|
|
3529
|
+
text-align: center;
|
|
3530
|
+
}
|
|
3531
|
+
}
|
|
3532
|
+
.md\:text-left {
|
|
3533
|
+
@media (width >= 48rem) {
|
|
3534
|
+
text-align: left;
|
|
3535
|
+
}
|
|
3536
|
+
}
|
|
3506
3537
|
.md\:text-\[0\.8125rem\] {
|
|
3507
3538
|
@media (width >= 48rem) {
|
|
3508
3539
|
font-size: 0.8125rem;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wellingtonhlc/shared-ui",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
],
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
|
-
"url": "git+https://github.com/Wellington-Henrique/
|
|
14
|
+
"url": "git+https://github.com/Wellington-Henrique/EloDesk.CRM.Shared.UI.git"
|
|
15
15
|
},
|
|
16
16
|
"publishConfig": {
|
|
17
17
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -38,6 +38,11 @@
|
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "node scripts/clean-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
40
40
|
"prepack": "npm run build",
|
|
41
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
42
|
+
"test": "vitest run",
|
|
43
|
+
"test:watch": "vitest",
|
|
44
|
+
"check:storybook-static": "node scripts/check-storybook-static.mjs",
|
|
45
|
+
"check": "npm run typecheck && npm run test && npm run build && npm run build-storybook && npm run check:storybook-static && npm pack --dry-run",
|
|
41
46
|
"storybook": "storybook dev -p 6006",
|
|
42
47
|
"build-storybook": "storybook build"
|
|
43
48
|
},
|
|
@@ -50,15 +55,22 @@
|
|
|
50
55
|
"@storybook/addon-docs": "^10.4.6",
|
|
51
56
|
"@storybook/react-vite": "^10.4.6",
|
|
52
57
|
"@tailwindcss/postcss": "4.1.10",
|
|
58
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
59
|
+
"@testing-library/react": "^16.3.2",
|
|
60
|
+
"@testing-library/user-event": "^14.6.1",
|
|
53
61
|
"@types/react": "^19.1.2",
|
|
54
62
|
"@types/react-dom": "^19.1.2",
|
|
55
63
|
"autoprefixer": "^10.5.0",
|
|
64
|
+
"axe-core": "^4.12.1",
|
|
65
|
+
"jsdom": "^29.1.1",
|
|
56
66
|
"lucide-react": "^0.522.0",
|
|
57
67
|
"postcss": "^8.5.15",
|
|
58
68
|
"storybook": "^10.4.6",
|
|
59
69
|
"tailwindcss": "4.1.10",
|
|
60
70
|
"typescript": "~5.8.3",
|
|
61
|
-
"vite": "^8.0.16"
|
|
71
|
+
"vite": "^8.0.16",
|
|
72
|
+
"vitest": "^4.1.9",
|
|
73
|
+
"vitest-axe": "^0.1.0"
|
|
62
74
|
},
|
|
63
75
|
"dependencies": {
|
|
64
76
|
"@radix-ui/react-dialog": "^1.1.16",
|