@cellarnode/ui 0.179.0 → 0.181.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/brand/brand-profile-review-visibility.d.ts.map +1 -1
  2. package/dist/brand/brand-profile-review-visibility.js +6 -4
  3. package/dist/brand/brand-profile-review-visibility.js.map +1 -1
  4. package/dist/brand/brand-profile-workspace-copy.d.ts +14 -0
  5. package/dist/brand/brand-profile-workspace-copy.d.ts.map +1 -1
  6. package/dist/brand/brand-profile-workspace-copy.js +4 -0
  7. package/dist/brand/brand-profile-workspace-copy.js.map +1 -1
  8. package/dist/brand/brand-profile-workspace-parts.d.ts +22 -2
  9. package/dist/brand/brand-profile-workspace-parts.d.ts.map +1 -1
  10. package/dist/brand/brand-profile-workspace-parts.js +5 -6
  11. package/dist/brand/brand-profile-workspace-parts.js.map +1 -1
  12. package/dist/brand/brand-profile-workspace.d.ts +5 -1
  13. package/dist/brand/brand-profile-workspace.d.ts.map +1 -1
  14. package/dist/brand/brand-profile-workspace.js +7 -2
  15. package/dist/brand/brand-profile-workspace.js.map +1 -1
  16. package/dist/brand/index.d.ts +1 -0
  17. package/dist/brand/index.d.ts.map +1 -1
  18. package/dist/brand/index.js +1 -0
  19. package/dist/brand/index.js.map +1 -1
  20. package/dist/brand/public-visibility-toggle.d.ts +33 -0
  21. package/dist/brand/public-visibility-toggle.d.ts.map +1 -0
  22. package/dist/brand/public-visibility-toggle.js +23 -0
  23. package/dist/brand/public-visibility-toggle.js.map +1 -0
  24. package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
  25. package/dist/chat/messenger-screen/room-panel.js +137 -26
  26. package/dist/chat/messenger-screen/room-panel.js.map +1 -1
  27. package/dist/components/animated-shadcn-select.d.ts +2 -2
  28. package/dist/components/animated-shadcn-select.d.ts.map +1 -1
  29. package/dist/components/animated-shadcn-select.js +16 -3
  30. package/dist/components/animated-shadcn-select.js.map +1 -1
  31. package/dist/components/certification-upload-card.d.ts +23 -2
  32. package/dist/components/certification-upload-card.d.ts.map +1 -1
  33. package/dist/components/certification-upload-card.js +103 -8
  34. package/dist/components/certification-upload-card.js.map +1 -1
  35. package/dist/components/journey-card.d.ts +42 -1
  36. package/dist/components/journey-card.d.ts.map +1 -1
  37. package/dist/components/journey-card.js +25 -2
  38. package/dist/components/journey-card.js.map +1 -1
  39. package/dist/components/shadcn-select.d.ts +1 -1
  40. package/dist/components/shadcn-select.d.ts.map +1 -1
  41. package/dist/components/shadcn-select.js +9 -2
  42. package/dist/components/shadcn-select.js.map +1 -1
  43. package/dist/components/switch.d.ts +12 -0
  44. package/dist/components/switch.d.ts.map +1 -1
  45. package/dist/components/switch.js +34 -18
  46. package/dist/components/switch.js.map +1 -1
  47. package/dist/index.d.ts +1 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/lib/reveal-truncated-select-value.d.ts +8 -0
  51. package/dist/lib/reveal-truncated-select-value.d.ts.map +1 -0
  52. package/dist/lib/reveal-truncated-select-value.js +16 -0
  53. package/dist/lib/reveal-truncated-select-value.js.map +1 -0
  54. package/dist/offer/negotiation-labels.d.ts +12 -0
  55. package/dist/offer/negotiation-labels.d.ts.map +1 -1
  56. package/dist/offer/negotiation-labels.js +17 -3
  57. package/dist/offer/negotiation-labels.js.map +1 -1
  58. package/dist/offer/offer-page.d.ts.map +1 -1
  59. package/dist/offer/offer-page.js +46 -10
  60. package/dist/offer/offer-page.js.map +1 -1
  61. package/dist/offer/timeline-event.d.ts.map +1 -1
  62. package/dist/offer/timeline-event.js +4 -2
  63. package/dist/offer/timeline-event.js.map +1 -1
  64. package/dist/opportunities/wizard/step-opportunities.js +7 -3
  65. package/dist/opportunities/wizard/step-opportunities.js.map +1 -1
  66. 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.useEffect(() => {
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
- }
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
- roomId,
344
- active,
345
- remarkTick,
346
- queryClient,
347
- roomsQueryKey,
348
- getMarkRoomRead,
349
- getOnMarkReadSettled,
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":";AAAA,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,uDAAuD;AACvD,uEAAuE;AACvE,kEAAkE;AAClE,wEAAwE;AACxE,0DAA0D;AAC1D,EAAE;AACF,sEAAsE;AACtE,0DAA0D;AAC1D,sDAAsD;AAEtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,GAKV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,gBAAgB,GAEjB,MAAM,uBAAuB,CAAC;AAa/B,8BAA8B;AAE9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,WAAW,CAAC;AA2D7D;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,aAA+B;IACxD,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,WAAW,CAAC;QACrB,KAAK,gBAAgB,CAAC,WAAW,CAAC;QAClC,KAAK,gBAAgB,CAAC,UAAU,CAAC;QACjC,KAAK,gBAAgB,CAAC,YAAY;YAChC,OAAO,YAAY,CAAC;QACtB;YACE,wEAAwE;YACxE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAA0C,QAAW;IAC7E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,mCAAmC;AAEnC;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,EACpB,cAAc,EACd,QAAQ,GAKT;IACC,MAAM,EACJ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,aAAa,GACd,GAAG,eAAe,EAAE,CAAC;IACtB,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC;IAC5D,MAAM,EAAE,aAAa,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACpD,MAAM,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC5D,8DAA8D;IAC9D,6DAA6D;IAC7D,iEAAiE;IACjE,mEAAmE;IACnE,kBAAkB;IAClB,MAAM,IAAI,GAAG,OAAO,EAA8B,CAAC;IAEnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EACrD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,gBAAgB;QAChB,aAAa;QACb,eAAe;QACf,WAAW;QACX,gBAAgB;QAChB,gBAAgB,EAAE,aAAa;QAC/B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;KAC3C,CAAC,EACF;QACE,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,gBAAgB;QAChB,aAAa;QACb,eAAe;QACf,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,IAAI;KACL,CACF,CAAC;IAEF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,mBAAmB;AAEnB;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEjG,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EACpD,CAAC,aAAa,EAAE,eAAe,CAAC,CACjC,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,6CAC+B,SAAS,CAAC,gBAAgB,EACvD,SAAS,EAAC,yDAAyD,YAEnE,KAAC,yBAAyB,OAAK,KAAK,EAAE,IAAI,EAAE,SAAS,GAAI,GACrD,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,QAAQ,IACP,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,WAAW,EAAE,WAAW;QACxB,+DAA+D;QAC/D,+DAA+D;QAC/D,qBAAqB;QACrB,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,EAC/D,YAAY,EAAE,YAAY;QAC1B,mEAAmE;QACnE,oEAAoE;QACpE,6CAA6C;QAC7C,QAAQ,EAAE,KAAC,6BAA6B,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAI,YAErF,KAAC,YAAY,IAAC,cAAc,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,YAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,CACV,6CAC+B,KAAK,CAAC,gBAAgB,EACnD,SAAS,EAAC,yDAAyD,YAEnE,KAAC,yBAAyB,OAAK,KAAK,EAAE,IAAI,EAAE,KAAK,GAAI,GACjD,CACP,GACY,GACN,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,EAAE,KAAK,EAAsB;IAClE,OAAO,CACL,cACE,IAAI,EAAC,QAAQ,eACH,MAAM,4BACO,EAAE,EACzB,SAAS,EAAC,gGAAgG,YAEzG,KAAK,IAAI,sBAAsB,GAC5B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,EACjC,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,UAAU,EACV,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,MAAM,GAAG,IAAI,EACb,gBAAgB,EAChB,UAAU,GAAG,IAAI,EACjB,IAAI,GACmD;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA+B,IAAI,CAAC,CAAC;IACvF,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC9D,EAAE,CACH,CAAC;IACF,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC9C,CAAC,gBAAwB,EAAE,MAAoC,EAAE,EAAE;QACjE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO;QAC5D,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,CAAC;YAClF,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,eAAe,GACnB,IAAI,CAAC,MAAM,KAAK,QAAQ;QACtB,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,IAAI,oCAAoC,CAAC;QACxE,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc;YACjC,gEAAgE,CAAC,CAAC;IAExE,MAAM,gBAAgB,GAAG,MAAM,EAAE,YAAY,IAAI,YAAY,CAAC;IAC9D,MAAM,oBAAoB,GAAG,MAAM,EAAE,gBAAgB,IAAI,UAAU,CAAC;IACpE,MAAM,cAAc,GAAG,MAAM,EAAE,MAAM,IAAI,iBAAiB,CAAC;IAE3D,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAC/D,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CACvB,CAAC;IACF,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CACtC,GAAG,EAAE,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QACtC,iCAAiC;KAClC,EACD,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CACpC,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC;QAC9C,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,OAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC;QAClD,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,EACvE,CAAC,oBAAoB,CAAC,CACvB,CAAC;IACF,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAU,SAAS,CAAC,CAAC;IACjE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IACE,oBAAoB,KAAK,SAAS;YAClC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACrC,uBAAuB,CAAC,OAAO,KAAK,oBAAoB,EACxD,CAAC;YACD,OAAO;QACT,CAAC;QACD,uBAAuB,CAAC,OAAO,GAAG,oBAAoB,CAAC;QACvD,OAAO,CAAC,IAAI,CACV,8EAA8E;YAC5E,wGAAwG,CAC3G,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC3B,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;QACxD,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe;gBAAE,SAAS;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvB,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACvF,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAChD,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,IAAI,CAAC,4BAA4B;YAAE,OAAO;QACrF,OAAO,4BAA4B,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC1D,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,EAAE;QACD,iBAAiB;QACjB,kBAAkB;QAClB,gBAAgB;QAChB,WAAW;QACX,4BAA4B;KAC7B,CAAC,CAAC;IAEH,oDAAoD;IAEpD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;QACrC,QAAQ,EAAE,CAAC,uBAAuB,EAAE,YAAY,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;QACjC,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAkB,GAAG,EAAE;QACvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;YACvC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,4DAA4D;YAC5D,gEAAgE;YAChE,8BAA8B;YAC9B,IAAI,MAAM,CAAC,WAAW;gBAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,8BAA8B;IAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,SAAS,CAAC;IACzE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EACvE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAC5B,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,EAC7D,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CACtC,CAAC;IACF,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CACtC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,EAC9D,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CACvC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CACnC,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,aAAa,CAC3B,IAAI,EACJ,MAAM,EACN,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,oBAAoB,CACrB,CAAC;QACF,OAAO,gBAAgB,CACrB,OAAO,EACP,YAAY,EACZ,YAAY,CAAC,IAAI,EACjB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,CACvB,CAAC;IACJ,CAAC,CAAC,EACJ;QACE,IAAI,CAAC,QAAQ;QACb,MAAM;QACN,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,oBAAoB;QACpB,YAAY,CAAC,IAAI;QACjB,eAAe;QACf,gBAAgB;QAChB,sBAAsB;KACvB,CACF,CAAC;IAEF,mFAAmF;IAEnF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,CAC1E,IAAI,CAAC,gBAAgB,CACtB,CAAC;IAEF,6EAA6E;IAE7E,2EAA2E;IAC3E,qEAAqE;IACrE,8DAA8D;IAC9D,kEAAkE;IAClE,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,CAAC,MAAuC,EAAE,EAAE,CACzF,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAC5B,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAA2C;QAC3E,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,yEAAyE;IACzE,6EAA6E;IAC7E,oFAAoF;IACpF,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,MAAM,CAAC;QAC3B,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,yEAAyE;YACzE,wEAAwE;YACxE,aAAa,CAAC,OAAO,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACzE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;QACnC,MAAM,YAAY,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACtD,MAAM,YAAY,GAAG,WAAW,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACrE,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,MAAM,CAAC;QAC5D,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,eAAe,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QAC/C,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC;QACjC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;QACnC,mEAAmE;QACnE,4DAA4D;QAC5D,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3B,kEAAkE;QAClE,oEAAoE;QACpE,+DAA+D;QAC/D,gEAAgE;QAChE,gEAAgE;QAChE,uDAAuD;QACvD,KAAK,eAAe,EAAE,CAAC,MAAM,CAAC;aAC3B,IAAI,CAAC,GAAG,EAAE;YACT,oEAAoE;YACpE,+CAA+C;YAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC;YACpE,aAAa,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACzF,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,eAAe,CAAC,OAAO,KAAK,MAAM;oBAAE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvE,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YACrE,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,YAAY,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC5C,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YACrE,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,eAAe,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC,EAAE;QACD,MAAM;QACN,MAAM;QACN,UAAU;QACV,WAAW;QACX,aAAa;QACb,eAAe;QACf,oBAAoB;KACrB,CAAC,CAAC;IAEH,6EAA6E;IAC7E,yEAAyE;IACzE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE;YACV,IAAI,iBAAiB,EAAE,KAAK,MAAM;gBAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAErB,oCAAoC;IAEpC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,WAAW,EAAE,CAAC;YAChB,wDAAwD;YACxD,0DAA0D;YAC1D,gBAAgB;YAChB,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YACrE,IAAI,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,gBAAgB,EAAE,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,EAAE;QACD,WAAW;QACX,WAAW;QACX,aAAa;QACb,gBAAgB;QAChB,IAAI,CAAC,OAAO;QACZ,kBAAkB;QAClB,gBAAgB;KACjB,CAAC,CAAC;IAEH,kBAAkB;IAElB,OAAO,CACL,8BACG,oBAAoB,CAAC,CAAC,CAAC,CACtB,KAAC,gBAAgB,IACf,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,IAAI,+BAA+B,EACxF,cAAc,EACZ,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,yDAAyD,EAE1F,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,IAAI,gCAAgC,EACnF,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,OAAO,EAChD,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,IAAI,MAAM,EAC7C,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GACpC,CACH,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,SAAS,IACR,SAAS,EAAE,CAAC,UAAU,EACtB,KAAK,EAAE,YAAY,CAAC,IAAI,EACxB,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAC/B,QAAQ,EACN,KAAC,eAAe,IACd,YAAY,EAAE;wBACZ;4BACE,EAAE,EAAE,0BAA0B;4BAC9B,IAAI,EAAE,YAAY,CAAC,IAAI;4BACvB,QAAQ,EAAE,YAAY,CAAC,QAAQ;4BAC/B,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;yBAClD;wBACD;4BACE,EAAE,EAAE,YAAY;4BAChB,IAAI,EAAE,eAAe;4BACrB,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC;4BACtC,MAAM,EAAE,QAAQ;yBACjB;qBACF,EACD,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAChD,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GACzD,EAEJ,OAAO,EACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACb,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,EACnC,SAAS,EAAC,qXAAqX,YAE9X,IAAI,CAAC,gBAAgB;wBACpB,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,IAAI,SAAS,CAAC;wBACrC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,YAAY,CAAC,GAChC,CACV,CAAC,CAAC,CAAC,IAAI,EAEV,SAAS,EAAC,iDAAiD,EAC3D,QAAQ,EACN,UAAU,CAAC,CAAC,CAAC,CACX,cAAK,SAAS,EAAC,+FAA+F,YAC3G,eAAe,GACZ,CACP,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IACX,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,gBAAgB,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAC9D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;wBACzC,MAAM,gBAAgB,GAAG,iBAAiB;4BACxC,CAAC,CAAC,iBAAiB,CAAC,gBAAgB;4BACpC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC;wBAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,KAAK,EACL,SAAS,EACT,gBAAgB,IAAI,iBAAiB,EAAE,gBAAgB;4BACrD,CAAC,CAAC;gCACE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACnE,GAAG,CAAC,iBAAiB,EAAE,gBAAgB;oCACrC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,EAAE;oCACrD,CAAC,CAAC,EAAE,CAAC;6BACR;4BACH,CAAC,CAAC,SAAS,CACd,CAAC;wBACF,IAAI,iBAAiB,EAAE,CAAC;4BACtB,sBAAsB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;wBACrE,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,OAAO,EAAE,SAAS,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACzD,CAAC;wBACJ,CAAC;wBACD,OAAO,MAAM,CAAC;oBAChB,CAAC,EACD,iBAAiB,EAAE,iBAAiB,EACpC,sBAAsB,EAAE,2BAA2B,EACnD,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,EAAE;wBAC7D,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,CACrE,CAAC;wBACF,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,OAAO,EAAE,SAAS,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACzD,CAAC;oBACJ,CAAC,EACD,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAC9C,2BAA2B,EACzB,2BAA2B;wBACzB,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC;wBAC9D,CAAC,CAAC,SAAS,EAEf,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EACxC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAC7C,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAC/C,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EACnD,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAC7D,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;oBACrC,0DAA0D;oBAC1D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,+DAA+D;oBAC/D,yDAAyD;oBACzD,6DAA6D;oBAC7D,iEAAiE;oBACjE,QAAQ,EAAE,IAAI,CAAC,gBAAgB;oBAC/B,+DAA+D;oBAC/D,yDAAyD;oBACzD,6DAA6D;oBAC7D,4DAA4D;oBAC5D,MAAM,EACJ,WAAW;wBACT,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB;4BACpC,2CAA2C,CAAC,EAElD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,IAAI,iBAAiB,EAC/D,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,MAAM,EAC3C,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,SAAS,EACpD,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,SAAS,EAChD,SAAS,EAAE,KAAK,GAChB,CACH,YAGH,KAAC,eAAe,IACd,QAAQ,EAAE,eAAe,EACzB,oBAAoB,EAAE,YAAY,EAClC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EAAE,WAAW,EACrC,OAAO,EACL,wBAAwB;wBACtB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE;4BACZ,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;4BAC3E,IAAI,CAAC,MAAM;gCAAE,OAAO;4BACpB,aAAa,CAAC;gCACZ,SAAS,EAAE,MAAM,CAAC,EAAE;gCACpB,UAAU,EAAE,MAAM,CAAC,UAAU;gCAC7B,OAAO,EACL,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gCAC1E,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;6BACpC,CAAC,CAAC;wBACL,CAAC,EAEP,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EACnC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAChD,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAC7C,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EACnD,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAC7D,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAC7D,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EACrD,gBAAgB,EACd,gBAAgB,IAAI,iBAAiB;wBACnC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,CAAC;wBACtE,CAAC,CAAC,SAAS;oBAEf,2DAA2D;oBAC3D,mDAAmD;oBACnD,4BAA4B;oBAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;wBACrB,KAAK,IAAI;6BACN,YAAY,CAAC,SAAS,CAAC;6BACvB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;6BAC3D,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC,EACD,UAAU,EACR,eAAK,SAAS,EAAC,kCAAkC,aAC/C,YAAG,SAAS,EAAC,qDAAqD,YAC/D,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,iBAAiB,GAC9C,EACJ,YAAG,SAAS,EAAC,oDAAoD,YAC9D,MAAM,EAAE,WAAW,EAAE,WAAW;oCAC/B,qEAAqE,GACrE,IACA,EAER,eAAe,EACb,QAAQ,CAAC,CAAC,CAAC,CACT,cAAK,SAAS,EAAC,4EAA4E,YACxF,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,GAClD,CACP,CAAC,CAAC,CAAC,IAAI,GAEV,GACQ,IACX,CACJ,CAAC;AACJ,CAAC"}
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 const AnimatedShadcnSelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
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":"AAEA,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;AAC/D,eAAO,MAAM,yBAAyB,0GAAwB,CAAC;AAI/D,wBAAgB,2BAA2B,CAAC,EAC1C,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,2CAiBA;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
+ {"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
- export const AnimatedShadcnSelectValue = SelectPrimitive.Value;
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]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 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, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })] }));
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":"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"}
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
- onUpload: (file: File) => void;
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/B,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,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAgB,EAChB,WAAkC,EAClC,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,GACV,EAAE,4BAA4B,2CA4M9B"}
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
- onUpload(selected);
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
- if (!canSubmit)
66
- return;
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
- onUpload(droppedFile);
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-primary/40", 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", 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", onClick: handleReplaceClick, className: cn("text-xs font-medium underline-offset-2 hover:underline", fileChipTextStyles[documentTone]), children: "Replace" })), onRemove && (_jsxs(_Fragment, { children: [canSubmit && (_jsx("span", { className: fileChipDividerStyles[documentTone], "aria-hidden": "true", children: "|" })), _jsx("button", { type: "button", onClick: onRemove, className: "text-xs font-medium text-[var(--tone-danger-fg)] underline-offset-2 hover:underline", children: "Remove" })] }))] })] })) : (_jsxs("div", { className: "mt-2 w-full", 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", onClick: handleDropZoneClick, className: cn("w-full cursor-pointer rounded-lg border border-dashed px-3 py-1.5 text-xs font-medium transition-colors", dropZoneBorderStyles[status === "optional" ? "optional" : "required"]), children: submitLabel }))] })), canSubmit && (_jsx("input", { ref: inputRef, type: "file", accept: ACCEPTED_TYPES, "aria-label": `${label} certification file upload`, className: "hidden", onChange: handleFileChange, tabIndex: -1 }))] }));
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