@moldable-ai/ui 0.2.20 → 0.2.21
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/catalog/catalog-coverage.d.ts +15 -0
- package/dist/catalog/catalog-coverage.d.ts.map +1 -0
- package/dist/catalog/catalog-coverage.js +44 -0
- package/dist/catalog/catalog-manifest.d.ts.map +1 -1
- package/dist/catalog/catalog-manifest.js +35 -23
- package/dist/catalog/catalog-types.d.ts +10 -0
- package/dist/catalog/catalog-types.d.ts.map +1 -1
- package/dist/catalog/catalog-types.js +6 -0
- package/dist/catalog/component-catalog.d.ts.map +1 -1
- package/dist/catalog/component-catalog.js +16 -6
- package/dist/catalog/core-catalog-exclusions.d.ts +8 -0
- package/dist/catalog/core-catalog-exclusions.d.ts.map +1 -0
- package/dist/catalog/core-catalog-exclusions.js +151 -0
- package/dist/catalog/core-catalog.d.ts +0 -4
- package/dist/catalog/core-catalog.d.ts.map +1 -1
- package/dist/catalog/core-catalog.js +12 -98
- package/dist/catalog/core-collection-stories.d.ts +3 -0
- package/dist/catalog/core-collection-stories.d.ts.map +1 -0
- package/dist/catalog/core-collection-stories.js +42 -0
- package/dist/catalog/core-control-stories.d.ts +3 -0
- package/dist/catalog/core-control-stories.d.ts.map +1 -0
- package/dist/catalog/core-control-stories.js +94 -0
- package/dist/catalog/core-feedback-stories.d.ts +3 -0
- package/dist/catalog/core-feedback-stories.d.ts.map +1 -0
- package/dist/catalog/core-feedback-stories.js +50 -0
- package/dist/catalog/core-foundation-stories.d.ts +3 -0
- package/dist/catalog/core-foundation-stories.d.ts.map +1 -0
- package/dist/catalog/core-foundation-stories.js +53 -0
- package/dist/catalog/core-navigation-stories.d.ts +3 -0
- package/dist/catalog/core-navigation-stories.d.ts.map +1 -0
- package/dist/catalog/core-navigation-stories.js +25 -0
- package/dist/catalog/core-overlay-stories.d.ts +3 -0
- package/dist/catalog/core-overlay-stories.d.ts.map +1 -0
- package/dist/catalog/core-overlay-stories.js +20 -0
- package/dist/catalog/index.d.ts +3 -1
- package/dist/catalog/index.d.ts.map +1 -1
- package/dist/catalog/index.js +3 -1
- package/dist/components/chat/chat-panel.d.ts +0 -1
- package/dist/components/chat/chat-panel.d.ts.map +1 -1
- package/dist/components/chat/chat-panel.js +7 -11
- package/dist/components/ui/alert-dialog.d.ts +7 -3
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +9 -5
- package/dist/components/ui/alert.d.ts +19 -3
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/alert.js +25 -8
- package/dist/components/ui/app-frame.d.ts +9 -3
- package/dist/components/ui/app-frame.d.ts.map +1 -1
- package/dist/components/ui/app-frame.js +45 -6
- package/dist/components/ui/collapsible.d.ts +9 -1
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/collapsible.js +13 -2
- package/dist/components/ui/collection-navigation.d.ts +8 -0
- package/dist/components/ui/collection-navigation.d.ts.map +1 -0
- package/dist/components/ui/collection-navigation.js +19 -0
- package/dist/components/ui/command.d.ts +5 -1
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js +13 -1
- package/dist/components/ui/confirm-dialog.d.ts +19 -0
- package/dist/components/ui/confirm-dialog.d.ts.map +1 -0
- package/dist/components/ui/confirm-dialog.js +45 -0
- package/dist/components/ui/date-picker.d.ts +24 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -0
- package/dist/components/ui/date-picker.js +92 -0
- package/dist/components/ui/dialog.d.ts +4 -2
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dialog.js +8 -5
- package/dist/components/ui/empty.d.ts +7 -2
- package/dist/components/ui/empty.d.ts.map +1 -1
- package/dist/components/ui/empty.js +20 -7
- package/dist/components/ui/grid.d.ts.map +1 -1
- package/dist/components/ui/grid.js +70 -46
- package/dist/components/ui/index.d.ts +4 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +4 -0
- package/dist/components/ui/list.d.ts +5 -1
- package/dist/components/ui/list.d.ts.map +1 -1
- package/dist/components/ui/list.js +27 -16
- package/dist/components/ui/material.d.ts +34 -0
- package/dist/components/ui/material.d.ts.map +1 -0
- package/dist/components/ui/material.js +34 -0
- package/dist/components/ui/message-scroller-controller.d.ts +162 -0
- package/dist/components/ui/message-scroller-controller.d.ts.map +1 -0
- package/dist/components/ui/message-scroller-controller.js +888 -0
- package/dist/components/ui/message-scroller-policy.d.ts +74 -0
- package/dist/components/ui/message-scroller-policy.d.ts.map +1 -0
- package/dist/components/ui/message-scroller-policy.js +129 -0
- package/dist/components/ui/message-scroller-primitive.d.ts +55 -0
- package/dist/components/ui/message-scroller-primitive.d.ts.map +1 -0
- package/dist/components/ui/message-scroller-primitive.js +226 -0
- package/dist/components/ui/message-scroller.d.ts +2 -2
- package/dist/components/ui/message-scroller.d.ts.map +1 -1
- package/dist/components/ui/message-scroller.js +3 -15
- package/dist/components/ui/navigation-button-group.d.ts +16 -0
- package/dist/components/ui/navigation-button-group.d.ts.map +1 -0
- package/dist/components/ui/navigation-button-group.js +9 -0
- package/dist/components/ui/popover.d.ts +9 -2
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/popover.js +13 -3
- package/dist/components/ui/scroll-area.d.ts +8 -2
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.js +6 -3
- package/dist/components/ui/search-field.d.ts.map +1 -1
- package/dist/components/ui/segmented-control.d.ts.map +1 -1
- package/dist/components/ui/segmented-control.js +6 -5
- package/dist/components/ui/sheet.d.ts +4 -2
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sheet.js +12 -9
- package/dist/components/ui/sonner.d.ts +1 -1
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/components/ui/table.js +7 -2
- package/dist/components/ui/toggle.d.ts +12 -4
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +13 -2
- package/dist/components/ui/toolbar.d.ts +9 -2
- package/dist/components/ui/toolbar.d.ts.map +1 -1
- package/dist/components/ui/toolbar.js +23 -4
- package/dist/components/ui/tooltip.d.ts +8 -3
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/tooltip.js +11 -6
- package/dist/lib/frame-lifecycle.d.ts +1 -0
- package/dist/lib/frame-lifecycle.d.ts.map +1 -1
- package/dist/lib/frame-lifecycle.js +3 -2
- package/dist/lib/theme.d.ts.map +1 -1
- package/dist/lib/theme.js +2 -1
- package/docs/README.md +3 -1
- package/docs/adaptive-materials.md +79 -0
- package/docs/app-anatomy.md +3 -1
- package/docs/component-catalog.md +26 -3
- package/docs/design-tokens.md +17 -4
- package/docs/foundations.md +5 -3
- package/docs/standalone-app-windows.md +8 -0
- package/package.json +1 -2
- package/src/components/ui/alert-dialog.md +31 -0
- package/src/components/ui/alert.md +28 -6
- package/src/components/ui/app-frame.md +5 -0
- package/src/components/ui/collapsible.md +52 -0
- package/src/components/ui/combobox.md +0 -1
- package/src/components/ui/command.md +54 -0
- package/src/components/ui/date-field.md +1 -1
- package/src/components/ui/date-picker.md +55 -0
- package/src/components/ui/dialog.md +40 -0
- package/src/components/ui/empty.md +8 -3
- package/src/components/ui/grid.md +8 -4
- package/src/components/ui/icon-button.md +2 -2
- package/src/components/ui/list.md +35 -2
- package/src/components/ui/material.md +51 -0
- package/src/components/ui/navigation-button-group.md +46 -0
- package/src/components/ui/popover.md +31 -0
- package/src/components/ui/scroll-area.md +11 -7
- package/src/components/ui/search-field.md +1 -1
- package/src/components/ui/segmented-control.md +2 -5
- package/src/components/ui/sheet.md +30 -0
- package/src/components/ui/table.md +4 -2
- package/src/components/ui/toggle-button.md +48 -0
- package/src/components/ui/toolbar.md +5 -0
- package/src/components/ui/tooltip.md +31 -0
- package/src/styles/index.css +213 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { MessageScrollerPolicy } from './message-scroller-policy';
|
|
2
|
+
export type MessageScrollerDefaultScrollPosition = 'start' | 'end' | 'last-anchor';
|
|
3
|
+
export type MessageScrollerScrollAlign = 'start' | 'center' | 'end' | 'nearest';
|
|
4
|
+
export type MessageScrollerScrollOptions = {
|
|
5
|
+
align?: MessageScrollerScrollAlign;
|
|
6
|
+
behavior?: ScrollBehavior;
|
|
7
|
+
scrollMargin?: number;
|
|
8
|
+
};
|
|
9
|
+
export type MessageScrollerScrollable = {
|
|
10
|
+
start: boolean;
|
|
11
|
+
end: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type MessageScrollerVisibilityState = {
|
|
14
|
+
currentAnchorId: string | null;
|
|
15
|
+
visibleMessageIds: string[];
|
|
16
|
+
};
|
|
17
|
+
export interface MessageScrollerControllerOptions {
|
|
18
|
+
autoScroll: boolean;
|
|
19
|
+
defaultScrollPosition: MessageScrollerDefaultScrollPosition;
|
|
20
|
+
scrollEdgeThreshold: number;
|
|
21
|
+
scrollPreviousItemPeek: number;
|
|
22
|
+
scrollMargin: number;
|
|
23
|
+
}
|
|
24
|
+
export interface ExternalStore<T> {
|
|
25
|
+
getSnapshot: () => T;
|
|
26
|
+
hasListeners: () => boolean;
|
|
27
|
+
setSnapshot: (next: T) => void;
|
|
28
|
+
subscribe: (listener: () => void, onFirst?: () => void, onLast?: () => void) => () => void;
|
|
29
|
+
}
|
|
30
|
+
export declare function createExternalStore<T>(initial: T, isEqual: (a: T, b: T) => boolean): ExternalStore<T>;
|
|
31
|
+
export type ReadingLeaf = {
|
|
32
|
+
element: HTMLElement;
|
|
33
|
+
top: number;
|
|
34
|
+
bottom: number;
|
|
35
|
+
};
|
|
36
|
+
export declare function isMessageScrollerAtEnd(viewport: HTMLElement, threshold: number): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Snapshot of the stable leaves the reader can currently see, preferring
|
|
39
|
+
* fine-grained `[data-message-scroll-anchor]` leaves (their tops do not move
|
|
40
|
+
* when a disclosure collapses inside the same message) over whole items.
|
|
41
|
+
*/
|
|
42
|
+
export declare function captureReadingLeaves(viewport: HTMLElement, content: HTMLElement, items: HTMLElement[]): ReadingLeaf[];
|
|
43
|
+
/**
|
|
44
|
+
* Re-pins the first still-visible captured leaf after content above it
|
|
45
|
+
* changed size. Native scroll anchoring may already have compensated; the
|
|
46
|
+
* measured delta is zero then and this is deliberately a no-op.
|
|
47
|
+
*/
|
|
48
|
+
export declare function restoreReadingLeaves(viewport: HTMLElement, leaves: readonly ReadingLeaf[]): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The single DOM-side owner of transcript scrolling. Every behavior that can
|
|
51
|
+
* move the viewport — follow-the-end, turn anchoring, prepend preservation,
|
|
52
|
+
* reading-position stability while rows above collapse — routes through this
|
|
53
|
+
* controller and its {@link MessageScrollerPolicy}, so nothing here can fight
|
|
54
|
+
* the reader (or another controller) for the scroll position.
|
|
55
|
+
*/
|
|
56
|
+
export declare class MessageScrollerController {
|
|
57
|
+
readonly scrollableStore: ExternalStore<MessageScrollerScrollable>;
|
|
58
|
+
readonly visibilityStore: ExternalStore<MessageScrollerVisibilityState>;
|
|
59
|
+
policy: MessageScrollerPolicy;
|
|
60
|
+
options: MessageScrollerControllerOptions;
|
|
61
|
+
preserveScrollOnPrepend: boolean;
|
|
62
|
+
private root;
|
|
63
|
+
private viewport;
|
|
64
|
+
private content;
|
|
65
|
+
private spacer;
|
|
66
|
+
private readonly messageElements;
|
|
67
|
+
private readonly handledTurnAnchors;
|
|
68
|
+
private readonly visibleMessageIds;
|
|
69
|
+
private readonly warmedItems;
|
|
70
|
+
private lastScrollTop;
|
|
71
|
+
private previousFirstItem;
|
|
72
|
+
private previousItemCount;
|
|
73
|
+
private anchoredElement;
|
|
74
|
+
private trackedFirstVisible;
|
|
75
|
+
private readingLeaves;
|
|
76
|
+
private pendingScrollToMessage;
|
|
77
|
+
private defaultPositionApplied;
|
|
78
|
+
private spacerHeight;
|
|
79
|
+
private spacerGap;
|
|
80
|
+
private programmaticDeadline;
|
|
81
|
+
private stateFrame;
|
|
82
|
+
private visibilityFrame;
|
|
83
|
+
private warmupHandle;
|
|
84
|
+
private warmupUsesIdleCallback;
|
|
85
|
+
private intersectionObserver;
|
|
86
|
+
constructor(options: MessageScrollerControllerOptions);
|
|
87
|
+
get viewportElement(): HTMLElement | null;
|
|
88
|
+
setRoot(element: HTMLElement | null): void;
|
|
89
|
+
setViewport(element: HTMLElement | null): void;
|
|
90
|
+
setContent(element: HTMLElement | null): void;
|
|
91
|
+
setSpacer(element: HTMLElement | null): void;
|
|
92
|
+
registerMessage(messageId: string, element: HTMLElement | null, previous: HTMLElement | null): void;
|
|
93
|
+
scrollToEnd: (options?: MessageScrollerScrollOptions) => boolean;
|
|
94
|
+
scrollToStart: (options?: MessageScrollerScrollOptions) => boolean;
|
|
95
|
+
scrollToMessage: (messageId: string, options?: MessageScrollerScrollOptions) => boolean;
|
|
96
|
+
scrollToElement(element: HTMLElement, options?: MessageScrollerScrollOptions, { keepPreviousPeek }?: {
|
|
97
|
+
keepPreviousPeek?: boolean;
|
|
98
|
+
}): boolean;
|
|
99
|
+
handleScroll(): void;
|
|
100
|
+
handleWheel(deltaY: number): void;
|
|
101
|
+
handleTouchMove(): void;
|
|
102
|
+
handleScrollKey(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Content box resized (streaming growth, images decoding, disclosures
|
|
105
|
+
* collapsing, `content-visibility` reveals). Which way the viewport moves
|
|
106
|
+
* — if at all — is entirely the policy's call.
|
|
107
|
+
*/
|
|
108
|
+
handleResize(): void;
|
|
109
|
+
/** Children of the content element changed. Runs before the next paint. */
|
|
110
|
+
handleContentMutation(): void;
|
|
111
|
+
observeVisibility(): void;
|
|
112
|
+
unobserveVisibility(): void;
|
|
113
|
+
resetDefaultPosition(): void;
|
|
114
|
+
updateOptions(options: MessageScrollerControllerOptions): void;
|
|
115
|
+
destroy(): void;
|
|
116
|
+
private applyDefaultPosition;
|
|
117
|
+
private anchorTurn;
|
|
118
|
+
private markTurnAnchorsHandled;
|
|
119
|
+
/**
|
|
120
|
+
* Older rows were inserted above the reader. Compensate the scroll offset
|
|
121
|
+
* by the tracked first-visible row's displacement in the same mutation
|
|
122
|
+
* pass, before the shifted layout can paint.
|
|
123
|
+
*/
|
|
124
|
+
private preservePrependPosition;
|
|
125
|
+
private performScroll;
|
|
126
|
+
/**
|
|
127
|
+
* Snapshot of stable leaves the reader can see. When a disclosure above
|
|
128
|
+
* them collapses (or a hidden row re-measures), the first still-visible
|
|
129
|
+
* leaf is re-pinned so the text under the reader's eyes never shifts.
|
|
130
|
+
*/
|
|
131
|
+
private snapshotReadingLeaves;
|
|
132
|
+
private restoreReadingPosition;
|
|
133
|
+
private trackFirstVisibleItem;
|
|
134
|
+
private scheduleStateCommit;
|
|
135
|
+
/**
|
|
136
|
+
* Once per frame: publish the scrollable edges and refresh the geometry
|
|
137
|
+
* snapshots (tracked first-visible row, reading leaves) that prepend
|
|
138
|
+
* preservation and reading-position restores compare against. Capturing
|
|
139
|
+
* here — instead of on every scroll event — bounds rect reads to one pass
|
|
140
|
+
* per frame.
|
|
141
|
+
*/
|
|
142
|
+
private commitFrameState;
|
|
143
|
+
private applyStateAttributes;
|
|
144
|
+
private scheduleVisibilitySync;
|
|
145
|
+
private computeVisibility;
|
|
146
|
+
/**
|
|
147
|
+
* Rows outside the viewport skip rendering via `content-visibility: auto`
|
|
148
|
+
* and a placeholder intrinsic size. Their first reveal during an upward
|
|
149
|
+
* scroll pays first-time layout of complex markdown — felt as hitches on
|
|
150
|
+
* the first pass through history. Rendering each row once at idle records
|
|
151
|
+
* its real size (the `auto` keyword keeps last-remembered sizes), so the
|
|
152
|
+
* first real scroll finds everything measured and warm.
|
|
153
|
+
*/
|
|
154
|
+
private scheduleWarmup;
|
|
155
|
+
private warmupBatch;
|
|
156
|
+
private cancelWarmup;
|
|
157
|
+
private flushPendingScrollToMessage;
|
|
158
|
+
private setSpacerHeight;
|
|
159
|
+
private itemChildren;
|
|
160
|
+
private isAtEnd;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=message-scroller-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-scroller-controller.d.ts","sourceRoot":"","sources":["../../../src/components/ui/message-scroller-controller.ts"],"names":[],"mappings":"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"}
|