@exegia/corpora-ui 0.19.0 → 0.20.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.
Files changed (73) hide show
  1. package/dist-lib/components/blocks/nav/sidebar/__tests__/use-ai-sidebar.test.d.ts +1 -0
  2. package/dist-lib/components/blocks/nav/sidebar/ai-sidebar.d.ts +11 -2
  3. package/dist-lib/components/blocks/nav/sidebar/type.d.ts +83 -1
  4. package/dist-lib/components/blocks/nav/sidebar/use-ai-sidebar.d.ts +22 -31
  5. package/dist-lib/components/blocks/nav/sidebar/utils.d.ts +5 -0
  6. package/dist-lib/components/blocks/scaffold/constants.d.ts +5 -0
  7. package/dist-lib/components/blocks/scaffold/scaffold-canvas.d.ts +2 -0
  8. package/dist-lib/components/blocks/scaffold/scaffold-panel.d.ts +1 -1
  9. package/dist-lib/components/blocks/scaffold/scaffold-tab.d.ts +6 -1
  10. package/dist-lib/components/blocks/scaffold/type.d.ts +28 -0
  11. package/dist-lib/components/blocks/scaffold/use-panel-visibility.d.ts +19 -0
  12. package/dist-lib/components/blocks/scaffold/utils.d.ts +6 -0
  13. package/dist-lib/components/composed/tree/__tests__/tree.test.d.ts +1 -0
  14. package/dist-lib/components/composed/tree/__tests__/use-tree.test.d.ts +1 -0
  15. package/dist-lib/components/composed/tree/constants.d.ts +35 -0
  16. package/dist-lib/components/composed/tree/index.d.ts +4 -0
  17. package/dist-lib/components/composed/tree/tree-context.d.ts +4 -0
  18. package/dist-lib/components/composed/tree/tree-node.d.ts +7 -0
  19. package/dist-lib/components/composed/tree/tree.d.ts +19 -0
  20. package/dist-lib/components/composed/tree/type.d.ts +192 -0
  21. package/dist-lib/components/composed/tree/use-tree-dnd.d.ts +7 -0
  22. package/dist-lib/components/composed/tree/use-tree.d.ts +20 -0
  23. package/dist-lib/components/composed/tree/utils.d.ts +28 -0
  24. package/dist-lib/components/user-avatar/audio-wave.d.ts +2 -0
  25. package/dist-lib/components/user-avatar/component.d.ts +10 -0
  26. package/dist-lib/components/user-avatar/fallback.d.ts +5 -0
  27. package/dist-lib/components/user-avatar/index.d.ts +13 -0
  28. package/dist-lib/components/user-avatar/type.d.ts +26 -0
  29. package/dist-lib/components/user-avatar/utils.d.ts +2 -0
  30. package/dist-lib/index.d.ts +1 -0
  31. package/dist-lib/index.js +2141 -1139
  32. package/dist-lib/index.js.map +1 -1
  33. package/package.json +2 -1
  34. package/src/components/beste/piece/browser-frame.tsx +9 -6
  35. package/src/components/blocks/nav/sidebar/__tests__/use-ai-sidebar.test.tsx +310 -0
  36. package/src/components/blocks/nav/sidebar/ai-sidebar.tsx +90 -60
  37. package/src/components/blocks/nav/sidebar/type.ts +105 -1
  38. package/src/components/blocks/nav/sidebar/use-ai-sidebar.ts +293 -116
  39. package/src/components/blocks/nav/sidebar/utils.ts +28 -0
  40. package/src/components/blocks/scaffold/__tests__/scaffold.test.tsx +160 -1
  41. package/src/components/blocks/scaffold/constants.ts +7 -0
  42. package/src/components/blocks/scaffold/panel-menu-button.tsx +3 -0
  43. package/src/components/blocks/scaffold/scaffold-canvas.tsx +48 -5
  44. package/src/components/blocks/scaffold/scaffold-inspector.tsx +3 -2
  45. package/src/components/blocks/scaffold/scaffold-main.tsx +1 -1
  46. package/src/components/blocks/scaffold/scaffold-panel.tsx +41 -5
  47. package/src/components/blocks/scaffold/scaffold-root.tsx +18 -3
  48. package/src/components/blocks/scaffold/scaffold-sidebar.tsx +1 -1
  49. package/src/components/blocks/scaffold/scaffold-tab.tsx +45 -7
  50. package/src/components/blocks/scaffold/type.ts +28 -0
  51. package/src/components/blocks/scaffold/use-panel-visibility.ts +180 -0
  52. package/src/components/blocks/scaffold/utils.ts +19 -0
  53. package/src/components/composed/tree/__tests__/tree.test.tsx +400 -0
  54. package/src/components/composed/tree/__tests__/use-tree.test.tsx +332 -0
  55. package/src/components/composed/tree/constants.ts +60 -0
  56. package/src/components/composed/tree/index.ts +13 -0
  57. package/src/components/composed/tree/tree-context.ts +13 -0
  58. package/src/components/composed/tree/tree-node.tsx +451 -0
  59. package/src/components/composed/tree/tree.tsx +278 -0
  60. package/src/components/composed/tree/type.ts +212 -0
  61. package/src/components/composed/tree/use-tree-dnd.ts +148 -0
  62. package/src/components/composed/tree/use-tree.ts +306 -0
  63. package/src/components/composed/tree/utils.ts +172 -0
  64. package/src/components/composed/user-avatar.tsx +4 -1
  65. package/src/components/docs/component-preview.tsx +11 -11
  66. package/src/components/user-avatar/audio-wave.tsx +22 -0
  67. package/src/components/user-avatar/component.tsx +53 -0
  68. package/src/components/user-avatar/fallback.tsx +26 -0
  69. package/src/components/user-avatar/index.ts +15 -0
  70. package/src/components/user-avatar/type.ts +35 -0
  71. package/src/components/user-avatar/utils.ts +8 -0
  72. package/src/index.css +211 -153
  73. package/src/index.ts +1 -0
@@ -0,0 +1,28 @@
1
+ import { TreeNode } from './type';
2
+ /** Depth-0 nodes read as sections only when the data actually nests three
3
+ * levels — a two-level tree keeps its top level as plain link rows. */
4
+ export declare function hasThreeLevels(items: readonly TreeNode[]): boolean;
5
+ /** Ids of every ancestor of `id` (nearest last); empty when absent. */
6
+ export declare function ancestorIdsOf(items: readonly TreeNode[], id: string): string[];
7
+ /** Ids that start expanded: `defaultOpen` nodes plus every ancestor of the
8
+ * active entry, so the current location is never folded away. */
9
+ export declare function initialExpandedIds(items: readonly TreeNode[], activeId?: string): Set<string>;
10
+ /** Ids of every node that can hold children — the set `expandAll` opens.
11
+ * In `files` an empty `children: []` still counts (it is a folder). */
12
+ export declare function expandableIdsOf(items: readonly TreeNode[], filesVariant?: boolean): string[];
13
+ /** Immutably relabel `id`. Returns the same array reference when absent. */
14
+ export declare function renameNode(items: readonly TreeNode[], id: string, label: string): TreeNode[];
15
+ /** Whether `candidateId` is `id` itself or nests anywhere under it — the
16
+ * guard that keeps a folder from being dropped into its own subtree. */
17
+ export declare function containsNode(items: readonly TreeNode[], id: string, candidateId: string): boolean;
18
+ export declare function findNode(items: readonly TreeNode[], id: string): TreeNode | null;
19
+ /** Parent id (`null` at root) and index of `id` among its siblings. */
20
+ export declare function locateNode(items: readonly TreeNode[], id: string): {
21
+ parentId: string | null;
22
+ index: number;
23
+ } | null;
24
+ /** Immutably lift `id` out of the tree and reinsert it under `parentId`
25
+ * (`null` = root) at `index` — the standard `onMove` reducer, exported so
26
+ * consumers don't each rebuild it. `index` addresses the sibling list
27
+ * *after* the node has been lifted out. */
28
+ export declare function moveNode(items: readonly TreeNode[], id: string, parentId: string | null, index: number): TreeNode[];
@@ -0,0 +1,2 @@
1
+ import { IAudioWaveProps } from './type';
2
+ export declare function AudioWave({ className, volume: _volume, children }: IAudioWaveProps): import("react").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { UserAvatarProps } from './type';
2
+ import * as React from "react";
3
+ /**
4
+ * Identity avatar: an image when one is given, initials otherwise.
5
+ *
6
+ * A passed `src` is assumed to be remote, so the slot holds a skeleton until
7
+ * the image resolves rather than flashing initials that are about to be
8
+ * replaced. A failed load settles on the initials.
9
+ */
10
+ export declare function UserAvatar({ src, name, initials, alt, loading: loadingProp, className, ...props }: UserAvatarProps): React.ReactElement;
@@ -0,0 +1,5 @@
1
+ export declare function Fallback({ name, initials, loading, }: {
2
+ name?: string;
3
+ initials?: string;
4
+ loading?: boolean;
5
+ }): import("react").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { AudioWave } from './audio-wave';
2
+ import { UserAvatar } from './component';
3
+ import { Fallback } from './fallback';
4
+ export { AudioWave } from './audio-wave';
5
+ export { UserAvatar } from './component';
6
+ export { Fallback } from './fallback';
7
+ export { initialsFrom } from './utils';
8
+ export type * from './type';
9
+ export declare const Avatar: {
10
+ AudioWave: typeof AudioWave;
11
+ Component: typeof UserAvatar;
12
+ Fallback: typeof Fallback;
13
+ };
@@ -0,0 +1,26 @@
1
+ import { AvatarPrimitive } from '../ui/avatar';
2
+ import type * as React from "react";
3
+ export type ImageStatus = Parameters<NonNullable<AvatarPrimitive.Image.Props["onLoadingStatusChange"]>>[0];
4
+ export interface UserAvatarProps extends Omit<AvatarPrimitive.Root.Props, "children"> {
5
+ /** Image URL. Without one the initials show immediately — no skeleton. */
6
+ src?: string;
7
+ /** Drives the initials, and the alt text unless `alt` overrides it. */
8
+ name?: string;
9
+ /** Overrides the initials derived from `name`. */
10
+ initials?: string;
11
+ /**
12
+ * Alt text for the image. Pass "" when adjacent text already names the
13
+ * person — the image is then decorative.
14
+ */
15
+ alt?: string;
16
+ /**
17
+ * Force the skeleton, for when the identity itself is still being fetched.
18
+ * Omitted, it follows the image: a passed `src` skeletons until it resolves.
19
+ */
20
+ loading?: boolean;
21
+ }
22
+ export interface IAudioWaveProps {
23
+ className?: string;
24
+ children?: React.ReactNode;
25
+ volume?: number;
26
+ }
@@ -0,0 +1,2 @@
1
+ /** "Jenny Hamilton" → "JH", "luna" → "L". */
2
+ export declare function initialsFrom(name: string): string;
@@ -22,6 +22,7 @@ export * from './components/ui/spinner';
22
22
  export * from './components/ui/textarea';
23
23
  export * from './components/composed/password-input';
24
24
  export * from './components/composed/social-providers';
25
+ export * from './components/composed/tree';
25
26
  export * from './components/composed/user-avatar';
26
27
  export * from './components/blocks/auth/auth-shell';
27
28
  export * from './components/blocks/auth/code-auth-block';