@dxos/react-ui-mosaic 0.9.1-main.c7dcc2e112 → 0.10.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 (59) hide show
  1. package/dist/lib/browser/{chunk-DZ5WMCI2.mjs → chunk-OBVIYZLR.mjs} +177 -41
  2. package/dist/lib/browser/chunk-OBVIYZLR.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +2 -2
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +7 -5
  7. package/dist/lib/browser/testing/index.mjs.map +3 -3
  8. package/dist/lib/node-esm/{chunk-4IOJ5T6K.mjs → chunk-4IEMCMIV.mjs} +177 -41
  9. package/dist/lib/node-esm/chunk-4IEMCMIV.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +2 -2
  11. package/dist/lib/node-esm/index.mjs.map +3 -3
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/testing/index.mjs +7 -5
  14. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  15. package/dist/types/src/components/Board/Board.d.ts +1 -1
  16. package/dist/types/src/components/Board/Board.d.ts.map +1 -1
  17. package/dist/types/src/components/Board/Board.stories.d.ts +2 -2
  18. package/dist/types/src/components/Board/Board.stories.d.ts.map +1 -1
  19. package/dist/types/src/components/Focus/Focus.d.ts +1 -1
  20. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -1
  21. package/dist/types/src/components/Mosaic/Container.d.ts.map +1 -1
  22. package/dist/types/src/components/Mosaic/DragHandle.d.ts +28 -0
  23. package/dist/types/src/components/Mosaic/DragHandle.d.ts.map +1 -0
  24. package/dist/types/src/components/Mosaic/Mosaic.d.ts +17 -1
  25. package/dist/types/src/components/Mosaic/Mosaic.d.ts.map +1 -1
  26. package/dist/types/src/components/Mosaic/Placeholder.d.ts +2 -2
  27. package/dist/types/src/components/Mosaic/Placeholder.d.ts.map +1 -1
  28. package/dist/types/src/components/Mosaic/ResizeHandle.d.ts +14 -0
  29. package/dist/types/src/components/Mosaic/ResizeHandle.d.ts.map +1 -0
  30. package/dist/types/src/components/Mosaic/ResizeHandle.stories.d.ts +12 -0
  31. package/dist/types/src/components/Mosaic/ResizeHandle.stories.d.ts.map +1 -0
  32. package/dist/types/src/components/Mosaic/Root.d.ts +1 -1
  33. package/dist/types/src/components/Mosaic/Root.d.ts.map +1 -1
  34. package/dist/types/src/components/Mosaic/Stack.d.ts +1 -1
  35. package/dist/types/src/components/Mosaic/Stack.d.ts.map +1 -1
  36. package/dist/types/src/components/Mosaic/Tile.d.ts +34 -0
  37. package/dist/types/src/components/Mosaic/Tile.d.ts.map +1 -1
  38. package/dist/types/src/components/Mosaic/styles.d.ts.map +1 -1
  39. package/dist/types/src/testing/types.d.ts +10 -12
  40. package/dist/types/src/testing/types.d.ts.map +1 -1
  41. package/dist/types/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +33 -33
  43. package/src/components/Board/Board.stories.tsx +3 -3
  44. package/src/components/Board/Board.tsx +1 -1
  45. package/src/components/Board/Item.tsx +1 -1
  46. package/src/components/Focus/Focus.tsx +1 -1
  47. package/src/components/Mosaic/Container.tsx +5 -7
  48. package/src/components/Mosaic/DragHandle.tsx +75 -0
  49. package/src/components/Mosaic/Mosaic.tsx +11 -5
  50. package/src/components/Mosaic/Placeholder.tsx +4 -2
  51. package/src/components/Mosaic/ResizeHandle.stories.tsx +119 -0
  52. package/src/components/Mosaic/ResizeHandle.tsx +56 -0
  53. package/src/components/Mosaic/Root.tsx +3 -1
  54. package/src/components/Mosaic/Stack.tsx +23 -2
  55. package/src/components/Mosaic/Tile.tsx +82 -4
  56. package/src/components/Mosaic/styles.ts +4 -3
  57. package/src/testing/types.ts +14 -14
  58. package/dist/lib/browser/chunk-DZ5WMCI2.mjs.map +0 -7
  59. package/dist/lib/node-esm/chunk-4IOJ5T6K.mjs.map +0 -7
@@ -1,6 +1,7 @@
1
1
  import { type Edge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge';
2
2
  import React, { type PropsWithChildren } from 'react';
3
3
  import { type ThemedClassName } from '@dxos/react-ui';
4
+ import { type Size } from '@dxos/react-ui-dnd';
4
5
  import { type LocationType } from './types';
5
6
  type MosaicTileState = {
6
7
  type: 'idle';
@@ -16,6 +17,15 @@ type MosaicTileState = {
16
17
  };
17
18
  type MosaicTileContextValue = {
18
19
  state: MosaicTileState;
20
+ /** Register the element that initiates dragging; set by a child `Mosaic.DragHandle`. */
21
+ setDragHandle: (element: HTMLElement | null) => void;
22
+ /** Current extent (rem) during/after resize; undefined when the tile is not sized. */
23
+ size?: Size;
24
+ /** Update the tile extent. A `commit` (drop) propagates to the consumer's `onSizeChange`. */
25
+ setSize: (size: Size, commit?: boolean) => void;
26
+ /** Resize bounds (rem) declared by the tile; consumed by `Mosaic.ResizeHandle`. */
27
+ minSize?: number;
28
+ maxSize?: number;
19
29
  };
20
30
  declare const useMosaicTileContext: (consumerName: string) => MosaicTileContextValue;
21
31
  type MosaicTileProps<TData = any, TLocation = LocationType> = ThemedClassName<PropsWithChildren<{
@@ -30,6 +40,18 @@ type MosaicTileProps<TData = any, TLocation = LocationType> = ThemedClassName<Pr
30
40
  current?: boolean;
31
41
  /** Whether this tile is selected (aria-selected). */
32
42
  selected?: boolean;
43
+ /**
44
+ * Initial extent in rem (width when the container is horizontal, height when vertical).
45
+ * Pair with a child `Mosaic.ResizeHandle` to make the tile user-resizable; the consumer
46
+ * persists committed sizes via {@link MosaicTileProps.onSizeChange}.
47
+ */
48
+ size?: Size;
49
+ /** Called when the user commits a resize (on drop). */
50
+ onSizeChange?: (size: Size) => void;
51
+ /** Lower bound for the resizable extent in rem; enforced during drag and as a CSS min constraint. */
52
+ minSize?: number;
53
+ /** Upper bound for the resizable extent in rem; enforced during drag and as a CSS max constraint. */
54
+ maxSize?: number;
33
55
  debug?: boolean;
34
56
  }>>;
35
57
  declare const MosaicTile: React.ForwardRefExoticComponent<Omit<Omit<PropsWithChildren<{
@@ -44,6 +66,18 @@ declare const MosaicTile: React.ForwardRefExoticComponent<Omit<Omit<PropsWithChi
44
66
  current?: boolean;
45
67
  /** Whether this tile is selected (aria-selected). */
46
68
  selected?: boolean;
69
+ /**
70
+ * Initial extent in rem (width when the container is horizontal, height when vertical).
71
+ * Pair with a child `Mosaic.ResizeHandle` to make the tile user-resizable; the consumer
72
+ * persists committed sizes via {@link MosaicTileProps.onSizeChange}.
73
+ */
74
+ size?: Size;
75
+ /** Called when the user commits a resize (on drop). */
76
+ onSizeChange?: (size: Size) => void;
77
+ /** Lower bound for the resizable extent in rem; enforced during drag and as a CSS min constraint. */
78
+ minSize?: number;
79
+ /** Upper bound for the resizable extent in rem; enforced during drag and as a CSS max constraint. */
80
+ maxSize?: number;
47
81
  debug?: boolean;
48
82
  }>, "className"> & {
49
83
  classNames?: import("@dxos/ui-types").ClassNameValue;
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/components/Mosaic/Tile.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,IAAI,EAGV,MAAM,uDAAuD,CAAC;AAc/D,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAA8C,MAAM,OAAO,CAAC;AAGlG,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,EAAE,KAAK,YAAY,EAAsC,MAAM,SAAS,CAAC;AAQhF,KAAK,eAAe,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,QAAA,MAAkC,oBAAoB,kDAAuD,CAAC;AAK9G,KAAK,eAAe,CAAC,KAAK,GAAG,GAAG,EAAE,SAAS,GAAG,YAAY,IAAI,eAAe,CAC3E,iBAAiB,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CACH,CAAC;AAEF,QAAA,MAAM,UAAU;gBAfA,MAAM;iBACL,WAAW,GAAG,IAAI;mBAChB,IAAI,EAAE;QACjB,MAAM;;;gBAGE,OAAO;IACnB,4DAA4D;cAClD,OAAO;IACjB,qDAAqD;eAC1C,OAAO;YACV,OAAO;;;;;;;2HAwLlB,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AAE5C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/components/Mosaic/Tile.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,IAAI,EAGV,MAAM,uDAAuD,CAAC;AAc/D,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAA2D,MAAM,OAAO,CAAC;AAG/G,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,KAAK,IAAI,EAA+B,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,KAAK,YAAY,EAAsC,MAAM,SAAS,CAAC;AAQhF,KAAK,eAAe,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,wFAAwF;IACxF,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,sFAAsF;IACtF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,6FAA6F;IAC7F,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,QAAA,MAAkC,oBAAoB,kDAAuD,CAAC;AAK9G,KAAK,eAAe,CAAC,KAAK,GAAG,GAAG,EAAE,SAAS,GAAG,YAAY,IAAI,eAAe,CAC3E,iBAAiB,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,uDAAuD;IACvD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CACH,CAAC;AAEF,QAAA,MAAM,UAAU;gBA3BA,MAAM;iBACL,WAAW,GAAG,IAAI;mBAChB,IAAI,EAAE;QACjB,MAAM;;;gBAGE,OAAO;IACnB,4DAA4D;cAClD,OAAO;IACjB,qDAAqD;eAC1C,OAAO;IAClB;;;;OAIG;WACI,IAAI;IACX,uDAAuD;mBACxC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IACnC,qGAAqG;cAC3F,MAAM;IAChB,qGAAqG;cAC3F,MAAM;YACR,OAAO;;;;;;;2HAgPlB,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AAE5C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Mosaic/styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;QAEf,IAAI;QAWJ,OAAO;;CAY+C,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Mosaic/styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;QAEf,IAAI;QAWJ,OAAO;;CAa+C,CAAC"}
@@ -1,19 +1,17 @@
1
- import * as Schema from 'effect/Schema';
2
1
  import { Type } from '@dxos/echo';
3
- export declare const TestItem: Type.Obj<{
2
+ declare const TestItem_base: Type.ObjClass<TestItem, {
4
3
  readonly name: string;
5
4
  readonly description?: string | undefined;
6
5
  readonly label?: string | undefined;
7
- }, Schema.Struct.Fields>;
8
- export type TestItem = Type.InstanceType<typeof TestItem>;
9
- export declare const TestColumn: Type.Obj<{
6
+ }, {}>;
7
+ export declare class TestItem extends TestItem_base {
8
+ }
9
+ declare const TestColumn_base: Type.ObjClass<TestColumn, {
10
10
  readonly id: string;
11
11
  readonly name: string;
12
- readonly items: import("@dxos/echo/internal").Ref<{
13
- readonly name: string;
14
- readonly description?: string | undefined;
15
- readonly label?: string | undefined;
16
- } & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & import("@dxos/echo/Obj").Unknown>[];
17
- }, Schema.Struct.Fields>;
18
- export type TestColumn = Type.InstanceType<typeof TestColumn>;
12
+ readonly items: import("@dxos/echo/internal").Ref<TestItem & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & import("@dxos/echo/Obj").Unknown>[];
13
+ }, {}>;
14
+ export declare class TestColumn extends TestColumn_base {
15
+ }
16
+ export {};
19
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/testing/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAO5C,eAAO,MAAM,QAAQ;;;;wBAI+C,CAAC;AAErE,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;wBAI+C,CAAC;AAEvE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/testing/types.ts"],"names":[],"mappings":"AAMA,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;;;;;;AAO5C,qBAAa,QAAS,SAAQ,aAM7B;CAAG;;;;;;AAEJ,qBAAa,UAAW,SAAQ,eAM/B;CAAG"}