@cellarnode/ui 0.178.0 → 0.179.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.
- package/dist/brand/brand-field-provenance.js +3 -3
- package/dist/brand/brand-field-provenance.js.map +1 -1
- package/dist/brand/brand-generation-context-form.js +2 -2
- package/dist/brand/brand-generation-recovery.js +2 -2
- package/dist/brand/brand-generation-recovery.js.map +1 -1
- package/dist/brand/brand-image-asset-slot-card.js +1 -1
- package/dist/brand/brand-image-chooser.js +1 -1
- package/dist/brand/brand-image-source-picker.js +1 -1
- package/dist/brand/brand-profile-form-lists.js +2 -2
- package/dist/brand/brand-profile-form-people.js +2 -2
- package/dist/brand/brand-profile-review-media.js +1 -1
- package/dist/brand/brand-profile-workspace-parts.js +1 -1
- package/dist/brand/brand-profile-workspace.js +1 -1
- package/dist/brand/brand-provenance-summary.js +1 -1
- package/dist/brand/brand-summary-card.js +1 -1
- package/dist/brand/brand-summary-card.js.map +1 -1
- package/dist/chat/chat-composer.d.ts +3 -1
- package/dist/chat/chat-composer.d.ts.map +1 -1
- package/dist/chat/chat-composer.js +3 -3
- package/dist/chat/chat-composer.js.map +1 -1
- package/dist/chat/chat-surface.d.ts +23 -2
- package/dist/chat/chat-surface.d.ts.map +1 -1
- package/dist/chat/chat-surface.js +77 -41
- package/dist/chat/chat-surface.js.map +1 -1
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/chat/index.js +1 -0
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/messenger-layout.js +2 -2
- package/dist/chat/messenger-layout.js.map +1 -1
- package/dist/chat/messenger-screen/room-panel.d.ts +24 -0
- package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
- package/dist/chat/messenger-screen/room-panel.js +56 -13
- package/dist/chat/messenger-screen/room-panel.js.map +1 -1
- package/dist/chat/messenger-screen/types.d.ts +2 -0
- package/dist/chat/messenger-screen/types.d.ts.map +1 -1
- package/dist/chat/use-stick-to-bottom.d.ts +45 -0
- package/dist/chat/use-stick-to-bottom.d.ts.map +1 -0
- package/dist/chat/use-stick-to-bottom.js +191 -0
- package/dist/chat/use-stick-to-bottom.js.map +1 -0
- package/dist/chat-ably/use-presence.d.ts +13 -0
- package/dist/chat-ably/use-presence.d.ts.map +1 -1
- package/dist/chat-ably/use-presence.js +35 -0
- package/dist/chat-ably/use-presence.js.map +1 -1
- package/dist/components/access-model-select.d.ts.map +1 -1
- package/dist/components/access-model-select.js +2 -1
- package/dist/components/access-model-select.js.map +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/animated-select.js +1 -1
- package/dist/components/animated-select.js.map +1 -1
- package/dist/components/animated-shadcn-select.js +1 -1
- package/dist/components/animated-shadcn-select.js.map +1 -1
- package/dist/components/avatar-stack.js +3 -3
- package/dist/components/avatar-stack.js.map +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/bottle-extract-dialog.js +2 -2
- package/dist/components/bottle-extract-dialog.js.map +1 -1
- package/dist/components/bottle-extraction-inline-progress.js +1 -1
- package/dist/components/bottle-extraction-inline-progress.js.map +1 -1
- package/dist/components/card-actions-trigger.js +1 -1
- package/dist/components/card-actions-trigger.js.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/closure-select.d.ts.map +1 -1
- package/dist/components/closure-select.js +2 -1
- package/dist/components/closure-select.js.map +1 -1
- package/dist/components/colour-picker-field.js +1 -1
- package/dist/components/colour-picker-field.js.map +1 -1
- package/dist/components/composition-editor.js +1 -1
- package/dist/components/composition-editor.js.map +1 -1
- package/dist/components/confirmation/beverage-comparison-modal.js +1 -1
- package/dist/components/confirmation/beverage-comparison-modal.js.map +1 -1
- package/dist/components/confirmation/confirmation-card.js +2 -2
- package/dist/components/confirmation/confirmation-card.js.map +1 -1
- package/dist/components/confirmation/cross-portfolio-nudge-sheet.js +5 -5
- package/dist/components/confirmation/cross-portfolio-nudge-sheet.js.map +1 -1
- package/dist/components/corner-style-picker.js +1 -1
- package/dist/components/corner-style-picker.js.map +1 -1
- package/dist/components/country-code-multi-select.d.ts.map +1 -1
- package/dist/components/country-code-multi-select.js +2 -1
- package/dist/components/country-code-multi-select.js.map +1 -1
- package/dist/components/country-code-select.d.ts.map +1 -1
- package/dist/components/country-code-select.js +4 -2
- package/dist/components/country-code-select.js.map +1 -1
- package/dist/components/currency-select.d.ts.map +1 -1
- package/dist/components/currency-select.js +2 -1
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/delivery-terms-select.d.ts.map +1 -1
- package/dist/components/delivery-terms-select.js +2 -1
- package/dist/components/delivery-terms-select.js.map +1 -1
- package/dist/components/enterprise-type-select.d.ts.map +1 -1
- package/dist/components/enterprise-type-select.js +2 -1
- package/dist/components/enterprise-type-select.js.map +1 -1
- package/dist/components/inset-drawer.js +1 -1
- package/dist/components/inset-drawer.js.map +1 -1
- package/dist/components/link.d.ts +1 -1
- package/dist/components/link.d.ts.map +1 -1
- package/dist/components/link.js +3 -2
- package/dist/components/link.js.map +1 -1
- package/dist/components/offer-card.js +1 -1
- package/dist/components/offer-card.js.map +1 -1
- package/dist/components/packaging-select.d.ts.map +1 -1
- package/dist/components/packaging-select.js +2 -1
- package/dist/components/packaging-select.js.map +1 -1
- package/dist/components/picker-empty-guidance.js +1 -1
- package/dist/components/picker-empty-guidance.js.map +1 -1
- package/dist/components/preflight-verdict-sheet.js +2 -2
- package/dist/components/preflight-verdict-sheet.js.map +1 -1
- package/dist/components/price-range-picker.js +1 -1
- package/dist/components/price-range-picker.js.map +1 -1
- package/dist/components/procurement-channel-select.d.ts.map +1 -1
- package/dist/components/procurement-channel-select.js +2 -1
- package/dist/components/procurement-channel-select.js.map +1 -1
- package/dist/components/product-card.js +1 -1
- package/dist/components/product-card.js.map +1 -1
- package/dist/components/product-picker-drawer.js +4 -4
- package/dist/components/product-picker-drawer.js.map +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/radio.js.map +1 -1
- package/dist/components/region-select.d.ts.map +1 -1
- package/dist/components/region-select.js +2 -1
- package/dist/components/region-select.js.map +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/shadcn-badge.js +2 -2
- package/dist/components/shadcn-badge.js.map +1 -1
- package/dist/components/shadcn-button.d.ts.map +1 -1
- package/dist/components/shadcn-button.js +2 -2
- package/dist/components/shadcn-button.js.map +1 -1
- package/dist/components/shadcn-input.js +1 -1
- package/dist/components/shadcn-input.js.map +1 -1
- package/dist/components/shadcn-select.js +1 -1
- package/dist/components/shadcn-select.js.map +1 -1
- package/dist/components/shadcn-textarea.js +1 -1
- package/dist/components/shadcn-textarea.js.map +1 -1
- package/dist/components/source-composite.js +1 -1
- package/dist/components/source-composite.js.map +1 -1
- package/dist/components/source-drawer.js +1 -1
- package/dist/components/source-drawer.js.map +1 -1
- package/dist/components/supporting-pane-layout.d.ts +6 -1
- package/dist/components/supporting-pane-layout.d.ts.map +1 -1
- package/dist/components/supporting-pane-layout.js +65 -12
- package/dist/components/supporting-pane-layout.js.map +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/text.js.map +1 -1
- package/dist/components/toast.js +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/variant-picker-dialog.js +6 -6
- package/dist/components/variant-picker-dialog.js.map +1 -1
- package/dist/components/variant-picker-hero.js +1 -1
- package/dist/components/variant-picker-hero.js.map +1 -1
- package/dist/components/year-picker.js +1 -1
- package/dist/components/year-picker.js.map +1 -1
- package/dist/fic-label/ingredient-input.js +1 -1
- package/dist/fic-label/ingredient-input.js.map +1 -1
- package/dist/globe/globe-view.js +1 -1
- package/dist/globe/globe-view.js.map +1 -1
- package/dist/image-upload/focal-point-picker.js +1 -1
- package/dist/image-upload/focal-point-picker.js.map +1 -1
- package/dist/insight-band/next-best-action-card.js +1 -1
- package/dist/insight-band/next-best-action-card.js.map +1 -1
- package/dist/marketing/pricing-table.js +1 -1
- package/dist/marketing/qr/qr-customizer-controls.js +1 -1
- package/dist/marketing/qr/qr-customizer-controls.js.map +1 -1
- package/dist/notifications/notification-tray.js +1 -1
- package/dist/notifications/notification-tray.js.map +1 -1
- package/dist/offer/attachments-card.js +1 -1
- package/dist/offer/attachments-card.js.map +1 -1
- package/dist/offer/index.d.ts +6 -1
- package/dist/offer/index.d.ts.map +1 -1
- package/dist/offer/index.js +2 -0
- package/dist/offer/index.js.map +1 -1
- package/dist/offer/negotiation-flow-timeline.js +1 -1
- package/dist/offer/negotiation-flow-timeline.js.map +1 -1
- package/dist/offer/offer-branch-fixtures.d.ts +16 -0
- package/dist/offer/offer-branch-fixtures.d.ts.map +1 -0
- package/dist/offer/offer-branch-fixtures.js +81 -0
- package/dist/offer/offer-branch-fixtures.js.map +1 -0
- package/dist/offer/offer-branch-list.d.ts +34 -0
- package/dist/offer/offer-branch-list.d.ts.map +1 -0
- package/dist/offer/offer-branch-list.js +43 -0
- package/dist/offer/offer-branch-list.js.map +1 -0
- package/dist/offer/offer-branch-shared.d.ts +55 -0
- package/dist/offer/offer-branch-shared.d.ts.map +1 -0
- package/dist/offer/offer-branch-shared.js +88 -0
- package/dist/offer/offer-branch-shared.js.map +1 -0
- package/dist/offer/offer-branch-switcher.d.ts +43 -0
- package/dist/offer/offer-branch-switcher.d.ts.map +1 -0
- package/dist/offer/offer-branch-switcher.js +48 -0
- package/dist/offer/offer-branch-switcher.js.map +1 -0
- package/dist/offer/offer-evaluation-sections.js +1 -1
- package/dist/offer/offer-page.d.ts +62 -2
- package/dist/offer/offer-page.d.ts.map +1 -1
- package/dist/offer/offer-page.js +122 -14
- package/dist/offer/offer-page.js.map +1 -1
- package/dist/offer/parties-card.d.ts.map +1 -1
- package/dist/offer/parties-card.js +1 -1
- package/dist/offer/parties-card.js.map +1 -1
- package/dist/offer/reviews-summary.js +1 -1
- package/dist/offer/reviews-summary.js.map +1 -1
- package/dist/offer/sticky-scroll-padding.d.ts +4 -0
- package/dist/offer/sticky-scroll-padding.d.ts.map +1 -0
- package/dist/offer/sticky-scroll-padding.js +54 -0
- package/dist/offer/sticky-scroll-padding.js.map +1 -0
- package/dist/offer/timeline-event.js +1 -1
- package/dist/offer/timeline-event.js.map +1 -1
- package/dist/opportunities/opportunity-detail-header.js +1 -1
- package/dist/opportunities/opportunity-detail-header.js.map +1 -1
- package/dist/opportunities/opportunity-detail-panel.js +1 -1
- package/dist/opportunities/opportunity-detail-panel.js.map +1 -1
- package/dist/opportunities/opportunity-filter-bar.js +1 -1
- package/dist/opportunities/opportunity-filter-bar.js.map +1 -1
- package/dist/opportunities/opportunity-stacked-card.js +2 -2
- package/dist/opportunities/opportunity-stacked-card.js.map +1 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.js +1 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.js.map +1 -1
- package/dist/opportunities/wizard/opportunity-wizard.js +2 -2
- package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -1
- package/dist/opportunities/wizard/step-opportunities.js +8 -8
- package/dist/opportunities/wizard/step-pricing-timeline.js +4 -4
- package/dist/opportunities/wizard/step-review.js +1 -1
- package/dist/opportunities/wizard/step-tender-basics.js +2 -2
- package/dist/opportunities/wizard/wizard-stepper.js +1 -1
- package/dist/opportunities/wizard/wizard-task-frame.js +1 -1
- package/dist/org/billing-address-source.js +2 -2
- package/dist/org/public-location-notice.js +2 -2
- package/dist/pdf-tool/live/pdf-label-layer.js +1 -1
- package/dist/pdf-tool/live/pdf-label-layer.js.map +1 -1
- package/dist/portfolio/portfolio-folder-card.js +1 -1
- package/dist/portfolio/portfolio-folder-card.js.map +1 -1
- package/dist/portfolio-import/beverage-comparison-modal.js +5 -5
- package/dist/portfolio-import/beverage-comparison-modal.js.map +1 -1
- package/dist/portfolio-import/bottle-photos-status.js +1 -1
- package/dist/portfolio-import/bottle-photos-status.js.map +1 -1
- package/dist/portfolio-import/import-job-detail-view.js +1 -1
- package/dist/portfolio-import/import-job-detail-view.js.map +1 -1
- package/dist/portfolio-import/product-gallery.js +1 -1
- package/dist/portfolio-import/product-gallery.js.map +1 -1
- package/dist/product-editor/product-editor-surface.js +1 -1
- package/dist/product-editor/product-editor-surface.js.map +1 -1
- package/dist/product-editor/tabs/product-status-tab.js +1 -1
- package/dist/product-editor/tabs/product-status-tab.js.map +1 -1
- package/dist/product-editor/tabs/resources/awards-panel.js +2 -2
- package/dist/product-editor/tabs/resources/awards-panel.js.map +1 -1
- package/dist/profile/business-details.js +1 -1
- package/dist/profile/business-details.js.map +1 -1
- package/dist/profile/product-detail-drawer.js +2 -2
- package/dist/profile/product-detail-drawer.js.map +1 -1
- package/package.json +1 -1
- package/src/theme/tokens.css +7 -1
|
@@ -18,10 +18,11 @@ import { useAbly } from "ably/react";
|
|
|
18
18
|
import { ChatComposer, ChatMessageList, ChatPresenceRow, ChatShell, } from "../chat-surface.js";
|
|
19
19
|
import { ConnectionBanner } from "../connection-banner.js";
|
|
20
20
|
import { unreadStore } from "../unread-store.js";
|
|
21
|
+
import { getActiveChatRoom, setActiveChatRoom } from "./active-room-store.js";
|
|
21
22
|
import { ChatRoom } from "../../chat-ably/chat-room.js";
|
|
22
23
|
import { useChatMessages } from "../../chat-ably/use-chat-messages.js";
|
|
23
24
|
import { useTyping } from "../../chat-ably/use-typing.js";
|
|
24
|
-
import {
|
|
25
|
+
import { useGatedPresence } from "../../chat-ably/use-presence.js";
|
|
25
26
|
import { useChatConnectionStatus } from "../../chat-ably/use-chat-connection-status.js";
|
|
26
27
|
import { useAblyBannerState } from "../../chat-ably/use-ably-banner-state.js";
|
|
27
28
|
import { COUNTERPARTY_SENDER_ORG_ID, adaptChatItem, getInitials, toSurfaceMessage, } from "./message-adapters.js";
|
|
@@ -75,11 +76,11 @@ function useLatestCallback(callback) {
|
|
|
75
76
|
* (bridge component + children-as-function) survives the lift
|
|
76
77
|
* unchanged.
|
|
77
78
|
*/
|
|
78
|
-
function SdkLiveState({ children }) {
|
|
79
|
+
function SdkLiveState({ presenceActive, children, }) {
|
|
79
80
|
const { messages, sendMessage, retryMessage, loadMore, hasMore, isLoadingHistory, isLoadingMore, } = useChatMessages();
|
|
80
81
|
const { currentlyTyping, start: startTyping } = useTyping();
|
|
81
82
|
const { currentStatus } = useChatConnectionStatus();
|
|
82
|
-
const { presentMembers } =
|
|
83
|
+
const { presentMembers } = useGatedPresence(presenceActive);
|
|
83
84
|
// `useAbly()` returns the Ably Realtime instance owned by the
|
|
84
85
|
// `<AblyProvider>` at the consumer's app shell. Cast through
|
|
85
86
|
// `unknown` because the lib's TypeScript shim does not perfectly
|
|
@@ -138,12 +139,12 @@ export function MessengerRoomPanel(props) {
|
|
|
138
139
|
// CEL-2115 — until the session knows who the user is (cold load of
|
|
139
140
|
// a deep link), `<ChatRoom>` mounts no provider; `<SdkLiveState>`'s
|
|
140
141
|
// room hooks must not render in that window.
|
|
141
|
-
fallback: _jsx(MessengerRoomPanelPlaceholder, { label: props.labels?.loadingConversation }), children: _jsx(SdkLiveState, { children: (state) => (_jsx("div", { "data-chat-connection-status": state.connectionStatus, className: "flex min-w-0 max-w-full flex-1 flex-col overflow-hidden", children: _jsx(MessengerRoomPanelContent, { ...props, live: state }) })) }) }));
|
|
142
|
+
fallback: _jsx(MessengerRoomPanelPlaceholder, { label: props.labels?.loadingConversation }), children: _jsx(SdkLiveState, { presenceActive: props.active ?? true, children: (state) => (_jsx("div", { "data-chat-connection-status": state.connectionStatus, className: "flex min-w-0 max-w-full flex-1 flex-col overflow-hidden", children: _jsx(MessengerRoomPanelContent, { ...props, live: state }) })) }) }));
|
|
142
143
|
}
|
|
143
144
|
function MessengerRoomPanelPlaceholder({ label }) {
|
|
144
145
|
return (_jsx("div", { role: "status", "aria-busy": "true", "data-chat-room-pending": "", className: "flex min-w-0 max-w-full flex-1 items-center justify-center p-6 text-sm/6 text-muted-foreground", children: label ?? "Loading conversation" }));
|
|
145
146
|
}
|
|
146
|
-
function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentUserName, currentOrgId, markRoomRead, orgMemberSource, attachmentSource, getAttachmentUploadAdapter, subscribeToAttachmentChanges, onOpenAttachment, formatAttachmentOnlyContent, attachmentsQueryKey, isReadOnly, labels, roomsQueryKey, onMarkReadSettled, onReconnected, live, }) {
|
|
147
|
+
function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentUserName, currentOrgId, markRoomRead, orgMemberSource, attachmentSource, getAttachmentUploadAdapter, subscribeToAttachmentChanges, onOpenAttachment, formatAttachmentOnlyContent, attachmentsQueryKey, isReadOnly, labels, roomsQueryKey, onMarkReadSettled, onReconnected, active = true, composerInputRef, showHeader = true, live, }) {
|
|
147
148
|
const roomId = room.id;
|
|
148
149
|
const queryClient = useQueryClient();
|
|
149
150
|
const [composerValue, setComposerValue] = React.useState("");
|
|
@@ -260,8 +261,8 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
260
261
|
/* ── Connection banner (mapping + first-connect suppression live in the lib) ── */
|
|
261
262
|
const { bannerState, showBanner: showConnectionBanner } = useAblyBannerState(live.connectionStatus);
|
|
262
263
|
/* ── Mark-read: optimistic zero + snapshot/rollback + in-flight dedupe ── */
|
|
263
|
-
// The panel is the active surface whenever it is mounted (the
|
|
264
|
-
// remounts it per room via `key`), so the tuple below records
|
|
264
|
+
// The panel is the active surface whenever it is mounted and `active` (the
|
|
265
|
+
// screen remounts it per room via `key`), so the tuple below records
|
|
265
266
|
// "successfully marked" only AFTER the REST call resolves — a
|
|
266
267
|
// transient failure does not lock the room out of future retries.
|
|
267
268
|
const getMarkRoomRead = useLatestCallback(markRoomRead);
|
|
@@ -273,8 +274,22 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
273
274
|
// Track the in-flight room separately so we don't fire duplicate REST
|
|
274
275
|
// calls while a previous attempt for the same room is still pending.
|
|
275
276
|
const inflightRoomRef = React.useRef(null);
|
|
277
|
+
const activeRef = React.useRef(active);
|
|
278
|
+
// True once the panel was hidden after a mark-read request started, so a
|
|
279
|
+
// request that resolves for an already-reopened panel re-marks (messages may
|
|
280
|
+
// have arrived while it was hidden, and the server-side read marker predates them).
|
|
281
|
+
const hiddenSinceMarkRef = React.useRef(false);
|
|
282
|
+
const [remarkTick, setRemarkTick] = React.useState(0);
|
|
276
283
|
React.useEffect(() => {
|
|
277
|
-
const panelActive =
|
|
284
|
+
const panelActive = active;
|
|
285
|
+
activeRef.current = active;
|
|
286
|
+
if (!panelActive) {
|
|
287
|
+
hiddenSinceMarkRef.current = true;
|
|
288
|
+
// Hidden: never mark read, and forget the marker so that becoming active
|
|
289
|
+
// again marks the room (messages may have arrived while it was hidden).
|
|
290
|
+
lastMarkedRef.current = { ...lastMarkedRef.current, panelActive: false };
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
278
293
|
const last = lastMarkedRef.current;
|
|
279
294
|
const becameActive = panelActive && !last.panelActive;
|
|
280
295
|
const switchedRoom = panelActive && roomId && roomId !== last.roomId;
|
|
@@ -284,6 +299,7 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
284
299
|
if (inflightRoomRef.current === roomId)
|
|
285
300
|
return;
|
|
286
301
|
inflightRoomRef.current = roomId;
|
|
302
|
+
hiddenSinceMarkRef.current = false;
|
|
287
303
|
// Snapshot the prior count so we can restore it if the server-side
|
|
288
304
|
// mark-read call fails AND no fresh messages arrived in the
|
|
289
305
|
// meantime — without the conditional, we'd clobber any inbound bump
|
|
@@ -298,7 +314,15 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
298
314
|
// unread until the next reconnect or staleTime expiry.
|
|
299
315
|
void getMarkRoomRead()(roomId)
|
|
300
316
|
.then(() => {
|
|
301
|
-
|
|
317
|
+
// Hidden at any point during the flight: opening re-marks. If it is
|
|
318
|
+
// active again right now, re-mark immediately.
|
|
319
|
+
const needsRemark = activeRef.current && hiddenSinceMarkRef.current;
|
|
320
|
+
lastMarkedRef.current = { panelActive: needsRemark ? false : activeRef.current, roomId };
|
|
321
|
+
if (needsRemark) {
|
|
322
|
+
if (inflightRoomRef.current === roomId)
|
|
323
|
+
inflightRoomRef.current = null;
|
|
324
|
+
setRemarkTick((tick) => tick + 1);
|
|
325
|
+
}
|
|
302
326
|
void queryClient.invalidateQueries({ queryKey: [...roomsQueryKey] });
|
|
303
327
|
getOnMarkReadSettled()({ roomId, ok: true });
|
|
304
328
|
})
|
|
@@ -315,7 +339,26 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
315
339
|
inflightRoomRef.current = null;
|
|
316
340
|
}
|
|
317
341
|
});
|
|
318
|
-
}, [
|
|
342
|
+
}, [
|
|
343
|
+
roomId,
|
|
344
|
+
active,
|
|
345
|
+
remarkTick,
|
|
346
|
+
queryClient,
|
|
347
|
+
roomsQueryKey,
|
|
348
|
+
getMarkRoomRead,
|
|
349
|
+
getOnMarkReadSettled,
|
|
350
|
+
]);
|
|
351
|
+
// While the user is reading this room, tell the notification bridges so they
|
|
352
|
+
// do not bump unread or refetch for it. Clear only our own registration.
|
|
353
|
+
React.useEffect(() => {
|
|
354
|
+
if (!active)
|
|
355
|
+
return;
|
|
356
|
+
setActiveChatRoom(roomId);
|
|
357
|
+
return () => {
|
|
358
|
+
if (getActiveChatRoom() === roomId)
|
|
359
|
+
setActiveChatRoom(null);
|
|
360
|
+
};
|
|
361
|
+
}, [active, roomId]);
|
|
319
362
|
/* ── Reconnect reconciliation ── */
|
|
320
363
|
const getOnReconnected = useLatestCallback(() => onReconnected?.());
|
|
321
364
|
React.useEffect(() => {
|
|
@@ -339,7 +382,7 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
339
382
|
getOnReconnected,
|
|
340
383
|
]);
|
|
341
384
|
/* ── Render ── */
|
|
342
|
-
return (_jsxs(_Fragment, { children: [showConnectionBanner ? (_jsx(ConnectionBanner, { state: bannerState, onRetry: live.reconnect, reconnectingMessage: labels?.connection?.reconnecting ?? "Reconnecting to live updates…", offlineMessage: labels?.connection?.offline ?? "You are offline. Messages will send when you reconnect.", connectedMessage: labels?.connection?.connected ?? "Back online. Messages syncing.", retryLabel: labels?.connection?.retry ?? "Retry", liveLabel: labels?.connection?.live ?? "Live", ariaLabels: labels?.connection?.aria })) : null, _jsx(ChatShell, { title: counterparty.name, subtitle: counterparty.subtitle, presence: _jsx(ChatPresenceRow, { participants: [
|
|
385
|
+
return (_jsxs(_Fragment, { children: [showConnectionBanner ? (_jsx(ConnectionBanner, { state: bannerState, onRetry: live.reconnect, reconnectingMessage: labels?.connection?.reconnecting ?? "Reconnecting to live updates…", offlineMessage: labels?.connection?.offline ?? "You are offline. Messages will send when you reconnect.", connectedMessage: labels?.connection?.connected ?? "Back online. Messages syncing.", retryLabel: labels?.connection?.retry ?? "Retry", liveLabel: labels?.connection?.live ?? "Live", ariaLabels: labels?.connection?.aria })) : null, _jsx(ChatShell, { hideTitle: !showHeader, title: counterparty.name, subtitle: counterparty.subtitle, presence: _jsx(ChatPresenceRow, { participants: [
|
|
343
386
|
{
|
|
344
387
|
id: COUNTERPARTY_SENDER_ORG_ID,
|
|
345
388
|
name: counterparty.name,
|
|
@@ -354,7 +397,7 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
354
397
|
},
|
|
355
398
|
], typingNames: isTyping ? [counterparty.name] : [], connectionState: toConnectionState(live.connectionStatus) }), actions: live.hasMore ? (_jsx("button", { type: "button", disabled: live.isLoadingHistory, onClick: () => void live.loadMore(), className: "rounded-full bg-muted px-3 py-1.5 text-xs/5 font-medium text-muted-foreground transition-[background-color,color,transform] duration-[var(--duration-standard)] ease-[var(--ease-emphasized-strong)] hover:-translate-y-px hover:bg-muted/80 hover:text-foreground disabled:pointer-events-none disabled:opacity-50 motion-reduce:transition-none motion-reduce:hover:translate-y-0", children: live.isLoadingHistory
|
|
356
399
|
? (labels?.loadingOlder ?? "Loading")
|
|
357
|
-
: (labels?.loadOlder ?? "Load older") })) : null, className: "flex-1 rounded-none border-0 ring-0 shadow-none", composer: isReadOnly ? (_jsx("div", { className: "rounded-[1.65rem] bg-muted/60 px-4 py-3 text-sm/6 text-muted-foreground ring-1 ring-border/60", children: readOnlyMessage })) : (_jsx(ChatComposer, { roomId: roomId, value: composerValue, onValueChange: setComposerValue, onTyping: () => void live.startTyping().catch(() => undefined), onSend: async (value, attachmentAttempt) => {
|
|
400
|
+
: (labels?.loadOlder ?? "Load older") })) : null, className: "flex-1 rounded-none border-0 ring-0 shadow-none", composer: isReadOnly ? (_jsx("div", { className: "rounded-[1.65rem] bg-muted/60 px-4 py-3 text-sm/6 text-muted-foreground ring-1 ring-border/60", children: readOnlyMessage })) : (_jsx(ChatComposer, { textareaRef: composerInputRef, roomId: roomId, value: composerValue, onValueChange: setComposerValue, onTyping: () => void live.startTyping().catch(() => undefined), onSend: async (value, attachmentAttempt) => {
|
|
358
401
|
const submittedReplyId = attachmentAttempt
|
|
359
402
|
? attachmentAttempt.replyToMessageId
|
|
360
403
|
: replyingTo?.messageId;
|
|
@@ -394,7 +437,7 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
394
437
|
notice: isConnected
|
|
395
438
|
? undefined
|
|
396
439
|
: (labels?.composer?.liveUpdatesPaused ??
|
|
397
|
-
"Live updates paused. Messages still send."), isSending: isSending, placeholder: labels?.composer?.placeholder ?? "Write a message", sendLabel: labels?.composer?.send ?? "Send", sendingLabel: labels?.composer?.sending ?? "Sending", fieldLabel: labels?.composer?.field ?? "Message", maxLength: 2_000 })), children: _jsx(ChatMessageList, { messages: surfaceMessages, currentParticipantId: currentOrgId, onReply: attachmentAttemptPending
|
|
440
|
+
"Live updates paused. Messages still send."), isSending: isSending, placeholder: labels?.composer?.placeholder ?? "Write a message", sendLabel: labels?.composer?.send ?? "Send", sendingLabel: labels?.composer?.sending ?? "Sending", fieldLabel: labels?.composer?.field ?? "Message", maxLength: 2_000 })), children: _jsx(ChatMessageList, { messages: surfaceMessages, currentParticipantId: currentOrgId, active: active, newMessagesLabel: labels?.newMessages, onReply: attachmentAttemptPending
|
|
398
441
|
? undefined
|
|
399
442
|
: (messageId) => {
|
|
400
443
|
const parent = surfaceMessages.find((message) => message.id === messageId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room-panel.js","sourceRoot":"","sources":["../../../src/chat/messenger-screen/room-panel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"room-panel.js","sourceRoot":"","sources":["../../../src/chat/messenger-screen/room-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -128,6 +128,8 @@ export interface MessengerScreenLabels {
|
|
|
128
128
|
/** Supports one `{{name}}` placeholder. Defaults to `"{{name}} typing"`. */
|
|
129
129
|
typing?: string;
|
|
130
130
|
loadOlder?: string;
|
|
131
|
+
/** Label of the jump-to-newest button shown when messages arrive while reading history. Defaults to `"New messages"`. */
|
|
132
|
+
newMessages?: string;
|
|
131
133
|
loadingOlder?: string;
|
|
132
134
|
/**
|
|
133
135
|
* Shown in the room panel while the current user is not yet known
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chat/messenger-screen/types.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAI5B;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,0BAA0B,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAID,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC;IAAE,IAAI,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAAC;AAE1E,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAE3E,8EAA8E;AAC9E,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,MAAM,yBAAyB,GAAG,CACtC,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8DAA8D;AAC9D,MAAM,MAAM,uCAAuC,GAAG,CACpD,OAAO,EAAE,0BAA0B,KAChC,2BAA2B,GAAG,SAAS,CAAC;AAE7C,iFAAiF;AACjF,MAAM,MAAM,qCAAqC,GAAG,CAClD,OAAO,EAAE,0BAA0B,EACnC,mBAAmB,EAAE,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,KAC3D,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AAIzB,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,0BAA0B,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;;;WAKG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;KAC5C,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACxC;AAID;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,EAClE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAC1D,OAAO,CAAC,IAAI,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,iGAAiG;IACjG,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAG9B,sEAAsE;IACtE,SAAS,EAAE,kBAAkB,CAAC;IAC9B,uCAAuC;IACvC,YAAY,EAAE,qBAAqB,CAAC;IACpC,0EAA0E;IAC1E,eAAe,EAAE,eAAe,CAAC;IACjC,4EAA4E;IAC5E,YAAY,EAAE,YAAY,CAAC;IAC3B,iEAAiE;IACjE,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,6EAA6E;IAC7E,0BAA0B,CAAC,EAAE,uCAAuC,CAAC;IACrE,qFAAqF;IACrF,4BAA4B,CAAC,EAAE,qCAAqC,CAAC;IACrE,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,CACjB,UAAU,EAAE,qBAAqB,EACjC,OAAO,EAAE,0BAA0B,KAChC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,8EAA8E;IAC9E,2BAA2B,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAG5D,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IAClD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IACnD;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IAC/C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAG5C,iEAAiE;IACjE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,yDAAyD;IACzD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAGvF;;;;OAIG;IACH,CAAC,CAAC,EAAE,aAAa,CAAC;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAG/B,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IAG9D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAG3B,yEAAyE;IACzE,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chat/messenger-screen/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Distance from the bottom, in px, still treated as "at the bottom". */
|
|
2
|
+
export declare const STICK_TO_BOTTOM_THRESHOLD_PX = 64;
|
|
3
|
+
export interface UseStickToBottomOptions {
|
|
4
|
+
scrollerRef: React.RefObject<HTMLElement | null>;
|
|
5
|
+
/** The element that wraps the messages; its growth (typing indicator, late images) keeps a pinned list pinned. */
|
|
6
|
+
contentRef: React.RefObject<HTMLElement | null>;
|
|
7
|
+
/** Message ids, oldest first. Identity changes (prepend, append, a different thread) are derived from this. */
|
|
8
|
+
ids: readonly string[];
|
|
9
|
+
/** Whether the newest message was sent by the viewer (always scrolls into view). */
|
|
10
|
+
lastIsOwn: boolean;
|
|
11
|
+
/** False while the list is hidden (closed pane). false to true scrolls to the newest message. */
|
|
12
|
+
active?: boolean;
|
|
13
|
+
/** Whether the scroller is mounted (the list renders an empty state without one). */
|
|
14
|
+
hasMessages: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Scroll behaviour for a chat log (CEL-2165). Always instant, never smooth, so
|
|
18
|
+
* it is reduced-motion safe by construction.
|
|
19
|
+
*
|
|
20
|
+
* The hook keeps an INTENT ("the viewer wants the newest message") rather than
|
|
21
|
+
* re-deriving it from scroll events. Only a genuine user action clears it: a
|
|
22
|
+
* scroll event that follows a wheel, touch, key or pointer input and ends more
|
|
23
|
+
* than `STICK_TO_BOTTOM_THRESHOLD_PX` from the bottom. Scroll events caused by
|
|
24
|
+
* our own writes or by layout (a pane settling to its final height) never do,
|
|
25
|
+
* so a list revealed while its container is still resizing ends up at the bottom.
|
|
26
|
+
*
|
|
27
|
+
* - Opens at the newest message, again whenever `active` turns true, and when
|
|
28
|
+
* the list is reused for a different thread (neither end id was in the
|
|
29
|
+
* previous list).
|
|
30
|
+
* - Appended messages follow the intent (or the viewer's own send); otherwise
|
|
31
|
+
* `hasNewBelow` turns true instead of moving the viewport.
|
|
32
|
+
* - Container or content height changes keep an intent-holding list at the bottom.
|
|
33
|
+
* - A scroll that settles within the threshold of the bottom re-pins, whatever
|
|
34
|
+
* caused it (a fling that lands at the bottom follows again).
|
|
35
|
+
* - `release()` drops the intent for code that scrolls the list itself (for
|
|
36
|
+
* example jumping to a quoted message); user input does this automatically.
|
|
37
|
+
* - Prepended older messages keep the visible position. The scroller must set
|
|
38
|
+
* `overflow-anchor: none` so browser anchoring does not also compensate.
|
|
39
|
+
*/
|
|
40
|
+
export declare function useStickToBottom({ scrollerRef, contentRef, ids, lastIsOwn, active, hasMessages, }: UseStickToBottomOptions): {
|
|
41
|
+
hasNewBelow: boolean;
|
|
42
|
+
scrollToBottom: () => void;
|
|
43
|
+
release: () => void;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=use-stick-to-bottom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-stick-to-bottom.d.ts","sourceRoot":"","sources":["../../src/chat/use-stick-to-bottom.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAY/C,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjD,kHAAkH;IAClH,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,+GAA+G;IAC/G,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,oFAAoF;IACpF,SAAS,EAAE,OAAO,CAAC;IACnB,iGAAiG;IACjG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,GAAG,EACH,SAAS,EACT,MAAa,EACb,WAAW,GACZ,EAAE,uBAAuB;;;;EAmJzB"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
2
|
+
/** Distance from the bottom, in px, still treated as "at the bottom". */
|
|
3
|
+
export const STICK_TO_BOTTOM_THRESHOLD_PX = 64;
|
|
4
|
+
/**
|
|
5
|
+
* A scroll event this soon after a wheel or key event is the user's. Wheel and
|
|
6
|
+
* key input arrive continuously while the user scrolls (including OS wheel
|
|
7
|
+
* momentum), so a short window is enough; longer would let a layout-caused
|
|
8
|
+
* scroll event right after the last input unpin a viewer who has stopped.
|
|
9
|
+
*/
|
|
10
|
+
const USER_INPUT_WINDOW_MS = 300;
|
|
11
|
+
/** Touch fling momentum keeps scrolling after the finger lifts, with no input events. */
|
|
12
|
+
const TOUCH_MOMENTUM_WINDOW_MS = 1000;
|
|
13
|
+
/**
|
|
14
|
+
* Scroll behaviour for a chat log (CEL-2165). Always instant, never smooth, so
|
|
15
|
+
* it is reduced-motion safe by construction.
|
|
16
|
+
*
|
|
17
|
+
* The hook keeps an INTENT ("the viewer wants the newest message") rather than
|
|
18
|
+
* re-deriving it from scroll events. Only a genuine user action clears it: a
|
|
19
|
+
* scroll event that follows a wheel, touch, key or pointer input and ends more
|
|
20
|
+
* than `STICK_TO_BOTTOM_THRESHOLD_PX` from the bottom. Scroll events caused by
|
|
21
|
+
* our own writes or by layout (a pane settling to its final height) never do,
|
|
22
|
+
* so a list revealed while its container is still resizing ends up at the bottom.
|
|
23
|
+
*
|
|
24
|
+
* - Opens at the newest message, again whenever `active` turns true, and when
|
|
25
|
+
* the list is reused for a different thread (neither end id was in the
|
|
26
|
+
* previous list).
|
|
27
|
+
* - Appended messages follow the intent (or the viewer's own send); otherwise
|
|
28
|
+
* `hasNewBelow` turns true instead of moving the viewport.
|
|
29
|
+
* - Container or content height changes keep an intent-holding list at the bottom.
|
|
30
|
+
* - A scroll that settles within the threshold of the bottom re-pins, whatever
|
|
31
|
+
* caused it (a fling that lands at the bottom follows again).
|
|
32
|
+
* - `release()` drops the intent for code that scrolls the list itself (for
|
|
33
|
+
* example jumping to a quoted message); user input does this automatically.
|
|
34
|
+
* - Prepended older messages keep the visible position. The scroller must set
|
|
35
|
+
* `overflow-anchor: none` so browser anchoring does not also compensate.
|
|
36
|
+
*/
|
|
37
|
+
export function useStickToBottom({ scrollerRef, contentRef, ids, lastIsOwn, active = true, hasMessages, }) {
|
|
38
|
+
const wantBottomRef = useRef(true);
|
|
39
|
+
const prevRef = useRef(null);
|
|
40
|
+
const heightRef = useRef(0);
|
|
41
|
+
const lastWrittenRef = useRef(null);
|
|
42
|
+
const userUntilRef = useRef(Number.NEGATIVE_INFINITY);
|
|
43
|
+
const pointerActiveRef = useRef(false);
|
|
44
|
+
const pendingBottomRef = useRef(false);
|
|
45
|
+
const [hasNewBelow, setHasNewBelow] = useState(false);
|
|
46
|
+
const firstId = ids[0];
|
|
47
|
+
const lastId = ids[ids.length - 1];
|
|
48
|
+
const writeBottom = useCallback(() => {
|
|
49
|
+
const el = scrollerRef.current;
|
|
50
|
+
if (!el)
|
|
51
|
+
return;
|
|
52
|
+
el.scrollTop = el.scrollHeight;
|
|
53
|
+
lastWrittenRef.current = el.scrollTop;
|
|
54
|
+
heightRef.current = el.scrollHeight;
|
|
55
|
+
}, [scrollerRef]);
|
|
56
|
+
const scrollToBottom = useCallback(() => {
|
|
57
|
+
if (!scrollerRef.current)
|
|
58
|
+
return;
|
|
59
|
+
wantBottomRef.current = true;
|
|
60
|
+
writeBottom();
|
|
61
|
+
setHasNewBelow(false);
|
|
62
|
+
}, [scrollerRef, writeBottom]);
|
|
63
|
+
// Messages changed.
|
|
64
|
+
useLayoutEffect(() => {
|
|
65
|
+
const el = scrollerRef.current;
|
|
66
|
+
if (!el)
|
|
67
|
+
return;
|
|
68
|
+
const prev = prevRef.current;
|
|
69
|
+
const sameThread = prev !== null &&
|
|
70
|
+
((firstId !== undefined && prev.ids.has(firstId)) ||
|
|
71
|
+
(lastId !== undefined && prev.ids.has(lastId)));
|
|
72
|
+
if (!prev || !sameThread) {
|
|
73
|
+
scrollToBottom();
|
|
74
|
+
}
|
|
75
|
+
else if (prev.lastId !== lastId) {
|
|
76
|
+
if (wantBottomRef.current || lastIsOwn)
|
|
77
|
+
scrollToBottom();
|
|
78
|
+
else
|
|
79
|
+
setHasNewBelow(true);
|
|
80
|
+
}
|
|
81
|
+
else if (prev.firstId !== firstId && !wantBottomRef.current) {
|
|
82
|
+
el.scrollTop += el.scrollHeight - heightRef.current;
|
|
83
|
+
lastWrittenRef.current = el.scrollTop;
|
|
84
|
+
}
|
|
85
|
+
else if (wantBottomRef.current) {
|
|
86
|
+
writeBottom();
|
|
87
|
+
}
|
|
88
|
+
heightRef.current = el.scrollHeight;
|
|
89
|
+
prevRef.current = { ids: new Set(ids), firstId, lastId };
|
|
90
|
+
}, [ids, firstId, lastId, lastIsOwn, hasMessages, scrollerRef, scrollToBottom, writeBottom]);
|
|
91
|
+
// Hidden to visible: jump to the newest message. A hidden pane has no
|
|
92
|
+
// layout, so when there is nothing to scroll yet the ResizeObserver below
|
|
93
|
+
// finishes the job once it is measurable.
|
|
94
|
+
const wasActiveRef = useRef(active);
|
|
95
|
+
useLayoutEffect(() => {
|
|
96
|
+
const became = active && !wasActiveRef.current;
|
|
97
|
+
wasActiveRef.current = active;
|
|
98
|
+
if (!became)
|
|
99
|
+
return;
|
|
100
|
+
wantBottomRef.current = true;
|
|
101
|
+
const el = scrollerRef.current;
|
|
102
|
+
if (el && el.clientHeight > 0) {
|
|
103
|
+
scrollToBottom();
|
|
104
|
+
pendingBottomRef.current = false;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
pendingBottomRef.current = true;
|
|
108
|
+
}
|
|
109
|
+
}, [active, hasMessages, scrollerRef, scrollToBottom]);
|
|
110
|
+
// User input, scroll position and size observation.
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
const el = scrollerRef.current;
|
|
113
|
+
if (!el)
|
|
114
|
+
return;
|
|
115
|
+
const markUser = () => {
|
|
116
|
+
userUntilRef.current = performance.now() + USER_INPUT_WINDOW_MS;
|
|
117
|
+
};
|
|
118
|
+
const markTouch = () => {
|
|
119
|
+
userUntilRef.current = performance.now() + TOUCH_MOMENTUM_WINDOW_MS;
|
|
120
|
+
};
|
|
121
|
+
// Any press inside the scroller (scrollbar, or a child such as a quote
|
|
122
|
+
// button) is user input until the pointer is released, however long a drag lasts.
|
|
123
|
+
const onPointerDown = () => {
|
|
124
|
+
pointerActiveRef.current = true;
|
|
125
|
+
};
|
|
126
|
+
const onPointerEnd = () => {
|
|
127
|
+
if (!pointerActiveRef.current)
|
|
128
|
+
return;
|
|
129
|
+
pointerActiveRef.current = false;
|
|
130
|
+
markUser();
|
|
131
|
+
};
|
|
132
|
+
const onScroll = () => {
|
|
133
|
+
const distance = el.scrollHeight - el.scrollTop - el.clientHeight;
|
|
134
|
+
const programmatic = lastWrittenRef.current === el.scrollTop;
|
|
135
|
+
const user = pointerActiveRef.current || performance.now() < userUntilRef.current;
|
|
136
|
+
if (distance <= STICK_TO_BOTTOM_THRESHOLD_PX) {
|
|
137
|
+
wantBottomRef.current = true;
|
|
138
|
+
setHasNewBelow(false);
|
|
139
|
+
}
|
|
140
|
+
else if (user && !programmatic) {
|
|
141
|
+
wantBottomRef.current = false;
|
|
142
|
+
}
|
|
143
|
+
lastWrittenRef.current = null;
|
|
144
|
+
heightRef.current = el.scrollHeight;
|
|
145
|
+
};
|
|
146
|
+
for (const name of ["wheel", "keydown"]) {
|
|
147
|
+
el.addEventListener(name, markUser, { passive: true });
|
|
148
|
+
}
|
|
149
|
+
for (const name of ["touchstart", "touchmove"]) {
|
|
150
|
+
el.addEventListener(name, markTouch, { passive: true });
|
|
151
|
+
}
|
|
152
|
+
el.addEventListener("pointerdown", onPointerDown, { passive: true });
|
|
153
|
+
window.addEventListener("pointerup", onPointerEnd);
|
|
154
|
+
window.addEventListener("pointercancel", onPointerEnd);
|
|
155
|
+
el.addEventListener("scroll", onScroll, { passive: true });
|
|
156
|
+
let observer;
|
|
157
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
158
|
+
observer = new ResizeObserver(() => {
|
|
159
|
+
if (el.clientHeight === 0)
|
|
160
|
+
return;
|
|
161
|
+
if (pendingBottomRef.current) {
|
|
162
|
+
pendingBottomRef.current = false;
|
|
163
|
+
scrollToBottom();
|
|
164
|
+
}
|
|
165
|
+
else if (wantBottomRef.current) {
|
|
166
|
+
writeBottom();
|
|
167
|
+
}
|
|
168
|
+
heightRef.current = el.scrollHeight;
|
|
169
|
+
});
|
|
170
|
+
observer.observe(el);
|
|
171
|
+
if (contentRef.current)
|
|
172
|
+
observer.observe(contentRef.current);
|
|
173
|
+
}
|
|
174
|
+
return () => {
|
|
175
|
+
for (const name of ["wheel", "keydown"])
|
|
176
|
+
el.removeEventListener(name, markUser);
|
|
177
|
+
for (const name of ["touchstart", "touchmove"])
|
|
178
|
+
el.removeEventListener(name, markTouch);
|
|
179
|
+
el.removeEventListener("pointerdown", onPointerDown);
|
|
180
|
+
window.removeEventListener("pointerup", onPointerEnd);
|
|
181
|
+
window.removeEventListener("pointercancel", onPointerEnd);
|
|
182
|
+
el.removeEventListener("scroll", onScroll);
|
|
183
|
+
observer?.disconnect();
|
|
184
|
+
};
|
|
185
|
+
}, [scrollerRef, contentRef, scrollToBottom, writeBottom, hasMessages]);
|
|
186
|
+
const release = useCallback(() => {
|
|
187
|
+
wantBottomRef.current = false;
|
|
188
|
+
}, []);
|
|
189
|
+
return { hasNewBelow, scrollToBottom, release };
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=use-stick-to-bottom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-stick-to-bottom.js","sourceRoot":"","sources":["../../src/chat/use-stick-to-bottom.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,4 +43,17 @@ export interface UsePresenceResponse {
|
|
|
43
43
|
* @see Spec §4.3, Arch §2.6
|
|
44
44
|
*/
|
|
45
45
|
export declare function usePresence(): UsePresenceResponse;
|
|
46
|
+
/**
|
|
47
|
+
* Like {@link usePresence}, but the local user is in presence ONLY while
|
|
48
|
+
* `enabled` is true AND the room is attached: enters when both hold, leaves when
|
|
49
|
+
* either stops holding or on unmount. For a panel that stays mounted while
|
|
50
|
+
* hidden (an embedded pane) so the counterparty never sees someone present who
|
|
51
|
+
* is not looking. The SDK's own auto-enter cannot do this: it does not re-enter
|
|
52
|
+
* after a leave, so this hook drives enter and leave itself.
|
|
53
|
+
*
|
|
54
|
+
* `presence.enter` throws unless the room is attaching or attached, so the
|
|
55
|
+
* effect is keyed on the room status instead of retrying: a room that attaches
|
|
56
|
+
* late (a re-authorise, a detach and re-attach) re-runs the effect and enters.
|
|
57
|
+
*/
|
|
58
|
+
export declare function useGatedPresence(enabled: boolean): UsePresenceResponse;
|
|
46
59
|
//# sourceMappingURL=use-presence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-presence.d.ts","sourceRoot":"","sources":["../../src/chat-ably/use-presence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-presence.d.ts","sourceRoot":"","sources":["../../src/chat-ably/use-presence.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI/D;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC;;;;;;;;OAQG;IACH,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C;;;;OAIG;IACH,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,mBAAmB,CAYjD;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAkBtE"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
// the public surface minimal. Add them here if a future consumer needs
|
|
10
10
|
// them (e.g. live status updates without re-entering).
|
|
11
11
|
import { usePresence as useSdkPresence, usePresenceListener } from "@ably/chat/react";
|
|
12
|
+
import * as React from "react";
|
|
12
13
|
/**
|
|
13
14
|
* `usePresence()` — composes `usePresence` (write) +
|
|
14
15
|
* `usePresenceListener` (read) from `@ably/chat/react`. MUST be called
|
|
@@ -34,4 +35,38 @@ export function usePresence() {
|
|
|
34
35
|
leave,
|
|
35
36
|
};
|
|
36
37
|
}
|
|
38
|
+
/** `RoomStatus.Attached`, compared as a string so this module does not import the enum. */
|
|
39
|
+
const ROOM_ATTACHED = "attached";
|
|
40
|
+
/**
|
|
41
|
+
* Like {@link usePresence}, but the local user is in presence ONLY while
|
|
42
|
+
* `enabled` is true AND the room is attached: enters when both hold, leaves when
|
|
43
|
+
* either stops holding or on unmount. For a panel that stays mounted while
|
|
44
|
+
* hidden (an embedded pane) so the counterparty never sees someone present who
|
|
45
|
+
* is not looking. The SDK's own auto-enter cannot do this: it does not re-enter
|
|
46
|
+
* after a leave, so this hook drives enter and leave itself.
|
|
47
|
+
*
|
|
48
|
+
* `presence.enter` throws unless the room is attaching or attached, so the
|
|
49
|
+
* effect is keyed on the room status instead of retrying: a room that attaches
|
|
50
|
+
* late (a re-authorise, a detach and re-attach) re-runs the effect and enters.
|
|
51
|
+
*/
|
|
52
|
+
export function useGatedPresence(enabled) {
|
|
53
|
+
const { enter, leave, roomStatus } = useSdkPresence({ autoEnterLeave: false });
|
|
54
|
+
const { presenceData } = usePresenceListener();
|
|
55
|
+
const enterRef = React.useRef(enter);
|
|
56
|
+
const leaveRef = React.useRef(leave);
|
|
57
|
+
React.useEffect(() => {
|
|
58
|
+
enterRef.current = enter;
|
|
59
|
+
leaveRef.current = leave;
|
|
60
|
+
});
|
|
61
|
+
const attached = roomStatus === ROOM_ATTACHED;
|
|
62
|
+
React.useEffect(() => {
|
|
63
|
+
if (!enabled || !attached)
|
|
64
|
+
return;
|
|
65
|
+
void enterRef.current().catch(() => undefined);
|
|
66
|
+
return () => {
|
|
67
|
+
void leaveRef.current().catch(() => undefined);
|
|
68
|
+
};
|
|
69
|
+
}, [enabled, attached]);
|
|
70
|
+
return { presentMembers: presenceData, enter, leave };
|
|
71
|
+
}
|
|
37
72
|
//# sourceMappingURL=use-presence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-presence.js","sourceRoot":"","sources":["../../src/chat-ably/use-presence.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;AACvE,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,uDAAuD;
|
|
1
|
+
{"version":3,"file":"use-presence.js","sourceRoot":"","sources":["../../src/chat-ably/use-presence.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;AACvE,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,uDAAuD;AAGvD,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiC/B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW;IACzB,sEAAsE;IACtE,oEAAoE;IACpE,yDAAyD;IACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAE/C,OAAO;QACL,cAAc,EAAE,YAAY;QAC5B,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAI,UAAqB,KAAK,aAAa,CAAC;IAC1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO;QAClC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE;YACV,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC"}
|