@dxos/react-ui-list 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5

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 (55) hide show
  1. package/dist/lib/browser/index.mjs +696 -712
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +696 -712
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/components/Accordion/Accordion.stories.d.ts +7 -4
  8. package/dist/types/src/components/Accordion/Accordion.stories.d.ts.map +1 -1
  9. package/dist/types/src/components/Accordion/AccordionItem.d.ts +1 -1
  10. package/dist/types/src/components/Accordion/AccordionItem.d.ts.map +1 -1
  11. package/dist/types/src/components/List/List.d.ts +11 -9
  12. package/dist/types/src/components/List/List.d.ts.map +1 -1
  13. package/dist/types/src/components/List/List.stories.d.ts +14 -5
  14. package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
  15. package/dist/types/src/components/List/ListItem.d.ts +9 -10
  16. package/dist/types/src/components/List/ListItem.d.ts.map +1 -1
  17. package/dist/types/src/components/List/ListRoot.d.ts +2 -2
  18. package/dist/types/src/components/List/ListRoot.d.ts.map +1 -1
  19. package/dist/types/src/components/List/testing.d.ts +1 -1
  20. package/dist/types/src/components/List/testing.d.ts.map +1 -1
  21. package/dist/types/src/components/Tree/Tree.d.ts +10 -6
  22. package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
  23. package/dist/types/src/components/Tree/Tree.stories.d.ts +18 -7
  24. package/dist/types/src/components/Tree/Tree.stories.d.ts.map +1 -1
  25. package/dist/types/src/components/Tree/TreeContext.d.ts +24 -10
  26. package/dist/types/src/components/Tree/TreeContext.d.ts.map +1 -1
  27. package/dist/types/src/components/Tree/TreeItem.d.ts +32 -10
  28. package/dist/types/src/components/Tree/TreeItem.d.ts.map +1 -1
  29. package/dist/types/src/components/Tree/TreeItemHeading.d.ts +4 -3
  30. package/dist/types/src/components/Tree/TreeItemHeading.d.ts.map +1 -1
  31. package/dist/types/src/components/Tree/TreeItemToggle.d.ts +3 -3
  32. package/dist/types/src/components/Tree/TreeItemToggle.d.ts.map +1 -1
  33. package/dist/types/src/components/Tree/index.d.ts +2 -0
  34. package/dist/types/src/components/Tree/index.d.ts.map +1 -1
  35. package/dist/types/src/components/Tree/testing.d.ts +3 -3
  36. package/dist/types/src/components/Tree/testing.d.ts.map +1 -1
  37. package/dist/types/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +32 -28
  39. package/src/components/Accordion/Accordion.stories.tsx +8 -10
  40. package/src/components/Accordion/Accordion.tsx +1 -1
  41. package/src/components/Accordion/AccordionItem.tsx +7 -5
  42. package/src/components/Accordion/AccordionRoot.tsx +1 -1
  43. package/src/components/List/List.stories.tsx +44 -30
  44. package/src/components/List/List.tsx +5 -13
  45. package/src/components/List/ListItem.tsx +82 -50
  46. package/src/components/List/ListRoot.tsx +4 -4
  47. package/src/components/List/testing.ts +7 -7
  48. package/src/components/Tree/Tree.stories.tsx +174 -82
  49. package/src/components/Tree/Tree.tsx +43 -40
  50. package/src/components/Tree/TreeContext.tsx +21 -9
  51. package/src/components/Tree/TreeItem.tsx +222 -135
  52. package/src/components/Tree/TreeItemHeading.tsx +13 -12
  53. package/src/components/Tree/TreeItemToggle.tsx +29 -19
  54. package/src/components/Tree/index.ts +2 -0
  55. package/src/components/Tree/testing.ts +10 -9
@@ -1,6 +1,6 @@
1
1
  import { type Edge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge';
2
- import React, { type ComponentProps, type HTMLAttributes, type MutableRefObject, type PropsWithChildren, type ReactNode } from 'react';
3
- import { type ThemedClassName } from '@dxos/react-ui';
2
+ import React, { type ComponentProps, type HTMLAttributes, type PropsWithChildren, type ReactNode, RefObject } from 'react';
3
+ import { type IconButtonProps, type ThemedClassName } from '@dxos/react-ui';
4
4
  export type ListItemRecord = any;
5
5
  export type ItemDragState = {
6
6
  type: 'idle';
@@ -16,27 +16,26 @@ export type ItemDragState = {
16
16
  export declare const idle: ItemDragState;
17
17
  type ListItemContext<T extends ListItemRecord> = {
18
18
  item: T;
19
- dragHandleRef: MutableRefObject<HTMLElement | null>;
19
+ dragHandleRef: RefObject<HTMLButtonElement | null>;
20
20
  };
21
21
  export declare const ListItemProvider: React.FC<ListItemContext<any> & {
22
22
  children: React.ReactNode;
23
23
  }>, useListItemContext: (consumerName: string) => ListItemContext<any>;
24
24
  export type ListItemProps<T extends ListItemRecord> = ThemedClassName<PropsWithChildren<{
25
25
  item: T;
26
+ asChild?: boolean;
27
+ selected?: boolean;
26
28
  } & HTMLAttributes<HTMLDivElement>>>;
27
29
  /**
28
30
  * Draggable list item.
29
31
  */
30
- export declare const ListItem: <T extends ListItemRecord>({ children, classNames, item, ...props }: ListItemProps<T>) => React.JSX.Element;
31
- export type IconButtonProps = ThemedClassName<ComponentProps<'button'>> & {
32
- icon: string;
33
- };
34
- export declare const IconButton: React.ForwardRefExoticComponent<Omit<IconButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
35
- export declare const ListItemDeleteButton: ({ autoHide, classNames, disabled, icon, ...props }: Partial<Pick<IconButtonProps, "icon">> & Omit<IconButtonProps, "icon"> & {
32
+ export declare const ListItem: <T extends ListItemRecord>({ children, classNames, item, asChild, selected, ...props }: ListItemProps<T>) => React.JSX.Element;
33
+ export declare const ListItemIconButton: ({ autoHide, iconOnly, variant, classNames, disabled, ...props }: IconButtonProps & {
36
34
  autoHide?: boolean;
37
35
  }) => React.JSX.Element;
38
- export declare const ListItemButton: ({ autoHide, classNames, disabled, ...props }: IconButtonProps & {
36
+ export declare const ListItemDeleteButton: ({ autoHide, classNames, disabled, icon, label, ...props }: Partial<Pick<IconButtonProps, "icon">> & Omit<IconButtonProps, "icon" | "label"> & {
39
37
  autoHide?: boolean;
38
+ label?: string;
40
39
  }) => React.JSX.Element;
41
40
  export declare const ListItemDragHandle: ({ disabled }: Pick<IconButtonProps, "disabled">) => React.JSX.Element;
42
41
  export declare const ListItemDragPreview: <T extends ListItemRecord>({ children, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/ListItem.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,IAAI,EAGV,MAAM,uDAAuD,CAAC;AAE/D,OAAO,KAAK,EAAE,EACZ,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,OAAO,EAAQ,KAAK,eAAe,EAA+B,MAAM,gBAAgB,CAAC;AAKzF,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC;AAEjC,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;CACxB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;CACrB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEN,eAAO,MAAM,IAAI,EAAE,aAAgC,CAAC;AAMpD,KAAK,eAAe,CAAC,CAAC,SAAS,cAAc,IAAI;IAC/C,IAAI,EAAE,CAAC,CAAC;IACR,aAAa,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACrD,CAAC;AASF,eAAO,MAAO,gBAAgB;;IAAE,kBAAkB,gDAGjD,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,IAAI,eAAe,CACnE,iBAAiB,CACf;IACE,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,cAAc,CAAC,cAAc,CAAC,CACnC,CACF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,cAAc,EAAE,0CAA0C,aAAa,CAAC,CAAC,CAAC,sBAkG5G,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3F,eAAO,MAAM,UAAU,wGAQtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,oDAMlC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,sBAWjG,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,8CAK5B,eAAe,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,sBAI1C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,cAAc,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,sBAGjF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,cAAc,EAAE,eAE3D;IACD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,KAAK,SAAS,CAAC;CAChD,6BAGA,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0BAA0B,eAAe,CAAC,iBAAiB,CAAC,sBAE3F,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,oCAI3B,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,sBAI3D,CAAC"}
1
+ {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,IAAI,EAGV,MAAM,uDAAuD,CAAC;AAM/D,OAAO,KAAK,EAAE,EACZ,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,SAAS,EAIV,MAAM,OAAO,CAAC;AAIf,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,eAAe,EAErB,MAAM,gBAAgB,CAAC;AAKxB,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC;AAEjC,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;CACxB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;CACrB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEN,eAAO,MAAM,IAAI,EAAE,aAAgC,CAAC;AAMpD,KAAK,eAAe,CAAC,CAAC,SAAS,cAAc,IAAI;IAC/C,IAAI,EAAE,CAAC,CAAC;IACR,aAAa,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACpD,CAAC;AASF,eAAO,MAAO,gBAAgB;;IAAE,kBAAkB,gDAGjD,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,IAAI,eAAe,CACnE,iBAAiB,CACf;IACE,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAAC,cAAc,CAAC,CACnC,CACF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,cAAc,EAAE,6DAOhD,aAAa,CAAC,CAAC,CAAC,sBAkGlB,CAAC;AAMF,eAAO,MAAM,kBAAkB,GAAI,iEAOhC,eAAe,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,sBAY1C,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAAI,2DAOlC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,GACvC,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,sBAejF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,cAAc,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,sBAajF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,cAAc,EAAE,eAE3D;IACD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,KAAK,SAAS,CAAC;CAChD,6BAGA,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0BAA0B,eAAe,CAAC,iBAAiB,CAAC,sBAI3F,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,oCAI3B,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,sBAI3D,CAAC"}
@@ -17,11 +17,11 @@ export declare const ListProvider: React.FC<ListContext<any> & {
17
17
  }>, useListContext: (consumerName: string) => ListContext<any>;
18
18
  export type ListRendererProps<T extends ListItemRecord> = {
19
19
  state: ListContext<T>['state'];
20
- items: T[];
20
+ items: readonly T[];
21
21
  };
22
22
  export type ListRootProps<T extends ListItemRecord> = {
23
23
  children?: (props: ListRendererProps<T>) => ReactNode;
24
- items?: T[];
24
+ items?: readonly T[];
25
25
  onMove?: (fromIndex: number, toIndex: number) => void;
26
26
  } & Pick<ListContext<T>, 'isItem' | 'getId' | 'readonly' | 'dragPreview'>;
27
27
  export declare const ListRoot: <T extends ListItemRecord>({ children, items, isItem, getId, onMove, ...props }: ListRootProps<T>) => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ListRoot.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/ListRoot.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAoC,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAQ,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3E,KAAK,WAAW,CAAC,CAAC,SAAS,cAAc,IAAI;IAE3C,KAAK,EAAE,aAAa,GAAG;QAAE,IAAI,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,IAAI,CAAC,EAAE,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAO,YAAY;;IAAE,cAAc,4CAA8C,CAAC;AAEzF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,cAAc,IAAI;IACxD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ,CAAC;AAIF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACtD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAE1E,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,cAAc,EAAE,sDAOhD,aAAa,CAAC,CAAC,CAAC,sBA2DlB,CAAC"}
1
+ {"version":3,"file":"ListRoot.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/ListRoot.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAoC,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAQ,MAAM,YAAY,CAAC;AAE3E,KAAK,WAAW,CAAC,CAAC,SAAS,cAAc,IAAI;IAE3C,KAAK,EAAE,aAAa,GAAG;QAAE,IAAI,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,IAAI,CAAC,EAAE,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAO,YAAY;;IAAE,cAAc,4CAA8C,CAAC;AAEzF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,cAAc,IAAI;IACxD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;CACrB,CAAC;AAIF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACtD,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAE1E,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,cAAc,EAAE,sDAOhD,aAAa,CAAC,CAAC,CAAC,sBA2DlB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  export declare const TestItemSchema: Schema.Struct<{
3
3
  id: import("@dxos/keys").ObjectIdClass;
4
4
  name: typeof Schema.String;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,cAAc;;;EAGzB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAErE,eAAO,MAAM,QAAQ;;;;;EAEnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,UAAM,KAAG,QAQlC,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/testing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,eAAO,MAAM,cAAc;;;EAGzB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAErE,eAAO,MAAM,QAAQ;;;;;EAEnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,UAAM,KAAG,QAQlC,CAAC"}
@@ -1,12 +1,16 @@
1
1
  import React from 'react';
2
- import { type HasId } from '@dxos/echo-schema';
3
2
  import { type TreegridRootProps } from '@dxos/react-ui';
4
- import { type TreeContextType } from './TreeContext';
3
+ import { type TreeModel } from './TreeContext';
5
4
  import { type TreeItemProps } from './TreeItem';
6
- export type TreeProps<T extends HasId = any, O = any> = {
7
- root?: T;
5
+ export type TreeProps<T extends {
6
+ id: string;
7
+ } = any> = {
8
+ model: TreeModel<T>;
9
+ rootId?: string;
8
10
  path?: string[];
9
11
  id: string;
10
- } & TreeContextType<T, O> & Partial<Pick<TreegridRootProps, 'gridTemplateColumns' | 'classNames'>> & Pick<TreeItemProps<T>, 'draggable' | 'renderColumns' | 'canDrop' | 'onOpenChange' | 'onSelect' | 'levelOffset'>;
11
- export declare const Tree: <T extends HasId = any, O = any>({ root, path, id, useItems, getProps, isOpen, isCurrent, draggable, gridTemplateColumns, classNames, levelOffset, renderColumns, canDrop, onOpenChange, onSelect, }: TreeProps<T, O>) => React.JSX.Element;
12
+ } & Partial<Pick<TreegridRootProps, 'gridTemplateColumns' | 'classNames'>> & Pick<TreeItemProps<T>, 'draggable' | 'renderColumns' | 'blockInstruction' | 'canDrop' | 'canSelect' | 'onOpenChange' | 'onSelect' | 'onItemHover' | 'levelOffset'>;
13
+ export declare const Tree: <T extends {
14
+ id: string;
15
+ } = any>({ model, rootId, path, id, draggable, gridTemplateColumns, classNames, levelOffset, renderColumns, blockInstruction, canDrop, canSelect, onOpenChange, onSelect, onItemHover, }: TreeProps<T>) => React.JSX.Element;
12
16
  //# sourceMappingURL=Tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI;IACtD,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,YAAY,CAAC,CAAC,GACtE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAElH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,qKAgBlD,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,sBAiCjB,CAAC"}
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,IAAI;IACtD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,YAAY,CAAC,CAAC,GACxE,IAAI,CACF,aAAa,CAAC,CAAC,CAAC,EACd,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,SAAS,GACT,WAAW,GACX,cAAc,GACd,UAAU,GACV,aAAa,GACb,aAAa,CAChB,CAAC;AAEJ,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,EAAE,iLAgBlD,SAAS,CAAC,CAAC,CAAC,sBA0Bd,CAAC"}
@@ -1,9 +1,20 @@
1
- import '@dxos-theme';
2
- import { type Meta, type StoryObj } from '@storybook/react-vite';
3
- import { Tree } from './Tree';
4
- import { type TestItem } from './testing';
5
- declare const meta: Meta<typeof Tree<TestItem>>;
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const DefaultStory: ({ draggable }: {
4
+ draggable?: boolean;
5
+ }) => React.JSX.Element;
6
+ declare const meta: {
7
+ title: string;
8
+ decorators: import("@storybook/react").Decorator[];
9
+ component: <T extends {
10
+ id: string;
11
+ } = any>({ model, rootId, path, id, draggable, gridTemplateColumns, classNames, levelOffset, renderColumns, blockInstruction, canDrop, canSelect, onOpenChange, onSelect, onItemHover, }: import("./Tree").TreeProps<T>) => React.JSX.Element;
12
+ render: ({ draggable }: {
13
+ draggable?: boolean;
14
+ }) => React.JSX.Element;
15
+ };
6
16
  export default meta;
7
- export declare const Default: {};
8
- export declare const Draggable: StoryObj<typeof Tree>;
17
+ type Story = StoryObj<typeof DefaultStory>;
18
+ export declare const Default: Story;
19
+ export declare const Draggable: Story;
9
20
  //# sourceMappingURL=Tree.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/Tree.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAIrB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQnE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAgFrC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,OAAO,IAAI,CAI3C,CAAC"}
1
+ {"version":3,"file":"Tree.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/Tree.stories.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA8D,MAAM,OAAO,CAAC;AAiBnF,QAAA,MAAM,YAAY,GAAI,eAAe;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,sBAmK3D,CAAC;AAEF,QAAA,MAAM,IAAI;;;;;;4BArK2B;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CA2KrB,CAAC;AAExC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC"}
@@ -1,20 +1,34 @@
1
+ import { type Atom } from '@effect-atom/atom-react';
1
2
  import { type Label } from '@dxos/react-ui';
2
3
  export type TreeItemDataProps = {
3
4
  id: string;
4
5
  label: Label;
5
6
  parentOf?: string[];
6
- icon?: string;
7
- disabled?: boolean;
7
+ /** When `false`, the item cannot be dragged (overrides tree-level `draggable`). */
8
+ draggable?: boolean;
9
+ /** When `false`, the item does not participate as a drop target. */
10
+ droppable?: boolean;
8
11
  className?: string;
9
12
  headingClassName?: string;
13
+ icon?: string;
14
+ iconHue?: string;
15
+ disabled?: boolean;
10
16
  testId?: string;
11
17
  };
12
- export type TreeContextType<T = any, O = any> = {
13
- useItems: (parent?: T, options?: O) => T[];
14
- getProps: (item: T, parent: string[]) => TreeItemDataProps;
15
- isOpen: (path: string[], item: T) => boolean;
16
- isCurrent: (path: string[], item: T) => boolean;
17
- };
18
- export declare const TreeProvider: import("react").Provider<TreeContextType<any, any> | null>;
19
- export declare const useTree: () => TreeContextType<any, any>;
18
+ export interface TreeModel<T extends {
19
+ id: string;
20
+ } = any> {
21
+ /** Atom family: resolve item by ID (content). */
22
+ item: (id: string) => Atom.Atom<T | undefined>;
23
+ /** Atom family: open state keyed by path. */
24
+ itemOpen: (path: string[]) => Atom.Atom<boolean>;
25
+ /** Atom family: current (selected) state keyed by path. */
26
+ itemCurrent: (path: string[]) => Atom.Atom<boolean>;
27
+ /** Atom family: display props for an item at a given path (path includes item's own ID at end). */
28
+ itemProps: (path: string[]) => Atom.Atom<TreeItemDataProps>;
29
+ /** Atom family: outbound child IDs for a parent ID (topology). Undefined = root. */
30
+ childIds: (parentId?: string) => Atom.Atom<string[]>;
31
+ }
32
+ export declare const TreeProvider: import("react").Provider<TreeModel<any> | null>;
33
+ export declare const useTree: () => TreeModel<any>;
20
34
  //# sourceMappingURL=TreeContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeContext.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI;IAC9C,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,iBAAiB,CAAC;IAC3D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC7C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;CACjD,CAAC;AAIF,eAAO,MAAM,YAAY,4DAAuB,CAAC;AAEjD,eAAO,MAAM,OAAO,iCAA6E,CAAC"}
1
+ {"version":3,"file":"TreeContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeContext.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG;IACvD,iDAAiD;IACjD,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/C,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,2DAA2D;IAC3D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,mGAAmG;IACnG,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5D,oFAAoF;IACpF,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;CACtD;AAID,eAAO,MAAM,YAAY,iDAAuB,CAAC;AAEjD,eAAO,MAAM,OAAO,sBAA6E,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Schema } from 'effect';
1
+ import { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';
2
+ import * as Schema from 'effect/Schema';
2
3
  import { type FC } from 'react';
3
- import { type HasId } from '@dxos/echo-schema';
4
4
  export declare const TreeDataSchema: Schema.Struct<{
5
5
  id: typeof Schema.String;
6
6
  path: Schema.Array$<typeof Schema.String>;
@@ -8,23 +8,37 @@ export declare const TreeDataSchema: Schema.Struct<{
8
8
  }>;
9
9
  export type TreeData = Schema.Schema.Type<typeof TreeDataSchema>;
10
10
  export declare const isTreeData: (data: unknown) => data is TreeData;
11
- export type TreeItemProps<T extends HasId = any> = {
11
+ export type ColumnRenderer<T extends {
12
+ id: string;
13
+ } = any> = FC<{
14
+ item: T;
15
+ path: string[];
16
+ open: boolean;
17
+ menuOpen: boolean;
18
+ setMenuOpen: (open: boolean) => void;
19
+ }>;
20
+ export type TreeItemProps<T extends {
21
+ id: string;
22
+ } = any> = {
12
23
  item: T;
13
24
  path: string[];
14
25
  levelOffset?: number;
15
26
  last: boolean;
16
27
  draggable?: boolean;
17
- renderColumns?: FC<{
18
- item: T;
19
- path: string[];
20
- open: boolean;
21
- menuOpen: boolean;
22
- setMenuOpen: (open: boolean) => void;
23
- }>;
28
+ renderColumns?: ColumnRenderer<T>;
29
+ blockInstruction?: (params: {
30
+ instruction: Instruction;
31
+ source: TreeData;
32
+ target: TreeData;
33
+ }) => boolean;
24
34
  canDrop?: (params: {
25
35
  source: TreeData;
26
36
  target: TreeData;
27
37
  }) => boolean;
38
+ canSelect?: (params: {
39
+ item: T;
40
+ path: string[];
41
+ }) => boolean;
28
42
  onOpenChange?: (params: {
29
43
  item: T;
30
44
  path: string[];
@@ -36,6 +50,14 @@ export type TreeItemProps<T extends HasId = any> = {
36
50
  current: boolean;
37
51
  option: boolean;
38
52
  }) => void;
53
+ onItemHover?: (params: {
54
+ item: T;
55
+ }) => void;
39
56
  };
40
57
  export declare const TreeItem: FC<TreeItemProps>;
58
+ /** Resolves a child ID to an item via the `item` atom and renders a TreeItem. */
59
+ export type TreeItemByIdProps = Omit<TreeItemProps, 'item'> & {
60
+ id: string;
61
+ };
62
+ export declare const TreeItemById: FC<TreeItemByIdProps>;
41
63
  //# sourceMappingURL=TreeItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeItem.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAc,EAA2D,KAAK,EAAE,EAAsB,MAAM,OAAO,CAAC;AAEpH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAqB/C,eAAO,MAAM,cAAc;;;;EAIzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAEjE,eAAO,MAAM,UAAU,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,QAA2C,CAAC;AAE/F,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,IAAI;IACjD,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,EAAE,CAAC,CAAC;QACR,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,CAAC;IACtE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5E,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7F,CAAC;AA+NF,eAAO,MAAM,QAAQ,EAAwB,EAAE,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"TreeItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeItem.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,oDAAoD,CAAC;AAI5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAc,EACZ,KAAK,EAAE,EASR,MAAM,OAAO,CAAC;AAuBf,eAAO,MAAM,cAAc;;;;EAIzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AACjE,eAAO,MAAM,UAAU,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,QAA2C,CAAC;AAE/F,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,IAAI,EAAE,CAAC;IAC9D,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,IAAI;IAC1D,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,CAAC;IACzG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5E,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5F,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7C,CAAC;AAyRF,eAAO,MAAM,QAAQ,EAAwB,EAAE,CAAC,aAAa,CAAC,CAAC;AAE/D,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAW7E,eAAO,MAAM,YAAY,EAA4B,EAAE,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
  import { type Label } from '@dxos/react-ui';
3
- export type NavTreeItemHeadingProps = {
3
+ export type TreeItemHeadingProps = {
4
4
  label: Label;
5
- icon?: string;
6
5
  className?: string;
6
+ icon?: string;
7
+ iconHue?: string;
7
8
  disabled?: boolean;
8
9
  current?: boolean;
9
10
  onSelect?: (option: boolean) => void;
10
11
  };
11
- export declare const TreeItemHeading: React.MemoExoticComponent<React.ForwardRefExoticComponent<NavTreeItemHeadingProps & React.RefAttributes<HTMLButtonElement>>>;
12
+ export declare const TreeItemHeading: React.NamedExoticComponent<TreeItemHeadingProps & React.RefAttributes<HTMLButtonElement>>;
12
13
  //# sourceMappingURL=TreeItemHeading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItemHeading.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeItemHeading.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAElG,OAAO,EAAmD,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAM7F,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,eAAe,8HAuD3B,CAAC"}
1
+ {"version":3,"file":"TreeItemHeading.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeItemHeading.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAElG,OAAO,EAAgB,KAAK,KAAK,EAAqC,MAAM,gBAAgB,CAAC;AAM7F,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,eAAe,2FAuD3B,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- export type TreeItemToggleProps = {
2
+ import { type IconButtonProps } from '@dxos/react-ui';
3
+ export type TreeItemToggleProps = Omit<IconButtonProps, 'icon' | 'size' | 'label'> & {
3
4
  open?: boolean;
4
5
  isBranch?: boolean;
5
- onToggle?: () => void;
6
6
  hidden?: boolean;
7
7
  };
8
- export declare const TreeItemToggle: React.MemoExoticComponent<React.ForwardRefExoticComponent<TreeItemToggleProps & React.RefAttributes<HTMLButtonElement>>>;
8
+ export declare const TreeItemToggle: React.NamedExoticComponent<Omit<TreeItemToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
9
9
  //# sourceMappingURL=TreeItemToggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItemToggle.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeItemToggle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAKhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,0HAgB1B,CAAC"}
1
+ {"version":3,"file":"TreeItemToggle.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/TreeItemToggle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,uGA4B1B,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from './Tree';
2
2
  export * from './TreeContext';
3
3
  export * from './TreeItem';
4
+ export * from './TreeItemToggle';
5
+ export * from './helpers';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';
2
- import { Schema } from 'effect';
3
- import { type HasId } from '@dxos/echo-schema';
2
+ import * as Schema from 'effect/Schema';
4
3
  import { type TreeData } from './TreeItem';
5
- export type TestItem = HasId & {
4
+ export type TestItem = {
5
+ id: string;
6
6
  name: string;
7
7
  icon?: string;
8
8
  items: TestItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,KAAK,EAAY,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;EAKzB,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,UAAK,EAAE,UAAK,KAAG,QAaxC,CAAC;AAmBH,eAAO,MAAM,WAAW,GAAI,yCAKzB;IACD,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CAClB,SAgCA,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;EAKzB,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,UAAK,EAAE,UAAK,KAAG,QAaxC,CAAC;AAmBH,eAAO,MAAM,WAAW,GAAI,yCAKzB;IACD,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CAClB,SAgCA,CAAC"}