@cellarnode/ui 0.179.0 → 0.180.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-profile-review-visibility.d.ts.map +1 -1
- package/dist/brand/brand-profile-review-visibility.js +6 -4
- package/dist/brand/brand-profile-review-visibility.js.map +1 -1
- package/dist/brand/brand-profile-workspace-copy.d.ts +14 -0
- package/dist/brand/brand-profile-workspace-copy.d.ts.map +1 -1
- package/dist/brand/brand-profile-workspace-copy.js +4 -0
- package/dist/brand/brand-profile-workspace-copy.js.map +1 -1
- package/dist/brand/brand-profile-workspace-parts.d.ts +22 -2
- package/dist/brand/brand-profile-workspace-parts.d.ts.map +1 -1
- package/dist/brand/brand-profile-workspace-parts.js +5 -6
- package/dist/brand/brand-profile-workspace-parts.js.map +1 -1
- package/dist/brand/brand-profile-workspace.d.ts +5 -1
- package/dist/brand/brand-profile-workspace.d.ts.map +1 -1
- package/dist/brand/brand-profile-workspace.js +7 -2
- package/dist/brand/brand-profile-workspace.js.map +1 -1
- package/dist/brand/index.d.ts +1 -0
- package/dist/brand/index.d.ts.map +1 -1
- package/dist/brand/index.js +1 -0
- package/dist/brand/index.js.map +1 -1
- package/dist/brand/public-visibility-toggle.d.ts +33 -0
- package/dist/brand/public-visibility-toggle.d.ts.map +1 -0
- package/dist/brand/public-visibility-toggle.js +23 -0
- package/dist/brand/public-visibility-toggle.js.map +1 -0
- package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
- package/dist/chat/messenger-screen/room-panel.js +137 -26
- package/dist/chat/messenger-screen/room-panel.js.map +1 -1
- package/dist/components/animated-shadcn-select.d.ts +2 -2
- package/dist/components/animated-shadcn-select.d.ts.map +1 -1
- package/dist/components/animated-shadcn-select.js +16 -3
- package/dist/components/animated-shadcn-select.js.map +1 -1
- package/dist/components/certification-upload-card.d.ts +23 -2
- package/dist/components/certification-upload-card.d.ts.map +1 -1
- package/dist/components/certification-upload-card.js +103 -8
- package/dist/components/certification-upload-card.js.map +1 -1
- package/dist/components/shadcn-select.d.ts +1 -1
- package/dist/components/shadcn-select.d.ts.map +1 -1
- package/dist/components/shadcn-select.js +9 -2
- package/dist/components/shadcn-select.js.map +1 -1
- package/dist/components/switch.d.ts +12 -0
- package/dist/components/switch.d.ts.map +1 -1
- package/dist/components/switch.js +34 -18
- package/dist/components/switch.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/reveal-truncated-select-value.d.ts +8 -0
- package/dist/lib/reveal-truncated-select-value.d.ts.map +1 -0
- package/dist/lib/reveal-truncated-select-value.js +16 -0
- package/dist/lib/reveal-truncated-select-value.js.map +1 -0
- package/dist/offer/negotiation-labels.d.ts +12 -0
- package/dist/offer/negotiation-labels.d.ts.map +1 -1
- package/dist/offer/negotiation-labels.js +17 -3
- package/dist/offer/negotiation-labels.js.map +1 -1
- package/dist/offer/offer-page.d.ts.map +1 -1
- package/dist/offer/offer-page.js +46 -10
- package/dist/offer/offer-page.js.map +1 -1
- package/dist/offer/timeline-event.d.ts.map +1 -1
- package/dist/offer/timeline-event.js +4 -2
- package/dist/offer/timeline-event.js.map +1 -1
- package/dist/opportunities/wizard/step-opportunities.js +7 -3
- package/dist/opportunities/wizard/step-opportunities.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,6 +26,8 @@ import { useGatedPresence } from "../../chat-ably/use-presence.js";
|
|
|
26
26
|
import { useChatConnectionStatus } from "../../chat-ably/use-chat-connection-status.js";
|
|
27
27
|
import { useAblyBannerState } from "../../chat-ably/use-ably-banner-state.js";
|
|
28
28
|
import { COUNTERPARTY_SENDER_ORG_ID, adaptChatItem, getInitials, toSurfaceMessage, } from "./message-adapters.js";
|
|
29
|
+
/** CEL-2155: at most one live mark-read request per interval while the panel is open. */
|
|
30
|
+
const LIVE_MARK_READ_INTERVAL_MS = 1000;
|
|
29
31
|
/* ─── Shared internals ─── */
|
|
30
32
|
/**
|
|
31
33
|
* Suffix the panel appends to the consumer's `attachmentsQueryKey` so the
|
|
@@ -280,25 +282,20 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
280
282
|
// have arrived while it was hidden, and the server-side read marker predates them).
|
|
281
283
|
const hiddenSinceMarkRef = React.useRef(false);
|
|
282
284
|
const [remarkTick, setRemarkTick] = React.useState(0);
|
|
283
|
-
React.
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
const last = lastMarkedRef.current;
|
|
294
|
-
const becameActive = panelActive && !last.panelActive;
|
|
295
|
-
const switchedRoom = panelActive && roomId && roomId !== last.roomId;
|
|
296
|
-
const shouldMark = (becameActive || switchedRoom) && roomId;
|
|
297
|
-
if (!shouldMark)
|
|
298
|
-
return;
|
|
285
|
+
const lastMarkAtRef = React.useRef(0);
|
|
286
|
+
// True while a counterparty message arrived that no successful-or-started
|
|
287
|
+
// mark-read request has covered yet (panel hidden, tab hidden, or throttled).
|
|
288
|
+
const pendingMarkRef = React.useRef(false);
|
|
289
|
+
const disposedRef = React.useRef(false);
|
|
290
|
+
const scheduleLiveMarkRef = React.useRef(() => undefined);
|
|
291
|
+
const liveMarkTimerRef = React.useRef(null);
|
|
292
|
+
const startMarkRead = useLatestCallback((roomId) => {
|
|
299
293
|
if (inflightRoomRef.current === roomId)
|
|
300
|
-
return;
|
|
294
|
+
return false;
|
|
301
295
|
inflightRoomRef.current = roomId;
|
|
296
|
+
// This request covers everything received so far.
|
|
297
|
+
pendingMarkRef.current = false;
|
|
298
|
+
lastMarkAtRef.current = Date.now();
|
|
302
299
|
hiddenSinceMarkRef.current = false;
|
|
303
300
|
// Snapshot the prior count so we can restore it if the server-side
|
|
304
301
|
// mark-read call fails AND no fresh messages arrived in the
|
|
@@ -338,16 +335,130 @@ function MessengerRoomPanelContent({ room, counterparty, currentUserId, currentU
|
|
|
338
335
|
if (inflightRoomRef.current === roomId) {
|
|
339
336
|
inflightRoomRef.current = null;
|
|
340
337
|
}
|
|
338
|
+
// A counterparty message arrived while this request was outstanding.
|
|
339
|
+
if (pendingMarkRef.current && !disposedRef.current)
|
|
340
|
+
scheduleLiveMarkRef.current();
|
|
341
341
|
});
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
342
|
+
return true;
|
|
343
|
+
});
|
|
344
|
+
React.useEffect(() => {
|
|
345
|
+
const panelActive = active;
|
|
346
|
+
activeRef.current = active;
|
|
347
|
+
if (!panelActive) {
|
|
348
|
+
hiddenSinceMarkRef.current = true;
|
|
349
|
+
// Hidden: never mark read, and forget the marker so that becoming active
|
|
350
|
+
// again marks the room (messages may have arrived while it was hidden).
|
|
351
|
+
lastMarkedRef.current = { ...lastMarkedRef.current, panelActive: false };
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
const last = lastMarkedRef.current;
|
|
355
|
+
const becameActive = panelActive && !last.panelActive;
|
|
356
|
+
const switchedRoom = panelActive && roomId && roomId !== last.roomId;
|
|
357
|
+
const shouldMark = (becameActive || switchedRoom) && roomId;
|
|
358
|
+
if (!shouldMark)
|
|
359
|
+
return;
|
|
360
|
+
startMarkRead()(roomId);
|
|
361
|
+
}, [roomId, active, remarkTick, queryClient, roomsQueryKey, startMarkRead]);
|
|
362
|
+
// CEL-2155: while the panel is open and the tab is visible, counterparty
|
|
363
|
+
// messages that arrive after the activation mark must be marked read too,
|
|
364
|
+
// otherwise the server keeps counting them and the badge shows them as
|
|
365
|
+
// unread after the panel closes. Coalesced to at most one request per
|
|
366
|
+
// LIVE_MARK_READ_INTERVAL_MS; reuses the in-flight dedupe + rollback above.
|
|
367
|
+
const incomingIds = React.useMemo(() => {
|
|
368
|
+
const ids = [];
|
|
369
|
+
for (const item of live.messages) {
|
|
370
|
+
if (item.optimistic || item.messageType === "system")
|
|
371
|
+
continue;
|
|
372
|
+
const adapted = adaptChatItem(item, roomId, currentUserId, currentOrgId, memberLookup, teammateFallbackName);
|
|
373
|
+
if (adapted.senderOrgId === COUNTERPARTY_SENDER_ORG_ID)
|
|
374
|
+
ids.push({ id: adapted.id, at: adapted.createdAt });
|
|
375
|
+
}
|
|
376
|
+
return ids;
|
|
377
|
+
}, [live.messages, roomId, currentUserId, currentOrgId, memberLookup, teammateFallbackName]);
|
|
378
|
+
const seenIncomingRef = React.useRef(null);
|
|
379
|
+
const isLoadingHistory = live.isLoadingHistory;
|
|
380
|
+
const isLoadingMore = live.isLoadingMore;
|
|
381
|
+
const getScheduleLiveMark = useLatestCallback(() => {
|
|
382
|
+
if (disposedRef.current || !active || !roomId || !pendingMarkRef.current)
|
|
383
|
+
return;
|
|
384
|
+
if (typeof document !== "undefined" && document.visibilityState !== "visible")
|
|
385
|
+
return;
|
|
386
|
+
if (liveMarkTimerRef.current)
|
|
387
|
+
return;
|
|
388
|
+
const wait = Math.max(0, lastMarkAtRef.current + LIVE_MARK_READ_INTERVAL_MS - Date.now());
|
|
389
|
+
liveMarkTimerRef.current = setTimeout(() => {
|
|
390
|
+
liveMarkTimerRef.current = null;
|
|
391
|
+
if (disposedRef.current || !activeRef.current || !pendingMarkRef.current)
|
|
392
|
+
return;
|
|
393
|
+
if (typeof document !== "undefined" && document.visibilityState !== "visible")
|
|
394
|
+
return;
|
|
395
|
+
// In flight: the request's settle handler reschedules while pending.
|
|
396
|
+
if (startMarkRead()(roomId))
|
|
397
|
+
pendingMarkRef.current = false;
|
|
398
|
+
}, wait);
|
|
399
|
+
});
|
|
400
|
+
const scheduleLiveMark = React.useCallback(() => getScheduleLiveMark()(), [getScheduleLiveMark]);
|
|
401
|
+
scheduleLiveMarkRef.current = scheduleLiveMark;
|
|
402
|
+
React.useEffect(() => {
|
|
403
|
+
let newest = "";
|
|
404
|
+
for (const { at } of incomingIds)
|
|
405
|
+
if (at > newest)
|
|
406
|
+
newest = at;
|
|
407
|
+
let seen = seenIncomingRef.current;
|
|
408
|
+
if (!seen || seen.roomId !== roomId) {
|
|
409
|
+
seen = { roomId, newest: "", sawHistoryLoading: false, historySettled: false };
|
|
410
|
+
seenIncomingRef.current = seen;
|
|
411
|
+
}
|
|
412
|
+
// The baseline is the first SETTLED state, not the mount state: React
|
|
413
|
+
// batches the history merge and `isLoadingHistory=false` into one render,
|
|
414
|
+
// so history never looks "loading" when it lands. Everything up to and
|
|
415
|
+
// including that render is covered by the activation mark.
|
|
416
|
+
const wasSettled = seen.historySettled;
|
|
417
|
+
if (isLoadingHistory)
|
|
418
|
+
seen.sawHistoryLoading = true;
|
|
419
|
+
else if (seen.sawHistoryLoading)
|
|
420
|
+
seen.historySettled = true;
|
|
421
|
+
// Only a message NEWER than the newest one already seen is an arrival;
|
|
422
|
+
// older pages (loadMore) never are.
|
|
423
|
+
const isArrival = newest > seen.newest;
|
|
424
|
+
if (isArrival)
|
|
425
|
+
seen.newest = newest;
|
|
426
|
+
if (!wasSettled || !isArrival || isLoadingHistory || isLoadingMore)
|
|
427
|
+
return;
|
|
428
|
+
pendingMarkRef.current = true;
|
|
429
|
+
scheduleLiveMark();
|
|
430
|
+
}, [incomingIds, roomId, isLoadingHistory, isLoadingMore, scheduleLiveMark]);
|
|
431
|
+
React.useEffect(() => {
|
|
432
|
+
disposedRef.current = false;
|
|
433
|
+
return () => {
|
|
434
|
+
// The screen remounts the panel per room: nothing may fire for this one.
|
|
435
|
+
disposedRef.current = true;
|
|
436
|
+
activeRef.current = false;
|
|
437
|
+
pendingMarkRef.current = false;
|
|
438
|
+
if (liveMarkTimerRef.current)
|
|
439
|
+
clearTimeout(liveMarkTimerRef.current);
|
|
440
|
+
liveMarkTimerRef.current = null;
|
|
441
|
+
};
|
|
442
|
+
}, []);
|
|
443
|
+
React.useEffect(() => {
|
|
444
|
+
if (!active) {
|
|
445
|
+
if (liveMarkTimerRef.current)
|
|
446
|
+
clearTimeout(liveMarkTimerRef.current);
|
|
447
|
+
liveMarkTimerRef.current = null;
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
const onVisibility = () => {
|
|
451
|
+
if (document.visibilityState === "visible")
|
|
452
|
+
scheduleLiveMark();
|
|
453
|
+
};
|
|
454
|
+
document.addEventListener("visibilitychange", onVisibility);
|
|
455
|
+
return () => {
|
|
456
|
+
document.removeEventListener("visibilitychange", onVisibility);
|
|
457
|
+
if (liveMarkTimerRef.current)
|
|
458
|
+
clearTimeout(liveMarkTimerRef.current);
|
|
459
|
+
liveMarkTimerRef.current = null;
|
|
460
|
+
};
|
|
461
|
+
}, [active, roomId, scheduleLiveMark]);
|
|
351
462
|
// While the user is reading this room, tell the notification bridges so they
|
|
352
463
|
// do not bump unread or refetch for it. Clear only our own registration.
|
|
353
464
|
React.useEffect(() => {
|
|
@@ -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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"}
|
|
@@ -2,8 +2,8 @@ import * as React from "react";
|
|
|
2
2
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
3
3
|
export declare const AnimatedShadcnSelect: React.FC<SelectPrimitive.SelectProps>;
|
|
4
4
|
export declare const AnimatedShadcnSelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
-
export declare
|
|
6
|
-
export declare function AnimatedShadcnSelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
5
|
+
export declare function AnimatedShadcnSelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function AnimatedShadcnSelectTrigger({ className, size, children, onMouseEnter, onFocus, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
7
7
|
size?: "sm" | "default";
|
|
8
8
|
}): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export declare function AnimatedShadcnSelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-shadcn-select.d.ts","sourceRoot":"","sources":["../../src/components/animated-shadcn-select.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"animated-shadcn-select.d.ts","sourceRoot":"","sources":["../../src/components/animated-shadcn-select.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAiB1D,eAAO,MAAM,oBAAoB,uCAAuB,CAAC;AACzD,eAAO,MAAM,yBAAyB,yGAAwB,CAAC;AAK/D,wBAAgB,yBAAyB,CAAC,EACxC,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAID,wBAAgB,2BAA2B,CAAC,EAC1C,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,2CAyBA;AAED,wBAAgB,kCAAkC,CAAC,EACjD,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAU7D;AAED,wBAAgB,oCAAoC,CAAC,EACnD,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAU/D;AAID,KAAK,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEpF,MAAM,WAAW,gCAAiC,SAAQ,uBAAuB;IAC/E;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA8ED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,SAAS,EACT,QAAQ,EACR,QAAyB,EACzB,KAAgB,EAChB,UAAiB,EACjB,WAAmC,EACnC,YAAqC,EACrC,GAAG,KAAK,EACT,EAAE,gCAAgC,2CA4DlC;AA2BD,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAqBnD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { revealTruncatedSelectValue } from "../lib/reveal-truncated-select-value.js";
|
|
3
4
|
import * as React from "react";
|
|
4
5
|
import { motion, useReducedMotion } from "motion/react";
|
|
5
6
|
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
@@ -11,10 +12,22 @@ import { DROPDOWN_DURATION_CLOSE, DROPDOWN_DURATION_OPEN, DROPDOWN_STAGGER_CLOSE
|
|
|
11
12
|
// <ShadcnSelect>; only the Content wrapper carries the motion layer.
|
|
12
13
|
export const AnimatedShadcnSelect = SelectPrimitive.Root;
|
|
13
14
|
export const AnimatedShadcnSelectGroup = SelectPrimitive.Group;
|
|
14
|
-
|
|
15
|
+
// CEL-2128 — carries `data-slot="select-value"` so the trigger's
|
|
16
|
+
// `*:data-[slot=select-value]:*` rules (truncation, icon alignment) actually
|
|
17
|
+
// match. Without it the value never truncated and a long label (a German
|
|
18
|
+
// closure/region/country name) overflowed the trigger and the card.
|
|
19
|
+
export function AnimatedShadcnSelectValue({ ...props }) {
|
|
20
|
+
return _jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
21
|
+
}
|
|
15
22
|
// ─── Trigger (mirrors ShadcnSelectTrigger styling 1:1) ─────────────────────
|
|
16
|
-
export function AnimatedShadcnSelectTrigger({ className, size = "default", children, ...props }) {
|
|
17
|
-
return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "animated-select-trigger", "data-size": size, className: cn("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-hidden focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/70 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:focus-visible:border-destructive aria-invalid:focus-visible:ring-destructive/90 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:
|
|
23
|
+
export function AnimatedShadcnSelectTrigger({ className, size = "default", children, onMouseEnter, onFocus, ...props }) {
|
|
24
|
+
return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "animated-select-trigger", "data-size": size, className: cn("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-hidden focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/70 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:focus-visible:border-destructive aria-invalid:focus-visible:ring-destructive/90 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:block *:data-[slot=select-value]:min-w-0 *:data-[slot=select-value]:truncate dark:bg-input/30 dark:hover:bg-input/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground", className), ...props, onMouseEnter: (e) => {
|
|
25
|
+
revealTruncatedSelectValue(e);
|
|
26
|
+
onMouseEnter?.(e);
|
|
27
|
+
}, onFocus: (e) => {
|
|
28
|
+
revealTruncatedSelectValue(e);
|
|
29
|
+
onFocus?.(e);
|
|
30
|
+
}, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })] }));
|
|
18
31
|
}
|
|
19
32
|
export function AnimatedShadcnSelectScrollUpButton({ className, ...props }) {
|
|
20
33
|
return (_jsx(SelectPrimitive.ScrollUpButton, { "data-slot": "animated-select-scroll-up-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronUpIcon, { className: "size-4" }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-shadcn-select.js","sourceRoot":"","sources":["../../src/components/animated-shadcn-select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,mEAAmE;AACnE,qEAAqE;AAErE,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC,IAAI,CAAC;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC,KAAK,CAAC;AAC/D,
|
|
1
|
+
{"version":3,"file":"animated-shadcn-select.js","sourceRoot":"","sources":["../../src/components/animated-shadcn-select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,14 @@ import * as React from "react";
|
|
|
9
9
|
* it and keep their names so existing consumers do not break.
|
|
10
10
|
*/
|
|
11
11
|
export type CertStatus = "required" | "pending" | "filled" | "optional";
|
|
12
|
+
export interface CertificationUploadCardLabels {
|
|
13
|
+
/** Shown while an upload promise is pending. Default `Uploading...`. */
|
|
14
|
+
uploading?: string;
|
|
15
|
+
/** Alert message when an upload rejects. Default `Upload failed.` */
|
|
16
|
+
uploadFailed?: string;
|
|
17
|
+
/** Retry button text. Default `Try again`. */
|
|
18
|
+
retry?: string;
|
|
19
|
+
}
|
|
12
20
|
export interface CertificationUploadCardProps {
|
|
13
21
|
type: string;
|
|
14
22
|
label: string;
|
|
@@ -19,7 +27,20 @@ export interface CertificationUploadCardProps {
|
|
|
19
27
|
size?: number;
|
|
20
28
|
} | null;
|
|
21
29
|
autoAttached?: boolean;
|
|
22
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Called with the chosen file. May return a promise: while it is pending the
|
|
32
|
+
* card is busy (controls disabled, `aria-busy`, `labels.uploading` shown) and
|
|
33
|
+
* a second upload is refused. A rejection shows an inline alert with a retry
|
|
34
|
+
* affordance. A synchronous callback behaves as before.
|
|
35
|
+
*/
|
|
36
|
+
onUpload: (file: File) => void | Promise<void>;
|
|
37
|
+
/** Copy for the async states. Defaults are English. */
|
|
38
|
+
labels?: CertificationUploadCardLabels;
|
|
39
|
+
/**
|
|
40
|
+
* Turns a rejection into the alert message. Without it the alert shows
|
|
41
|
+
* `labels.uploadFailed`, so raw error text never reaches the producer unasked.
|
|
42
|
+
*/
|
|
43
|
+
formatError?: (error: unknown) => string;
|
|
23
44
|
onRemove?: () => void;
|
|
24
45
|
onReplace?: () => void;
|
|
25
46
|
/**
|
|
@@ -52,5 +73,5 @@ export interface CertificationUploadCardProps {
|
|
|
52
73
|
statusLabel?: string;
|
|
53
74
|
className?: string;
|
|
54
75
|
}
|
|
55
|
-
export declare function CertificationUploadCard({ label, icon, status, file, autoAttached, onUpload, onRemove, onReplace, detail, canSubmit, submitLabel, onToggleClaim, claimed, statusLabel, className, }: CertificationUploadCardProps): import("react/jsx-runtime").JSX.Element;
|
|
76
|
+
export declare function CertificationUploadCard({ label, icon, status, file, autoAttached, onUpload, labels, formatError, onRemove, onReplace, detail, canSubmit, submitLabel, onToggleClaim, claimed, statusLabel, className, }: CertificationUploadCardProps): import("react/jsx-runtime").JSX.Element;
|
|
56
77
|
//# sourceMappingURL=certification-upload-card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certification-upload-card.d.ts","sourceRoot":"","sources":["../../src/components/certification-upload-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/
|
|
1
|
+
{"version":3,"file":"certification-upload-card.d.ts","sourceRoot":"","sources":["../../src/components/certification-upload-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExE,MAAM,WAAW,6BAA6B;IAC5C,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,uDAAuD;IACvD,MAAM,CAAC,EAAE,6BAA6B,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6DD,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAgB,EAChB,WAAkC,EAClC,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,GACV,EAAE,4BAA4B,2CAoU9B"}
|
|
@@ -50,22 +50,99 @@ function formatFileSize(bytes) {
|
|
|
50
50
|
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
51
51
|
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
52
52
|
}
|
|
53
|
-
export function CertificationUploadCard({ label, icon, status, file, autoAttached, onUpload, onRemove, onReplace, detail, canSubmit = true, submitLabel = "Drop file or click", onToggleClaim, claimed, statusLabel, className, }) {
|
|
53
|
+
export function CertificationUploadCard({ label, icon, status, file, autoAttached, onUpload, labels, formatError, onRemove, onReplace, detail, canSubmit = true, submitLabel = "Drop file or click", onToggleClaim, claimed, statusLabel, className, }) {
|
|
54
54
|
const inputRef = React.useRef(null);
|
|
55
55
|
const [dragOver, setDragOver] = React.useState(false);
|
|
56
|
+
const [busy, setBusy] = React.useState(false);
|
|
57
|
+
const [error, setError] = React.useState(null);
|
|
58
|
+
// A ref, not state: two drops in one tick must not both see busy === false.
|
|
59
|
+
const inFlightRef = React.useRef(false);
|
|
60
|
+
const mountedRef = React.useRef(true);
|
|
61
|
+
React.useEffect(() => {
|
|
62
|
+
mountedRef.current = true;
|
|
63
|
+
return () => {
|
|
64
|
+
mountedRef.current = false;
|
|
65
|
+
};
|
|
66
|
+
}, []);
|
|
67
|
+
const uploadingLabel = labels?.uploading ?? "Uploading...";
|
|
68
|
+
const failedLabel = labels?.uploadFailed ?? "Upload failed.";
|
|
69
|
+
const retryLabel = labels?.retry ?? "Try again";
|
|
70
|
+
const primaryActionRef = React.useRef(null);
|
|
71
|
+
const restoreFocusRef = React.useRef(false);
|
|
72
|
+
const messageFor = (err) => {
|
|
73
|
+
try {
|
|
74
|
+
const formatted = formatError?.(err);
|
|
75
|
+
if (typeof formatted === "string" && formatted.trim() !== "")
|
|
76
|
+
return formatted;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// A throwing formatter must not turn a failed upload into a crash.
|
|
80
|
+
}
|
|
81
|
+
return failedLabel;
|
|
82
|
+
};
|
|
83
|
+
// The retry button unmounts on success; hand focus to the primary action
|
|
84
|
+
// rather than letting it fall to <body>.
|
|
85
|
+
React.useEffect(() => {
|
|
86
|
+
if (busy || error !== null || !restoreFocusRef.current)
|
|
87
|
+
return;
|
|
88
|
+
restoreFocusRef.current = false;
|
|
89
|
+
const active = document.activeElement;
|
|
90
|
+
if (!active || active === document.body || !active.isConnected) {
|
|
91
|
+
primaryActionRef.current?.focus();
|
|
92
|
+
}
|
|
93
|
+
}, [busy, error]);
|
|
94
|
+
const startUpload = (selected) => {
|
|
95
|
+
if (inFlightRef.current)
|
|
96
|
+
return;
|
|
97
|
+
let result;
|
|
98
|
+
try {
|
|
99
|
+
result = onUpload(selected);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
// A sync throw is a failed upload too; do not let it escape the handler.
|
|
103
|
+
setError(messageFor(err));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (!result || typeof result.then !== "function") {
|
|
107
|
+
setError(null);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
inFlightRef.current = true;
|
|
111
|
+
// The previous error stays mounted while busy so a focused retry button is
|
|
112
|
+
// not destroyed; a success clears it.
|
|
113
|
+
setBusy(true);
|
|
114
|
+
result.then(() => {
|
|
115
|
+
inFlightRef.current = false;
|
|
116
|
+
if (!mountedRef.current)
|
|
117
|
+
return;
|
|
118
|
+
setBusy(false);
|
|
119
|
+
setError(null);
|
|
120
|
+
}, (err) => {
|
|
121
|
+
inFlightRef.current = false;
|
|
122
|
+
if (!mountedRef.current)
|
|
123
|
+
return;
|
|
124
|
+
setBusy(false);
|
|
125
|
+
setError(messageFor(err));
|
|
126
|
+
});
|
|
127
|
+
};
|
|
56
128
|
const handleFileChange = (e) => {
|
|
57
129
|
const selected = e.target.files?.[0];
|
|
58
130
|
if (selected) {
|
|
59
|
-
|
|
131
|
+
startUpload(selected);
|
|
60
132
|
// Reset input so the same file can be re-selected
|
|
61
133
|
e.target.value = "";
|
|
62
134
|
}
|
|
63
135
|
};
|
|
64
136
|
const handleDragOver = (e) => {
|
|
65
|
-
|
|
66
|
-
|
|
137
|
+
// Always cancel the default: an unhandled drop makes the browser open the
|
|
138
|
+
// file in this tab, discarding the page.
|
|
67
139
|
e.preventDefault();
|
|
68
140
|
e.stopPropagation();
|
|
141
|
+
if (!canSubmit || busy) {
|
|
142
|
+
e.dataTransfer.dropEffect = "none";
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
e.dataTransfer.dropEffect = "copy";
|
|
69
146
|
setDragOver(true);
|
|
70
147
|
};
|
|
71
148
|
const handleDragLeave = (e) => {
|
|
@@ -74,20 +151,38 @@ export function CertificationUploadCard({ label, icon, status, file, autoAttache
|
|
|
74
151
|
setDragOver(false);
|
|
75
152
|
};
|
|
76
153
|
const handleDrop = (e) => {
|
|
77
|
-
if (!canSubmit)
|
|
78
|
-
return;
|
|
79
154
|
e.preventDefault();
|
|
80
155
|
e.stopPropagation();
|
|
81
156
|
setDragOver(false);
|
|
157
|
+
if (!canSubmit || busy)
|
|
158
|
+
return;
|
|
82
159
|
const droppedFile = e.dataTransfer.files[0];
|
|
83
160
|
if (droppedFile) {
|
|
84
|
-
|
|
161
|
+
startUpload(droppedFile);
|
|
85
162
|
}
|
|
86
163
|
};
|
|
87
164
|
const handleDropZoneClick = () => {
|
|
165
|
+
if (busy)
|
|
166
|
+
return;
|
|
88
167
|
inputRef.current?.click();
|
|
89
168
|
};
|
|
169
|
+
const handleRemoveClick = () => {
|
|
170
|
+
if (busy)
|
|
171
|
+
return;
|
|
172
|
+
onRemove?.();
|
|
173
|
+
};
|
|
174
|
+
const handleRetryClick = () => {
|
|
175
|
+
if (busy)
|
|
176
|
+
return;
|
|
177
|
+
restoreFocusRef.current = true;
|
|
178
|
+
if (hasDocument)
|
|
179
|
+
handleReplaceClick();
|
|
180
|
+
else
|
|
181
|
+
handleDropZoneClick();
|
|
182
|
+
};
|
|
90
183
|
const handleReplaceClick = () => {
|
|
184
|
+
if (busy)
|
|
185
|
+
return;
|
|
91
186
|
if (onReplace) {
|
|
92
187
|
onReplace();
|
|
93
188
|
}
|
|
@@ -101,6 +196,6 @@ export function CertificationUploadCard({ label, icon, status, file, autoAttache
|
|
|
101
196
|
const documentTone = status === "filled" ? "filled" : "pending";
|
|
102
197
|
const documentFile = status === "filled" || status === "pending" ? (file ?? null) : null;
|
|
103
198
|
const hasDocument = documentFile !== null;
|
|
104
|
-
return (_jsxs("div", { className: cn("relative flex flex-col items-center rounded-xl p-4 text-center transition-[background-color,border-color,box-shadow]", containerStyles[status], dragOver && "ring-2 ring-
|
|
199
|
+
return (_jsxs("div", { className: cn("relative flex flex-col items-center rounded-xl p-4 text-center transition-[background-color,border-color,box-shadow]", containerStyles[status], dragOver && "ring-2 ring-ring/70", className), onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [status === "filled" && autoAttached && (_jsx("span", { className: "absolute -top-2 right-2 rounded-full bg-[var(--tone-success-solid)] px-2 py-0.5 text-xs font-bold text-[var(--tone-success-solid-fg)]", children: "AUTO" })), onToggleClaim ? (_jsxs("button", { type: "button", onClick: onToggleClaim, "aria-pressed": claimed ?? false, "aria-label": statusLabel ? `${label}: ${statusLabel}` : label, className: "flex flex-col items-center rounded-lg focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", children: [_jsx("span", { className: cn("mb-2 flex size-9 items-center justify-center rounded-lg", iconStyles[status]), children: icon }), _jsx("span", { className: cn("text-eyebrow-xs font-bold", labelStyles[status]), children: label })] })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: cn("mb-2 flex size-9 items-center justify-center rounded-lg", iconStyles[status]), children: icon }), _jsx("span", { className: cn("text-eyebrow-xs font-bold", labelStyles[status]), children: label })] })), hasDocument ? (_jsxs("div", { className: "mt-2 w-full", "aria-busy": busy || undefined, children: [_jsxs("div", { className: cn("inline-flex items-center gap-1.5 rounded-full px-2.5 py-1", fileChipStyles[documentTone]), children: [_jsx("span", { className: cn("max-w-[120px] truncate text-xs font-medium", fileChipTextStyles[documentTone]), children: documentFile.name }), documentFile.size != null && (_jsx("span", { className: cn("text-xs opacity-80", fileChipTextStyles[documentTone]), children: formatFileSize(documentFile.size) }))] }), detail && _jsx("p", { className: cn("mt-1.5 text-xs", detailStyles[status]), children: detail }), _jsxs("div", { className: "mt-1.5 flex items-center justify-center gap-2", children: [canSubmit && (_jsx("button", { type: "button", ref: primaryActionRef, onClick: handleReplaceClick, "aria-disabled": busy || undefined, className: cn("text-xs font-medium underline-offset-2 hover:underline aria-disabled:cursor-not-allowed aria-disabled:opacity-60", fileChipTextStyles[documentTone]), children: "Replace" })), onRemove && (_jsxs(_Fragment, { children: [canSubmit && (_jsx("span", { className: fileChipDividerStyles[documentTone], "aria-hidden": "true", children: "|" })), _jsx("button", { type: "button", onClick: handleRemoveClick, "aria-disabled": busy || undefined, className: "aria-disabled:cursor-not-allowed aria-disabled:opacity-60 text-xs font-medium text-[var(--tone-danger-fg)] underline-offset-2 hover:underline", children: "Remove" })] }))] })] })) : (_jsxs("div", { className: "mt-2 w-full", "aria-busy": busy || undefined, children: [detail ? (_jsx("p", { className: cn("mb-1.5 text-xs", detailStyles[status]), children: detail })) : (status === "required" && (_jsx("p", { className: "mb-1.5 text-xs text-[var(--tone-warning-fg)]", children: "Required \u00B7 Not uploaded" }))), canSubmit && (_jsx("button", { type: "button", ref: primaryActionRef, onClick: handleDropZoneClick, "aria-disabled": busy || undefined, className: cn("w-full cursor-pointer aria-disabled:cursor-not-allowed aria-disabled:opacity-60 rounded-lg border border-dashed px-3 py-1.5 text-xs font-medium transition-colors", dropZoneBorderStyles[status === "optional" ? "optional" : "required"]), children: submitLabel }))] })), _jsx("p", { role: "status", className: cn("mt-2 text-xs", busy ? "text-muted-foreground" : "sr-only"), children: busy ? uploadingLabel : null }), error && (_jsxs("div", { role: "alert", className: "mt-2 flex flex-col items-center gap-1 text-xs", children: [_jsx("span", { className: "text-[var(--tone-danger-fg)]", children: error }), canSubmit && (_jsx("button", { type: "button", onClick: handleRetryClick, "aria-disabled": busy || undefined, className: "font-medium text-[var(--tone-danger-fg)] underline underline-offset-2 aria-disabled:cursor-not-allowed aria-disabled:opacity-60 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", children: retryLabel }))] })), canSubmit && (_jsx("input", { ref: inputRef, type: "file", accept: ACCEPTED_TYPES, "aria-label": `${label} certification file upload`, className: "hidden", onChange: handleFileChange, tabIndex: -1, disabled: busy }))] }));
|
|
105
200
|
}
|
|
106
201
|
//# sourceMappingURL=certification-upload-card.js.map
|