@treenity/react 3.0.6 → 3.0.7

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.
Files changed (86) hide show
  1. package/dist/AclEditor.js +3 -3
  2. package/dist/ActionCards.js +5 -5
  3. package/dist/App.js +6 -6
  4. package/dist/CLAUDE.md +16 -0
  5. package/dist/ComponentSection.js +4 -4
  6. package/dist/ComponentSection.js.map +1 -1
  7. package/dist/ErrorBoundary.js +1 -1
  8. package/dist/Inspector.js +9 -9
  9. package/dist/Inspector.js.map +1 -1
  10. package/dist/Login.js +4 -4
  11. package/dist/NodeEditor.d.ts.map +1 -1
  12. package/dist/NodeEditor.js +10 -9
  13. package/dist/NodeEditor.js.map +1 -1
  14. package/dist/Tree.js +3 -3
  15. package/dist/ViewPage.js +1 -1
  16. package/dist/bind/engine.js +2 -2
  17. package/dist/bind/hook.js +2 -2
  18. package/dist/components/ConfirmDialog.js +1 -1
  19. package/dist/components/ConfirmPopover.js +2 -2
  20. package/dist/components/PathBreadcrumb.js +1 -1
  21. package/dist/components/lib/utils.ts.bak +6 -0
  22. package/dist/components/ui/accordion.js +1 -1
  23. package/dist/components/ui/alert-dialog.js +2 -2
  24. package/dist/components/ui/badge.js +1 -1
  25. package/dist/components/ui/breadcrumb.js +1 -1
  26. package/dist/components/ui/button.js +1 -1
  27. package/dist/components/ui/card.js +1 -1
  28. package/dist/components/ui/checkbox.js +1 -1
  29. package/dist/components/ui/command.js +2 -2
  30. package/dist/components/ui/dialog.js +2 -2
  31. package/dist/components/ui/drawer.js +1 -1
  32. package/dist/components/ui/dropdown-menu.js +1 -1
  33. package/dist/components/ui/form-field.js +1 -1
  34. package/dist/components/ui/input.js +1 -1
  35. package/dist/components/ui/label.js +1 -1
  36. package/dist/components/ui/pagination.js +2 -2
  37. package/dist/components/ui/popover.js +1 -1
  38. package/dist/components/ui/progress.js +1 -1
  39. package/dist/components/ui/resizable.js +1 -1
  40. package/dist/components/ui/scroll-area.js +1 -1
  41. package/dist/components/ui/select.js +1 -1
  42. package/dist/components/ui/separator.js +1 -1
  43. package/dist/components/ui/sheet.js +1 -1
  44. package/dist/components/ui/skeleton.js +1 -1
  45. package/dist/components/ui/slider.js +1 -1
  46. package/dist/components/ui/switch.js +1 -1
  47. package/dist/components/ui/table.js +1 -1
  48. package/dist/components/ui/tabs.js +1 -1
  49. package/dist/components/ui/textarea.js +1 -1
  50. package/dist/components/ui/toggle-group.js +2 -2
  51. package/dist/components/ui/toggle.js +1 -1
  52. package/dist/components/ui/tooltip.js +1 -1
  53. package/dist/context/index.js +2 -2
  54. package/dist/mods/editor-ui/CLAUDE.md +3 -0
  55. package/dist/mods/editor-ui/DraftTextarea.d.ts +8 -0
  56. package/dist/mods/editor-ui/DraftTextarea.d.ts.map +1 -0
  57. package/dist/mods/editor-ui/DraftTextarea.js +23 -0
  58. package/dist/mods/editor-ui/DraftTextarea.js.map +1 -0
  59. package/dist/mods/editor-ui/FieldLabel.js +2 -2
  60. package/dist/mods/editor-ui/default-edit.js +3 -3
  61. package/dist/mods/editor-ui/default-view.js +4 -4
  62. package/dist/mods/editor-ui/dir-view.js +2 -2
  63. package/dist/mods/editor-ui/empty-placeholder.js +2 -2
  64. package/dist/mods/editor-ui/form-field.js +5 -5
  65. package/dist/mods/editor-ui/form-field.js.map +1 -1
  66. package/dist/mods/editor-ui/form-fields.d.ts.map +1 -1
  67. package/dist/mods/editor-ui/form-fields.js +17 -16
  68. package/dist/mods/editor-ui/form-fields.js.map +1 -1
  69. package/dist/mods/editor-ui/layout-view.js +2 -2
  70. package/dist/mods/editor-ui/list-items.js +1 -1
  71. package/dist/mods/editor-ui/node-utils.js +1 -1
  72. package/dist/mods/editor-ui/node-utils.js.map +1 -1
  73. package/dist/mods/editor-ui/type-picker.js +5 -5
  74. package/dist/mods/treenity/CLAUDE.md +7 -0
  75. package/dist/mods/treenity/groups/index.js +3 -3
  76. package/dist/mods/treenity/preview.js +2 -2
  77. package/dist/mods/treenity/ref-view.js +3 -3
  78. package/package.json +2 -2
  79. package/src/ComponentSection.tsx +1 -1
  80. package/src/Inspector.tsx +2 -2
  81. package/src/NodeEditor.tsx +3 -2
  82. package/src/mods/editor-ui/DraftTextarea.tsx +42 -0
  83. package/src/mods/editor-ui/form-field.tsx +4 -4
  84. package/src/mods/editor-ui/form-fields.tsx +11 -10
  85. package/src/mods/editor-ui/node-utils.ts +1 -1
  86. package/vite-plugin-treenity.ts +7 -1
package/dist/AclEditor.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button } from '#components/ui/button';
3
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '#components/ui/collapsible';
4
- import { Input } from '#components/ui/input';
2
+ import { Button } from './components/ui/button.js';
3
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './components/ui/collapsible.js';
4
+ import { Input } from './components/ui/input.js';
5
5
  import { A, R, S, W } from '@treenity/core';
6
6
  import { ChevronRight, X } from 'lucide-react';
7
7
  import { useMemo, useState } from 'react';
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  // ActionCards — action pill buttons with expandable params, run, and results
3
- import { Button } from '#components/ui/button';
4
- import { Checkbox } from '#components/ui/checkbox';
5
- import { Input } from '#components/ui/input';
6
- import { Render } from '#context';
7
- import { getActions, getActionSchema } from '#mods/editor-ui/node-utils';
3
+ import { Button } from './components/ui/button.js';
4
+ import { Checkbox } from './components/ui/checkbox.js';
5
+ import { Input } from './components/ui/input.js';
6
+ import { Render } from './context.js';
7
+ import { getActions, getActionSchema } from './mods/editor-ui/node-utils.js';
8
8
  import { useState } from 'react';
9
9
  import * as cache from './cache';
10
10
  import { useSchema } from './schema-loader';
package/dist/App.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '#components/ui/alert-dialog';
3
- import { Button } from '#components/ui/button';
4
- import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '#components/ui/dropdown-menu';
5
- import { Input } from '#components/ui/input';
6
- import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '#components/ui/resizable';
7
- import { TypePicker } from '#mods/editor-ui/type-picker';
2
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from './components/ui/alert-dialog.js';
3
+ import { Button } from './components/ui/button.js';
4
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './components/ui/dropdown-menu.js';
5
+ import { Input } from './components/ui/input.js';
6
+ import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './components/ui/resizable.js';
7
+ import { TypePicker } from './mods/editor-ui/type-picker.js';
8
8
  import { useCallback, useEffect, useRef, useState, useSyncExternalStore } from 'react';
9
9
  import { toast } from 'sonner';
10
10
  import * as cache from './cache';
package/dist/CLAUDE.md ADDED
@@ -0,0 +1,16 @@
1
+ ## front
2
+ React admin SPA — node editor, tree browser, typed hooks, client cache.
3
+
4
+ ### Файлы
5
+ - App.tsx — root layout: Tree sidebar + NodeEditor main panel
6
+ - hooks.ts — useNode, useChildren, useComponent, useAction, **useComp**, **useExecute**
7
+ - cache.ts — in-memory node cache, subscribePath/subscribeChildren
8
+ - trpc.ts — tRPC client setup
9
+ - Inspector.tsx — generic component inspector (key-based, not typed)
10
+ - AclEditor.tsx — ACL UI
11
+
12
+ ### Конвенции
13
+ - **useComp(path, Class, key?)** — typed reactive proxy: data live, methods → trpc.execute.mutate
14
+ - **useExecute()** — stable callback for node-level/generic actions
15
+ - No magic `action: 'string'` in views — use useComp methods instead
16
+ - useNode/useChildren remain for raw node/children access
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // ComponentSection — renders one component's edit UI (header + fields + actions)
3
3
  // Used by NodeEditor for both the main type section and named component sections.
4
- import { ConfirmPopover } from '#components/ConfirmPopover';
5
- import { Button } from '#components/ui/button';
6
- import { NodeProvider, Render, RenderContext } from '#context';
4
+ import { ConfirmPopover } from './components/ConfirmPopover.js';
5
+ import { Button } from './components/ui/button.js';
6
+ import { NodeProvider, Render, RenderContext } from './context.js';
7
7
  import { Trash2 } from 'lucide-react';
8
8
  import { ActionCardList } from './ActionCards';
9
9
  import { ErrorBoundary } from './ErrorBoundary';
@@ -20,6 +20,6 @@ function EditPanel({ node, type, data, onData }) {
20
20
  }
21
21
  export function ComponentSection({ node, name, compType, data, onData, collapsed, onToggle, onRemove, toast, onActionComplete, }) {
22
22
  const isMain = !name;
23
- return (_jsxs("div", { className: "border-t border-border mt-2 pt-0.5 first:border-t-0 first:mt-0 first:pt-0", children: [_jsxs("div", { className: "flex items-center justify-between py-2 pb-1.5 text-[11px] font-semibold text-muted-foreground uppercase tracking-wider cursor-pointer select-none", onClick: onToggle, children: [isMain ? (_jsx("span", { children: compType })) : (_jsx("span", { className: "font-mono text-[12px]", children: name })), !isMain && (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-[11px] text-muted-foreground/50 font-mono", children: compType }), onRemove && (_jsx(ConfirmPopover, { title: `Remove "${name}"?`, variant: "destructive", onConfirm: onRemove, children: _jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-muted-foreground/40 hover:text-destructive", onClick: (e) => e.stopPropagation(), children: _jsx(Trash2, { className: "w-3.5 h-3.5" }) }) }))] }))] }), !collapsed && (_jsxs(ErrorBoundary, { children: [_jsx(EditPanel, { node: node, type: compType, data: data, onData: onData }), _jsx(ActionCardList, { path: node.$path, componentName: name, compType: compType, compData: data, toast: toast, onActionComplete: onActionComplete })] }))] }));
23
+ return (_jsxs("div", { className: "border-t border-border mt-2 pt-0.5 first:border-t-0 first:mt-0 first:pt-0", children: [_jsxs("div", { className: "flex items-center justify-between py-2 pb-1.5 text-[11px] font-semibold text-muted-foreground uppercase tracking-wider cursor-pointer select-none", onClick: onToggle, children: [isMain ? (_jsx("span", { children: compType })) : (_jsx("span", { className: "font-mono text-[12px]", children: name })), !isMain && (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-[11px] text-muted-foreground/50 font-mono", children: compType }), onRemove && (_jsx(ConfirmPopover, { title: `Remove "${name}"?`, variant: "destructive", onConfirm: onRemove, children: _jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-muted-foreground/40 hover:text-destructive", onClick: (e) => e.stopPropagation(), children: _jsx(Trash2, { className: "w-3.5 h-3.5" }) }) }))] }))] }), !collapsed && (_jsxs(ErrorBoundary, { children: [_jsx(EditPanel, { node: node, type: compType, data: data, onData: onData }), _jsx(ActionCardList, { path: node.$path, componentName: name, compType: compType, compData: data, toast: toast, onActionComplete: onActionComplete })] }, `${node.$path}:${compType}`))] }));
24
24
  }
25
25
  //# sourceMappingURL=ComponentSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentSection.js","sourceRoot":"","sources":["../src/ComponentSection.tsx"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,kFAAkF;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAK5C;IACC,OAAO,CACL,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,YACvB,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,YAC9B,KAAC,MAAM,IACL,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAmB,EAChD,QAAQ,EAAE,CAAC,IAAmB,EAAE,EAAE;oBAChC,MAAM,CAAC,GAA4B,EAAE,CAAC;oBACtC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;wBACrE,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO;4BAAE,SAAS;wBAC7C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACX,CAAC;oBACD,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC,GACD,GACY,GACH,CAChB,CAAC;AACJ,CAAC;AAeD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,gBAAgB,GACM;IACtB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC;IAErB,OAAO,CACL,eAAK,SAAS,EAAC,2EAA2E,aACxF,eACE,SAAS,EAAC,mJAAmJ,EAC7J,OAAO,EAAE,QAAQ,aAEhB,MAAM,CAAC,CAAC,CAAC,CACR,yBAAO,QAAQ,GAAQ,CACxB,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,uBAAuB,YAAE,IAAI,GAAQ,CACtD,EACA,CAAC,MAAM,IAAI,CACV,gBAAM,SAAS,EAAC,yBAAyB,aACvC,eAAM,SAAS,EAAC,gDAAgD,YAAE,QAAQ,GAAQ,EACjF,QAAQ,IAAI,CACX,KAAC,cAAc,IACb,KAAK,EAAE,WAAW,IAAI,IAAI,EAC1B,OAAO,EAAC,aAAa,EACrB,SAAS,EAAE,QAAQ,YAEnB,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,yDAAyD,EACnE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAEnC,KAAC,MAAM,IAAC,SAAS,EAAC,aAAa,GAAG,GAC3B,GACM,CAClB,IACI,CACR,IACG,EAEL,CAAC,SAAS,IAAI,CACb,MAAC,aAAa,eACZ,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI,EACrE,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,aAAa,EAAE,IAAI,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,IAAI,EACd,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,GAClC,IACY,CACjB,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ComponentSection.js","sourceRoot":"","sources":["../src/ComponentSection.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button } from '#components/ui/button';
2
+ import { Button } from './components/ui/button.js';
3
3
  import { Component } from 'react';
4
4
  const defaultFallback = (error, reset) => (_jsxs("div", { className: "rounded border border-destructive/30 bg-destructive/5 p-2 text-[11px]", children: [_jsx("div", { className: "text-destructive font-mono break-all", children: error }), _jsx(Button, { variant: "link", size: "sm", className: "mt-1 h-auto p-0 text-[10px] text-muted-foreground hover:text-foreground underline", onClick: reset, children: "Retry" })] }));
5
5
  export class ErrorBoundary extends Component {
package/dist/Inspector.js CHANGED
@@ -2,13 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // Inspector — view + edit panel for selected node (Unity-style inspector)
3
3
  // Shell only: header, rendered view, delegates editing to NodeEditor
4
4
  import './Inspector.css';
5
- import { ConfirmDialog } from '#components/ConfirmDialog';
6
- import { PathBreadcrumb } from '#components/PathBreadcrumb';
7
- import { Badge } from '#components/ui/badge';
8
- import { Button } from '#components/ui/button';
9
- import { ScrollArea } from '#components/ui/scroll-area';
10
- import { Render, RenderContext } from '#context';
11
- import { getViewContexts, pickDefaultContext } from '#mods/editor-ui/node-utils';
5
+ import { ConfirmDialog } from './components/ConfirmDialog.js';
6
+ import { PathBreadcrumb } from './components/PathBreadcrumb.js';
7
+ import { Badge } from './components/ui/badge.js';
8
+ import { Button } from './components/ui/button.js';
9
+ import { ScrollArea } from './components/ui/scroll-area.js';
10
+ import { Render, RenderContext } from './context.js';
11
+ import { getViewContexts, pickDefaultContext } from './mods/editor-ui/node-utils.js';
12
12
  import { useState } from 'react';
13
13
  import { ErrorBoundary } from './ErrorBoundary';
14
14
  import { usePath } from './hooks';
@@ -17,7 +17,7 @@ export function Inspector({ path, currentUserId, onDelete, onAddComponent, onSel
17
17
  const node = usePath(path);
18
18
  const [confirmDelete, setConfirmDelete] = useState(false);
19
19
  const [editing, setEditing] = useState(false);
20
- const [context, setContext] = useState('react');
20
+ const [context, setContext] = useState('react:layout');
21
21
  // Reset context when path changes
22
22
  const [prevPath, setPrevPath] = useState(path);
23
23
  if (path !== prevPath) {
@@ -30,6 +30,6 @@ export function Inspector({ path, currentUserId, onDelete, onAddComponent, onSel
30
30
  }
31
31
  const nodeName = node.$path === '/' ? '/' : node.$path.slice(node.$path.lastIndexOf('/') + 1);
32
32
  const viewContexts = getViewContexts(node.$type, node);
33
- return (_jsxs("div", { className: "editor", children: [_jsxs("div", { className: "px-6 pt-4 pb-3 border-b border-border bg-card shrink-0", children: [_jsx(PathBreadcrumb, { path: node.$path, onSelect: onSelect }), _jsxs("div", { className: "flex items-center gap-2.5 flex-wrap", children: [_jsx("h2", { children: nodeName }), _jsx(Badge, { variant: "outline", className: "font-mono text-[10px]", children: node.$type }), _jsx("a", { href: node.$path, target: "_blank", rel: "noopener", className: "text-[11px] text-muted-foreground hover:text-primary no-underline", children: "View \u2197" }), onSetRoot && (_jsx(Button, { variant: "ghost", size: "sm", className: "h-6 px-1.5 text-[11px]", onClick: () => onSetRoot(node.$path), title: "Focus subtree", children: "\u2302" })), viewContexts.length > 1 && (_jsx("span", { className: "flex gap-0.5", children: viewContexts.map((c) => (_jsx(Button, { variant: context === c ? 'default' : 'ghost', size: "sm", className: "h-6 px-2 text-[11px]", onClick: () => setContext(c), children: c.replace('react:', '') }, c))) })), _jsx("span", { className: "flex-1" }), _jsx(Button, { variant: editing ? 'ghost' : 'default', size: "sm", className: "h-7", onClick: () => setEditing(!editing), children: editing ? 'Close' : 'Edit' }), _jsx(Button, { variant: "destructive", size: "sm", className: "h-7", onClick: () => setConfirmDelete(true), children: "Delete" }), _jsx(ConfirmDialog, { open: confirmDelete, onOpenChange: setConfirmDelete, title: `Delete ${node.$path}?`, description: "This action cannot be undone.", variant: "destructive", onConfirm: () => onDelete(node.$path) })] })] }), _jsx(ScrollArea, { className: "flex-1", children: _jsx("div", { className: "p-4", children: _jsx(ErrorBoundary, { children: _jsx(RenderContext, { name: context, children: _jsx("div", { className: "node-view", children: _jsx(Render, { value: node }) }) }) }) }) }), _jsx(NodeEditor, { node: node, open: editing, onClose: () => setEditing(false), currentUserId: currentUserId, toast: toast, onAddComponent: onAddComponent })] }));
33
+ return (_jsxs("div", { className: "editor", children: [_jsxs("div", { className: "px-6 pt-4 pb-3 border-b border-border bg-card shrink-0", children: [_jsx(PathBreadcrumb, { path: node.$path, onSelect: onSelect }), _jsxs("div", { className: "flex items-center gap-2.5 flex-wrap", children: [_jsx("h2", { children: nodeName }), _jsx(Badge, { variant: "outline", className: "font-mono text-[10px]", children: node.$type }), _jsx("a", { href: node.$path, target: "_blank", rel: "noopener", className: "text-[11px] text-muted-foreground hover:text-primary no-underline", children: "View \u2197" }), onSetRoot && (_jsx(Button, { variant: "ghost", size: "sm", className: "h-6 px-1.5 text-[11px]", onClick: () => onSetRoot(node.$path), title: "Focus subtree", children: "\u2302" })), viewContexts.length > 1 && (_jsx("span", { className: "flex gap-0.5", children: viewContexts.map((c) => (_jsx(Button, { variant: context === c ? 'default' : 'ghost', size: "sm", className: "h-6 px-2 text-[11px]", onClick: () => setContext(c), children: c.replace('react:', '') }, c))) })), _jsx("span", { className: "flex-1" }), _jsx(Button, { variant: editing ? 'ghost' : 'default', size: "sm", className: "h-7", onClick: () => setEditing(!editing), children: editing ? 'Close' : 'Edit' }), _jsx(Button, { variant: "destructive", size: "sm", className: "h-7", onClick: () => setConfirmDelete(true), children: "Delete" }), _jsx(ConfirmDialog, { open: confirmDelete, onOpenChange: setConfirmDelete, title: `Delete ${node.$path}?`, description: "This action cannot be undone.", variant: "destructive", onConfirm: () => onDelete(node.$path) })] })] }), _jsx(ScrollArea, { className: "flex-1", children: _jsx("div", { className: "p-4", children: _jsx(ErrorBoundary, { children: _jsx(RenderContext, { name: context, children: _jsx("div", { className: "node-view", children: _jsx(Render, { value: node }) }) }) }, node.$path) }) }), _jsx(NodeEditor, { node: node, open: editing, onClose: () => setEditing(false), currentUserId: currentUserId, toast: toast, onAddComponent: onAddComponent })] }));
34
34
  }
35
35
  //# sourceMappingURL=Inspector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../src/Inspector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../src/Inspector.tsx"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,qEAAqE;AAErE,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY1C,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAS;IAC5G,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEvD,kCAAkC;IAClC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI;YAAE,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CACL,cAAK,SAAS,EAAC,oDAAoD,YACjE,eAAK,SAAS,EAAC,iFAAiF,aAC9F,cAAK,SAAS,EAAC,wBAAwB,uBAAc,EACrD,mDAA+B,IAC3B,GACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEvD,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aAErB,eAAK,SAAS,EAAC,wDAAwD,aACrE,KAAC,cAAc,IAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACxD,eAAK,SAAS,EAAC,qCAAqC,aAClD,uBAAK,QAAQ,GAAM,EACnB,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,uBAAuB,YAAE,IAAI,CAAC,KAAK,GAAS,EAC/E,YACE,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,UAAU,EACd,SAAS,EAAC,mEAAmE,4BAG3E,EACH,SAAS,IAAI,CACZ,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAC,eAAe,uBAEvH,CACV,EACA,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,eAAM,SAAS,EAAC,cAAc,YAC3B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACvB,KAAC,MAAM,IAEL,OAAO,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC5C,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,YAE3B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IANnB,CAAC,CAOC,CACV,CAAC,GACG,CACR,EACD,eAAM,SAAS,EAAC,QAAQ,GAAG,EAC3B,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,YAC1G,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GACpB,EACT,KAAC,MAAM,IACL,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,KAAK,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,uBAG9B,EACT,KAAC,aAAa,IACZ,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,gBAAgB,EAC9B,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,GAAG,EAC9B,WAAW,EAAC,+BAA+B,EAC3C,OAAO,EAAC,aAAa,EACrB,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GACrC,IACE,IACF,EAGN,KAAC,UAAU,IAAC,SAAS,EAAC,QAAQ,YAC5B,cAAK,SAAS,EAAC,KAAK,YAClB,KAAC,aAAa,cACZ,KAAC,aAAa,IAAC,IAAI,EAAE,OAAO,YAC1B,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,MAAM,IAAC,KAAK,EAAE,IAAI,GAAI,GACnB,GACQ,IALE,IAAI,CAAC,KAAK,CAMd,GACZ,GACK,EAGb,KAAC,UAAU,IACT,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAChC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,GAC9B,IACE,CACP,CAAC;AACJ,CAAC"}
package/dist/Login.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button } from '#components/ui/button';
3
- import { Dialog, DialogContent } from '#components/ui/dialog';
4
- import { Input } from '#components/ui/input';
5
- import { Label } from '#components/ui/label';
2
+ import { Button } from './components/ui/button.js';
3
+ import { Dialog, DialogContent } from './components/ui/dialog.js';
4
+ import { Input } from './components/ui/input.js';
5
+ import { Label } from './components/ui/label.js';
6
6
  import { useState } from 'react';
7
7
  import { setToken, trpc } from './trpc';
8
8
  function LoginForm({ onLogin }) {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeEditor.d.ts","sourceRoot":"","sources":["../src/NodeEditor.tsx"],"names":[],"mappings":"AAWA,OAAO,EAA6C,KAAK,QAAQ,EAAW,MAAM,gBAAgB,CAAC;AA2CnG,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,eAAe,2CA4OxG"}
1
+ {"version":3,"file":"NodeEditor.d.ts","sourceRoot":"","sources":["../src/NodeEditor.tsx"],"names":[],"mappings":"AAYA,OAAO,EAA6C,KAAK,QAAQ,EAAW,MAAM,gBAAgB,CAAC;AA2CnG,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,eAAe,2CA4OxG"}
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  // NodeEditor — self-contained edit panel for a node (properties, components, actions)
3
3
  // Reusable: Inspector uses it as a slide-out, but can be embedded anywhere.
4
- import { Button } from '#components/ui/button';
5
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '#components/ui/collapsible';
6
- import { Input } from '#components/ui/input';
7
- import { ScrollArea } from '#components/ui/scroll-area';
8
- import { Tabs, TabsList, TabsTrigger } from '#components/ui/tabs';
9
- import { toPlain } from '#lib/to-plain';
10
- import { FieldLabel, RefEditor } from '#mods/editor-ui/FieldLabel';
11
- import { getComponents, getPlainFields, getSchema } from '#mods/editor-ui/node-utils';
4
+ import { Button } from './components/ui/button.js';
5
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './components/ui/collapsible.js';
6
+ import { Input } from './components/ui/input.js';
7
+ import { ScrollArea } from './components/ui/scroll-area.js';
8
+ import { Tabs, TabsList, TabsTrigger } from './components/ui/tabs.js';
9
+ import { toPlain } from './lib/to-plain.js';
10
+ import { DraftTextarea } from './mods/editor-ui/DraftTextarea.js';
11
+ import { FieldLabel, RefEditor } from './mods/editor-ui/FieldLabel.js';
12
+ import { getComponents, getPlainFields, getSchema } from './mods/editor-ui/node-utils.js';
12
13
  import { isRef, resolve } from '@treenity/core';
13
14
  import { ChevronRight } from 'lucide-react';
14
15
  import { useEffect, useState } from 'react';
@@ -152,6 +153,6 @@ export function NodeEditor({ node, open, onClose, currentUserId, toast, onAddCom
152
153
  }, className: "px-3 pt-2", children: _jsxs(TabsList, { className: "h-8 bg-secondary", children: [_jsx(TabsTrigger, { value: "properties", className: "text-xs", children: "Properties" }), _jsx(TabsTrigger, { value: "json", className: "text-xs", children: "JSON" })] }) }), _jsx(ScrollArea, { className: "flex-1", children: _jsx("div", { className: "p-3.5", children: snap.tab === 'properties' ? (_jsxs(_Fragment, { children: [_jsx(NodeCard, { path: node.$path, type: snap.nodeType, onChangeType: (v) => { st.nodeType = v; st.dirty = true; } }), _jsx(AclEditor, { path: node.$path, owner: snap.aclOwner, rules: snap.aclRules, currentUserId: currentUserId, onChange: (o, r) => { st.aclOwner = o; st.aclRules = r; st.dirty = true; } }), _jsx(ComponentSection, { node: node, name: "", compType: node.$type, data: snap.plainData, onData: (d) => { st.plainData = d; st.dirty = true; }, toast: toast, onActionComplete: handleReset }), components.map(([name, comp]) => (_jsx(ComponentSection, { node: node, name: name, compType: comp.$type, data: (snap.compData[name] ?? {}), onData: (d) => { st.compData[name] = d; st.dirty = true; }, collapsed: !!snap.collapsed[name], onToggle: () => { st.collapsed[name] = !st.collapsed[name]; }, onRemove: () => handleRemoveComponent(name), toast: toast, onActionComplete: handleReset }, name))), !schema && !mainCompDefaults && Object.keys(snap.plainData).length > 0 && (_jsxs("div", { className: "border-t border-border mt-2 pt-0.5 first:border-t-0 first:mt-0 first:pt-0", children: [_jsx("div", { className: "flex items-center justify-between py-2 pb-1.5 text-[11px] font-semibold text-muted-foreground uppercase tracking-wider", children: "Data" }), _jsx("div", { className: "py-0.5 pb-2.5", children: Object.entries(snap.plainData).map(([k, v]) => {
153
154
  const onCh = (next) => { st.plainData[k] = next; st.dirty = true; };
154
155
  return (_jsxs("div", { className: `field${typeof v === 'object' && v !== null ? ' stack' : ''}`, children: [_jsx(FieldLabel, { label: k, value: v, onChange: onCh }), typeof v === 'object' && isRef(v) ? (_jsx(RefEditor, { value: v, onChange: onCh })) : (_jsx(Input, { className: "h-7 text-xs", value: typeof v === 'string' ? v : JSON.stringify(v), onChange: (e) => { st.plainData[k] = e.target.value; st.dirty = true; } }))] }, k));
155
- }) })] }))] })) : (_jsx("textarea", { value: snap.jsonText, onChange: (e) => { st.jsonText = e.target.value; st.dirty = true; }, spellCheck: false })) }) }), _jsxs("div", { className: "edit-panel-actions", children: [snap.stale && (_jsx(Button, { variant: "ghost", size: "sm", onClick: handleReset, title: "Node updated externally", children: "Reset" })), _jsx(Button, { size: "sm", onClick: handleSave, children: "Save" }), snap.tab === 'properties' && (_jsx(Button, { variant: "outline", size: "sm", onClick: () => onAddComponent(node.$path), children: "+ Component" }))] })] }));
156
+ }) })] }))] })) : (_jsx(DraftTextarea, { value: snap.jsonText, onChange: (text) => { st.jsonText = text; st.dirty = true; }, spellCheck: false })) }) }), _jsxs("div", { className: "edit-panel-actions", children: [snap.stale && (_jsx(Button, { variant: "ghost", size: "sm", onClick: handleReset, title: "Node updated externally", children: "Reset" })), _jsx(Button, { size: "sm", onClick: handleSave, children: "Save" }), snap.tab === 'properties' && (_jsx(Button, { variant: "outline", size: "sm", onClick: () => onAddComponent(node.$path), children: "+ Component" }))] })] }));
156
157
  }
157
158
  //# sourceMappingURL=NodeEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeEditor.js","sourceRoot":"","sources":["../src/NodeEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeEditor.js","sourceRoot":"","sources":["../src/NodeEditor.tsx"],"names":[],"mappings":"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"}
package/dist/Tree.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import './Tree.css';
3
- import { ConfirmDialog } from '#components/ConfirmDialog';
4
- import { Badge } from '#components/ui/badge';
5
- import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '#components/ui/dropdown-menu';
3
+ import { ConfirmDialog } from './components/ConfirmDialog.js';
4
+ import { Badge } from './components/ui/badge.js';
5
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from './components/ui/dropdown-menu.js';
6
6
  import { useCallback, useRef, useState, useSyncExternalStore } from 'react';
7
7
  import * as cache from './cache';
8
8
  function nodeName(p) {
package/dist/ViewPage.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // ViewPage — standalone read-only node view at /{path}
3
- import { Render, RenderContext } from '#context';
3
+ import { Render, RenderContext } from './context.js';
4
4
  import { usePath } from './hooks';
5
5
  export function ViewPage({ path, editorLink }) {
6
6
  const node = usePath(path);
@@ -1,8 +1,8 @@
1
1
  // Binding engine — scans cache for $ref+$map fields, subscribes to sources,
2
2
  // evaluates on change, writes to computed store.
3
3
  // Supports $ref: "." (self) and @/path.field ref args in $map expressions.
4
- import * as cache from '#cache';
5
- import { trpc } from '#trpc';
4
+ import * as cache from '../cache.js';
5
+ import { trpc } from '../trpc.js';
6
6
  import { isRef } from '@treenity/core';
7
7
  import { clearComputed, getComputed, setComputed } from './computed';
8
8
  import { evaluateRef, extractArgPaths, hasOnce, isCollectionRef } from './eval';
package/dist/bind/hook.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // React hooks for computed bindings
2
- import * as cache from '#cache';
3
- import { set, usePath } from '#hooks';
2
+ import * as cache from '../cache.js';
3
+ import { set, usePath } from '../hooks.js';
4
4
  import { isRef } from '@treenity/core';
5
5
  import { useCallback, useMemo, useSyncExternalStore } from 'react';
6
6
  import { useSnapshot } from 'valtio';
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '#components/ui/alert-dialog';
2
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from './ui/alert-dialog.js';
3
3
  export function ConfirmDialog({ open, onOpenChange, title, description, onConfirm, variant = 'default' }) {
4
4
  return (_jsx(AlertDialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: title }), description && _jsx(AlertDialogDescription, { children: description })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Cancel" }), _jsx(AlertDialogAction, { variant: variant, onClick: onConfirm, children: "Confirm" })] })] }) }));
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button } from '#components/ui/button';
3
- import { Popover, PopoverContent, PopoverTrigger } from '#components/ui/popover';
2
+ import { Button } from './ui/button.js';
3
+ import { Popover, PopoverContent, PopoverTrigger } from './ui/popover.js';
4
4
  import { useState } from 'react';
5
5
  export function ConfirmPopover({ title, onConfirm, variant = 'default', children, }) {
6
6
  const [open, setOpen] = useState(false);
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from '#components/ui/breadcrumb';
2
+ import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from './ui/breadcrumb.js';
3
3
  export function PathBreadcrumb({ path, onSelect }) {
4
4
  const parts = path.split('/').filter(Boolean);
5
5
  const crumbs = [{ label: 'root', path: '/' }];
@@ -0,0 +1,6 @@
1
+ import { type ClassValue, clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs));
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { ChevronDownIcon } from 'lucide-react';
4
4
  import { Accordion as AccordionPrimitive } from 'radix-ui';
5
5
  function Accordion({ ...props }) {
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
3
- import { buttonVariants } from '#components/ui/button';
2
+ import { cn } from '../lib/utils.js';
3
+ import { buttonVariants } from './button.js';
4
4
  import { AlertDialog as AlertDialogPrimitive } from 'radix-ui';
5
5
  function AlertDialog({ ...props }) {
6
6
  return _jsx(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  const badgeVariants = cva('inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2', {
5
5
  variants: {
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { ChevronRight, MoreHorizontal } from 'lucide-react';
4
4
  import { Slot } from 'radix-ui';
5
5
  function Breadcrumb({ ...props }) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { Slot } from 'radix-ui';
5
5
  const buttonVariants = cva("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  function Card({ className, ...props }) {
4
4
  return (_jsx("div", { "data-slot": "card", className: cn("flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm", className), ...props }));
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { forwardRef } from 'react';
4
4
  const Checkbox = forwardRef(({ className, ...props }, ref) => (_jsx("input", { type: "checkbox", className: cn('h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 accent-primary', className), ref: ref, ...props })));
5
5
  Checkbox.displayName = 'Checkbox';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from '#components/lib/utils';
4
- import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '#components/ui/dialog';
3
+ import { cn } from '../lib/utils.js';
4
+ import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from './dialog.js';
5
5
  import { Command as CommandPrimitive } from 'cmdk';
6
6
  import { SearchIcon } from 'lucide-react';
7
7
  function Command({ className, ...props }) {
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
3
- import { Button } from '#components/ui/button';
2
+ import { cn } from '../lib/utils.js';
3
+ import { Button } from './button.js';
4
4
  import { XIcon } from 'lucide-react';
5
5
  import { Dialog as DialogPrimitive } from 'radix-ui';
6
6
  function Dialog({ ...props }) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { Drawer as DrawerPrimitive } from 'vaul';
4
4
  function Drawer({ ...props }) {
5
5
  return _jsx(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from '#components/lib/utils';
3
+ import { cn } from '../lib/utils.js';
4
4
  import { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';
5
5
  import { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';
6
6
  function DropdownMenu({ ...props }) {
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // Adaptive form field — label left when content is short, label on top when tall
3
- import { cn } from '#components/lib/utils';
3
+ import { cn } from '../lib/utils.js';
4
4
  import { useLayoutEffect, useRef, useState } from 'react';
5
5
  const STACK_THRESHOLD = 48; // px — above this, label goes on top
6
6
  export function FormField({ label, labelClass, className, children }) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { forwardRef } from 'react';
4
4
  const Input = 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 shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', className), ref: ref, ...props })));
5
5
  Input.displayName = 'Input';
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { Label as LabelPrimitive } from 'radix-ui';
4
4
  function Label({ className, ...props }) {
5
5
  return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
3
- import { buttonVariants } from '#components/ui/button';
2
+ import { cn } from '../lib/utils.js';
3
+ import { buttonVariants } from './button.js';
4
4
  import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
5
5
  function Pagination({ className, ...props }) {
6
6
  return (_jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn("mx-auto flex w-full justify-center", className), ...props }));
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { Popover as PopoverPrimitive } from 'radix-ui';
4
4
  function Popover({ ...props }) {
5
5
  return _jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cn } from '#components/lib/utils';
3
+ import { cn } from '../lib/utils.js';
4
4
  import { Progress as ProgressPrimitive } from 'radix-ui';
5
5
  function Progress({ className, value, ...props }) {
6
6
  return (_jsx(ProgressPrimitive.Root, { "data-slot": "progress", className: cn("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full", className), ...props, children: _jsx(ProgressPrimitive.Indicator, { "data-slot": "progress-indicator", className: "bg-primary h-full w-full flex-1 transition-all", style: { transform: `translateX(-${100 - (value || 0)}%)` } }) }));
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import * as ResizablePrimitive from 'react-resizable-panels';
4
4
  function ResizablePanelGroup({ className, ...props }) {
5
5
  return (_jsx(ResizablePrimitive.Group, { "data-slot": "resizable-panel-group", className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className), ...props }));
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';
4
4
  function ScrollArea({ className, children, ...props }) {
5
5
  return (_jsxs(ScrollAreaPrimitive.Root, { "data-slot": "scroll-area", className: cn("relative", className), ...props, children: [_jsx(ScrollAreaPrimitive.Viewport, { "data-slot": "scroll-area-viewport", className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] }));
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from '#components/lib/utils';
3
+ import { cn } from '../lib/utils.js';
4
4
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';
5
5
  import { Select as SelectPrimitive } from 'radix-ui';
6
6
  function Select({ ...props }) {
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cn } from '#components/lib/utils';
3
+ import { cn } from '../lib/utils.js';
4
4
  import { Separator as SeparatorPrimitive } from 'radix-ui';
5
5
  function Separator({ className, orientation = "horizontal", decorative = true, ...props }) {
6
6
  return (_jsx(SeparatorPrimitive.Root, { "data-slot": "separator", decorative: decorative, orientation: orientation, className: cn("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", className), ...props }));
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  import { XIcon } from 'lucide-react';
4
4
  import { Dialog as SheetPrimitive } from 'radix-ui';
5
5
  function Sheet({ ...props }) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '#components/lib/utils';
2
+ import { cn } from '../lib/utils.js';
3
3
  function Skeleton({ className, ...props }) {
4
4
  return (_jsx("div", { "data-slot": "skeleton", className: cn("animate-pulse rounded-md bg-accent", className), ...props }));
5
5
  }