@tleblancureta/proto 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core-web/src/ProtoApp.tsx +163 -0
- package/core-web/src/components/Shell.tsx +276 -0
- package/core-web/src/components/shell/EmptyState.tsx +33 -0
- package/core-web/src/components/shell/FocusView.tsx +55 -0
- package/core-web/src/components/shell/Toolbar.tsx +233 -0
- package/core-web/src/components/shell/persistence.ts +20 -0
- package/core-web/src/components/shell/types.ts +14 -0
- package/core-web/src/components/ui/avatar.tsx +18 -0
- package/core-web/src/components/ui/badge.tsx +28 -0
- package/core-web/src/components/ui/button.tsx +40 -0
- package/core-web/src/components/ui/card.tsx +32 -0
- package/core-web/src/components/ui/inline-edit.tsx +120 -0
- package/core-web/src/components/ui/input.tsx +18 -0
- package/core-web/src/components/ui/scroll-area.tsx +12 -0
- package/core-web/src/components/ui/separator.tsx +23 -0
- package/core-web/src/components/ui/shell-dialog.tsx +79 -0
- package/core-web/src/components/ui/skeleton.tsx +9 -0
- package/core-web/src/components/ui/textarea.tsx +17 -0
- package/core-web/src/components/widgets/agent/Generative.tsx +74 -0
- package/core-web/src/components/widgets/agent/Primitives.tsx +225 -0
- package/core-web/src/components/widgets/agent/actions.ts +52 -0
- package/core-web/src/hooks/useAuth.ts +80 -0
- package/core-web/src/hooks/useData.ts +44 -0
- package/core-web/src/hooks/useMountEffect.ts +10 -0
- package/core-web/src/hooks/useTheme.ts +37 -0
- package/core-web/src/index.ts +52 -0
- package/core-web/src/lib/api.ts +231 -0
- package/core-web/src/lib/config.ts +14 -0
- package/core-web/src/lib/define-widget.ts +71 -0
- package/core-web/src/lib/drag.ts +45 -0
- package/core-web/src/lib/supabase.ts +6 -0
- package/core-web/src/lib/utils.ts +6 -0
- package/core-web/src/lib/widgetCache.ts +29 -0
- package/core-web/src/vite-env.d.ts +1 -0
- package/dist/core-mcp/src/app.d.ts +40 -0
- package/dist/core-mcp/src/app.d.ts.map +1 -0
- package/dist/core-mcp/src/app.js +141 -0
- package/dist/core-mcp/src/app.js.map +1 -0
- package/dist/core-mcp/src/define-tool.d.ts +70 -0
- package/dist/core-mcp/src/define-tool.d.ts.map +1 -0
- package/dist/core-mcp/src/define-tool.js +38 -0
- package/dist/core-mcp/src/define-tool.js.map +1 -0
- package/dist/core-mcp/src/entity-tools.d.ts +27 -0
- package/dist/core-mcp/src/entity-tools.d.ts.map +1 -0
- package/dist/core-mcp/src/entity-tools.js +99 -0
- package/dist/core-mcp/src/entity-tools.js.map +1 -0
- package/dist/core-mcp/src/index.d.ts +36 -0
- package/dist/core-mcp/src/index.d.ts.map +1 -0
- package/dist/core-mcp/src/index.js +116 -0
- package/dist/core-mcp/src/index.js.map +1 -0
- package/dist/core-mcp/src/supabase.d.ts +7 -0
- package/dist/core-mcp/src/supabase.d.ts.map +1 -0
- package/dist/core-mcp/src/supabase.js +18 -0
- package/dist/core-mcp/src/supabase.js.map +1 -0
- package/dist/core-mcp/src/tools/_helpers.d.ts +44 -0
- package/dist/core-mcp/src/tools/_helpers.d.ts.map +1 -0
- package/dist/core-mcp/src/tools/_helpers.js +23 -0
- package/dist/core-mcp/src/tools/_helpers.js.map +1 -0
- package/dist/core-mcp/src/tools/ui.d.ts +9 -0
- package/dist/core-mcp/src/tools/ui.d.ts.map +1 -0
- package/dist/core-mcp/src/tools/ui.js +100 -0
- package/dist/core-mcp/src/tools/ui.js.map +1 -0
- package/dist/core-mcp/src/workflow-tools.d.ts +41 -0
- package/dist/core-mcp/src/workflow-tools.d.ts.map +1 -0
- package/dist/core-mcp/src/workflow-tools.js +382 -0
- package/dist/core-mcp/src/workflow-tools.js.map +1 -0
- package/dist/core-shared/src/define-entity.d.ts +73 -0
- package/dist/core-shared/src/define-entity.d.ts.map +1 -0
- package/dist/core-shared/src/define-entity.js +47 -0
- package/dist/core-shared/src/define-entity.js.map +1 -0
- package/dist/core-shared/src/define-workflow.d.ts +111 -0
- package/dist/core-shared/src/define-workflow.d.ts.map +1 -0
- package/dist/core-shared/src/define-workflow.js +92 -0
- package/dist/core-shared/src/define-workflow.js.map +1 -0
- package/dist/core-shared/src/index.d.ts +5 -0
- package/dist/core-shared/src/index.d.ts.map +1 -0
- package/dist/core-shared/src/index.js +7 -0
- package/dist/core-shared/src/index.js.map +1 -0
- package/dist/core-shared/src/scheduling.d.ts +69 -0
- package/dist/core-shared/src/scheduling.d.ts.map +1 -0
- package/dist/core-shared/src/scheduling.js +39 -0
- package/dist/core-shared/src/scheduling.js.map +1 -0
- package/dist/core-shared/src/schemas.d.ts +51 -0
- package/dist/core-shared/src/schemas.d.ts.map +1 -0
- package/dist/core-shared/src/schemas.js +18 -0
- package/dist/core-shared/src/schemas.js.map +1 -0
- package/dist/core-web/src/ProtoApp.d.ts +19 -0
- package/dist/core-web/src/ProtoApp.d.ts.map +1 -0
- package/dist/core-web/src/ProtoApp.js +92 -0
- package/dist/core-web/src/ProtoApp.js.map +1 -0
- package/dist/core-web/src/components/Shell.d.ts +46 -0
- package/dist/core-web/src/components/Shell.d.ts.map +1 -0
- package/dist/core-web/src/components/Shell.js +104 -0
- package/dist/core-web/src/components/Shell.js.map +1 -0
- package/dist/core-web/src/components/shell/EmptyState.d.ts +13 -0
- package/dist/core-web/src/components/shell/EmptyState.d.ts.map +1 -0
- package/dist/core-web/src/components/shell/EmptyState.js +7 -0
- package/dist/core-web/src/components/shell/EmptyState.js.map +1 -0
- package/dist/core-web/src/components/shell/FocusView.d.ts +16 -0
- package/dist/core-web/src/components/shell/FocusView.d.ts.map +1 -0
- package/dist/core-web/src/components/shell/FocusView.js +12 -0
- package/dist/core-web/src/components/shell/FocusView.js.map +1 -0
- package/dist/core-web/src/components/shell/Toolbar.d.ts +35 -0
- package/dist/core-web/src/components/shell/Toolbar.d.ts.map +1 -0
- package/dist/core-web/src/components/shell/Toolbar.js +42 -0
- package/dist/core-web/src/components/shell/Toolbar.js.map +1 -0
- package/dist/core-web/src/components/shell/persistence.d.ts +8 -0
- package/dist/core-web/src/components/shell/persistence.d.ts.map +1 -0
- package/dist/core-web/src/components/shell/persistence.js +20 -0
- package/dist/core-web/src/components/shell/persistence.js.map +1 -0
- package/dist/core-web/src/components/shell/types.d.ts +13 -0
- package/dist/core-web/src/components/shell/types.d.ts.map +1 -0
- package/dist/core-web/src/components/shell/types.js +2 -0
- package/dist/core-web/src/components/shell/types.js.map +1 -0
- package/dist/core-web/src/components/ui/avatar.d.ts +5 -0
- package/dist/core-web/src/components/ui/avatar.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/avatar.js +9 -0
- package/dist/core-web/src/components/ui/avatar.js.map +1 -0
- package/dist/core-web/src/components/ui/badge.d.ts +13 -0
- package/dist/core-web/src/components/ui/badge.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/badge.js +13 -0
- package/dist/core-web/src/components/ui/badge.js.map +1 -0
- package/dist/core-web/src/components/ui/button.d.ts +22 -0
- package/dist/core-web/src/components/ui/button.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/button.js +21 -0
- package/dist/core-web/src/components/ui/button.js.map +1 -0
- package/dist/core-web/src/components/ui/card.d.ts +7 -0
- package/dist/core-web/src/components/ui/card.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/card.js +13 -0
- package/dist/core-web/src/components/ui/card.js.map +1 -0
- package/dist/core-web/src/components/ui/inline-edit.d.ts +20 -0
- package/dist/core-web/src/components/ui/inline-edit.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/inline-edit.js +63 -0
- package/dist/core-web/src/components/ui/inline-edit.js.map +1 -0
- package/dist/core-web/src/components/ui/input.d.ts +4 -0
- package/dist/core-web/src/components/ui/input.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/input.js +7 -0
- package/dist/core-web/src/components/ui/input.js.map +1 -0
- package/dist/core-web/src/components/ui/scroll-area.d.ts +4 -0
- package/dist/core-web/src/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/scroll-area.js +7 -0
- package/dist/core-web/src/components/ui/scroll-area.js.map +1 -0
- package/dist/core-web/src/components/ui/separator.d.ts +7 -0
- package/dist/core-web/src/components/ui/separator.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/separator.js +7 -0
- package/dist/core-web/src/components/ui/separator.js.map +1 -0
- package/dist/core-web/src/components/ui/shell-dialog.d.ts +16 -0
- package/dist/core-web/src/components/ui/shell-dialog.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/shell-dialog.js +36 -0
- package/dist/core-web/src/components/ui/shell-dialog.js.map +1 -0
- package/dist/core-web/src/components/ui/skeleton.d.ts +3 -0
- package/dist/core-web/src/components/ui/skeleton.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/skeleton.js +7 -0
- package/dist/core-web/src/components/ui/skeleton.js.map +1 -0
- package/dist/core-web/src/components/ui/textarea.d.ts +4 -0
- package/dist/core-web/src/components/ui/textarea.d.ts.map +1 -0
- package/dist/core-web/src/components/ui/textarea.js +7 -0
- package/dist/core-web/src/components/ui/textarea.js.map +1 -0
- package/dist/core-web/src/components/widgets/agent/Generative.d.ts +13 -0
- package/dist/core-web/src/components/widgets/agent/Generative.d.ts.map +1 -0
- package/dist/core-web/src/components/widgets/agent/Generative.js +42 -0
- package/dist/core-web/src/components/widgets/agent/Generative.js.map +1 -0
- package/dist/core-web/src/components/widgets/agent/Primitives.d.ts +79 -0
- package/dist/core-web/src/components/widgets/agent/Primitives.d.ts.map +1 -0
- package/dist/core-web/src/components/widgets/agent/Primitives.js +116 -0
- package/dist/core-web/src/components/widgets/agent/Primitives.js.map +1 -0
- package/dist/core-web/src/components/widgets/agent/actions.d.ts +3 -0
- package/dist/core-web/src/components/widgets/agent/actions.d.ts.map +1 -0
- package/dist/core-web/src/components/widgets/agent/actions.js +33 -0
- package/dist/core-web/src/components/widgets/agent/actions.js.map +1 -0
- package/dist/core-web/src/hooks/useAuth.d.ts +25 -0
- package/dist/core-web/src/hooks/useAuth.d.ts.map +1 -0
- package/dist/core-web/src/hooks/useAuth.js +53 -0
- package/dist/core-web/src/hooks/useAuth.js.map +1 -0
- package/dist/core-web/src/hooks/useData.d.ts +10 -0
- package/dist/core-web/src/hooks/useData.d.ts.map +1 -0
- package/dist/core-web/src/hooks/useData.js +37 -0
- package/dist/core-web/src/hooks/useData.js.map +1 -0
- package/dist/core-web/src/hooks/useMountEffect.d.ts +6 -0
- package/dist/core-web/src/hooks/useMountEffect.d.ts.map +1 -0
- package/dist/core-web/src/hooks/useMountEffect.js +10 -0
- package/dist/core-web/src/hooks/useMountEffect.js.map +1 -0
- package/dist/core-web/src/hooks/useTheme.d.ts +6 -0
- package/dist/core-web/src/hooks/useTheme.d.ts.map +1 -0
- package/dist/core-web/src/hooks/useTheme.js +31 -0
- package/dist/core-web/src/hooks/useTheme.js.map +1 -0
- package/dist/core-web/src/index.d.ts +33 -0
- package/dist/core-web/src/index.d.ts.map +1 -0
- package/dist/core-web/src/index.js +38 -0
- package/dist/core-web/src/index.js.map +1 -0
- package/dist/core-web/src/lib/api.d.ts +60 -0
- package/dist/core-web/src/lib/api.d.ts.map +1 -0
- package/dist/core-web/src/lib/api.js +204 -0
- package/dist/core-web/src/lib/api.js.map +1 -0
- package/dist/core-web/src/lib/config.d.ts +10 -0
- package/dist/core-web/src/lib/config.d.ts.map +1 -0
- package/dist/core-web/src/lib/config.js +10 -0
- package/dist/core-web/src/lib/config.js.map +1 -0
- package/dist/core-web/src/lib/define-widget.d.ts +52 -0
- package/dist/core-web/src/lib/define-widget.d.ts.map +1 -0
- package/dist/core-web/src/lib/define-widget.js +14 -0
- package/dist/core-web/src/lib/define-widget.js.map +1 -0
- package/dist/core-web/src/lib/drag.d.ts +20 -0
- package/dist/core-web/src/lib/drag.d.ts.map +1 -0
- package/dist/core-web/src/lib/drag.js +33 -0
- package/dist/core-web/src/lib/drag.js.map +1 -0
- package/dist/core-web/src/lib/supabase.d.ts +2 -0
- package/dist/core-web/src/lib/supabase.d.ts.map +1 -0
- package/dist/core-web/src/lib/supabase.js +5 -0
- package/dist/core-web/src/lib/supabase.js.map +1 -0
- package/dist/core-web/src/lib/utils.d.ts +3 -0
- package/dist/core-web/src/lib/utils.d.ts.map +1 -0
- package/dist/core-web/src/lib/utils.js +6 -0
- package/dist/core-web/src/lib/utils.js.map +1 -0
- package/dist/core-web/src/lib/widgetCache.d.ts +18 -0
- package/dist/core-web/src/lib/widgetCache.d.ts.map +1 -0
- package/dist/core-web/src/lib/widgetCache.js +28 -0
- package/dist/core-web/src/lib/widgetCache.js.map +1 -0
- package/dist/mcp.d.ts +2 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +2 -0
- package/dist/mcp.js.map +1 -0
- package/dist/shared.d.ts +2 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +2 -0
- package/dist/shared.js.map +1 -0
- package/dist/web.d.ts +2 -0
- package/dist/web.d.ts.map +1 -0
- package/dist/web.js +2 -0
- package/dist/web.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { WidgetType } from './types';
|
|
2
|
+
interface CatalogEntry {
|
|
3
|
+
type: WidgetType;
|
|
4
|
+
title: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
}
|
|
7
|
+
interface Props {
|
|
8
|
+
onAddWidget: (type: WidgetType) => void;
|
|
9
|
+
widgetCatalog: CatalogEntry[];
|
|
10
|
+
}
|
|
11
|
+
export declare function EmptyState({ onAddWidget, widgetCatalog }: Props): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/EmptyState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,YAAY;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,UAAU,KAAK;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACvC,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B;AAED,wBAAgB,UAAU,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,KAAK,2CAiB/D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PlusIcon } from 'lucide-react';
|
|
3
|
+
import { Button } from '../ui/button';
|
|
4
|
+
export function EmptyState({ onAddWidget, widgetCatalog }) {
|
|
5
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center h-[calc(100%-40px)] text-center px-4", children: [_jsx("div", { className: "w-12 h-12 rounded-xl border-2 border-dashed border-border flex items-center justify-center mb-3", children: _jsx(PlusIcon, { className: "w-5 h-5 text-muted-foreground/30" }) }), _jsx("p", { className: "text-sm text-muted-foreground/60 mb-1", children: "Shell vacio" }), _jsx("p", { className: "text-xs text-muted-foreground/30 mb-4", children: "Agrega widgets para ver tus datos." }), _jsx("div", { className: "flex flex-wrap gap-1.5 justify-center", children: widgetCatalog.map(w => (_jsxs(Button, { variant: "outline", size: "sm", className: "h-7 text-xs gap-1.5", onClick: () => onAddWidget(w.type), children: [_jsx("span", { children: w.icon }), " ", w.title] }, w.type))) })] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAcrC,MAAM,UAAU,UAAU,CAAC,EAAE,WAAW,EAAE,aAAa,EAAS;IAC9D,OAAO,CACL,eAAK,SAAS,EAAC,gFAAgF,aAC7F,cAAK,SAAS,EAAC,iGAAiG,YAC9G,KAAC,QAAQ,IAAC,SAAS,EAAC,kCAAkC,GAAG,GACrD,EACN,YAAG,SAAS,EAAC,uCAAuC,4BAAgB,EACpE,YAAG,SAAS,EAAC,uCAAuC,mDAAuC,EAC3F,cAAK,SAAS,EAAC,uCAAuC,YACnD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtB,MAAC,MAAM,IAAc,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aACjH,yBAAO,CAAC,CAAC,IAAI,GAAQ,OAAE,CAAC,CAAC,KAAK,KADnB,CAAC,CAAC,IAAI,CAEV,CACV,CAAC,GACE,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WidgetInstance } from './types';
|
|
2
|
+
interface Props {
|
|
3
|
+
spec: any;
|
|
4
|
+
title?: string;
|
|
5
|
+
widgets: WidgetInstance[];
|
|
6
|
+
onDismiss?: () => void;
|
|
7
|
+
onSendToChat: (msg: string) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Agent-generated focused view — replaces the normal widget grid while active.
|
|
11
|
+
* Shows a minimized strip of the original widgets for context so the user can
|
|
12
|
+
* see they're in a temporary view and not lost their layout.
|
|
13
|
+
*/
|
|
14
|
+
export declare function FocusView({ spec, title, widgets, onDismiss, onSendToChat }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=FocusView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusView.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/FocusView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,UAAU,KAAK;IACb,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,2CAqCjF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { XIcon, SparklesIcon } from 'lucide-react';
|
|
3
|
+
import { Generative } from '../widgets/agent/Generative';
|
|
4
|
+
/**
|
|
5
|
+
* Agent-generated focused view — replaces the normal widget grid while active.
|
|
6
|
+
* Shows a minimized strip of the original widgets for context so the user can
|
|
7
|
+
* see they're in a temporary view and not lost their layout.
|
|
8
|
+
*/
|
|
9
|
+
export function FocusView({ spec, title, widgets, onDismiss, onSendToChat }) {
|
|
10
|
+
return (_jsxs("div", { className: "p-2", children: [_jsxs("div", { className: "flex items-center gap-1.5 mb-2 overflow-x-auto scrollbar-thin pb-1", children: [_jsx("span", { className: "text-[10px] text-muted-foreground/60 flex-shrink-0", children: "Widgets:" }), widgets.map(w => (_jsx("span", { className: "flex-shrink-0 text-[10px] px-2 py-0.5 rounded-full border border-border/60 bg-card text-muted-foreground", children: w.title }, w.id)))] }), _jsxs("div", { className: "bg-card border border-primary/30 rounded-lg overflow-hidden flex flex-col shadow-lg shadow-primary/5", children: [_jsxs("div", { className: "flex items-center justify-between px-3 py-1.5 border-b border-border/50 bg-gradient-to-r from-primary/5 to-transparent", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(SparklesIcon, { className: "w-3 h-3 text-primary" }), _jsx("span", { className: "text-sm font-medium", children: title || 'Vista generada' })] }), _jsx("button", { onClick: onDismiss, className: "p-1 -m-1 text-muted-foreground/40 hover:text-foreground transition-colors", "aria-label": "Cerrar vista", children: _jsx(XIcon, { className: "w-4 h-4" }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto scrollbar-thin p-3", children: _jsx(Generative, { spec: spec, onSendToChat: onSendToChat }) })] })] }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=FocusView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusView.js","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/FocusView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAWxD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAS;IAChF,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAElB,eAAK,SAAS,EAAC,oEAAoE,aACjF,eAAM,SAAS,EAAC,oDAAoD,yBAAgB,EACnF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAChB,eAEE,SAAS,EAAC,0GAA0G,YAEnH,CAAC,CAAC,KAAK,IAHH,CAAC,CAAC,EAAE,CAIJ,CACR,CAAC,IACE,EAGN,eAAK,SAAS,EAAC,sGAAsG,aACnH,eAAK,SAAS,EAAC,wHAAwH,aACrI,eAAK,SAAS,EAAC,2BAA2B,aACxC,KAAC,YAAY,IAAC,SAAS,EAAC,sBAAsB,GAAG,EACjD,eAAM,SAAS,EAAC,qBAAqB,YAAE,KAAK,IAAI,gBAAgB,GAAQ,IACpE,EACN,iBACE,OAAO,EAAE,SAAS,EAClB,SAAS,EAAC,2EAA2E,gBAC1E,cAAc,YAEzB,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,GACtB,IACL,EACN,cAAK,SAAS,EAAC,2CAA2C,YACxD,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAI,GAClD,IACF,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ActiveEntity, WidgetType } from './types';
|
|
3
|
+
interface CatalogEntry {
|
|
4
|
+
type: WidgetType;
|
|
5
|
+
title: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
}
|
|
8
|
+
interface Props {
|
|
9
|
+
widgetCount: number;
|
|
10
|
+
cockpitMode: boolean;
|
|
11
|
+
activeEntity: ActiveEntity | null | undefined;
|
|
12
|
+
onDeactivateEntity: (() => void) | undefined;
|
|
13
|
+
onReset: () => void;
|
|
14
|
+
onAddWidget: (type: WidgetType) => void;
|
|
15
|
+
widgetCatalog: CatalogEntry[];
|
|
16
|
+
onOpenSettings?: () => void;
|
|
17
|
+
editingLayout?: boolean;
|
|
18
|
+
onToggleEditLayout?: () => void;
|
|
19
|
+
openEntities?: ActiveEntity[];
|
|
20
|
+
onSelectEntity?: (e: ActiveEntity) => void;
|
|
21
|
+
onCloseTab?: (e: ActiveEntity) => void;
|
|
22
|
+
role?: string | null;
|
|
23
|
+
companies?: Array<{
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
}>;
|
|
27
|
+
effectiveCompanyId?: string;
|
|
28
|
+
setCompanyId?: (id: string) => void;
|
|
29
|
+
onSignOut?: () => void;
|
|
30
|
+
userEmail?: string;
|
|
31
|
+
rightActions?: ReactNode;
|
|
32
|
+
}
|
|
33
|
+
export declare function Toolbar({ widgetCount, cockpitMode, activeEntity, onDeactivateEntity, onReset, onAddWidget, widgetCatalog, onOpenSettings, editingLayout, onToggleEditLayout, openEntities, onSelectEntity, onCloseTab, role, companies, effectiveCompanyId, setCompanyId, onSignOut, userEmail, rightActions, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=Toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK7D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEvD,UAAU,YAAY;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,UAAU,KAAK;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAA;IAC7C,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACvC,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;IAC7B,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB;AAED,wBAAgB,OAAO,CAAC,EACtB,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAChF,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAChE,YAAY,EAAE,cAAc,EAAE,UAAU,EACxC,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EACvE,YAAY,GACb,EAAE,KAAK,2CA8KP"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { useMountEffect } from '../../hooks/useMountEffect';
|
|
4
|
+
import { Button } from '../ui/button';
|
|
5
|
+
import { PlusIcon, RotateCcwIcon, SunIcon, MoonIcon, MonitorIcon, UserIcon, LogOutIcon, Building2Icon, ChevronDownIcon, CheckIcon, XIcon, HomeIcon, SettingsIcon, LayoutGridIcon } from 'lucide-react';
|
|
6
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
7
|
+
export function Toolbar({ widgetCount, cockpitMode, activeEntity, onDeactivateEntity, onReset, onAddWidget, widgetCatalog, onOpenSettings, editingLayout, onToggleEditLayout, openEntities, onSelectEntity, onCloseTab, role, companies, effectiveCompanyId, setCompanyId, onSignOut, userEmail, rightActions, }) {
|
|
8
|
+
const [openDropdown, setOpenDropdown] = useState(null);
|
|
9
|
+
const showCatalog = openDropdown === 'catalog';
|
|
10
|
+
const showProfile = openDropdown === 'profile';
|
|
11
|
+
const showCompany = openDropdown === 'company';
|
|
12
|
+
const toggleDropdown = (d) => setOpenDropdown(prev => prev === d ? null : d);
|
|
13
|
+
useMountEffect(() => {
|
|
14
|
+
const handler = (e) => {
|
|
15
|
+
if (e.key === 'Escape')
|
|
16
|
+
setOpenDropdown(null);
|
|
17
|
+
};
|
|
18
|
+
document.addEventListener('keydown', handler);
|
|
19
|
+
return () => document.removeEventListener('keydown', handler);
|
|
20
|
+
});
|
|
21
|
+
const currentCompany = companies?.find(c => c.id === effectiveCompanyId);
|
|
22
|
+
return (_jsxs("div", { className: "sticky top-0 z-20 bg-background/80 backdrop-blur border-b border-border px-3 py-1.5 flex items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-1 min-w-0 flex-1", children: [_jsx("button", { onClick: onDeactivateEntity, className: `p-1.5 rounded-md transition-colors shrink-0 ${!cockpitMode ? 'bg-accent text-foreground' : 'text-muted-foreground hover:text-foreground hover:bg-accent'}`, "aria-label": "Inicio", title: "Inicio", children: _jsx(HomeIcon, { className: "w-3.5 h-3.5" }) }), openEntities && openEntities.length > 0 ? (_jsx("div", { className: "flex items-center gap-0.5 min-w-0 overflow-x-auto scrollbar-thin", children: openEntities.map(e => {
|
|
23
|
+
const isActive = !!(cockpitMode && activeEntity && activeEntity.type === e.type && activeEntity.id === e.id);
|
|
24
|
+
return (_jsxs("button", { role: "tab", "aria-selected": isActive, className: `group flex items-center gap-1.5 pl-2 pr-1 py-1 rounded-md border text-[11px] cursor-pointer transition-colors shrink-0 max-w-[200px] ${isActive
|
|
25
|
+
? 'bg-primary/10 border-primary/40 text-foreground'
|
|
26
|
+
: 'bg-background border-border text-muted-foreground hover:text-foreground hover:bg-accent/50'}`, onClick: () => onSelectEntity?.(e), children: [_jsx("div", { className: `w-1.5 h-1.5 rounded-full shrink-0 ${isActive ? 'bg-primary animate-pulse' : 'bg-muted-foreground/40'}` }), _jsx("span", { className: "truncate", children: e.label }), _jsx("span", { role: "button", tabIndex: 0, onClick: (ev) => { ev.stopPropagation(); onCloseTab?.(e); }, onKeyDown: (ev) => { if (ev.key === 'Enter' || ev.key === ' ') {
|
|
27
|
+
ev.stopPropagation();
|
|
28
|
+
onCloseTab?.(e);
|
|
29
|
+
} }, className: `p-0.5 rounded-full hover:text-foreground hover:bg-accent shrink-0 transition-opacity ${isActive ? 'text-muted-foreground/60' : 'text-muted-foreground/50 opacity-0 group-hover:opacity-100'}`, "aria-label": `Close ${e.label}`, children: _jsx(XIcon, { className: "w-3 h-3" }) })] }, `${e.type}-${e.id}`));
|
|
30
|
+
}) })) : (_jsxs("span", { className: "text-xs text-muted-foreground pl-1", children: [widgetCount, " widgets"] }))] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Button, { variant: "ghost", size: "sm", className: "h-7 text-xs gap-1", onClick: onReset, children: [_jsx(RotateCcwIcon, { className: "w-3 h-3" }), " Reset"] }), onToggleEditLayout && !cockpitMode && (_jsx(Button, { variant: editingLayout ? 'default' : 'ghost', size: "sm", className: `h-7 text-xs gap-1 ${editingLayout ? 'bg-primary text-primary-foreground' : ''}`, onClick: onToggleEditLayout, children: editingLayout ? _jsxs(_Fragment, { children: [_jsx(CheckIcon, { className: "w-3 h-3" }), " Listo"] }) : _jsxs(_Fragment, { children: [_jsx(LayoutGridIcon, { className: "w-3 h-3" }), " Editar"] }) })), role === 'admin' && companies && companies.length > 1 && setCompanyId && (_jsxs("div", { className: "relative", children: [_jsxs(Button, { variant: "ghost", size: "sm", className: "h-7 text-xs gap-1.5 max-w-[180px]", onClick: () => toggleDropdown('company'), children: [_jsx(Building2Icon, { className: "w-3 h-3 shrink-0" }), _jsx("span", { className: "truncate", children: currentCompany?.name || 'Empresa' }), _jsx(ChevronDownIcon, { className: "w-3 h-3 shrink-0 opacity-60" })] }), showCompany && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-20", onClick: () => setOpenDropdown(null) }), _jsxs("div", { className: "absolute right-0 top-8 bg-card border border-border rounded-lg shadow-lg p-1 z-30 w-60 max-h-80 overflow-y-auto scrollbar-thin", children: [_jsx("div", { className: "px-2 py-1 text-[10px] uppercase tracking-wide text-muted-foreground/60", children: "Empresas" }), companies.map(c => {
|
|
31
|
+
const active = c.id === effectiveCompanyId;
|
|
32
|
+
return (_jsxs("button", { onClick: () => { setCompanyId(c.id); setOpenDropdown(null); }, className: `w-full text-left px-2 py-1.5 text-sm rounded hover:bg-accent transition-colors flex items-center gap-2 ${active ? 'bg-accent/50' : ''}`, children: [_jsx(Building2Icon, { className: "w-3.5 h-3.5 shrink-0 text-muted-foreground" }), _jsx("span", { className: "flex-1 truncate", children: c.name }), active && _jsx(CheckIcon, { className: "w-3.5 h-3.5 text-primary shrink-0" })] }, c.id));
|
|
33
|
+
})] })] }))] })), rightActions, _jsxs("div", { className: "relative", children: [_jsxs(Button, { variant: "ghost", size: "sm", className: "h-7 text-xs gap-1", onClick: () => toggleDropdown('catalog'), children: [_jsx(PlusIcon, { className: "w-3 h-3" }), " Agregar"] }), showCatalog && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-20", onClick: () => setOpenDropdown(null) }), _jsx("div", { className: "absolute right-0 top-8 bg-card border border-border rounded-lg shadow-lg p-1 z-30 w-40", children: widgetCatalog.map(w => (_jsxs("button", { onClick: () => { onAddWidget(w.type); setOpenDropdown(null); }, className: "w-full text-left px-3 py-1.5 text-sm rounded hover:bg-accent transition-colors flex items-center gap-2", children: [_jsx("span", { children: w.icon }), " ", w.title] }, w.type))) })] }))] }), onSignOut && (_jsxs("div", { className: "relative ml-1", children: [_jsx(Button, { variant: "ghost", size: "sm", className: "h-7 w-7 p-0", onClick: () => toggleDropdown('profile'), "aria-label": "Perfil", children: _jsx(UserIcon, { className: "w-3.5 h-3.5" }) }), showProfile && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-20", onClick: () => setOpenDropdown(null) }), _jsxs("div", { className: "absolute right-0 top-8 bg-card border border-border rounded-lg shadow-lg p-1 z-30 w-48", children: [userEmail && (_jsx("div", { className: "px-3 py-1.5 text-[11px] text-muted-foreground truncate border-b border-border/50 mb-1", children: userEmail })), onOpenSettings && (_jsxs("button", { onClick: () => { setOpenDropdown(null); onOpenSettings(); }, className: "w-full text-left px-3 py-1.5 text-sm rounded hover:bg-accent transition-colors flex items-center gap-2", children: [_jsx(SettingsIcon, { className: "w-3.5 h-3.5" }), " Configuracion"] })), _jsx(ThemeToggleRow, {}), _jsx("div", { className: "border-t border-border/50 mt-1 pt-1", children: _jsxs("button", { onClick: () => { setOpenDropdown(null); onSignOut(); }, className: "w-full text-left px-3 py-1.5 text-sm rounded hover:bg-accent transition-colors flex items-center gap-2", children: [_jsx(LogOutIcon, { className: "w-3.5 h-3.5" }), " Salir"] }) })] })] }))] }))] })] }));
|
|
34
|
+
}
|
|
35
|
+
function ThemeToggleRow() {
|
|
36
|
+
const { theme, setTheme } = useTheme();
|
|
37
|
+
const next = { light: 'dark', dark: 'system', system: 'light' };
|
|
38
|
+
const Icon = theme === 'dark' ? MoonIcon : theme === 'light' ? SunIcon : MonitorIcon;
|
|
39
|
+
const label = theme === 'dark' ? 'Oscuro' : theme === 'light' ? 'Claro' : 'Auto';
|
|
40
|
+
return (_jsxs("button", { onClick: () => setTheme(next[theme]), className: "w-full text-left px-3 py-1.5 text-sm rounded hover:bg-accent transition-colors flex items-center gap-2", children: [_jsx(Icon, { className: "w-3.5 h-3.5" }), " Tema: ", label] }));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/Toolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WidgetInstance } from './types';
|
|
2
|
+
export declare function loadShellState(): {
|
|
3
|
+
widgets: WidgetInstance[];
|
|
4
|
+
layouts: any;
|
|
5
|
+
} | null;
|
|
6
|
+
export declare function saveShellState(widgets: WidgetInstance[], layouts: any): void;
|
|
7
|
+
export declare function clearShellState(): void;
|
|
8
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAKnF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,QAIrE;AAED,wBAAgB,eAAe,SAE9B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const KEY = 'proto-shell';
|
|
2
|
+
export function loadShellState() {
|
|
3
|
+
try {
|
|
4
|
+
const raw = localStorage.getItem(KEY);
|
|
5
|
+
return raw ? JSON.parse(raw) : null;
|
|
6
|
+
}
|
|
7
|
+
catch {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function saveShellState(widgets, layouts) {
|
|
12
|
+
try {
|
|
13
|
+
localStorage.setItem(KEY, JSON.stringify({ widgets, layouts }));
|
|
14
|
+
}
|
|
15
|
+
catch { }
|
|
16
|
+
}
|
|
17
|
+
export function clearShellState() {
|
|
18
|
+
localStorage.removeItem(KEY);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=persistence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/persistence.ts"],"names":[],"mappings":"AAEA,MAAM,GAAG,GAAG,aAAa,CAAA;AAEzB,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACrC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAyB,EAAE,OAAY;IACpE,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type WidgetType = string;
|
|
2
|
+
export interface WidgetInstance {
|
|
3
|
+
id: string;
|
|
4
|
+
type: WidgetType;
|
|
5
|
+
title: string;
|
|
6
|
+
props?: Record<string, any>;
|
|
7
|
+
}
|
|
8
|
+
export interface ActiveEntity {
|
|
9
|
+
type: string;
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../core-web/src/components/shell/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare const Avatar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
3
|
+
declare const AvatarFallback: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
export { Avatar, AvatarFallback };
|
|
5
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,MAAM,6GAIX,CAAA;AAGD,QAAA,MAAM,cAAc,6GAInB,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
const Avatar = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('relative flex h-8 w-8 shrink-0 overflow-hidden rounded-full', className), ...props })));
|
|
5
|
+
Avatar.displayName = 'Avatar';
|
|
6
|
+
const AvatarFallback = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('flex h-full w-full items-center justify-center rounded-full bg-muted', className), ...props })));
|
|
7
|
+
AvatarFallback.displayName = 'AvatarFallback';
|
|
8
|
+
export { Avatar, AvatarFallback };
|
|
9
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,6DAA6D,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACtH,CACF,CAAA;AACD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAE7B,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,sEAAsE,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC/H,CACF,CAAA;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare const variantStyles: {
|
|
3
|
+
default: string;
|
|
4
|
+
secondary: string;
|
|
5
|
+
destructive: string;
|
|
6
|
+
outline: string;
|
|
7
|
+
};
|
|
8
|
+
export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
9
|
+
variant?: keyof typeof variantStyles;
|
|
10
|
+
}
|
|
11
|
+
declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export { Badge };
|
|
13
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,aAAa;;;;;CAKlB,CAAA;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACvE,OAAO,CAAC,EAAE,MAAM,OAAO,aAAa,CAAA;CACrC;AAED,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAWtE;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../lib/utils';
|
|
3
|
+
const variantStyles = {
|
|
4
|
+
default: 'bg-primary text-primary-foreground',
|
|
5
|
+
secondary: 'bg-secondary text-secondary-foreground',
|
|
6
|
+
destructive: 'bg-destructive/10 text-destructive',
|
|
7
|
+
outline: 'border border-border text-foreground',
|
|
8
|
+
};
|
|
9
|
+
function Badge({ className, variant = 'default', ...props }) {
|
|
10
|
+
return (_jsx("span", { className: cn('inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium', variantStyles[variant], className), ...props }));
|
|
11
|
+
}
|
|
12
|
+
export { Badge };
|
|
13
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,aAAa,GAAG;IACpB,OAAO,EAAE,oCAAoC;IAC7C,SAAS,EAAE,wCAAwC;IACnD,WAAW,EAAE,oCAAoC;IACjD,OAAO,EAAE,sCAAsC;CAChD,CAAA;AAMD,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,EAAc;IACrE,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,uEAAuE,EACvE,aAAa,CAAC,OAAO,CAAC,EACtB,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare const variantStyles: {
|
|
3
|
+
default: string;
|
|
4
|
+
destructive: string;
|
|
5
|
+
outline: string;
|
|
6
|
+
secondary: string;
|
|
7
|
+
ghost: string;
|
|
8
|
+
link: string;
|
|
9
|
+
};
|
|
10
|
+
declare const sizeStyles: {
|
|
11
|
+
default: string;
|
|
12
|
+
sm: string;
|
|
13
|
+
lg: string;
|
|
14
|
+
icon: string;
|
|
15
|
+
};
|
|
16
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
17
|
+
variant?: keyof typeof variantStyles;
|
|
18
|
+
size?: keyof typeof sizeStyles;
|
|
19
|
+
}
|
|
20
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
21
|
+
export { Button };
|
|
22
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,aAAa;;;;;;;CAOlB,CAAA;AAED,QAAA,MAAM,UAAU;;;;;CAKf,CAAA;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF,OAAO,CAAC,EAAE,MAAM,OAAO,aAAa,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,OAAO,UAAU,CAAA;CAC/B;AAED,QAAA,MAAM,MAAM,uFAaX,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
const variantStyles = {
|
|
5
|
+
default: 'bg-primary text-primary-foreground hover:bg-primary/90',
|
|
6
|
+
destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
|
|
7
|
+
outline: 'border border-border bg-background hover:bg-accent hover:text-accent-foreground',
|
|
8
|
+
secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
|
|
9
|
+
ghost: 'hover:bg-accent hover:text-accent-foreground',
|
|
10
|
+
link: 'text-primary underline-offset-4 hover:underline',
|
|
11
|
+
};
|
|
12
|
+
const sizeStyles = {
|
|
13
|
+
default: 'h-9 px-4 py-2',
|
|
14
|
+
sm: 'h-8 rounded-md px-3 text-xs',
|
|
15
|
+
lg: 'h-11 rounded-md px-8',
|
|
16
|
+
icon: 'h-9 w-9',
|
|
17
|
+
};
|
|
18
|
+
const Button = React.forwardRef(({ className, variant = 'default', size = 'default', ...props }, ref) => (_jsx("button", { className: cn('inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:w-4 [&_svg]:h-4', variantStyles[variant], sizeStyles[size], className), ref: ref, ...props })));
|
|
19
|
+
Button.displayName = 'Button';
|
|
20
|
+
export { Button };
|
|
21
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,aAAa,GAAG;IACpB,OAAO,EAAE,wDAAwD;IACjE,WAAW,EAAE,oEAAoE;IACjF,OAAO,EAAE,iFAAiF;IAC1F,SAAS,EAAE,8DAA8D;IACzE,KAAK,EAAE,8CAA8C;IACrD,IAAI,EAAE,iDAAiD;CACxD,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,eAAe;IACxB,EAAE,EAAE,6BAA6B;IACjC,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,SAAS;CAChB,CAAA;AAOD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACvE,iBACE,SAAS,EAAE,EAAE,CACX,2OAA2O,EAC3O,aAAa,CAAC,OAAO,CAAC,EACtB,UAAU,CAAC,IAAI,CAAC,EAChB,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CACF,CAAA;AACD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
3
|
+
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export { Card, CardHeader, CardContent, CardFooter };
|
|
7
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,IAAI,6GAIT,CAAA;AAGD,QAAA,MAAM,UAAU,6GAIf,CAAA;AAGD,QAAA,MAAM,WAAW,6GAIhB,CAAA;AAGD,QAAA,MAAM,UAAU,6GAIf,CAAA;AAGD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
const Card = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('rounded-xl border bg-card text-card-foreground', className), ...props })));
|
|
5
|
+
Card.displayName = 'Card';
|
|
6
|
+
const CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('flex flex-col space-y-1.5 p-4', className), ...props })));
|
|
7
|
+
CardHeader.displayName = 'CardHeader';
|
|
8
|
+
const CardContent = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('p-4 pt-0', className), ...props })));
|
|
9
|
+
CardContent.displayName = 'CardContent';
|
|
10
|
+
const CardFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('flex items-center p-4 pt-0', className), ...props })));
|
|
11
|
+
CardFooter.displayName = 'CardFooter';
|
|
12
|
+
export { Card, CardHeader, CardContent, CardFooter };
|
|
13
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,gDAAgD,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzG,CACF,CAAA;AACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;AAEzB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACxF,CACF,CAAA;AACD,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACnE,CACF,CAAA;AACD,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACrF,CACF,CAAA;AACD,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface InlineEditProps {
|
|
2
|
+
value: string | null | undefined;
|
|
3
|
+
onSave: (next: string) => Promise<void> | void;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
inputClassName?: string;
|
|
7
|
+
/** Render the display value when not editing. Defaults to plain text. */
|
|
8
|
+
display?: (value: string) => React.ReactNode;
|
|
9
|
+
/** Allow empty string to clear the field. Defaults to true. */
|
|
10
|
+
allowEmpty?: boolean;
|
|
11
|
+
/** Input type (text, date, number). Defaults to text. */
|
|
12
|
+
type?: 'text' | 'date' | 'number';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Hover to reveal a pencil icon, click to edit inline. Enter or check icon
|
|
16
|
+
* saves, Escape or X discards. Keeps display markup flexible via `display`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function InlineEdit({ value, onSave, placeholder, className, inputClassName, display, allowEmpty, type, }: InlineEditProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=inline-edit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-edit.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/inline-edit.tsx"],"names":[],"mappings":"AAGA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IAC5C,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;CAClC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,WAAiB,EACjB,SAAc,EACd,cAAmB,EACnB,OAAO,EACP,UAAiB,EACjB,IAAa,GACd,EAAE,eAAe,2CAyFjB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useRef, useState } from 'react';
|
|
3
|
+
import { Pencil, Check, X } from 'lucide-react';
|
|
4
|
+
/**
|
|
5
|
+
* Hover to reveal a pencil icon, click to edit inline. Enter or check icon
|
|
6
|
+
* saves, Escape or X discards. Keeps display markup flexible via `display`.
|
|
7
|
+
*/
|
|
8
|
+
export function InlineEdit({ value, onSave, placeholder = '—', className = '', inputClassName = '', display, allowEmpty = true, type = 'text', }) {
|
|
9
|
+
const [editing, setEditing] = useState(false);
|
|
10
|
+
const [draft, setDraft] = useState(value ?? '');
|
|
11
|
+
const [saving, setSaving] = useState(false);
|
|
12
|
+
const inputRef = useRef(null);
|
|
13
|
+
// Sync draft when value changes externally while not editing
|
|
14
|
+
const prevValueRef = useRef(value);
|
|
15
|
+
if (prevValueRef.current !== value) {
|
|
16
|
+
prevValueRef.current = value;
|
|
17
|
+
if (!editing)
|
|
18
|
+
setDraft(value ?? '');
|
|
19
|
+
}
|
|
20
|
+
// Callback ref: auto-focus and select when the input mounts (editing starts)
|
|
21
|
+
const inputCallbackRef = useCallback((node) => {
|
|
22
|
+
inputRef.current = node;
|
|
23
|
+
if (node) {
|
|
24
|
+
node.focus();
|
|
25
|
+
node.select();
|
|
26
|
+
}
|
|
27
|
+
}, []);
|
|
28
|
+
const commit = async () => {
|
|
29
|
+
const next = draft.trim();
|
|
30
|
+
if (!allowEmpty && next === '') {
|
|
31
|
+
setEditing(false);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (next === (value ?? '')) {
|
|
35
|
+
setEditing(false);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
setSaving(true);
|
|
40
|
+
await onSave(next);
|
|
41
|
+
setEditing(false);
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
setSaving(false);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const cancel = () => {
|
|
48
|
+
setDraft(value ?? '');
|
|
49
|
+
setEditing(false);
|
|
50
|
+
};
|
|
51
|
+
if (editing) {
|
|
52
|
+
return (_jsxs("span", { className: `inline-flex items-center gap-1 ${className}`, children: [_jsx("input", { ref: inputCallbackRef, type: type, value: draft, disabled: saving, onChange: (e) => setDraft(e.target.value), onKeyDown: (e) => {
|
|
53
|
+
if (e.key === 'Enter')
|
|
54
|
+
commit();
|
|
55
|
+
if (e.key === 'Escape')
|
|
56
|
+
cancel();
|
|
57
|
+
}, onBlur: commit, className: `bg-background border border-primary/50 rounded px-1.5 py-0.5 outline-none focus:border-primary ${inputClassName}` }), _jsx("button", { onMouseDown: (e) => { e.preventDefault(); commit(); }, className: "text-emerald-600 hover:text-emerald-500 shrink-0", disabled: saving, "aria-label": "Guardar", children: _jsx(Check, { className: "h-3 w-3" }) }), _jsx("button", { onMouseDown: (e) => { e.preventDefault(); cancel(); }, className: "text-muted-foreground hover:text-foreground shrink-0", disabled: saving, "aria-label": "Cancelar", children: _jsx(X, { className: "h-3 w-3" }) })] }));
|
|
58
|
+
}
|
|
59
|
+
const shown = value && value.trim() !== '' ? value : placeholder;
|
|
60
|
+
return (_jsxs("span", { className: `group inline-flex items-center gap-1 cursor-text ${className}`, onClick: () => setEditing(true), role: "button", tabIndex: 0, onKeyDown: (e) => { if (e.key === 'Enter')
|
|
61
|
+
setEditing(true); }, children: [_jsx("span", { className: "truncate", children: display && value ? display(value) : shown }), _jsx(Pencil, { className: "h-3 w-3 opacity-0 group-hover:opacity-60 transition-opacity shrink-0" })] }));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=inline-edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-edit.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/inline-edit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,KAAK,sHAYV,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
const Input = React.forwardRef(({ className, type, ...props }, ref) => (_jsx("input", { type: type, className: cn('flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', className), ref: ref, ...props })));
|
|
5
|
+
Input.displayName = 'Input';
|
|
6
|
+
export { Input };
|
|
7
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/input.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC5B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACtC,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,6PAA6P,EAC7P,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CACF,CAAA;AACD,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/scroll-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,UAAU,6GAMf,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('relative overflow-auto', className), ...props, children: children })));
|
|
5
|
+
ScrollArea.displayName = 'ScrollArea';
|
|
6
|
+
export { ScrollArea };
|
|
7
|
+
//# sourceMappingURL=scroll-area.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-area.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/scroll-area.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1C,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,KAAM,KAAK,YACzE,QAAQ,GACL,CACP,CACF,CAAA;AACD,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface SeparatorProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
orientation?: 'horizontal' | 'vertical';
|
|
4
|
+
}
|
|
5
|
+
declare const Separator: React.ForwardRefExoticComponent<SeparatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export { Separator };
|
|
7
|
+
//# sourceMappingURL=separator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/separator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,UAAU,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACnE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;CACxC;AAED,QAAA,MAAM,SAAS,uFAad,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
const Separator = React.forwardRef(({ className, orientation = 'horizontal', ...props }, ref) => (_jsx("div", { ref: ref, role: "separator", className: cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-px w-full' : 'h-full w-px', className), ...props })));
|
|
5
|
+
Separator.displayName = 'Separator';
|
|
6
|
+
export { Separator };
|
|
7
|
+
//# sourceMappingURL=separator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"separator.js","sourceRoot":"","sources":["../../../../../core-web/src/components/ui/separator.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAMpC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,WAAW,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5D,cACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,WAAW,EAChB,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAC5D,SAAS,CACV,KACG,KAAK,GACT,CACH,CACF,CAAA;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,CAAA"}
|