@harmonia-core/ui 1.0.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 (77) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +267 -0
  3. package/dist/capacity/animation.d.ts +77 -0
  4. package/dist/capacity/animation.d.ts.map +1 -0
  5. package/dist/capacity/constants.d.ts +119 -0
  6. package/dist/capacity/constants.d.ts.map +1 -0
  7. package/dist/capacity/feedback.d.ts +55 -0
  8. package/dist/capacity/feedback.d.ts.map +1 -0
  9. package/dist/capacity/fields/field-manager.d.ts +45 -0
  10. package/dist/capacity/fields/field-manager.d.ts.map +1 -0
  11. package/dist/capacity/index.d.ts +15 -0
  12. package/dist/capacity/index.d.ts.map +1 -0
  13. package/dist/capacity/index.js +1313 -0
  14. package/dist/capacity/index.js.map +1 -0
  15. package/dist/capacity/index.mjs +1267 -0
  16. package/dist/capacity/index.mjs.map +1 -0
  17. package/dist/capacity/mode.d.ts +50 -0
  18. package/dist/capacity/mode.d.ts.map +1 -0
  19. package/dist/capacity/prediction/hooks.d.ts +11 -0
  20. package/dist/capacity/prediction/hooks.d.ts.map +1 -0
  21. package/dist/capacity/prediction/pattern-extractor.d.ts +26 -0
  22. package/dist/capacity/prediction/pattern-extractor.d.ts.map +1 -0
  23. package/dist/capacity/prediction/pattern-store.d.ts +35 -0
  24. package/dist/capacity/prediction/pattern-store.d.ts.map +1 -0
  25. package/dist/capacity/prediction/prediction-engine.d.ts +39 -0
  26. package/dist/capacity/prediction/prediction-engine.d.ts.map +1 -0
  27. package/dist/capacity/prediction/types.d.ts +24 -0
  28. package/dist/capacity/prediction/types.d.ts.map +1 -0
  29. package/dist/capacity/provider.d.ts +119 -0
  30. package/dist/capacity/provider.d.ts.map +1 -0
  31. package/dist/capacity/signals/aggregator.d.ts +38 -0
  32. package/dist/capacity/signals/aggregator.d.ts.map +1 -0
  33. package/dist/capacity/signals/detectors/environment-detector.d.ts +31 -0
  34. package/dist/capacity/signals/detectors/environment-detector.d.ts.map +1 -0
  35. package/dist/capacity/signals/detectors/input-detector.d.ts +23 -0
  36. package/dist/capacity/signals/detectors/input-detector.d.ts.map +1 -0
  37. package/dist/capacity/signals/detectors/interaction-detector.d.ts +27 -0
  38. package/dist/capacity/signals/detectors/interaction-detector.d.ts.map +1 -0
  39. package/dist/capacity/signals/detectors/scroll-detector.d.ts +35 -0
  40. package/dist/capacity/signals/detectors/scroll-detector.d.ts.map +1 -0
  41. package/dist/capacity/signals/detectors/session-detector.d.ts +23 -0
  42. package/dist/capacity/signals/detectors/session-detector.d.ts.map +1 -0
  43. package/dist/capacity/signals/detectors/time-detector.d.ts +20 -0
  44. package/dist/capacity/signals/detectors/time-detector.d.ts.map +1 -0
  45. package/dist/capacity/signals/detectors/types.d.ts +25 -0
  46. package/dist/capacity/signals/detectors/types.d.ts.map +1 -0
  47. package/dist/capacity/signals/signal-bus.d.ts +50 -0
  48. package/dist/capacity/signals/signal-bus.d.ts.map +1 -0
  49. package/dist/capacity/types.d.ts +239 -0
  50. package/dist/capacity/types.d.ts.map +1 -0
  51. package/dist/capacity/utils/index.d.ts +7 -0
  52. package/dist/capacity/utils/index.d.ts.map +1 -0
  53. package/dist/capacity/utils/typography.d.ts +176 -0
  54. package/dist/capacity/utils/typography.d.ts.map +1 -0
  55. package/dist/components/ambient-field-monitor.d.ts +10 -0
  56. package/dist/components/ambient-field-monitor.d.ts.map +1 -0
  57. package/dist/components/capacity-controls.d.ts +15 -0
  58. package/dist/components/capacity-controls.d.ts.map +1 -0
  59. package/dist/components/capacity-demo-card.d.ts +13 -0
  60. package/dist/components/capacity-demo-card.d.ts.map +1 -0
  61. package/dist/components/index.d.ts +18 -0
  62. package/dist/components/index.d.ts.map +1 -0
  63. package/dist/components/index.js +1703 -0
  64. package/dist/components/index.js.map +1 -0
  65. package/dist/components/index.mjs +1688 -0
  66. package/dist/components/index.mjs.map +1 -0
  67. package/dist/components/ui/badge.d.ts +8 -0
  68. package/dist/components/ui/badge.d.ts.map +1 -0
  69. package/dist/components/ui/button.d.ts +10 -0
  70. package/dist/components/ui/button.d.ts.map +1 -0
  71. package/dist/components/ui/card.d.ts +10 -0
  72. package/dist/components/ui/card.d.ts.map +1 -0
  73. package/dist/components/ui/select.d.ts +6 -0
  74. package/dist/components/ui/select.d.ts.map +1 -0
  75. package/dist/components/ui/slider.d.ts +14 -0
  76. package/dist/components/ui/slider.d.ts.map +1 -0
  77. package/package.json +98 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../lib/capacity/provider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @file Aggregates signals from all detectors into a suggested CapacityField.
3
+ *
4
+ * Bug fixes vs. original:
5
+ * - detect() now returns SignalReading[] so readings.push(...) spreads the array.
6
+ * - getDetectorWeight() now uses a per-detector/dimension lookup table instead of
7
+ * ignoring the dimension parameter.
8
+ * - destroy() uses the optional-chaining destroy?() instead of (detector as any).destroy().
9
+ */
10
+ import { CapacityField } from '../types';
11
+ export declare class SignalAggregator {
12
+ private detectors;
13
+ /**
14
+ * Per-detector, per-dimension weight overrides.
15
+ * Falls back to detector.weight for any unlisted combination.
16
+ *
17
+ * Rationale for asymmetries:
18
+ * - TimeDetector: cognitive signal is stronger (diurnal pattern) than temporal
19
+ * (weekday/weekend is coarser)
20
+ * - EnvironmentDetector: emotional signal (color scheme) is a stronger explicit
21
+ * preference than temporal (reduced-motion)
22
+ */
23
+ private static readonly DIMENSION_WEIGHTS;
24
+ constructor();
25
+ /**
26
+ * Collects signal readings from all detectors and aggregates them into a
27
+ * confidence-weighted CapacityField.
28
+ */
29
+ aggregateSignals(): Promise<CapacityField>;
30
+ /**
31
+ * Returns the effective weight for a detector/dimension pair.
32
+ * Checks DIMENSION_WEIGHTS first; falls back to detector.weight.
33
+ */
34
+ private getDetectorWeight;
35
+ /** Cleans up all detector resources (event listeners, timers). */
36
+ destroy(): void;
37
+ }
38
+ //# sourceMappingURL=aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../lib/capacity/signals/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CASvC;;IAaF;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IA8BhD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB,kEAAkE;IAClE,OAAO;CAKR"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @file Implements signal detectors for environmental preferences.
3
+ * Reads prefers-reduced-motion (→ temporal) and prefers-color-scheme (→ emotional).
4
+ *
5
+ * Bug fixes vs. original:
6
+ * - Memory leak: stored MediaQueryList refs so removeEventListener unregisters the
7
+ * exact same handler that was registered (arrow-function class properties create a
8
+ * new reference on each access, so calling this.detect would never unregister).
9
+ * - Discarded temporal dimension: now returns both temporal and emotional readings.
10
+ */
11
+ import { SignalDetector, SignalReading } from './types';
12
+ export declare class EnvironmentDetector implements SignalDetector {
13
+ readonly name = "EnvironmentDetector";
14
+ readonly weight = 0.8;
15
+ private mqlReducedMotion;
16
+ private mqlDarkMode;
17
+ private readonly handleChange;
18
+ constructor();
19
+ /**
20
+ * Returns two readings:
21
+ * - temporal: based on prefers-reduced-motion (low → less time pressure on animations)
22
+ * - emotional: based on prefers-color-scheme (dark → slightly lower emotional load)
23
+ */
24
+ detect(): SignalReading[];
25
+ /**
26
+ * Removes the event listeners registered in the constructor.
27
+ * Uses the stored refs so the same function reference is unregistered.
28
+ */
29
+ destroy(): void;
30
+ }
31
+ //# sourceMappingURL=environment-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-detector.d.ts","sourceRoot":"","sources":["../../../../lib/capacity/signals/detectors/environment-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,MAAM,OAAO;IAEtB,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,WAAW,CAA+B;IAIlD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;;IAY1C;;;;OAIG;IACH,MAAM,IAAI,aAAa,EAAE;IAqCzB;;;OAGG;IACH,OAAO;CAMR"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @file Implements a signal detector for user input patterns (typing speed + error rate).
3
+ * Assesses cognitive capacity based on typing behaviour.
4
+ *
5
+ * Bug fix vs. original:
6
+ * - errorCount / lastErrorTime tracked errors since an arbitrary past reset; old
7
+ * errors counted the same as current ones → replaced with an errorTimes[] sliding
8
+ * window so only errors within ERROR_CHECK_WINDOW (5 s) are counted.
9
+ * - Inference now uses recentErrorCount (integer) instead of a boolean, letting the
10
+ * code distinguish a single correction from repeated fumbling.
11
+ */
12
+ import { SignalDetector, SignalReading } from './types';
13
+ export declare class InputDetector implements SignalDetector {
14
+ readonly name = "InputDetector";
15
+ readonly weight = 0.6;
16
+ private keyPressTimes;
17
+ private errorTimes;
18
+ constructor();
19
+ private handleKeyDown;
20
+ detect(): SignalReading[];
21
+ destroy(): void;
22
+ }
23
+ //# sourceMappingURL=input-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-detector.d.ts","sourceRoot":"","sources":["../../../../lib/capacity/signals/detectors/input-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKxD,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,MAAM,OAAO;IAEtB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAgB;;IAQlC,OAAO,CAAC,aAAa,CAWnB;IAEF,MAAM,IAAI,aAAa,EAAE;IA4CzB,OAAO;CAKR"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @file Implements a signal detector for user interaction patterns.
3
+ * Assesses cognitive capacity from click rate and precision using a rolling window.
4
+ *
5
+ * Bug fixes vs. original:
6
+ * - clickCount / totalClickDistance accumulated forever → replaced with a 60-second
7
+ * rolling window so recent behaviour dominates over historical averages.
8
+ * - IDLE_THRESHOLD_MS was 3 s (too aggressive for focused reading) → raised to 15 s.
9
+ */
10
+ import { SignalDetector, SignalReading } from './types';
11
+ export declare class InteractionDetector implements SignalDetector {
12
+ readonly name = "InteractionDetector";
13
+ readonly weight = 0.7;
14
+ private lastMouseMoveTime;
15
+ private lastClickTime;
16
+ private lastClickPosition;
17
+ private clickHistory;
18
+ private idleTimer;
19
+ private isIdle;
20
+ constructor();
21
+ private resetIdleTimer;
22
+ private handleMouseMove;
23
+ private handleClick;
24
+ detect(): SignalReading[];
25
+ destroy(): void;
26
+ }
27
+ //# sourceMappingURL=interaction-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction-detector.d.ts","sourceRoot":"","sources":["../../../../lib/capacity/signals/detectors/interaction-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAWxD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,MAAM,OAAO;IAEtB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,MAAM,CAAS;;IAUvB,OAAO,CAAC,cAAc,CAIpB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,WAAW,CAajB;IAEF,MAAM,IAAI,aAAa,EAAE;IA4CzB,OAAO;CAOR"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @file Implements a signal detector for scroll velocity.
3
+ * This detector assesses cognitive capacity based on the user's scrolling behavior.
4
+ */
5
+ import { SignalDetector, SignalReading } from './types';
6
+ /**
7
+ * The ScrollDetector class implements the SignalDetector interface
8
+ * to provide signal readings based on scroll velocity.
9
+ */
10
+ export declare class ScrollDetector implements SignalDetector {
11
+ readonly name = "ScrollDetector";
12
+ readonly weight = 0.5;
13
+ private lastScrollY;
14
+ private lastScrollTime;
15
+ private scrollVelocity;
16
+ private timeoutId;
17
+ constructor();
18
+ /**
19
+ * Handles the scroll event, debouncing it and calculating scroll velocity.
20
+ * @private
21
+ */
22
+ private handleScroll;
23
+ /**
24
+ * Detects and returns a SignalReading based on the current scroll velocity.
25
+ * It provides insights into the cognitive dimension.
26
+ *
27
+ * @returns {SignalReading} A reading indicating the inferred capacity.
28
+ */
29
+ detect(): SignalReading[];
30
+ /**
31
+ * Cleans up the scroll event listener when the detector is no longer needed.
32
+ */
33
+ destroy(): void;
34
+ }
35
+ //# sourceMappingURL=scroll-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-detector.d.ts","sourceRoot":"","sources":["../../../../lib/capacity/signals/detectors/scroll-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxD;;;GAGG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,MAAM,OAAO;IAEtB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAA+B;;IAQhD;;;OAGG;IACH,OAAO,CAAC,YAAY,CAsBlB;IAEF;;;;;OAKG;IACH,MAAM,IAAI,aAAa,EAAE;IA6BzB;;OAEG;IACH,OAAO;CAQR"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @file Implements a signal detector for session duration.
3
+ * This detector assesses temporal capacity based on how long the user has been active in the current session.
4
+ */
5
+ import { SignalDetector, SignalReading } from './types';
6
+ /**
7
+ * The SessionDetector class implements the SignalDetector interface
8
+ * to provide signal readings based on the current session duration.
9
+ */
10
+ export declare class SessionDetector implements SignalDetector {
11
+ readonly name = "SessionDetector";
12
+ readonly weight = 0.7;
13
+ private sessionStartTime;
14
+ constructor();
15
+ /**
16
+ * Detects and returns a SignalReading based on the current session duration.
17
+ * It provides insights into the temporal dimension.
18
+ *
19
+ * @returns {SignalReading} A reading indicating the inferred capacity.
20
+ */
21
+ detect(): SignalReading[];
22
+ }
23
+ //# sourceMappingURL=session-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-detector.d.ts","sourceRoot":"","sources":["../../../../lib/capacity/signals/detectors/session-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,MAAM,OAAO;IACtB,OAAO,CAAC,gBAAgB,CAAS;;IAMjC;;;;;OAKG;IACH,MAAM,IAAI,aAAa,EAAE;CA8B1B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @file Implements a signal detector for time-based capacity.
3
+ * Emits two readings per detect() call: cognitive (hour-of-day diurnal pattern)
4
+ * and temporal (weekday vs. weekend).
5
+ */
6
+ import { SignalDetector, SignalReading } from './types';
7
+ /**
8
+ * The TimeDetector class implements the SignalDetector interface
9
+ * to provide signal readings based on the current time and day.
10
+ */
11
+ export declare class TimeDetector implements SignalDetector {
12
+ readonly name = "TimeDetector";
13
+ readonly weight = 0.6;
14
+ /**
15
+ * Detects and returns SignalReadings based on the current time and day.
16
+ * Returns two readings: cognitive (hour-of-day) and temporal (weekday/weekend).
17
+ */
18
+ detect(): SignalReading[];
19
+ }
20
+ //# sourceMappingURL=time-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-detector.d.ts","sourceRoot":"","sources":["../../../../lib/capacity/signals/detectors/time-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD;;;GAGG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,MAAM,OAAO;IAEtB;;;OAGG;IACH,MAAM,IAAI,aAAa,EAAE;CAyC1B"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @file Defines the interfaces for signal detectors and their readings.
3
+ */
4
+ /**
5
+ * Represents a signal detector that can detect a specific aspect of user capacity.
6
+ * detect() returns an array to allow a single detector to emit readings for multiple
7
+ * dimensions (e.g. TimeDetector emits both cognitive and temporal).
8
+ */
9
+ export interface SignalDetector {
10
+ name: string;
11
+ weight: number;
12
+ detect(): SignalReading[] | Promise<SignalReading[]>;
13
+ destroy?(): void;
14
+ }
15
+ /**
16
+ * Represents a single reading from a signal detector.
17
+ */
18
+ export interface SignalReading {
19
+ dimension: 'cognitive' | 'temporal' | 'emotional' | 'valence';
20
+ value: number;
21
+ confidence: number;
22
+ timestamp: number;
23
+ detectorName: string;
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../lib/capacity/signals/detectors/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,IAAI,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Signal Bus - Type-safe pub/sub for inter-component communication
3
+ *
4
+ * Components emit signals, never directly call each other
5
+ */
6
+ import type { SignalHandler, Unsubscribe, SignalPriority } from "../types";
7
+ declare class SignalBusClass {
8
+ private handlers;
9
+ private signalQueue;
10
+ private processing;
11
+ /**
12
+ * Emit a signal to all subscribed handlers
13
+ */
14
+ emit<T = unknown>(type: string, payload: T, priority?: SignalPriority, source?: string): void;
15
+ /**
16
+ * Subscribe to a specific signal type
17
+ */
18
+ subscribe<T = unknown>(type: string, handler: SignalHandler<T>): Unsubscribe;
19
+ /**
20
+ * Subscribe to multiple signal types with same handler
21
+ */
22
+ subscribeMultiple<T = unknown>(types: string[], handler: SignalHandler<T>): Unsubscribe;
23
+ /**
24
+ * Process signal queue
25
+ */
26
+ private processQueue;
27
+ /**
28
+ * Get count of handlers for a signal type
29
+ */
30
+ getHandlerCount(type: string): number;
31
+ /**
32
+ * Clear all handlers (useful for testing)
33
+ */
34
+ clear(): void;
35
+ }
36
+ export declare const SignalBus: SignalBusClass;
37
+ export declare const SIGNAL_TYPES: {
38
+ readonly FIELD_ENERGY_CHANGED: "field:energy:changed";
39
+ readonly FIELD_ATTENTION_CHANGED: "field:attention:changed";
40
+ readonly FIELD_VALENCE_CHANGED: "field:valence:changed";
41
+ readonly USER_INTERACTION_START: "user:interaction:start";
42
+ readonly USER_INTERACTION_END: "user:interaction:end";
43
+ readonly USER_FOCUS_CHANGED: "user:focus:changed";
44
+ readonly COMPONENT_MOUNTED: "component:mounted";
45
+ readonly COMPONENT_UNMOUNTED: "component:unmounted";
46
+ readonly A11Y_ANNOUNCE: "a11y:announce";
47
+ readonly A11Y_FOCUS_TRAP: "a11y:focus:trap";
48
+ };
49
+ export {};
50
+ //# sourceMappingURL=signal-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-bus.d.ts","sourceRoot":"","sources":["../../../lib/capacity/signals/signal-bus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAU,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAMlF,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAA6C;IAC7D,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,UAAU,CAAQ;IAE1B;;OAEG;IACH,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,GAAE,cAAyB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBvG;;OAEG;IACH,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW;IAiB5E;;OAEG;IACH,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW;IAQvF;;OAEG;YACW,YAAY;IAyB1B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAGD,eAAO,MAAM,SAAS,gBAAuB,CAAA;AAM7C,eAAO,MAAM,YAAY;;;;;;;;;;;CAkBf,CAAA"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Core Types for Capacity-Adaptive UI Framework
3
+ *
4
+ * Type definitions that govern the capacity-adaptive system
5
+ */
6
+ /**
7
+ * CapacityField - The 4-input model that drives the entire framework
8
+ *
9
+ * This is the FIRST-CLASS input object. Everything else derives from this.
10
+ * - cognitive, temporal, emotional: 0-1 (capacity dimensions)
11
+ * - valence: -1 to +1 (emotional direction)
12
+ *
13
+ * Field → Mode → Tokens → Components is the pipeline.
14
+ */
15
+ export interface CapacityField {
16
+ /** Cognitive bandwidth available (0 = overwhelmed, 1 = sharp) */
17
+ cognitive: number;
18
+ /** Time/effort budget (0 = rushed, 1 = abundant) */
19
+ temporal: number;
20
+ /** Emotional load tolerance (0 = fragile, 1 = resilient) */
21
+ emotional: number;
22
+ /** Emotional direction (-1 = negative, 0 = neutral, +1 = positive) */
23
+ valence: number;
24
+ /** Energy/activation level (0 = calm, 1 = activated) — Phase 3 */
25
+ arousal?: number;
26
+ }
27
+ /**
28
+ * Density modes - How much information to show
29
+ */
30
+ export type DensityMode = "low" | "medium" | "high";
31
+ /**
32
+ * Guidance modes - How much explanation/help to provide
33
+ */
34
+ export type GuidanceMode = "low" | "medium" | "high";
35
+ /**
36
+ * Motion modes - Animation intensity
37
+ *
38
+ * off: No decorative motion (protective, exhausted)
39
+ * soothing: Slow rhythmic motion only (breathe, float, gentle-fade)
40
+ * subtle: Grounded, low-amplitude (sacred-fade, hover-lift, bloom)
41
+ * expressive: Full animation suite (vortex, spiral, morph, helix, vibrate)
42
+ */
43
+ export type MotionMode = "off" | "soothing" | "subtle" | "expressive";
44
+ /**
45
+ * Contrast modes - Visual contrast level
46
+ */
47
+ export type ContrastMode = "standard" | "boosted";
48
+ /**
49
+ * Choice load modes - Number of options/decisions
50
+ */
51
+ export type ChoiceLoadMode = "minimal" | "normal";
52
+ /**
53
+ * Arousal (pace) modes - Animation pacing from arousal level
54
+ *
55
+ * calm: Low arousal (< 0.35) — slow, deliberate pacing
56
+ * neutral: Normal arousal (0.35–0.65) — standard pacing
57
+ * activated: High arousal (> 0.65) — faster, energetic pacing
58
+ */
59
+ export type ArousalMode = "calm" | "neutral" | "activated";
60
+ /**
61
+ * Focus modes - Attention guidance for important elements
62
+ *
63
+ * default: No special treatment for important elements
64
+ * gentle: Soft highlight on important elements (muted glow, border accent)
65
+ * Activated at medium cognitive capacity (calm users)
66
+ * guided: Strong attention-drawing animation + contrast boost
67
+ * Activated at low cognitive capacity (distracted users)
68
+ */
69
+ export type FocusMode = "default" | "gentle" | "guided";
70
+ /**
71
+ * InterfaceMode - The coherent UI state derived from CapacityField
72
+ *
73
+ * This prevents "sliders controlling random stuff" and instead gives
74
+ * "sliders selecting a coherent state"
75
+ */
76
+ export interface InterfaceMode {
77
+ density: DensityMode;
78
+ guidance: GuidanceMode;
79
+ motion: MotionMode;
80
+ contrast: ContrastMode;
81
+ choiceLoad: ChoiceLoadMode;
82
+ focus: FocusMode;
83
+ /** Animation pacing derived from arousal (Phase 3) */
84
+ pace: ArousalMode;
85
+ }
86
+ /**
87
+ * Human-readable mode labels for UI display
88
+ */
89
+ export type InterfaceModeLabel = "Calm" | "Focused" | "Exploratory" | "Minimal";
90
+ /**
91
+ * Three-dimensional model of user capacity
92
+ * All values normalized to 0-1 range
93
+ */
94
+ export interface UserCapacity {
95
+ /** Cognitive bandwidth available (attention, working memory) */
96
+ cognitive: number;
97
+ /** Time pressure inverse (1 = abundant time, 0 = urgent) */
98
+ temporal: number;
99
+ /** Emotional regulation capacity (1 = regulated, 0 = dysregulated) */
100
+ emotional: number;
101
+ }
102
+ /**
103
+ * Two-dimensional affect model (Russell's Circumplex)
104
+ * Note: Arousal is Phase 2+. Phase 1 uses only valence.
105
+ */
106
+ export interface EmotionalState {
107
+ /** Positive/negative affect (-1 to +1) */
108
+ valence: number;
109
+ /** Energy/activation level (0 to 1) - Phase 2+ */
110
+ arousal: number;
111
+ }
112
+ /**
113
+ * Field value wrapper that tracks change over time
114
+ * Enables anticipatory component responses
115
+ */
116
+ export interface FieldValue<T> {
117
+ /** Current value */
118
+ value: T;
119
+ /** Timestamp of last change (ms) */
120
+ lastChange: number;
121
+ /** Trend direction: 'rising' | 'falling' | 'stable' */
122
+ trend: "rising" | "falling" | "stable";
123
+ /** Rate of change per second (for numeric values) */
124
+ velocity?: number;
125
+ }
126
+ /**
127
+ * Priority levels for signal routing
128
+ */
129
+ export type SignalPriority = "critical" | "high" | "normal" | "low";
130
+ /**
131
+ * Type-safe signal for inter-component communication
132
+ */
133
+ export interface Signal<T = unknown> {
134
+ /** Signal type identifier */
135
+ type: string;
136
+ /** Signal payload */
137
+ payload: T;
138
+ /** Timestamp of emission */
139
+ timestamp: number;
140
+ /** Priority level */
141
+ priority: SignalPriority;
142
+ /** Optional source component identifier */
143
+ source?: string;
144
+ }
145
+ /**
146
+ * Signal subscription handler
147
+ */
148
+ export type SignalHandler<T = unknown> = (signal: Signal<T>) => void;
149
+ /**
150
+ * Cleanup function returned by subscriptions
151
+ */
152
+ export type Unsubscribe = () => void;
153
+ /**
154
+ * Multi-modal response specification for components
155
+ * Components declare how they respond across sensory dimensions
156
+ */
157
+ export interface ComponentResponse {
158
+ /** Visual adaptations (color, opacity, scale) */
159
+ visual: {
160
+ opacityRange: [number, number];
161
+ scaleRange: [number, number];
162
+ colorShift?: {
163
+ hue?: number;
164
+ chroma?: number;
165
+ lightness?: number;
166
+ };
167
+ };
168
+ /** Spatial adaptations (spacing, density) */
169
+ spatial: {
170
+ densityRange: [number, number];
171
+ spacingMultiplier: [number, number];
172
+ };
173
+ /** Sonic adaptations (frequency, amplitude) */
174
+ sonic: {
175
+ enabled: boolean;
176
+ frequencyHz?: number;
177
+ amplitude?: number;
178
+ };
179
+ /** Semantic adaptations (verbosity, urgency framing) */
180
+ semantic: {
181
+ verbosityLevel: "minimal" | "concise" | "detailed";
182
+ urgencyFraming: "calm" | "neutral" | "urgent";
183
+ };
184
+ }
185
+ /**
186
+ * Energy field - composite of all capacity dimensions
187
+ * Primary driver of animation intensity and complexity
188
+ */
189
+ export type EnergyFieldValue = FieldValue<number>;
190
+ /**
191
+ * Attention field - temporal pressure + focus
192
+ * Influences information density and urgency cues
193
+ */
194
+ export type AttentionFieldValue = FieldValue<number>;
195
+ /**
196
+ * Emotional valence field - affect direction
197
+ * Influences color warmth and message framing
198
+ */
199
+ export type EmotionalValenceFieldValue = FieldValue<number>;
200
+ /**
201
+ * Configuration for field behavior
202
+ */
203
+ export interface FieldConfig {
204
+ /** Smoothing factor for field transitions (0-1) */
205
+ smoothing: number;
206
+ /** Velocity threshold for trend detection */
207
+ velocityThreshold: number;
208
+ /** Debounce time for rapid changes (ms) */
209
+ debounceMs: number;
210
+ }
211
+ /**
212
+ * The ambient context every component can read
213
+ * Components subscribe to specific fields, never the whole context
214
+ */
215
+ export interface AmbientContext {
216
+ energy: EnergyFieldValue;
217
+ attention: AttentionFieldValue;
218
+ emotionalValence: EmotionalValenceFieldValue;
219
+ /** Raw user capacity (before field derivation) */
220
+ userCapacity: UserCapacity;
221
+ /** Raw emotional state (before field derivation) */
222
+ emotionalState: EmotionalState;
223
+ }
224
+ /**
225
+ * Typography roles in the UI hierarchy
226
+ * Maps to semantic HTML elements
227
+ */
228
+ export type TypographyRole = "h1" | "h2" | "h3" | "h4" | "body" | "caption" | "label";
229
+ /**
230
+ * Energy levels derived from EnergyField
231
+ * Influences sizing bias for cognitive adaptation
232
+ */
233
+ export type EnergyLevel = "low" | "medium" | "high";
234
+ /**
235
+ * Attention levels derived from AttentionField
236
+ * Influences weight and spacing for focus
237
+ */
238
+ export type AttentionLevel = "low" | "medium" | "high";
239
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/capacity/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Capacity-Adaptive UI Utilities
3
+ *
4
+ * Foundation utilities for proportional design transformations
5
+ */
6
+ export * from "./typography";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/capacity/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAA"}