@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.
- package/dist/{chunk-AFKRDSRS.cjs → chunk-3XIB4VKS.cjs} +4 -4
- package/dist/{chunk-AFKRDSRS.cjs.map → chunk-3XIB4VKS.cjs.map} +1 -1
- package/dist/{chunk-B4T3RTFX.cjs → chunk-5O6N3BKR.cjs} +3 -3
- package/dist/{chunk-B4T3RTFX.cjs.map → chunk-5O6N3BKR.cjs.map} +1 -1
- package/dist/{chunk-ZYZWD7LS.js → chunk-6BZEAPNT.js} +36 -28
- package/dist/chunk-6BZEAPNT.js.map +1 -0
- package/dist/{chunk-CLWQ7MHW.cjs → chunk-6IBA2MQV.cjs} +23 -23
- package/dist/{chunk-CLWQ7MHW.cjs.map → chunk-6IBA2MQV.cjs.map} +1 -1
- package/dist/{chunk-E24HKKIE.js → chunk-7KXD7CWD.js} +2 -2
- package/dist/{chunk-6LUVYHKD.cjs → chunk-A2YL7QRX.cjs} +25 -25
- package/dist/{chunk-6LUVYHKD.cjs.map → chunk-A2YL7QRX.cjs.map} +1 -1
- package/dist/{chunk-73QT66LJ.cjs → chunk-ETACGX2A.cjs} +5 -5
- package/dist/{chunk-73QT66LJ.cjs.map → chunk-ETACGX2A.cjs.map} +1 -1
- package/dist/{chunk-6SG25O2N.js → chunk-HOVJGXF7.js} +2 -2
- package/dist/{chunk-V6YZGLHZ.cjs → chunk-INDQMNP6.cjs} +36 -28
- package/dist/chunk-INDQMNP6.cjs.map +1 -0
- package/dist/{chunk-RT6DJB3C.js → chunk-J3RDKZ32.js} +2 -2
- package/dist/{chunk-DEBURY5R.js → chunk-OOKKGOPQ.js} +2 -2
- package/dist/{chunk-QFG4G62D.js → chunk-YD43AKI5.js} +2 -2
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/index.cjs +46 -46
- package/dist/components/index.js +5 -5
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +45 -45
- package/dist/components/tickets/index.js +3 -3
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/components/chat/chat-message-enhanced.tsx +8 -5
- package/src/components/chat/chat-ticket-list.tsx +25 -16
- package/dist/chunk-V6YZGLHZ.cjs.map +0 -1
- package/dist/chunk-ZYZWD7LS.js.map +0 -1
- /package/dist/{chunk-E24HKKIE.js.map → chunk-7KXD7CWD.js.map} +0 -0
- /package/dist/{chunk-6SG25O2N.js.map → chunk-HOVJGXF7.js.map} +0 -0
- /package/dist/{chunk-RT6DJB3C.js.map → chunk-J3RDKZ32.js.map} +0 -0
- /package/dist/{chunk-DEBURY5R.js.map → chunk-OOKKGOPQ.js.map} +0 -0
- /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
|
)
|