@wellingtonhlc/shared-ui 0.29.4 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -2
- package/dist/components/AppShell.js +1 -1
- package/dist/components/Avatar.d.ts +9 -0
- package/dist/components/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar.js +22 -0
- package/dist/components/ConfirmationDialog.js +2 -2
- package/dist/components/NotificationCard.d.ts +16 -0
- package/dist/components/NotificationCard.d.ts.map +1 -0
- package/dist/components/NotificationCard.js +24 -0
- package/dist/components/Table.js +3 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/styles.css +113 -19
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -207,7 +207,8 @@ Componentes disponiveis na API publica:
|
|
|
207
207
|
|-------|-------------|
|
|
208
208
|
| Layout | `AppShell`, `Page`, `Sidebar`, `Card`, `StatCard` |
|
|
209
209
|
| Acoes | `Button`, `ActionPrimitives`, `AppShellActions`, `ConfirmationDialog` |
|
|
210
|
-
| Feedback | `Badge`, `EmptyState`, `PageMessage`, `Tooltip`, `CopyableField` |
|
|
210
|
+
| Feedback | `Badge`, `EmptyState`, `PageMessage`, `Tooltip`, `CopyableField`, `NotificationCard` |
|
|
211
|
+
| Identidade | `Avatar` |
|
|
211
212
|
| Formularios | `FieldControl`, `FieldGroup`, `TextField`, `TextareaField`, `SelectField`, `SelectionField`, `DateField`, `DecimalField`, `MultiSelectField`, `PasswordInput`, `Switch`, `RadioGroup` |
|
|
212
213
|
| Consulta | `Filter`, `Workspace` |
|
|
213
214
|
| Dados | `Table`, `Pagination`, `TabsUnderlined` |
|
|
@@ -261,7 +262,7 @@ import { RadioGroup } from '@wellingtonhlc/shared-ui';
|
|
|
261
262
|
</RadioGroup>;
|
|
262
263
|
```
|
|
263
264
|
|
|
264
|
-
## AppShell.Topbar.Button
|
|
265
|
+
## AppShell.Topbar.Button
|
|
265
266
|
|
|
266
267
|
Use `AppShell.Topbar.Button` para acoes de icone na barra superior, como notificacoes,
|
|
267
268
|
configuracoes e atalhos globais. O componente reutiliza o mesmo contrato visual dos
|
|
@@ -277,6 +278,19 @@ import { Bell, Settings } from 'lucide-react';
|
|
|
277
278
|
</AppShell.Actions>
|
|
278
279
|
```
|
|
279
280
|
|
|
281
|
+
`AppShell.Topbar.Button` usa 32 px por padrão, a mesma escala do `Avatar size="md"`.
|
|
282
|
+
|
|
283
|
+
## Avatar
|
|
284
|
+
|
|
285
|
+
`Avatar` exibe uma imagem ou as iniciais acessíveis do nome informado. As cores do fallback
|
|
286
|
+
usam `--avatar-background` e `--avatar-foreground`, com contraste mais escuro no tema dark.
|
|
287
|
+
|
|
288
|
+
```tsx
|
|
289
|
+
import { Avatar } from '@wellingtonhlc/shared-ui/components/Avatar';
|
|
290
|
+
|
|
291
|
+
<Avatar name="Wellington Silva" src={avatarUrl} />
|
|
292
|
+
```
|
|
293
|
+
|
|
280
294
|
## Sidebar
|
|
281
295
|
|
|
282
296
|
Use `Sidebar.ActionButton`, `Sidebar.SubActionButton` e `Sidebar.NavGroup` para navegação.
|
|
@@ -24,7 +24,7 @@ const ContentColumn = forwardRef(({ children, className }, ref) => (_jsx("div",
|
|
|
24
24
|
ContentColumn.displayName = 'AppShell.ContentColumn';
|
|
25
25
|
const WorkArea = forwardRef(({ children, className }, ref) => (_jsx("div", { ref: ref, className: cn('flex min-h-0 min-w-0 flex-1 flex-col-reverse overflow-hidden md:flex-col', className), children: children })));
|
|
26
26
|
WorkArea.displayName = 'AppShell.WorkArea';
|
|
27
|
-
const TopbarButton = forwardRef(({ className, ...props }, ref) => (_jsx(AppShellActionButton, { ref: ref, className: cn('relative size-
|
|
27
|
+
const TopbarButton = forwardRef(({ className, ...props }, ref) => (_jsx(AppShellActionButton, { ref: ref, className: cn('relative size-8 min-h-8 min-w-8 !rounded-full', className), ...props })));
|
|
28
28
|
TopbarButton.displayName = 'AppShell.Topbar.Button';
|
|
29
29
|
const TopbarRoot = forwardRef(({ actions, actionsClassName, children, className, icon, mobileToggle, pageTitle, titleContainerClassName, }, ref) => (_jsxs("header", { ref: ref, className: cn('border-app-border bg-[var(--topbar-background)] flex min-h-16 items-center justify-between border-b px-4 pr-4 shadow-[var(--shadow-topbar)] max-md:pl-0', className), role: "banner", children: [_jsxs("div", { className: cn('flex min-w-0 items-center gap-2.5 max-md:gap-3', titleContainerClassName), children: [mobileToggle, icon && _jsx("span", { className: "shrink-0 text-foreground-muted", "aria-hidden": "true", children: icon }), _jsx("span", { className: "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap text-lg font-semibold leading-7 tracking-[var(--letter-spacing-title)] text-foreground-muted", children: pageTitle })] }), (children || actions) && (_jsxs("div", { className: cn('flex shrink-0 items-center gap-4', actionsClassName), children: [children, actions] }))] })));
|
|
30
30
|
TopbarRoot.displayName = 'AppShell.Topbar';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
export type AvatarSize = 'sm' | 'md' | 'lg';
|
|
3
|
+
export interface AvatarProps extends HTMLAttributes<HTMLSpanElement> {
|
|
4
|
+
name: string;
|
|
5
|
+
size?: AvatarSize;
|
|
6
|
+
src?: string | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function Avatar({ className, name, size, src, ...props }: AvatarProps): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/components/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,eAAe,CAAC;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAiBD,wBAAgB,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAW,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,+BAoBlF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../utils/cn';
|
|
3
|
+
const sizeClasses = {
|
|
4
|
+
sm: 'size-7 text-xs',
|
|
5
|
+
md: 'size-8 text-sm',
|
|
6
|
+
lg: 'size-10 text-sm',
|
|
7
|
+
};
|
|
8
|
+
function getInitials(name) {
|
|
9
|
+
const parts = name.trim().split(/\s+/).filter(Boolean);
|
|
10
|
+
if (parts.length === 0)
|
|
11
|
+
return '?';
|
|
12
|
+
if (parts.length === 1)
|
|
13
|
+
return parts[0].charAt(0).toUpperCase();
|
|
14
|
+
return `${parts[0].charAt(0)}${parts[parts.length - 1].charAt(0)}`.toUpperCase();
|
|
15
|
+
}
|
|
16
|
+
export function Avatar({ className, name, size = 'md', src, ...props }) {
|
|
17
|
+
const classes = cn('inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full bg-[var(--avatar-background)] font-semibold text-[var(--avatar-foreground)] select-none', sizeClasses[size], className);
|
|
18
|
+
if (src) {
|
|
19
|
+
return (_jsx("span", { className: classes, ...props, children: _jsx("img", { className: "size-full object-cover", src: src, alt: name }) }));
|
|
20
|
+
}
|
|
21
|
+
return (_jsx("span", { className: classes, role: "img", "aria-label": name, ...props, children: getInitials(name) }));
|
|
22
|
+
}
|
|
@@ -26,8 +26,8 @@ const dialogVariantStyles = {
|
|
|
26
26
|
},
|
|
27
27
|
destructive: {
|
|
28
28
|
icon: AlertCircleIcon,
|
|
29
|
-
iconClassName: 'text-[var(--
|
|
30
|
-
titleClassName: 'text-[var(--
|
|
29
|
+
iconClassName: 'text-[var(--destructive)]',
|
|
30
|
+
titleClassName: 'text-[var(--destructive)]',
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
33
|
const buttonVariantDefaults = {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export type NotificationCardVariant = 'info' | 'success' | 'warning' | 'danger';
|
|
3
|
+
export interface NotificationCardProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'title'> {
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
meta?: ReactNode;
|
|
7
|
+
variant?: NotificationCardVariant;
|
|
8
|
+
icon?: ReactNode;
|
|
9
|
+
unread?: boolean;
|
|
10
|
+
interactive?: boolean;
|
|
11
|
+
onDismiss?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
12
|
+
dismissLabel?: string;
|
|
13
|
+
isDismissing?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function NotificationCard({ title, description, meta, variant, icon, unread, interactive, onDismiss, dismissLabel, isDismissing, className, onClick, ...props }: NotificationCardProps): import("react").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=NotificationCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationCard.d.ts","sourceRoot":"","sources":["../../src/components/NotificationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMzE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC9D,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAgBD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAgB,EAChB,IAAI,EACJ,MAAc,EACd,WAAW,EACX,SAAS,EACT,YAAsC,EACtC,YAAoB,EACpB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,qBAAqB,+BAoEvB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CircleAlert, CircleCheck, Info, TriangleAlert, X } from 'lucide-react';
|
|
3
|
+
import { cn } from '../utils/cn';
|
|
4
|
+
const variantClasses = {
|
|
5
|
+
info: 'text-sky-600 dark:text-sky-700',
|
|
6
|
+
success: 'text-green-600',
|
|
7
|
+
warning: 'text-amber-600',
|
|
8
|
+
danger: 'text-red-600',
|
|
9
|
+
};
|
|
10
|
+
const variantIcons = {
|
|
11
|
+
info: _jsx(Info, { className: "size-4" }),
|
|
12
|
+
success: _jsx(CircleCheck, { className: "size-4" }),
|
|
13
|
+
warning: _jsx(CircleAlert, { className: "size-4" }),
|
|
14
|
+
danger: _jsx(TriangleAlert, { className: "size-4" }),
|
|
15
|
+
};
|
|
16
|
+
export function NotificationCard({ title, description, meta, variant = 'info', icon, unread = false, interactive, onDismiss, dismissLabel = 'Descartar notificação', isDismissing = false, className, onClick, ...props }) {
|
|
17
|
+
function handleDismiss(event) {
|
|
18
|
+
event.stopPropagation();
|
|
19
|
+
onDismiss?.(event);
|
|
20
|
+
}
|
|
21
|
+
return (_jsxs("article", { className: "relative", children: [_jsx("button", { type: "button", className: cn('w-full rounded-md border p-3 text-left transition', onDismiss ? 'pr-8' : 'pr-3', unread
|
|
22
|
+
? 'border-brand/40 bg-brand/5 hover:bg-brand/10 dark:bg-[color-mix(in_srgb,var(--brand)_8%,var(--background))] dark:hover:bg-[color-mix(in_srgb,var(--brand)_12%,var(--background))]'
|
|
23
|
+
: 'border-app-border bg-[color-mix(in_srgb,var(--foreground-muted)_5%,var(--surface))] hover:bg-[color-mix(in_srgb,var(--brand)_7%,var(--surface))] dark:bg-[color-mix(in_srgb,var(--foreground-muted)_4%,var(--background))] dark:hover:bg-[color-mix(in_srgb,var(--brand)_8%,var(--background))]', (interactive ?? Boolean(onClick)) ? 'cursor-pointer' : 'cursor-default', className), onClick: onClick, ...props, children: _jsxs("span", { className: "flex items-start gap-3", children: [_jsx("span", { className: cn('mt-0.5 inline-flex size-7 shrink-0 items-center justify-center', variantClasses[variant]), children: icon ?? variantIcons[variant] }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsxs("span", { className: "flex min-w-0 items-center justify-between gap-2", children: [_jsx("span", { className: "text-foreground truncate text-sm font-semibold", children: title }), unread ? (_jsx("span", { className: "bg-brand size-2 shrink-0 rounded-full", "aria-hidden": "true" })) : null] }), description ? (_jsx("span", { className: "text-foreground-muted mt-1 block text-sm break-words", children: description })) : null, meta ? (_jsx("span", { className: "text-foreground-muted mt-2 flex flex-wrap items-center gap-2 text-[11px]", children: meta })) : null] })] }) }), onDismiss ? (_jsx("button", { type: "button", "aria-label": dismissLabel, disabled: isDismissing, className: "text-foreground-muted hover:text-foreground hover:bg-background absolute top-2 right-2 z-10 rounded p-0.5 transition disabled:cursor-not-allowed disabled:opacity-40", onClick: handleDismiss, children: _jsx(X, { className: "size-3.5" }) })) : null] }));
|
|
24
|
+
}
|
package/dist/components/Table.js
CHANGED
|
@@ -86,8 +86,8 @@ const ActionCell = forwardRef(({ children, className, style, ...props }, ref) =>
|
|
|
86
86
|
}, ...props, children: _jsx("div", { className: "flex min-h-7 items-center justify-center", children: children }) })));
|
|
87
87
|
ActionCell.displayName = 'Table.ActionCell';
|
|
88
88
|
/**
|
|
89
|
-
*
|
|
90
|
-
*
|
|
89
|
+
* Success usa o token de status. Danger representa uma acao destrutiva e usa o
|
|
90
|
+
* token forte `--destructive`, sem herdar o rosa dos status sobre fundo escuro.
|
|
91
91
|
*
|
|
92
92
|
* `!` obrigatorio: o cn do pacote nao usa tailwind-merge, entao sem ele o
|
|
93
93
|
* `text-foreground-muted`/`hover:bg` do ghost venceria pela ordem do CSS.
|
|
@@ -95,7 +95,7 @@ ActionCell.displayName = 'Table.ActionCell';
|
|
|
95
95
|
const actionToneClasses = {
|
|
96
96
|
default: '',
|
|
97
97
|
success: 'text-[var(--status-success-icon)]! hover:bg-[color-mix(in_srgb,var(--status-success-icon)_10%,transparent)]! hover:text-[var(--status-success-icon)]! dark:hover:bg-[color-mix(in_srgb,var(--status-success-icon)_16%,transparent)]!',
|
|
98
|
-
danger: 'text-[var(--
|
|
98
|
+
danger: 'text-[var(--destructive)]! hover:bg-[color-mix(in_srgb,var(--destructive)_10%,transparent)]! hover:text-[var(--destructive)]! dark:hover:bg-[color-mix(in_srgb,var(--destructive)_16%,transparent)]!',
|
|
99
99
|
};
|
|
100
100
|
const Action = forwardRef(({ className, size = 'xs', tone = 'default', tooltip, ...props }, ref) => (
|
|
101
101
|
// `props` vem primeiro: o corpo (variant/size/className) e do Table.Action, e nao
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { cn } from './utils/cn';
|
|
|
2
2
|
export { AppShell, type AppShellContentMode, type AppShellMainProps, type AppShellOverlayProps, type AppShellOverlayVariant, type AppShellTopbarButtonProps, type AppShellTopbarProps, } from './components/AppShell';
|
|
3
3
|
export { AppShellActionButton, AppShellActions, AppShellActionsSeparator, type AppShellActionButtonProps, type AppShellActionButtonVariant, type AppShellActionsAlign, type AppShellActionsProps, type AppShellActionsRegion, type AppShellActionsSeparatorProps, } from './components/AppShellActions';
|
|
4
4
|
export { Badge, type BadgeProps, type BadgeVariant } from './components/Badge';
|
|
5
|
+
export { Avatar, type AvatarProps, type AvatarSize } from './components/Avatar';
|
|
5
6
|
export { Banner, type BannerProps, type BannerSize, type BannerVariant } from './components/Banner';
|
|
6
7
|
export { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from './components/Button';
|
|
7
8
|
export { Loading, type LoadingProps, type LoadingSize } from './components/Loading';
|
|
@@ -42,4 +43,5 @@ export * from './components/ActionPrimitives';
|
|
|
42
43
|
export { Card, type CardActionsProps, type CardBodyProps, type CardDensity, type CardDescriptionProps, type CardHeaderProps, type CardProps, type CardToolbarProps, type CardVariant, } from './components/Card';
|
|
43
44
|
export { StatCard, type StatCardProps, type StatCardSize, type StatCardVariant } from './components/StatCard';
|
|
44
45
|
export { NavCard, type NavCardProps } from './components/NavCard';
|
|
46
|
+
export { NotificationCard, type NotificationCardProps, type NotificationCardVariant, } from './components/NotificationCard';
|
|
45
47
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EACL,QAAQ,EACR,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,GACpC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnK,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC3H,OAAO,EAAE,UAAU,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACxH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EACL,IAAI,EACJ,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EACL,MAAM,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EACL,KAAK,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,GAC3B,MAAM,uCAAuC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EACL,IAAI,EACJ,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { cn } from './utils/cn';
|
|
|
2
2
|
export { AppShell, } from './components/AppShell';
|
|
3
3
|
export { AppShellActionButton, AppShellActions, AppShellActionsSeparator, } from './components/AppShellActions';
|
|
4
4
|
export { Badge } from './components/Badge';
|
|
5
|
+
export { Avatar } from './components/Avatar';
|
|
5
6
|
export { Banner } from './components/Banner';
|
|
6
7
|
export { Button } from './components/Button';
|
|
7
8
|
export { Loading } from './components/Loading';
|
|
@@ -42,3 +43,4 @@ export * from './components/ActionPrimitives';
|
|
|
42
43
|
export { Card, } from './components/Card';
|
|
43
44
|
export { StatCard } from './components/StatCard';
|
|
44
45
|
export { NavCard } from './components/NavCard';
|
|
46
|
+
export { NotificationCard, } from './components/NotificationCard';
|
package/dist/styles.css
CHANGED
|
@@ -599,6 +599,8 @@ h2.react-datepicker__current-month {
|
|
|
599
599
|
--color-amber-600: oklch(66.6% 0.179 58.318);
|
|
600
600
|
--color-green-600: oklch(62.7% 0.194 149.214);
|
|
601
601
|
--color-sky-600: oklch(58.8% 0.158 241.966);
|
|
602
|
+
--color-sky-700: oklch(50% 0.134 242.749);
|
|
603
|
+
--color-white: #fff;
|
|
602
604
|
--spacing: 0.25rem;
|
|
603
605
|
--container-xs: 20rem;
|
|
604
606
|
--container-sm: 24rem;
|
|
@@ -1157,6 +1159,10 @@ h2.react-datepicker__current-month {
|
|
|
1157
1159
|
width: calc(var(--spacing) * 14);
|
|
1158
1160
|
height: calc(var(--spacing) * 14);
|
|
1159
1161
|
}
|
|
1162
|
+
.size-full {
|
|
1163
|
+
width: 100%;
|
|
1164
|
+
height: 100%;
|
|
1165
|
+
}
|
|
1160
1166
|
.\!h-4 {
|
|
1161
1167
|
height: calc(var(--spacing) * 4) !important;
|
|
1162
1168
|
}
|
|
@@ -1658,6 +1664,9 @@ h2.react-datepicker__current-month {
|
|
|
1658
1664
|
.animate-spin {
|
|
1659
1665
|
animation: var(--animate-spin);
|
|
1660
1666
|
}
|
|
1667
|
+
.cursor-default {
|
|
1668
|
+
cursor: default;
|
|
1669
|
+
}
|
|
1661
1670
|
.cursor-not-allowed {
|
|
1662
1671
|
cursor: not-allowed;
|
|
1663
1672
|
}
|
|
@@ -2081,6 +2090,9 @@ h2.react-datepicker__current-month {
|
|
|
2081
2090
|
background-color: color-mix(in srgb,var(--foreground-muted) 18%,var(--surface));
|
|
2082
2091
|
}
|
|
2083
2092
|
}
|
|
2093
|
+
.bg-\[var\(--avatar-background\)\] {
|
|
2094
|
+
background-color: var(--avatar-background);
|
|
2095
|
+
}
|
|
2084
2096
|
.bg-\[var\(--brand\)\] {
|
|
2085
2097
|
background-color: var(--brand);
|
|
2086
2098
|
}
|
|
@@ -2171,6 +2183,9 @@ h2.react-datepicker__current-month {
|
|
|
2171
2183
|
.bg-input-bg {
|
|
2172
2184
|
background-color: var(--color-input-bg);
|
|
2173
2185
|
}
|
|
2186
|
+
.bg-red-600 {
|
|
2187
|
+
background-color: var(--color-red-600);
|
|
2188
|
+
}
|
|
2174
2189
|
.bg-surface {
|
|
2175
2190
|
background-color: var(--color-surface);
|
|
2176
2191
|
}
|
|
@@ -2192,6 +2207,9 @@ h2.react-datepicker__current-month {
|
|
|
2192
2207
|
.fill-surface {
|
|
2193
2208
|
fill: var(--color-surface);
|
|
2194
2209
|
}
|
|
2210
|
+
.object-cover {
|
|
2211
|
+
object-fit: cover;
|
|
2212
|
+
}
|
|
2195
2213
|
.\!p-0 {
|
|
2196
2214
|
padding: calc(var(--spacing) * 0) !important;
|
|
2197
2215
|
}
|
|
@@ -2318,6 +2336,9 @@ h2.react-datepicker__current-month {
|
|
|
2318
2336
|
.pr-2 {
|
|
2319
2337
|
padding-right: calc(var(--spacing) * 2);
|
|
2320
2338
|
}
|
|
2339
|
+
.pr-3 {
|
|
2340
|
+
padding-right: calc(var(--spacing) * 3);
|
|
2341
|
+
}
|
|
2321
2342
|
.pr-4 {
|
|
2322
2343
|
padding-right: calc(var(--spacing) * 4);
|
|
2323
2344
|
}
|
|
@@ -2569,9 +2590,18 @@ h2.react-datepicker__current-month {
|
|
|
2569
2590
|
color: color-mix(in srgb,var(--destructive) 86%,var(--foreground));
|
|
2570
2591
|
}
|
|
2571
2592
|
}
|
|
2593
|
+
.text-\[var\(--avatar-foreground\)\] {
|
|
2594
|
+
color: var(--avatar-foreground);
|
|
2595
|
+
}
|
|
2572
2596
|
.text-\[var\(--brand\)\] {
|
|
2573
2597
|
color: var(--brand);
|
|
2574
2598
|
}
|
|
2599
|
+
.text-\[var\(--destructive\)\] {
|
|
2600
|
+
color: var(--destructive);
|
|
2601
|
+
}
|
|
2602
|
+
.text-\[var\(--destructive\)\]\! {
|
|
2603
|
+
color: var(--destructive) !important;
|
|
2604
|
+
}
|
|
2575
2605
|
.text-\[var\(--on-solid\)\] {
|
|
2576
2606
|
color: var(--on-solid);
|
|
2577
2607
|
}
|
|
@@ -2581,9 +2611,6 @@ h2.react-datepicker__current-month {
|
|
|
2581
2611
|
.text-\[var\(--status-danger-icon\)\] {
|
|
2582
2612
|
color: var(--status-danger-icon);
|
|
2583
2613
|
}
|
|
2584
|
-
.text-\[var\(--status-danger-icon\)\]\! {
|
|
2585
|
-
color: var(--status-danger-icon) !important;
|
|
2586
|
-
}
|
|
2587
2614
|
.text-\[var\(--status-danger-text\)\] {
|
|
2588
2615
|
color: var(--status-danger-text);
|
|
2589
2616
|
}
|
|
@@ -2647,6 +2674,9 @@ h2.react-datepicker__current-month {
|
|
|
2647
2674
|
.text-sky-600 {
|
|
2648
2675
|
color: var(--color-sky-600);
|
|
2649
2676
|
}
|
|
2677
|
+
.text-white {
|
|
2678
|
+
color: var(--color-white);
|
|
2679
|
+
}
|
|
2650
2680
|
.uppercase {
|
|
2651
2681
|
text-transform: uppercase;
|
|
2652
2682
|
}
|
|
@@ -3172,32 +3202,32 @@ h2.react-datepicker__current-month {
|
|
|
3172
3202
|
}
|
|
3173
3203
|
}
|
|
3174
3204
|
}
|
|
3175
|
-
.hover\:bg-\[color-mix\(in_srgb\,var\(--
|
|
3205
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--destructive\)_10\%\,transparent\)\]\! {
|
|
3176
3206
|
&:hover {
|
|
3177
3207
|
@media (hover: hover) {
|
|
3178
|
-
background-color: var(--
|
|
3208
|
+
background-color: var(--destructive) !important;
|
|
3179
3209
|
@supports (color: color-mix(in lab, red, red)) {
|
|
3180
|
-
background-color: color-mix(in srgb,var(--
|
|
3210
|
+
background-color: color-mix(in srgb,var(--destructive) 10%,transparent) !important;
|
|
3181
3211
|
}
|
|
3182
3212
|
}
|
|
3183
3213
|
}
|
|
3184
3214
|
}
|
|
3185
|
-
.hover\:bg-\[color-mix\(in_srgb\,var\(--
|
|
3215
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_8\%\,var\(--tabs-background\)\)\] {
|
|
3186
3216
|
&:hover {
|
|
3187
3217
|
@media (hover: hover) {
|
|
3188
|
-
background-color: var(--
|
|
3218
|
+
background-color: var(--foreground-muted);
|
|
3189
3219
|
@supports (color: color-mix(in lab, red, red)) {
|
|
3190
|
-
background-color: color-mix(in srgb,var(--
|
|
3220
|
+
background-color: color-mix(in srgb,var(--foreground-muted) 8%,var(--tabs-background));
|
|
3191
3221
|
}
|
|
3192
3222
|
}
|
|
3193
3223
|
}
|
|
3194
3224
|
}
|
|
3195
|
-
.hover\:bg-\[color-mix\(in_srgb\,var\(--status-danger-
|
|
3225
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--status-danger-bg\)_78\%\,var\(--status-danger-border\)\)\] {
|
|
3196
3226
|
&:hover {
|
|
3197
3227
|
@media (hover: hover) {
|
|
3198
|
-
background-color: var(--status-danger-
|
|
3228
|
+
background-color: var(--status-danger-bg);
|
|
3199
3229
|
@supports (color: color-mix(in lab, red, red)) {
|
|
3200
|
-
background-color: color-mix(in srgb,var(--status-danger-
|
|
3230
|
+
background-color: color-mix(in srgb,var(--status-danger-bg) 78%,var(--status-danger-border));
|
|
3201
3231
|
}
|
|
3202
3232
|
}
|
|
3203
3233
|
}
|
|
@@ -3371,17 +3401,17 @@ h2.react-datepicker__current-month {
|
|
|
3371
3401
|
}
|
|
3372
3402
|
}
|
|
3373
3403
|
}
|
|
3374
|
-
.hover\:text-\[var\(--
|
|
3404
|
+
.hover\:text-\[var\(--destructive\)\]\! {
|
|
3375
3405
|
&:hover {
|
|
3376
3406
|
@media (hover: hover) {
|
|
3377
|
-
color: var(--
|
|
3407
|
+
color: var(--destructive) !important;
|
|
3378
3408
|
}
|
|
3379
3409
|
}
|
|
3380
3410
|
}
|
|
3381
|
-
.hover\:text-\[var\(--
|
|
3411
|
+
.hover\:text-\[var\(--on-solid\)\] {
|
|
3382
3412
|
&:hover {
|
|
3383
3413
|
@media (hover: hover) {
|
|
3384
|
-
color: var(--
|
|
3414
|
+
color: var(--on-solid);
|
|
3385
3415
|
}
|
|
3386
3416
|
}
|
|
3387
3417
|
}
|
|
@@ -3676,6 +3706,11 @@ h2.react-datepicker__current-month {
|
|
|
3676
3706
|
opacity: 30%;
|
|
3677
3707
|
}
|
|
3678
3708
|
}
|
|
3709
|
+
.disabled\:opacity-40 {
|
|
3710
|
+
&:disabled {
|
|
3711
|
+
opacity: 40%;
|
|
3712
|
+
}
|
|
3713
|
+
}
|
|
3679
3714
|
.disabled\:opacity-45 {
|
|
3680
3715
|
&:disabled {
|
|
3681
3716
|
opacity: 45%;
|
|
@@ -4019,6 +4054,22 @@ h2.react-datepicker__current-month {
|
|
|
4019
4054
|
border-color: var(--color-red-400);
|
|
4020
4055
|
}
|
|
4021
4056
|
}
|
|
4057
|
+
.dark\:bg-\[color-mix\(in_srgb\,var\(--brand\)_8\%\,var\(--background\)\)\] {
|
|
4058
|
+
@media (prefers-color-scheme: dark) {
|
|
4059
|
+
background-color: var(--brand);
|
|
4060
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4061
|
+
background-color: color-mix(in srgb,var(--brand) 8%,var(--background));
|
|
4062
|
+
}
|
|
4063
|
+
}
|
|
4064
|
+
}
|
|
4065
|
+
.dark\:bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_4\%\,var\(--background\)\)\] {
|
|
4066
|
+
@media (prefers-color-scheme: dark) {
|
|
4067
|
+
background-color: var(--foreground-muted);
|
|
4068
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4069
|
+
background-color: color-mix(in srgb,var(--foreground-muted) 4%,var(--background));
|
|
4070
|
+
}
|
|
4071
|
+
}
|
|
4072
|
+
}
|
|
4022
4073
|
.dark\:bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_28\%\,var\(--surface\)\)\] {
|
|
4023
4074
|
@media (prefers-color-scheme: dark) {
|
|
4024
4075
|
background-color: var(--foreground-muted);
|
|
@@ -4035,11 +4086,21 @@ h2.react-datepicker__current-month {
|
|
|
4035
4086
|
}
|
|
4036
4087
|
}
|
|
4037
4088
|
}
|
|
4089
|
+
.dark\:bg-background-secondary {
|
|
4090
|
+
@media (prefers-color-scheme: dark) {
|
|
4091
|
+
background-color: var(--color-background-secondary);
|
|
4092
|
+
}
|
|
4093
|
+
}
|
|
4038
4094
|
.dark\:text-red-400 {
|
|
4039
4095
|
@media (prefers-color-scheme: dark) {
|
|
4040
4096
|
color: var(--color-red-400);
|
|
4041
4097
|
}
|
|
4042
4098
|
}
|
|
4099
|
+
.dark\:text-sky-700 {
|
|
4100
|
+
@media (prefers-color-scheme: dark) {
|
|
4101
|
+
color: var(--color-sky-700);
|
|
4102
|
+
}
|
|
4103
|
+
}
|
|
4043
4104
|
.dark\:hover\:border-\[color-mix\(in_srgb\,var\(--brand\)_54\%\,var\(--app-border\)\)\] {
|
|
4044
4105
|
@media (prefers-color-scheme: dark) {
|
|
4045
4106
|
&:hover {
|
|
@@ -4052,13 +4113,37 @@ h2.react-datepicker__current-month {
|
|
|
4052
4113
|
}
|
|
4053
4114
|
}
|
|
4054
4115
|
}
|
|
4055
|
-
.dark\:hover\:bg-\[color-mix\(in_srgb\,var\(--
|
|
4116
|
+
.dark\:hover\:bg-\[color-mix\(in_srgb\,var\(--brand\)_8\%\,var\(--background\)\)\] {
|
|
4117
|
+
@media (prefers-color-scheme: dark) {
|
|
4118
|
+
&:hover {
|
|
4119
|
+
@media (hover: hover) {
|
|
4120
|
+
background-color: var(--brand);
|
|
4121
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4122
|
+
background-color: color-mix(in srgb,var(--brand) 8%,var(--background));
|
|
4123
|
+
}
|
|
4124
|
+
}
|
|
4125
|
+
}
|
|
4126
|
+
}
|
|
4127
|
+
}
|
|
4128
|
+
.dark\:hover\:bg-\[color-mix\(in_srgb\,var\(--brand\)_12\%\,var\(--background\)\)\] {
|
|
4129
|
+
@media (prefers-color-scheme: dark) {
|
|
4130
|
+
&:hover {
|
|
4131
|
+
@media (hover: hover) {
|
|
4132
|
+
background-color: var(--brand);
|
|
4133
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4134
|
+
background-color: color-mix(in srgb,var(--brand) 12%,var(--background));
|
|
4135
|
+
}
|
|
4136
|
+
}
|
|
4137
|
+
}
|
|
4138
|
+
}
|
|
4139
|
+
}
|
|
4140
|
+
.dark\:hover\:bg-\[color-mix\(in_srgb\,var\(--destructive\)_16\%\,transparent\)\]\! {
|
|
4056
4141
|
@media (prefers-color-scheme: dark) {
|
|
4057
4142
|
&:hover {
|
|
4058
4143
|
@media (hover: hover) {
|
|
4059
|
-
background-color: var(--
|
|
4144
|
+
background-color: var(--destructive) !important;
|
|
4060
4145
|
@supports (color: color-mix(in lab, red, red)) {
|
|
4061
|
-
background-color: color-mix(in srgb,var(--
|
|
4146
|
+
background-color: color-mix(in srgb,var(--destructive) 16%,transparent) !important;
|
|
4062
4147
|
}
|
|
4063
4148
|
}
|
|
4064
4149
|
}
|
|
@@ -4537,6 +4622,11 @@ h2.react-datepicker__current-month {
|
|
|
4537
4622
|
@supports (color: color-mix(in lab, red, red)) {
|
|
4538
4623
|
--brand-surface-active: color-mix(in srgb, var(--brand) 16%, transparent);
|
|
4539
4624
|
}
|
|
4625
|
+
--avatar-background: var(--brand);
|
|
4626
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4627
|
+
--avatar-background: color-mix(in srgb, var(--brand) 88%, #000);
|
|
4628
|
+
}
|
|
4629
|
+
--avatar-foreground: var(--on-solid);
|
|
4540
4630
|
--contrast-hover: color-mix(in srgb, #000 10%, transparent);
|
|
4541
4631
|
--sidebar-background: var(--surface);
|
|
4542
4632
|
--sidebar-flyout-background: var(--surface);
|
|
@@ -4653,6 +4743,10 @@ h2.react-datepicker__current-month {
|
|
|
4653
4743
|
@supports (color: color-mix(in lab, red, red)) {
|
|
4654
4744
|
--brand-surface-active: color-mix(in srgb, var(--brand) 21%, transparent);
|
|
4655
4745
|
}
|
|
4746
|
+
--avatar-background: var(--brand);
|
|
4747
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4748
|
+
--avatar-background: color-mix(in srgb, var(--brand) 42%, #000);
|
|
4749
|
+
}
|
|
4656
4750
|
--contrast-hover: var(--on-solid);
|
|
4657
4751
|
@supports (color: color-mix(in lab, red, red)) {
|
|
4658
4752
|
--contrast-hover: color-mix(in srgb, var(--on-solid) 10%, transparent);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wellingtonhlc/shared-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"prepare": "npm run setup:hooks",
|
|
50
50
|
"build": "node scripts/clean-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
51
51
|
"prepack": "npm run build",
|
|
52
|
+
"prepublishOnly": "node scripts/validate-release.mjs --require-tag",
|
|
52
53
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
53
54
|
"test": "vitest run",
|
|
54
55
|
"test:watch": "vitest",
|