@flamingo-stack/openframe-frontend-core 0.0.262 → 0.0.263-snapshot.20260612072624

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 (49) hide show
  1. package/dist/{chunk-U7UDESAU.js → chunk-4LVFQBIY.js} +2 -2
  2. package/dist/{chunk-6GBA6YJN.js → chunk-C6DUAGNW.js} +19 -3
  3. package/dist/chunk-C6DUAGNW.js.map +1 -0
  4. package/dist/{chunk-3DC6MHW6.cjs → chunk-E7UYMQM6.cjs} +19 -3
  5. package/dist/chunk-E7UYMQM6.cjs.map +1 -0
  6. package/dist/{chunk-XKA7UFED.cjs → chunk-EJIT6WMN.cjs} +30 -30
  7. package/dist/{chunk-XKA7UFED.cjs.map → chunk-EJIT6WMN.cjs.map} +1 -1
  8. package/dist/{chunk-ALEKX56R.js → chunk-ENQG6L3J.js} +2 -2
  9. package/dist/{chunk-YC357BPF.js → chunk-GTJOHRRF.js} +3 -3
  10. package/dist/{chunk-2XUWR7AH.cjs → chunk-HWP6BCK5.cjs} +11 -11
  11. package/dist/{chunk-2XUWR7AH.cjs.map → chunk-HWP6BCK5.cjs.map} +1 -1
  12. package/dist/{chunk-36HLBLDK.cjs → chunk-ISVJLNY4.cjs} +28 -28
  13. package/dist/{chunk-36HLBLDK.cjs.map → chunk-ISVJLNY4.cjs.map} +1 -1
  14. package/dist/{chunk-C3FAOQAH.cjs → chunk-NJIYBGJI.cjs} +28 -28
  15. package/dist/{chunk-C3FAOQAH.cjs.map → chunk-NJIYBGJI.cjs.map} +1 -1
  16. package/dist/{chunk-6AIXHYBZ.js → chunk-WHRQUWD6.js} +2 -2
  17. package/dist/components/chat/index.cjs +3 -3
  18. package/dist/components/chat/index.js +2 -2
  19. package/dist/components/contact/index.cjs +4 -4
  20. package/dist/components/contact/index.js +3 -3
  21. package/dist/components/features/index.cjs +3 -3
  22. package/dist/components/features/index.js +2 -2
  23. package/dist/components/index.cjs +55 -55
  24. package/dist/components/index.cjs.map +1 -1
  25. package/dist/components/index.js +9 -9
  26. package/dist/components/index.js.map +1 -1
  27. package/dist/components/navigation/index.cjs +3 -3
  28. package/dist/components/navigation/index.js +2 -2
  29. package/dist/components/related-content/index.cjs +4 -4
  30. package/dist/components/related-content/index.js +3 -3
  31. package/dist/components/tickets/index.cjs +58 -58
  32. package/dist/components/tickets/index.js +4 -4
  33. package/dist/components/ui/index.cjs +3 -3
  34. package/dist/components/ui/index.js +2 -2
  35. package/dist/hooks/index.cjs +2 -2
  36. package/dist/hooks/index.js +1 -1
  37. package/dist/hooks/ui/use-horizontal-scrollbar.d.ts.map +1 -1
  38. package/dist/index.cjs +3 -3
  39. package/dist/index.js +2 -2
  40. package/package.json +1 -1
  41. package/src/components/comment-card.tsx +1 -1
  42. package/src/components/vendor-display-button.tsx +5 -5
  43. package/src/hooks/ui/use-horizontal-scrollbar.ts +19 -2
  44. package/dist/chunk-3DC6MHW6.cjs.map +0 -1
  45. package/dist/chunk-6GBA6YJN.js.map +0 -1
  46. /package/dist/{chunk-U7UDESAU.js.map → chunk-4LVFQBIY.js.map} +0 -0
  47. /package/dist/{chunk-ALEKX56R.js.map → chunk-ENQG6L3J.js.map} +0 -0
  48. /package/dist/{chunk-YC357BPF.js.map → chunk-GTJOHRRF.js.map} +0 -0
  49. /package/dist/{chunk-6AIXHYBZ.js.map → chunk-WHRQUWD6.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flamingo-stack/openframe-frontend-core",
3
- "version": "0.0.262",
3
+ "version": "0.0.263-snapshot.20260612072624",
4
4
  "description": "Shared design system and components for all Flamingo platforms",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -76,7 +76,7 @@ export function CommentCard({
76
76
  const showDeleteButton = canUserDeleteComment()
77
77
 
78
78
  return (
79
- <div className="bg-ods-card border border-ods-border rounded-lg p-4 hover:border-[#FFC008] transition-all group overflow-hidden w-full max-w-full box-border" style={{ maxWidth: '100%', wordBreak: 'break-word' }}>
79
+ <div className="bg-ods-card border border-ods-border rounded-lg p-4 hover:border-ods-accent transition-all group overflow-hidden w-full max-w-full box-border" style={{ maxWidth: '100%', wordBreak: 'break-word' }}>
80
80
  {/* Comment Header */}
81
81
  <div className="flex flex-col gap-3 mb-3 min-[420px]:flex-row min-[420px]:items-center min-[420px]:justify-between min-[420px]:gap-2 w-full">
82
82
  {/* Row 1: Info + Timestamp */}
@@ -31,7 +31,7 @@ export function VendorDisplayButton({ vendor, onClick, variant = 'default', exte
31
31
  return (
32
32
  <button
33
33
  onClick={handleClick}
34
- className="inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-[#1A1A1A] border border-[#2A2A2A] hover:border-[#FFC008]/50 transition-colors"
34
+ className="inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-ods-card border border-ods-border hover:border-ods-accent/50 transition-colors"
35
35
  >
36
36
  {logoUrl ? (
37
37
  <div className="w-5 h-5 rounded overflow-hidden flex-shrink-0">
@@ -44,13 +44,13 @@ export function VendorDisplayButton({ vendor, onClick, variant = 'default', exte
44
44
  />
45
45
  </div>
46
46
  ) : (
47
- <div className="w-5 h-5 rounded bg-[#2A2A2A] flex items-center justify-center flex-shrink-0">
48
- <span className="text-[#666666] text-[10px] font-medium">
47
+ <div className="w-5 h-5 rounded bg-ods-border flex items-center justify-center flex-shrink-0">
48
+ <span className="text-ods-text-secondary text-[10px] font-medium">
49
49
  {vendor.title.charAt(0).toUpperCase()}
50
50
  </span>
51
51
  </div>
52
52
  )}
53
- <span className="text-sm font-medium text-white">
53
+ <span className="text-sm font-medium text-ods-text-primary">
54
54
  {vendor.title}
55
55
  </span>
56
56
  </button>
@@ -61,7 +61,7 @@ export function VendorDisplayButton({ vendor, onClick, variant = 'default', exte
61
61
  return (
62
62
  <button
63
63
  onClick={handleClick}
64
- className="flex items-center gap-2 bg-ods-card border border-ods-border rounded-lg py-2 px-3 hover:border-[#FFC008] transition-colors max-w-full overflow-hidden"
64
+ className="flex items-center gap-2 bg-ods-card border border-ods-border rounded-lg py-2 px-3 hover:border-ods-accent transition-colors max-w-full overflow-hidden"
65
65
  >
66
66
  {getVendorLogo(vendor) ? (
67
67
  <div className="w-8 h-8 bg-ods-card border border-ods-border rounded-lg flex items-center justify-center flex-shrink-0">
@@ -17,6 +17,7 @@ export function useHorizontalScrollbar() {
17
17
  const trackRef = useRef<HTMLDivElement>(null)
18
18
  const thumbRef = useRef<HTMLDivElement>(null)
19
19
  const roRef = useRef<ResizeObserver | null>(null)
20
+ const moRef = useRef<MutationObserver | null>(null)
20
21
  const [thumbRatio, setThumbRatio] = useState(0)
21
22
 
22
23
  // Edge-fade state
@@ -94,6 +95,10 @@ export function useHorizontalScrollbar() {
94
95
  roRef.current.disconnect()
95
96
  roRef.current = null
96
97
  }
98
+ if (moRef.current) {
99
+ moRef.current.disconnect()
100
+ moRef.current = null
101
+ }
97
102
  if (rafIdRef.current) {
98
103
  cancelAnimationFrame(rafIdRef.current)
99
104
  rafIdRef.current = 0
@@ -105,8 +110,20 @@ export function useHorizontalScrollbar() {
105
110
  const ratio = node.clientWidth / node.scrollWidth
106
111
  setThumbRatio(ratio >= 1 ? 0 : ratio)
107
112
 
108
- roRef.current = new ResizeObserver(measure)
109
- roRef.current.observe(node)
113
+ const ro = new ResizeObserver(measure)
114
+ roRef.current = ro
115
+ const observeAll = () => {
116
+ ro.disconnect()
117
+ ro.observe(node)
118
+ for (const child of Array.from(node.children)) ro.observe(child)
119
+ }
120
+ observeAll()
121
+
122
+ moRef.current = new MutationObserver(() => {
123
+ observeAll()
124
+ measure()
125
+ })
126
+ moRef.current.observe(node, { childList: true })
110
127
 
111
128
  requestAnimationFrame(() => {
112
129
  syncThumbToDOM()