@witchcraft/layout 0.5.11 → 0.5.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@witchcraft/layout",
3
3
  "configKey": "witchcraftLayout",
4
- "version": "0.5.11",
4
+ "version": "0.5.13",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.3",
7
7
  "unbuild": "unknown"
@@ -1844,12 +1844,14 @@ export type LayoutChange<TInfo = never> = {
1844
1844
  window?: Partial<LayoutWindow>;
1845
1845
  info?: TInfo;
1846
1846
  };
1847
- export type ExtendedMoveTypes = Flatten<OrToAnd<keyof Register extends `LayoutMove${infer T}` ? Register extends Record<`LayoutMove${T}`, infer U> ? U extends {
1848
- type: string;
1849
- context: any;
1850
- resolve: any;
1851
- moveType: "edge" | "frame" | "other";
1852
- } ? Record<U["type"], U> : never : never : never>>;
1847
+ export type ExtendedMoveTypes = Flatten<OrToAnd<{
1848
+ [K in keyof Register]: K extends `LayoutMove${string}` ? Register[K] extends {
1849
+ type: string;
1850
+ context: any;
1851
+ resolve: any;
1852
+ moveType: "edge" | "frame" | "other";
1853
+ } ? Record<Register[K]["type"], Register[K]> : never : never;
1854
+ }[keyof Register]>>;
1853
1855
  export type MoveState = {
1854
1856
  /** The current directions in the corresponding orientations that the user is dragging in. */
1855
1857
  moveDirections: Record<Orientation, Direction | undefined>;
@@ -9,18 +9,22 @@ export type LayoutContext = ComputedRef<{
9
9
  export declare const layoutContextInjectionKey: InjectionKey<LayoutContext>;
10
10
  export interface UseFramesContext {
11
11
  actionHandler: IActionHandler;
12
- moveStart<T extends "edge" | "frame" | "other", TContextType extends keyof ExtendedMoveTypes, TContext extends ExtendedMoveTypes[TContextType], TContextReturn extends TContext extends {
12
+ moveStart<T extends "edge" | "frame" | "other", TContextType extends keyof ExtendedMoveTypes = keyof ExtendedMoveTypes, TContext extends ExtendedMoveTypes[TContextType] = ExtendedMoveTypes[TContextType], TContextReturn extends TContext extends {
13
+ resolve: infer R;
14
+ } ? R : never = TContext extends {
13
15
  resolve: infer R;
14
16
  } ? R : never, TContextMoveType extends TContext extends {
15
17
  moveType: infer M;
18
+ } ? M : never = TContext extends {
19
+ moveType: infer M;
16
20
  } ? M : never, TContextContext extends TContext extends {
17
21
  context: infer C;
18
- } ? C : never, TType extends [TContextMoveType] extends [never] ? T : TContextMoveType>(e: PointerEvent | undefined, type: TType, data: T extends "edge" ? EdgeMoveStartData : T extends "frame" ? FrameMoveStartData : undefined, opts?: {
22
+ } ? C : never = TContext extends {
23
+ context: infer C;
24
+ } ? C : never, TType extends [TContextMoveType] extends [never] ? T : TContextMoveType = [TContextMoveType] extends [never] ? T : TContextMoveType>(e: PointerEvent | undefined, type: TType, data: T extends "edge" ? EdgeMoveStartData : T extends "frame" ? FrameMoveStartData : undefined, opts?: {
19
25
  moveEvent?: string;
20
26
  endEvent?: string;
21
- context?: {
22
- type: TContextType;
23
- } & TContextContext;
27
+ context?: TContextContext;
24
28
  }): TContext extends never ? Promise<void> : Promise<TContextReturn>;
25
29
  onMove: (e: PointerEvent) => void;
26
30
  moveEnd: (e?: PointerEvent, options?: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@witchcraft/layout",
3
3
  "description": "Headless layout manager.",
4
- "version": "0.5.11",
4
+ "version": "0.5.13",
5
5
  "main": "./dist/runtime/index.js",
6
6
  "type": "module",
7
7
  "sideEffects": false,
@@ -445,18 +445,21 @@ export type LayoutChange<TInfo = never> = {
445
445
 
446
446
 
447
447
  // #todo we also need to change how the normal types are extended to this pattern
448
- export type ExtendedMoveTypes = Flatten<OrToAnd<keyof Register extends `LayoutMove${infer T}`
449
- ? Register extends Record<`LayoutMove${T}`, infer U>
450
- ? U extends {
451
- type: string
452
- context: any
453
- resolve: any
454
- moveType: "edge" | "frame" | "other"
455
- }
456
- ? Record<U["type"], U>
448
+ export type ExtendedMoveTypes = Flatten<OrToAnd<
449
+ {
450
+ [K in keyof Register]: K extends `LayoutMove${string}`
451
+ ? Register[K] extends {
452
+ type: string
453
+ context: any
454
+ resolve: any
455
+ moveType: "edge" | "frame" | "other"
456
+ }
457
+ ? Record<Register[K]["type"], Register[K]>
458
+ : never
457
459
  : never
458
- : never
459
- : never>>
460
+ }[keyof Register]
461
+ >>
462
+
460
463
 
461
464
  export type MoveState = {
462
465
  /** The current directions in the corresponding orientations that the user is dragging in. */
@@ -18,13 +18,13 @@ export interface UseFramesContext {
18
18
  actionHandler: IActionHandler
19
19
  moveStart<
20
20
  T extends "edge" | "frame" | "other",
21
- TContextType extends keyof ExtendedMoveTypes,
22
- TContext extends ExtendedMoveTypes[TContextType],
23
- TContextReturn extends TContext extends { resolve: infer R } ? R : never,
24
- TContextMoveType extends TContext extends { moveType: infer M } ? M : never,
25
- TContextContext extends TContext extends { context: infer C } ? C : never,
21
+ TContextType extends keyof ExtendedMoveTypes = keyof ExtendedMoveTypes,
22
+ TContext extends ExtendedMoveTypes[TContextType] = ExtendedMoveTypes[TContextType],
23
+ TContextReturn extends TContext extends { resolve: infer R } ? R : never = TContext extends { resolve: infer R } ? R : never,
24
+ TContextMoveType extends TContext extends { moveType: infer M } ? M : never = TContext extends { moveType: infer M } ? M : never,
25
+ TContextContext extends TContext extends { context: infer C } ? C : never = TContext extends { context: infer C } ? C : never,
26
26
  // cursed https://github.com/microsoft/TypeScript/issues/23182
27
- TType extends [TContextMoveType] extends [never] ? T : TContextMoveType
27
+ TType extends [TContextMoveType] extends [never] ? T : TContextMoveType = [TContextMoveType] extends [never] ? T : TContextMoveType
28
28
  >(
29
29
  e: PointerEvent | undefined,
30
30
  type: TType,
@@ -33,7 +33,7 @@ export interface UseFramesContext {
33
33
  opts?: {
34
34
  moveEvent?: string
35
35
  endEvent?: string
36
- context?: { type: TContextType } & TContextContext
36
+ context?: TContextContext
37
37
  }
38
38
  ): TContext extends never
39
39
  ? Promise<void>