@astryxdesign/core 0.7.6-canary.6504e70 → 0.7.6-canary.653e5e1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/AppShell/AppShell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAiCf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAwChD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE9D;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAuOD,wBAAgB,QAAQ,CAAC,EACvB,OAAoB,EACpB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EAAE,UAAU,EACzB,MAAe,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,aAAa,qBA6wBf;yBA5xBe,QAAQ"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/AppShell/AppShell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAiCf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAwChD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE9D;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAuOD,wBAAgB,QAAQ,CAAC,EACvB,OAAoB,EACpB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EAAE,UAAU,EACzB,MAAe,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,aAAa,qBAowBf;yBAnxBe,QAAQ"}
@@ -416,12 +416,6 @@ export function AppShell({
416
416
  isMainScrollRegionRef.current = isMainScrollRegion;
417
417
  syncMainDelegation();
418
418
  }, [isMainScrollRegion, syncMainDelegation]);
419
- useEffect(() => () => {
420
- mainOverflowRef.current?.stop();
421
- mainOverflowRef.current = null;
422
- mainDelegationRef.current?.release();
423
- mainDelegationRef.current = null;
424
- }, []);
425
419
 
426
420
  // Nav style derived values
427
421
  const hasBanner = isRenderable(banner);
@@ -95,6 +95,10 @@ export interface FileInputProps extends Omit<FieldInputBaseProps, 'onChange' | '
95
95
  * - 'attached': message overlaps directly below the input (bordered treatment)
96
96
  * - 'detached': message floats below as a separate element with spacing
97
97
  * - 'tooltip': no message box; the status icon becomes a focusable info-tip button that reveals the message on hover, keyboard focus, or tap
98
+ *
99
+ * Dropzone mode does not support 'attached': its tall surface cannot carry an
100
+ * overlapping message. Use 'detached' or 'tooltip' there. From the next minor
101
+ * release, a dropzone resolves 'attached' to 'detached' and defaults to it.
98
102
  * @default 'attached'
99
103
  */
100
104
  statusVariant?: FieldStatusPlacement;
@@ -1 +1 @@
1
- {"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../src/FileInput/FileInput.tsx"],"names":[],"mappings":"AAuCA,OAAO,EAA0B,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;AAUnE,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,eAAe,IAAI,mBAAmB,GACvC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAQ9C,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAoPxE,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,mBAAmB,EACnB,UAAU,GAAG,cAAc,GAAG,OAAO,CACtC;IACC;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAkB,EAClB,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,MAAM,EAAE,UAAU,EAClB,aAA0B,EAC1B,WAAW,EACX,WAAW,EACX,IAAc,EACd,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,EAAE,EAAE,MAAM,EACV,GAAG,SAAS,EACb,EAAE,cAAc,+BAohBhB;yBAnjBe,SAAS"}
1
+ {"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../src/FileInput/FileInput.tsx"],"names":[],"mappings":"AAuCA,OAAO,EAA0B,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;AAUnE,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,eAAe,IAAI,mBAAmB,GACvC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAQ9C,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAoPxE,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,mBAAmB,EACnB,UAAU,GAAG,cAAc,GAAG,OAAO,CACtC;IACC;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAkB,EAClB,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,MAAM,EAAE,UAAU,EAClB,aAA0B,EAC1B,WAAW,EACX,WAAW,EACX,IAAc,EACd,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,EAAE,EAAE,MAAM,EACV,GAAG,SAAS,EACb,EAAE,cAAc,+BAohBhB;yBAnjBe,SAAS"}
@@ -1,4 +1,4 @@
1
- import { type AnimatedLayout, type LayoutSwap } from '../motion/animatedLayout.js';
1
+ import { type AnimatedLayout, type LayoutEdgeHold, type LayoutSwap } from '../motion/animatedLayout.js';
2
2
  /** What AppShell lends its SideNav; outside AppShell, nothing. */
3
3
  export interface SideNavShell {
4
4
  /** AppShell's own handle, whose area holds the rail and the content. */
@@ -26,12 +26,12 @@ export interface RailShown {
26
26
  readonly collapsed: number;
27
27
  }
28
28
  export interface RailSnapshot {
29
- readonly rail: HTMLElement;
30
- readonly railRect: DOMRect;
29
+ /** The old rail, held for the module's edge reveal. */
30
+ readonly hold: LayoutEdgeHold;
31
+ /** The old rail as one transient copy, or null when it cannot be held. */
32
+ readonly swap: LayoutSwap | null;
31
33
  /** What the rail shows when the change lands. */
32
34
  readonly shown: RailShown;
33
- /** The old rail, held by the swap. */
34
- readonly swap: LayoutSwap | null;
35
35
  }
36
36
  /** A playing rail motion. */
37
37
  export interface RailMotion {
@@ -1 +1 @@
1
- {"version":3,"file":"railMotion.d.ts","sourceRoot":"","sources":["../../src/SideNav/railMotion.ts"],"names":[],"mappings":"AA4CA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAElC,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,6DAA6D;IAC7D,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC;IAC3B,wDAAwD;IACxD,MAAM,IAAI,WAAW,GAAG,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,gBAAgB,IAAI,IAAI,CAAC;IACzB,uEAAuE;IACvE,eAAe,IAAI,MAAM,IAAI,CAAC;IAC9B,wEAAwE;IACxE,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,8CAA2C,CAAC;AAG5E,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,WAAW,GAAG,IAAI,GAC7B,cAAc,CAEhB;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC;AAED,6BAA6B;AAC7B,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,GAAG,IAAI,IAAI,CAAC;IACZ,4DAA4D;IAC5D,KAAK,IAAI,SAAS,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,SAAS,GAAG,IAAI,EACzB,WAAW,EAAE,OAAO,GACnB,YAAY,GAAG,IAAI,CAerB;AAwBD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,MAAM,EAAE,cAAc,EACtB,MAAM,GAAE,WAAW,GAAG,IAAW,GAChC,UAAU,CAsJZ"}
1
+ {"version":3,"file":"railMotion.d.ts","sourceRoot":"","sources":["../../src/SideNav/railMotion.ts"],"names":[],"mappings":"AA8CA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAElC,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,6DAA6D;IAC7D,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC;IAC3B,wDAAwD;IACxD,MAAM,IAAI,WAAW,GAAG,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,gBAAgB,IAAI,IAAI,CAAC;IACzB,uEAAuE;IACvE,eAAe,IAAI,MAAM,IAAI,CAAC;IAC9B,wEAAwE;IACxE,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,8CAA2C,CAAC;AAG5E,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,WAAW,GAAG,IAAI,GAC7B,cAAc,CAEhB;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED,6BAA6B;AAC7B,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,GAAG,IAAI,IAAI,CAAC;IACZ,4DAA4D;IAC5D,KAAK,IAAI,SAAS,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,SAAS,GAAG,IAAI,EACzB,WAAW,EAAE,OAAO,GACnB,YAAY,GAAG,IAAI,CAkBrB;AAaD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,MAAM,EAAE,cAAc,EACtB,MAAM,GAAE,WAAW,GAAG,IAAW,GAChC,UAAU,CAmDZ"}
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * @file railMotion.ts
7
7
  * @input The rail's outer element, the animated-layout module's handle,
8
- * motion and in-place swap (motion/animatedLayout.ts)
8
+ * motion and two-state edge reveal (motion/animatedLayout.ts)
9
9
  * @output Exports `SideNavShellContext` (what AppShell lends its SideNav),
10
10
  * `createRailLayout`, `snapshotRail` and `playRail`: the rail's collapse
11
11
  * motion
@@ -14,34 +14,36 @@
14
14
  *
15
15
  * Collapsing or expanding the rail plays one motion on one clock, the
16
16
  * `springs.settle` role the animated-layout module reads (`spec:AST-105`
17
- * FR4):
18
- * - Layout snaps to the final rail width at once; nothing animates a width.
19
- * - A collapse covers the old rail by a clip: the module's in-place swap
20
- * (`spec:AST-105` FR8) holds the old, expanded rail as one transient copy
21
- * and the clip closes it to the new width. The copy's text fades over the
22
- * first 40%; the real collapsed rail, raised above the copy, fades in over
23
- * the last 30%, so the real rail, icons only, is all that remains.
24
- * - An expand reveals the real rail by a clip from the old width, its text
25
- * fading in over the last 60% so no label shows at the collapsed width,
26
- * under the old, collapsed rail held by the same swap, which fades over the
27
- * first 60%: the first frame is the frame before the click.
28
- * - In AppShell the rail's edge rides the content column's glide, frame by
29
- * frame, so the two never part, also when a change interrupts a running
30
- * one; the copy is laid in the row that holds both.
17
+ * FR4). The rail is FR9's edge reveal in its inline two-state form, which
18
+ * the module produces (`architecture:react-component-runtime` INV12): layout
19
+ * snaps to the final rail width at once, nothing animates a width, and the
20
+ * module clips the rail's inline-end edge from the width it shows to the new
21
+ * one. A collapse covers the old, expanded rail, held as one transient copy,
22
+ * with the real collapsed rail raised above it; an expand reveals the real
23
+ * rail under the old, collapsed one. In AppShell that edge rides the content
24
+ * column's glide, frame by frame, so the two never part, also when a change
25
+ * interrupts a running one. Every starting clip applies in the commit's
26
+ * layout effect, before the first frame paints. Under Reduce Motion it
27
+ * follows `design:reduced-motion`: opacity only under a coarse primary
28
+ * pointer (DR2), an immediate change otherwise (DR3). Without Web
29
+ * Animations, the change lands at once.
30
+ *
31
+ * What this file adds is the rail's own fades, on the same progress:
32
+ * - A collapse fades the copy's text over the first 40% and the copy over
33
+ * the last 30%, while the real collapsed rail, its icons, fades in over the
34
+ * last 30%, so the real rail, icons only, is all that remains.
35
+ * - An expand fades the real rail's text in over the last 60%, so no label
36
+ * shows at the collapsed width, while the old, collapsed rail fades over
37
+ * the first 60%: the first frame is the frame before the click.
31
38
  * - A change made during a running motion starts from what the rail shows:
32
39
  * its width, its labels' opacity and its collapsed icons' opacity, so the
33
40
  * rail stays continuous.
34
- * - Every starting clip applies in the commit's layout effect, before the
35
- * first frame paints.
36
- * - Under Reduce Motion it follows `design:reduced-motion`: opacity only
37
- * under a coarse primary pointer (DR2), an immediate change otherwise
38
- * (DR3). Without Web Animations, the change lands at once.
39
41
  *
40
42
  * SYNC: When modified, update SideNav.tsx, AppShell.tsx and
41
43
  * SideNavRailMotion.test.tsx.
42
44
  */
43
45
  import { createContext } from 'react';
44
- import { createAnimatedLayout, holdLayoutSwap, layoutMotionFor, playLayoutFrames, playLayoutSwap } from "../motion/animatedLayout.js";
46
+ import { createAnimatedLayout, holdLayoutEdge, playLayoutEdge } from "../motion/animatedLayout.js";
45
47
 
46
48
  /** What AppShell lends its SideNav; outside AppShell, nothing. */
47
49
 
@@ -62,19 +64,22 @@ export function createRailLayout(rail) {
62
64
  * from a running motion or at rest.
63
65
  */
64
66
  export function snapshotRail(rail, handle, running, isCollapsed) {
65
- if (rail == null || typeof rail.animate !== 'function') {
67
+ // The rail's edge is the one beside the content, its inline end.
68
+ const hold = holdLayoutEdge(handle, rail, {
69
+ edge: 'inline-end',
70
+ shown: running?.width ?? null
71
+ });
72
+ if (hold == null) {
66
73
  return null;
67
74
  }
68
- const railRect = rail.getBoundingClientRect();
69
75
  return {
70
- rail,
71
- railRect,
76
+ hold,
77
+ swap: hold.swap,
72
78
  shown: running ?? {
73
- width: railRect.width,
79
+ width: hold.extent,
74
80
  labels: isCollapsed ? 0 : 1,
75
81
  collapsed: isCollapsed ? 1 : 0
76
- },
77
- swap: holdLayoutSwap(handle, rail)
82
+ }
78
83
  };
79
84
  }
80
85
  const clamp = value => Math.min(1, Math.max(0, value));
@@ -84,19 +89,6 @@ function textElements(rail) {
84
89
  return Array.from(rail.querySelectorAll('*')).filter(element => Array.from(element.childNodes).some(node => node.nodeType === 3 && node.textContent?.trim()));
85
90
  }
86
91
 
87
- /** `element`'s ancestor (or itself) that sits directly in `host`. */
88
- function childOf(host, element) {
89
- let node = element;
90
- while (node != null && node.parentElement !== host) {
91
- node = node.parentElement;
92
- }
93
- return node;
94
- }
95
- const AT_REST = {
96
- end: () => {},
97
- shown: () => null
98
- };
99
-
100
92
  /**
101
93
  * After the change commits, before paint: play the rail's motion from the
102
94
  * snapshot, on the module's motion. With a `column` (in AppShell), the rail's
@@ -104,150 +96,50 @@ const AT_REST = {
104
96
  */
105
97
  export function playRail(snapshot, current, handle, column = null) {
106
98
  const {
107
- railRect,
108
- swap,
109
99
  shown: from
110
100
  } = snapshot;
111
- // The rail as it is now: a resizable rail's nav remounts when its resize
112
- // wrapper comes and goes with the collapse.
113
- const rail = current?.isConnected === true ? current : snapshot.rail;
114
- if (!rail.isConnected) {
115
- return AT_REST;
116
- }
117
- const motion = layoutMotionFor(rail);
118
- const next = rail.getBoundingClientRect();
119
- if (motion.kind === 'instant' || Math.abs(next.width - from.width) < 0.5) {
120
- return AT_REST;
121
- }
122
- const isCollapse = next.width < from.width;
101
+ let isCollapse = false;
123
102
  // The labels and the collapsed icons over the motion's progress, from what
124
103
  // the rail showed.
125
104
  const labelsAt = p => isCollapse ? from.labels * (1 - clamp(p / 0.4)) : from.labels + (1 - from.labels) * clamp((p - 0.4) / 0.6);
126
105
  const collapsedAt = p => isCollapse ? from.collapsed + (1 - from.collapsed) * clamp((p - 0.7) / 0.3) : from.collapsed * (1 - clamp(p / 0.6));
127
- const rtl = getComputedStyle(rail).direction === 'rtl';
128
- const sign = rtl ? -1 : 1;
129
- const inset = px => rtl ? `inset(0px 0px 0px ${px}px)` : `inset(0px ${px}px 0px 0px)`;
130
- // The row that holds the rail and the column, or the rail's parent.
131
- const host = column?.parentElement != null && column.parentElement.contains(rail) ? column.parentElement : rail.parentElement;
132
- // Riding needs the swap: its frames carry the column's travel. Without one
133
- // (old content that cannot be copied) the clip follows the motion's curve.
134
- const rides = host != null && column?.parentElement === host && swap != null;
135
- // The width the rail shows over the motion: on the column's glide (its
136
- // travel so far added to where it started), or on the motion's curve.
137
- const widthAt = (p, ride) => rides ? from.width + sign * ride.x : from.width + (next.width - from.width) * p;
138
- const now = () => Number(rail.ownerDocument.timeline?.currentTime ?? 0);
139
- const startedAt = now();
140
- const durationMs = motion.kind === 'spring' ? motion.progress.durationMs : motion.durationMs;
141
- const shown = () => {
142
- const elapsed = now() - startedAt;
143
- if (elapsed >= durationMs) {
144
- return null;
106
+ const motion = playLayoutEdge(snapshot.hold, current, handle, {
107
+ edge: 'inline-end',
108
+ rideWith: column,
109
+ parts: (isConceal, rail) => {
110
+ isCollapse = isConceal;
111
+ return isConceal ? {
112
+ // The old rail's text fades early, the copy late, as the real
113
+ // collapsed rail, raised above it, fades in.
114
+ copyOpacity: p => 1 - clamp((p - 0.7) / 0.3),
115
+ copyText: labelsAt,
116
+ incoming: [{
117
+ element: rail,
118
+ frames: p => ({
119
+ opacity: collapsedAt(p)
120
+ })
121
+ }]
122
+ } : {
123
+ // The old, collapsed rail fades early; the real rail's text, late.
124
+ copyOpacity: collapsedAt,
125
+ incoming: textElements(rail).map(element => ({
126
+ element,
127
+ frames: p => ({
128
+ opacity: labelsAt(p)
129
+ })
130
+ }))
131
+ };
145
132
  }
146
- const p = motion.kind === 'spring' ? 1 - motion.progress.remaining(elapsed) : 0;
147
- let width = from.width + (next.width - from.width) * p;
148
- if (rides && column != null) {
149
- // The rail's edge is the column's: read it where it shows.
150
- const edge = column.getBoundingClientRect();
151
- const own = rail.getBoundingClientRect();
152
- width = rtl ? own.right - edge.right : edge.left - own.left;
153
- }
154
- return {
155
- width,
156
- labels: labelsAt(p),
157
- collapsed: collapsedAt(p)
158
- };
159
- };
160
- const rideWith = rides && column != null ? {
161
- element: column,
162
- travel: {
163
- x: sign * (from.width - next.width),
164
- y: 0
165
- },
166
- isCopyMoved: false
167
- } : undefined;
168
- // The copy keeps the rail's inline-start edge where the rail is now, so it
169
- // meets the real rail wherever SideNav sits (a centered rail moves).
170
- const at = DOMRect.fromRect({
171
- x: rtl ? next.right - railRect.width : next.left,
172
- y: next.top,
173
- width: railRect.width,
174
- height: railRect.height
175
133
  });
176
- if (isCollapse) {
177
- // A collapse covers the old rail, held by the swap, from the width it
178
- // shows down to the new one; the real, collapsed rail fades in above it.
179
- if (swap == null || host == null) {
180
- return AT_REST;
181
- }
182
- const raised = childOf(host, rail);
183
- const restore = raised == null ? null : {
184
- position: raised.style.position,
185
- zIndex: raised.style.zIndex
186
- };
187
- if (raised != null) {
188
- if (getComputedStyle(raised).position === 'static') {
189
- raised.style.position = 'relative';
190
- }
191
- raised.style.zIndex = '2';
192
- }
193
- const end = playLayoutSwap({
194
- ...swap,
195
- rect: at
196
- }, {
197
- host,
198
- isOpaque: true,
199
- copy: (p, ride) => ({
200
- clipPath: inset(railRect.width - widthAt(p, ride)),
201
- opacity: 1 - clamp((p - 0.7) / 0.3)
202
- }),
203
- copyText: labelsAt,
204
- rideWith,
205
- onEnd: () => {
206
- if (raised != null && restore != null) {
207
- raised.style.position = restore.position;
208
- raised.style.zIndex = restore.zIndex;
209
- }
210
- },
211
- incoming: [{
212
- element: rail,
213
- frames: p => ({
214
- opacity: collapsedAt(p)
215
- })
216
- }]
217
- });
218
- return {
219
- end,
220
- shown
221
- };
222
- }
223
-
224
- // An expand reveals the real rail from the width it showed, its text fading
225
- // in late, under the old, collapsed rail fading early.
226
- const incoming = [{
227
- element: rail,
228
- frames: (p, ride) => ({
229
- clipPath: inset(next.width - widthAt(p, ride))
230
- })
231
- }, ...textElements(rail).map(element => ({
232
- element,
233
- frames: p => ({
234
- opacity: labelsAt(p)
235
- })
236
- }))];
237
- const end = swap != null && host != null ? playLayoutSwap({
238
- ...swap,
239
- rect: at
240
- }, {
241
- host,
242
- isOpaque: true,
243
- copy: p => ({
244
- opacity: collapsedAt(p)
245
- }),
246
- rideWith,
247
- incoming
248
- }) : playLayoutFrames(handle, incoming);
249
134
  return {
250
- end,
251
- shown
135
+ end: motion.end,
136
+ shown: () => {
137
+ const now = motion.shown();
138
+ return now == null ? null : {
139
+ width: now.extent,
140
+ labels: labelsAt(now.progress),
141
+ collapsed: collapsedAt(now.progress)
142
+ };
143
+ }
252
144
  };
253
145
  }
@@ -58,13 +58,26 @@ export interface LayoutChange {
58
58
  * outside its container, nothing moves.
59
59
  */
60
60
  export declare function reportLayoutChange(handle: AnimatedLayout | null | undefined, target: Target): LayoutChange;
61
+ /**
62
+ * The edge an element reveals from or conceals to (`spec:AST-105` FR9): its
63
+ * block-end edge by default, or its block-start, inline-start or inline-end
64
+ * edge, such as a panel collapsing beside content. An inline edge follows
65
+ * the element's direction.
66
+ */
67
+ export type LayoutEdge = 'block-end' | 'block-start' | 'inline-start' | 'inline-end';
61
68
  /**
62
69
  * The changed element's own animation, on the same motion as the content
63
- * after it: content that appears reveals downward from its top edge. Plays
64
- * only with a handle, inside its area and in the area's visible part.
65
- * Returns the entrance it started, or null when it played none.
70
+ * after it (`spec:AST-105` FR4): content that appears reveals from its
71
+ * block-end edge downward, or from the `edge` it is given (FR9), and its edge
72
+ * rides the glide of the content on that side once it starts. A reveal that
73
+ * reverses a running conceal (an adopter opens it again mid-exit, after
74
+ * `releaseLayoutExit`) starts from what the element shows. Plays only with a
75
+ * handle, inside its area and in the area's visible part. Returns the
76
+ * entrance it started, or null when it played none.
66
77
  */
67
- export declare function playLayoutChange(handle: AnimatedLayout | null | undefined, element: Element): Animation | null;
78
+ export declare function playLayoutChange(handle: AnimatedLayout | null | undefined, element: Element, { edge }?: {
79
+ edge?: LayoutEdge;
80
+ }): Animation | null;
68
81
  /**
69
82
  * The changed element's exit (`spec:AST-105` FR4): content that disappears
70
83
  * keeps its place on screen but gives up its space (a negative end margin
@@ -77,6 +90,11 @@ export declare function playLayoutChange(handle: AnimatedLayout | null | undefin
77
90
  * element, after the change's `animate()` reported it measured, in the same
78
91
  * task: the glide reads the layout once the element has given up its space.
79
92
  *
93
+ * It conceals to its block-end edge by default, or to the `edge` it is given
94
+ * (`spec:AST-105` FR9), and its edge rides the glide of the content on that
95
+ * side once it starts; a conceal that reverses a running reveal (a close
96
+ * while it opens) starts from what the element shows.
97
+ *
80
98
  * Returns false, holding nothing, when the exit lands at once: no handle, a
81
99
  * close no change in the area measured, outside the area or its visible part,
82
100
  * Reduce Motion with a fine pointer, or a layout no end margin can free (a
@@ -84,7 +102,9 @@ export declare function playLayoutChange(handle: AnimatedLayout | null | undefin
84
102
  * that last case the content after it takes its final place at once too.
85
103
  * The component then hides the element itself.
86
104
  */
87
- export declare function holdLayoutExit(handle: AnimatedLayout | null | undefined, element: HTMLElement, done: () => void): boolean;
105
+ export declare function holdLayoutExit(handle: AnimatedLayout | null | undefined, element: HTMLElement, done: () => void, { edge }?: {
106
+ edge?: LayoutEdge;
107
+ }): boolean;
88
108
  /**
89
109
  * Puts an element `holdLayoutExit` held back: stops its exit and puts back
90
110
  * what the exit replaced (its `inert` and inline values as they were). Called
@@ -167,6 +187,111 @@ export declare function playLayoutSwap(swap: LayoutSwap, how: LayoutSwapMotion):
167
187
  * nothing plays. Returns what ends them at once.
168
188
  */
169
189
  export declare function playLayoutFrames(handle: AnimatedLayout | null | undefined, parts: LayoutSwapMotion['incoming']): () => void;
190
+ /**
191
+ * An element's old state, held before a change commits for FR9's two-state
192
+ * edge reveal.
193
+ */
194
+ export interface LayoutEdgeHold {
195
+ readonly element: HTMLElement;
196
+ /** Where it showed, in viewport coordinates. */
197
+ readonly rect: DOMRect;
198
+ /**
199
+ * Its size along the edge's axis as it shows: what a running reveal shows
200
+ * mid-motion, or its box.
201
+ */
202
+ readonly extent: number;
203
+ /** Its old state as one transient copy, or null when it cannot be held. */
204
+ readonly swap: LayoutSwap | null;
205
+ }
206
+ /** A playing two-state edge reveal. */
207
+ export interface LayoutEdgeMotion {
208
+ /** Ends it at once (a new change, an unmount). */
209
+ end(): void;
210
+ /**
211
+ * What it shows now: its extent along the edge's axis and the motion's
212
+ * progress (0 → 1), or null once it has settled.
213
+ */
214
+ shown(): {
215
+ readonly extent: number;
216
+ readonly progress: number;
217
+ } | null;
218
+ }
219
+ /** What the caller adds to a two-state edge reveal: only its own fades. */
220
+ export interface LayoutEdgeParts {
221
+ /** The old state's copy's opacity over the progress (1 when absent). */
222
+ readonly copyOpacity?: (p: number) => number;
223
+ /** Its text's opacity, on its own curve, when that differs from the copy's. */
224
+ readonly copyText?: (p: number) => number;
225
+ /** Parts the page renders, playing with the reveal (the new state's text). */
226
+ readonly incoming?: ReadonlyArray<{
227
+ readonly element: Element;
228
+ readonly frames: (p: number) => Keyframe;
229
+ }>;
230
+ }
231
+ /**
232
+ * Before a change commits: hold `element`'s old state for FR9's two-state edge
233
+ * reveal, its box and the extent it shows along `edge`'s axis (`shown`, from a
234
+ * running reveal, or its box), and its old state as one transient copy (null
235
+ * when it cannot be copied, or under an immediate change). Returns null
236
+ * without the element or without Web Animations.
237
+ */
238
+ export declare function holdLayoutEdge(handle: AnimatedLayout | null | undefined, element: HTMLElement | null, { edge, shown, }?: {
239
+ edge?: LayoutEdge;
240
+ shown?: number | null;
241
+ }): LayoutEdgeHold | null;
242
+ /**
243
+ * After the change commits, before paint: FR9's two-state edge reveal, on
244
+ * FR4's one motion. The state that is larger along `edge`'s axis is clipped
245
+ * on that edge, from the extent the element showed to the new one: a conceal
246
+ * covers the old state, held as the swap's copy, with the element raised
247
+ * above it; a reveal opens the element, under the old state. With
248
+ * `rideWith`, an element the glide moves after that edge (a rail's content
249
+ * column), the edge rides its glide, frame by frame, so the two never part,
250
+ * also when this reverses a running reveal; without it the edge follows the
251
+ * motion's curve. `parts` gives the caller's own fades, told whether the edge
252
+ * conceals and the element as it is now. Under Reduce Motion it follows
253
+ * `design:reduced-motion`: opacity only under a coarse primary pointer (DR2),
254
+ * an immediate change otherwise (DR3). `current` is the element after the
255
+ * commit, when it remounted.
256
+ */
257
+ export declare function playLayoutEdge(hold: LayoutEdgeHold, current: HTMLElement | null, handle: AnimatedLayout, { edge, rideWith, parts, }?: {
258
+ edge?: LayoutEdge;
259
+ rideWith?: Element | null;
260
+ parts?: (isConceal: boolean, element: HTMLElement) => LayoutEdgeParts;
261
+ }): LayoutEdgeMotion;
262
+ /** A resized element's edge reveal, reported around its change. */
263
+ export interface LayoutEdgeReport {
264
+ /** Before the change commits: measures the element and what moves. */
265
+ measureBefore(): void;
266
+ /**
267
+ * After the new size is applied, before paint: the element reveals or
268
+ * conceals by its edge, from the extent it showed to its new one, and the
269
+ * content beside it glides on the same motion.
270
+ */
271
+ animate(): void;
272
+ /** Ends a running reveal or conceal at once, removing what it holds. */
273
+ cancel(): void;
274
+ }
275
+ /**
276
+ * Reports a resized element's edge reveal (`spec:AST-105` FR9) with no copy:
277
+ * a resize controller's pane collapsing or opening beside the content it
278
+ * shares a row with (`component:Resizable` FR8, `component:LayoutPanel`
279
+ * FR7). Measure before the change commits and animate after the
280
+ * new size is applied, as `reportLayoutChange` does; the content beside the
281
+ * element glides through that report. A larger extent reveals by `edge` from
282
+ * the extent the element showed. A smaller one conceals: the element is held
283
+ * at the extent it was laid out at, the difference freed by the margin on
284
+ * that edge's side so the content beyond it stays where the new size puts it,
285
+ * and clipped down to its new extent; the hold goes when the motion ends. The
286
+ * moving edge rides the glide of the content on that side, frame by frame,
287
+ * and a change made while it runs starts from the extent it shows. It slides:
288
+ * nothing fades. Under Reduce Motion with a coarse primary pointer a reveal
289
+ * fades in and a conceal lands at once (`design:reduced-motion` DR2); with a
290
+ * fine one every change lands at once (DR3).
291
+ */
292
+ export declare function reportLayoutEdge(handle: AnimatedLayout | null | undefined, getElement: () => HTMLElement | null, { edge }?: {
293
+ edge?: LayoutEdge;
294
+ }): LayoutEdgeReport;
170
295
  /**
171
296
  * A disclosure's indicator (its chevron) turns on the same motion as the
172
297
  * glide: its CSS transition takes the spring as a `linear()` easing, and an
@@ -1 +1 @@
1
- {"version":3,"file":"animatedLayout.d.ts","sourceRoot":"","sources":["../../src/motion/animatedLayout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animatedLayout.d.ts","sourceRoot":"","sources":["../../src/motion/animatedLayout.ts"],"names":[],"mappings":"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"}