@flamingo-stack/openframe-frontend-core 0.0.294 → 0.0.295

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 (53) hide show
  1. package/dist/{chunk-AFKRDSRS.cjs → chunk-3XIB4VKS.cjs} +4 -4
  2. package/dist/{chunk-AFKRDSRS.cjs.map → chunk-3XIB4VKS.cjs.map} +1 -1
  3. package/dist/{chunk-B4T3RTFX.cjs → chunk-5O6N3BKR.cjs} +3 -3
  4. package/dist/{chunk-B4T3RTFX.cjs.map → chunk-5O6N3BKR.cjs.map} +1 -1
  5. package/dist/{chunk-ZYZWD7LS.js → chunk-6BZEAPNT.js} +36 -28
  6. package/dist/chunk-6BZEAPNT.js.map +1 -0
  7. package/dist/{chunk-CLWQ7MHW.cjs → chunk-6IBA2MQV.cjs} +23 -23
  8. package/dist/{chunk-CLWQ7MHW.cjs.map → chunk-6IBA2MQV.cjs.map} +1 -1
  9. package/dist/{chunk-E24HKKIE.js → chunk-7KXD7CWD.js} +2 -2
  10. package/dist/{chunk-6LUVYHKD.cjs → chunk-A2YL7QRX.cjs} +25 -25
  11. package/dist/{chunk-6LUVYHKD.cjs.map → chunk-A2YL7QRX.cjs.map} +1 -1
  12. package/dist/{chunk-73QT66LJ.cjs → chunk-ETACGX2A.cjs} +5 -5
  13. package/dist/{chunk-73QT66LJ.cjs.map → chunk-ETACGX2A.cjs.map} +1 -1
  14. package/dist/{chunk-6SG25O2N.js → chunk-HOVJGXF7.js} +2 -2
  15. package/dist/{chunk-V6YZGLHZ.cjs → chunk-INDQMNP6.cjs} +36 -28
  16. package/dist/chunk-INDQMNP6.cjs.map +1 -0
  17. package/dist/{chunk-RT6DJB3C.js → chunk-J3RDKZ32.js} +2 -2
  18. package/dist/{chunk-DEBURY5R.js → chunk-OOKKGOPQ.js} +2 -2
  19. package/dist/{chunk-QFG4G62D.js → chunk-YD43AKI5.js} +2 -2
  20. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  21. package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
  22. package/dist/components/chat/index.cjs +2 -2
  23. package/dist/components/chat/index.js +1 -1
  24. package/dist/components/contact/index.cjs +3 -3
  25. package/dist/components/contact/index.js +2 -2
  26. package/dist/components/embeds/index.cjs +3 -3
  27. package/dist/components/embeds/index.js +2 -2
  28. package/dist/components/faq/index.cjs +3 -3
  29. package/dist/components/faq/index.js +2 -2
  30. package/dist/components/features/index.cjs +2 -2
  31. package/dist/components/features/index.js +1 -1
  32. package/dist/components/index.cjs +46 -46
  33. package/dist/components/index.js +5 -5
  34. package/dist/components/navigation/index.cjs +2 -2
  35. package/dist/components/navigation/index.js +1 -1
  36. package/dist/components/related-content/index.cjs +3 -3
  37. package/dist/components/related-content/index.js +2 -2
  38. package/dist/components/tickets/index.cjs +45 -45
  39. package/dist/components/tickets/index.js +3 -3
  40. package/dist/components/ui/index.cjs +2 -2
  41. package/dist/components/ui/index.js +1 -1
  42. package/dist/index.cjs +2 -2
  43. package/dist/index.js +1 -1
  44. package/package.json +1 -1
  45. package/src/components/chat/chat-message-enhanced.tsx +8 -5
  46. package/src/components/chat/chat-ticket-list.tsx +25 -16
  47. package/dist/chunk-V6YZGLHZ.cjs.map +0 -1
  48. package/dist/chunk-ZYZWD7LS.js.map +0 -1
  49. /package/dist/{chunk-E24HKKIE.js.map → chunk-7KXD7CWD.js.map} +0 -0
  50. /package/dist/{chunk-6SG25O2N.js.map → chunk-HOVJGXF7.js.map} +0 -0
  51. /package/dist/{chunk-RT6DJB3C.js.map → chunk-J3RDKZ32.js.map} +0 -0
  52. /package/dist/{chunk-DEBURY5R.js.map → chunk-OOKKGOPQ.js.map} +0 -0
  53. /package/dist/{chunk-QFG4G62D.js.map → chunk-YD43AKI5.js.map} +0 -0
@@ -13,13 +13,6 @@ export interface ChatTicketListProps extends React.HTMLAttributes<HTMLDivElement
13
13
  skeletonCount?: number
14
14
  }
15
15
 
16
- function getMask(top: boolean, bottom: boolean) {
17
- if (top && bottom) return 'linear-gradient(to bottom, transparent, black 64px, black calc(100% - 64px), transparent)'
18
- if (top) return 'linear-gradient(to bottom, transparent, black 64px)'
19
- if (bottom) return 'linear-gradient(to bottom, black calc(100% - 64px), transparent)'
20
- return 'none'
21
- }
22
-
23
16
  const ChatTicketList = React.forwardRef<HTMLDivElement, ChatTicketListProps>(
24
17
  ({ className, tickets, onTicketClick, isLoading = false, skeletonCount = 5, ...props }, ref) => {
25
18
  const scrollRef = React.useRef<HTMLDivElement>(null)
@@ -54,24 +47,17 @@ const ChatTicketList = React.forwardRef<HTMLDivElement, ChatTicketListProps>(
54
47
 
55
48
  if (tickets.length === 0) return null
56
49
 
57
- const mask = getMask(fadeTop, fadeBottom)
58
-
59
50
  return (
60
51
  <div ref={ref} className={cn("flex flex-col gap-2 min-h-0", className)} {...props}>
61
52
  <p className="text-h5 text-ods-text-secondary shrink-0">Your Chats:</p>
62
53
  <div
63
54
  className={cn(
64
- "border-x border-ods-border flex-1 min-h-0 overflow-hidden",
55
+ "relative border-x border-ods-border flex-1 min-h-0 overflow-hidden",
65
56
  !fadeTop && "border-t rounded-t-md",
66
57
  !fadeBottom && "border-b rounded-b-md",
67
58
  )}
68
59
  >
69
- <div
70
- ref={scrollRef}
71
- className="overflow-y-auto h-full"
72
- onScroll={updateFade}
73
- style={mask !== 'none' ? { maskImage: mask, WebkitMaskImage: mask } : undefined}
74
- >
60
+ <div ref={scrollRef} className="overflow-y-auto h-full" onScroll={updateFade}>
75
61
  {tickets.map((ticket) => (
76
62
  <ChatTicketItem
77
63
  key={ticket.id}
@@ -80,6 +66,29 @@ const ChatTicketList = React.forwardRef<HTMLDivElement, ChatTicketListProps>(
80
66
  />
81
67
  ))}
82
68
  </div>
69
+
70
+ {/* Scroll-fade overlays — tinted with the page background so edge
71
+ tickets fade into the surface behind the list in BOTH themes. The
72
+ token flips with `data-theme` (light #fafafa, dark #161616),
73
+ unlike the previous alpha mask. Card-coloured fade (#ffffff) was
74
+ invisible in light theme against the items' own bg. Same token as
75
+ guide-welcome. */}
76
+ <div
77
+ aria-hidden
78
+ className={cn(
79
+ 'pointer-events-none absolute inset-x-0 top-0 h-16 transition-opacity duration-150',
80
+ fadeTop ? 'opacity-100' : 'opacity-0',
81
+ )}
82
+ style={{ background: 'linear-gradient(0deg, transparent 0%, var(--color-bg) 100%)' }}
83
+ />
84
+ <div
85
+ aria-hidden
86
+ className={cn(
87
+ 'pointer-events-none absolute inset-x-0 bottom-0 h-16 transition-opacity duration-150',
88
+ fadeBottom ? 'opacity-100' : 'opacity-0',
89
+ )}
90
+ style={{ background: 'linear-gradient(180deg, transparent 0%, var(--color-bg) 100%)' }}
91
+ />
83
92
  </div>
84
93
  </div>
85
94
  )