@flamingo-stack/openframe-frontend-core 0.0.310 → 0.0.311-snapshot.20260623165315

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 (96) hide show
  1. package/dist/{chunk-AIHM4TT7.cjs → chunk-52MEECZB.cjs} +5 -5
  2. package/dist/{chunk-AIHM4TT7.cjs.map → chunk-52MEECZB.cjs.map} +1 -1
  3. package/dist/{chunk-2YYAKVL7.cjs → chunk-64JGK22Q.cjs} +50 -30
  4. package/dist/chunk-64JGK22Q.cjs.map +1 -0
  5. package/dist/{chunk-4RHOLPFU.cjs → chunk-6GKJXZZM.cjs} +14 -14
  6. package/dist/{chunk-4RHOLPFU.cjs.map → chunk-6GKJXZZM.cjs.map} +1 -1
  7. package/dist/{chunk-PLFQJ5E7.cjs → chunk-7G7QJNLY.cjs} +37 -37
  8. package/dist/{chunk-PLFQJ5E7.cjs.map → chunk-7G7QJNLY.cjs.map} +1 -1
  9. package/dist/{chunk-CKFHYXSJ.cjs → chunk-7KKIACLD.cjs} +7 -7
  10. package/dist/{chunk-CKFHYXSJ.cjs.map → chunk-7KKIACLD.cjs.map} +1 -1
  11. package/dist/{chunk-6RMANFX7.cjs → chunk-AHVG5CFA.cjs} +30 -30
  12. package/dist/{chunk-6RMANFX7.cjs.map → chunk-AHVG5CFA.cjs.map} +1 -1
  13. package/dist/{chunk-5OFBD6EQ.js → chunk-BX4MDVBL.js} +40 -20
  14. package/dist/chunk-BX4MDVBL.js.map +1 -0
  15. package/dist/{chunk-6SBJVDH3.js → chunk-CGR2DPPQ.js} +4 -4
  16. package/dist/{chunk-N3YPIZBH.js → chunk-DJBMLHN7.js} +2 -2
  17. package/dist/{chunk-WSEK6W4B.js → chunk-F45P357Q.js} +2 -2
  18. package/dist/{chunk-46KRPHHL.js → chunk-GRBFBBSX.js} +2 -2
  19. package/dist/{chunk-QPTJOLAP.js → chunk-GZPOUZAY.js} +2 -2
  20. package/dist/{chunk-E7FIV5LH.js → chunk-IHCOTCIG.js} +2 -2
  21. package/dist/{chunk-ER4CMF47.js → chunk-MI6TET5N.js} +56 -34
  22. package/dist/chunk-MI6TET5N.js.map +1 -0
  23. package/dist/{chunk-6TRTIHGW.cjs → chunk-NQDC366J.cjs} +110 -88
  24. package/dist/chunk-NQDC366J.cjs.map +1 -0
  25. package/dist/{chunk-QWMYOUGP.js → chunk-PH2RLC4E.js} +2 -2
  26. package/dist/{chunk-4RI7S6ZD.cjs → chunk-SPFV5TFS.cjs} +9 -9
  27. package/dist/{chunk-4RI7S6ZD.cjs.map → chunk-SPFV5TFS.cjs.map} +1 -1
  28. package/dist/{chunk-J3YKVLQ5.cjs → chunk-UFJVTOGS.cjs} +26 -26
  29. package/dist/{chunk-J3YKVLQ5.cjs.map → chunk-UFJVTOGS.cjs.map} +1 -1
  30. package/dist/components/case-studies/index.cjs +8 -8
  31. package/dist/components/case-studies/index.js +2 -2
  32. package/dist/components/chart.d.ts +1 -1
  33. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  34. package/dist/components/chat/index.cjs +2 -2
  35. package/dist/components/chat/index.js +1 -1
  36. package/dist/components/chat/types/entities/investor-update.d.ts.map +1 -1
  37. package/dist/components/chat/utils/execute-navigation.d.ts.map +1 -1
  38. package/dist/components/contact/index.cjs +3 -3
  39. package/dist/components/contact/index.js +2 -2
  40. package/dist/components/docs/index.cjs +5 -5
  41. package/dist/components/docs/index.js +4 -4
  42. package/dist/components/embeds/index.cjs +3 -3
  43. package/dist/components/embeds/index.js +2 -2
  44. package/dist/components/faq/faq-document-page.d.ts +39 -3
  45. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  46. package/dist/components/faq/faq-section.d.ts.map +1 -1
  47. package/dist/components/faq/index.cjs +3 -3
  48. package/dist/components/faq/index.js +2 -2
  49. package/dist/components/features/index.cjs +2 -2
  50. package/dist/components/features/index.js +1 -1
  51. package/dist/components/index.cjs +172 -172
  52. package/dist/components/index.js +8 -8
  53. package/dist/components/logs-list.d.ts.map +1 -1
  54. package/dist/components/navigation/index.cjs +2 -2
  55. package/dist/components/navigation/index.js +1 -1
  56. package/dist/components/onboarding-guides/index.cjs +23 -23
  57. package/dist/components/onboarding-guides/index.js +3 -3
  58. package/dist/components/related-content/index.cjs +3 -3
  59. package/dist/components/related-content/index.js +2 -2
  60. package/dist/components/tickets/index.cjs +60 -60
  61. package/dist/components/tickets/index.js +3 -3
  62. package/dist/components/ui/device-card.d.ts.map +1 -1
  63. package/dist/components/ui/index.cjs +2 -2
  64. package/dist/components/ui/index.js +1 -1
  65. package/dist/index.cjs +2 -2
  66. package/dist/index.js +1 -1
  67. package/dist/utils/date-utils.d.ts.map +1 -1
  68. package/dist/utils/format.d.ts +12 -3
  69. package/dist/utils/format.d.ts.map +1 -1
  70. package/dist/utils/index.cjs +26 -14
  71. package/dist/utils/index.cjs.map +1 -1
  72. package/dist/utils/index.js +26 -14
  73. package/dist/utils/index.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/components/chat/entity-cards/blog-card.tsx +2 -2
  76. package/src/components/chat/entity-cards/dispatch.tsx +1 -1
  77. package/src/components/chat/entity-cards/program-card.tsx +17 -4
  78. package/src/components/chat/types/entities/investor-update.ts +2 -0
  79. package/src/components/chat/utils/execute-navigation.ts +15 -1
  80. package/src/components/faq/faq-document-page.tsx +78 -19
  81. package/src/components/faq/faq-section.tsx +23 -8
  82. package/src/components/logs-list.tsx +8 -6
  83. package/src/components/ui/device-card.tsx +8 -6
  84. package/src/utils/date-utils.ts +27 -14
  85. package/src/utils/format.ts +27 -8
  86. package/dist/chunk-2YYAKVL7.cjs.map +0 -1
  87. package/dist/chunk-5OFBD6EQ.js.map +0 -1
  88. package/dist/chunk-6TRTIHGW.cjs.map +0 -1
  89. package/dist/chunk-ER4CMF47.js.map +0 -1
  90. /package/dist/{chunk-6SBJVDH3.js.map → chunk-CGR2DPPQ.js.map} +0 -0
  91. /package/dist/{chunk-N3YPIZBH.js.map → chunk-DJBMLHN7.js.map} +0 -0
  92. /package/dist/{chunk-WSEK6W4B.js.map → chunk-F45P357Q.js.map} +0 -0
  93. /package/dist/{chunk-46KRPHHL.js.map → chunk-GRBFBBSX.js.map} +0 -0
  94. /package/dist/{chunk-QPTJOLAP.js.map → chunk-GZPOUZAY.js.map} +0 -0
  95. /package/dist/{chunk-E7FIV5LH.js.map → chunk-IHCOTCIG.js.map} +0 -0
  96. /package/dist/{chunk-QWMYOUGP.js.map → chunk-PH2RLC4E.js.map} +0 -0
@@ -158,7 +158,7 @@ function formatDate(date, options = {
158
158
  console.warn("Invalid date provided to formatDate:", date);
159
159
  return "Invalid Date";
160
160
  }
161
- return dateObj.toLocaleDateString("en-US", options);
161
+ return dateObj.toLocaleDateString("en-US", { timeZone: "UTC", ...options });
162
162
  }
163
163
  function formatNumber(num) {
164
164
  return num.toLocaleString();
@@ -257,12 +257,17 @@ function formatDurationCompact(seconds) {
257
257
  function formatTimeWithTimezone(date, timezone) {
258
258
  if (!date) return "";
259
259
  const dateObj = typeof date === "string" ? new Date(date) : date;
260
- const timeStr = dateObj.toLocaleTimeString("en-US", {
260
+ const opts = {
261
261
  hour: "numeric",
262
262
  minute: "2-digit",
263
- hour12: true
264
- });
265
- return timezone ? `${timeStr} ${timezone}` : timeStr;
263
+ hour12: true,
264
+ timeZone: timezone || "UTC"
265
+ };
266
+ try {
267
+ return dateObj.toLocaleTimeString("en-US", opts);
268
+ } catch {
269
+ return dateObj.toLocaleTimeString("en-US", { ...opts, timeZone: "UTC" });
270
+ }
266
271
  }
267
272
  function formatDurationFromRange(startAt, endAt) {
268
273
  if (!startAt || !endAt) return "";
@@ -2453,19 +2458,19 @@ function formatTicketRelativeTime(iso) {
2453
2458
  if (diffMin < 60) return `${diffMin} min ago`;
2454
2459
  const diffHours = Math.floor(diffMin / 60);
2455
2460
  if (diffHours < 24) return diffHours === 1 ? "1 hour ago" : `${diffHours} hours ago`;
2456
- const mm = String(date.getMonth() + 1).padStart(2, "0");
2457
- const dd = String(date.getDate()).padStart(2, "0");
2458
- const yyyy = date.getFullYear();
2461
+ const mm = String(date.getUTCMonth() + 1).padStart(2, "0");
2462
+ const dd = String(date.getUTCDate()).padStart(2, "0");
2463
+ const yyyy = date.getUTCFullYear();
2459
2464
  return `${mm}/${dd}/${yyyy}`;
2460
2465
  }
2461
2466
  function formatTicketFullTimestamp(iso) {
2462
2467
  const date = new Date(iso);
2463
2468
  if (Number.isNaN(date.getTime())) return "";
2464
- const mm = String(date.getMonth() + 1).padStart(2, "0");
2465
- const dd = String(date.getDate()).padStart(2, "0");
2466
- const yyyy = date.getFullYear();
2467
- let hours = date.getHours();
2468
- const minutes = String(date.getMinutes()).padStart(2, "0");
2469
+ const mm = String(date.getUTCMonth() + 1).padStart(2, "0");
2470
+ const dd = String(date.getUTCDate()).padStart(2, "0");
2471
+ const yyyy = date.getUTCFullYear();
2472
+ let hours = date.getUTCHours();
2473
+ const minutes = String(date.getUTCMinutes()).padStart(2, "0");
2469
2474
  const ampm = hours >= 12 ? "PM" : "AM";
2470
2475
  hours = hours % 12 || 12;
2471
2476
  return `${mm}/${dd}/${yyyy}, ${hours}:${minutes} ${ampm}`;
@@ -2495,7 +2500,8 @@ function formatRelativeTime(timestamp) {
2495
2500
  return targetTime.toLocaleDateString("en-US", {
2496
2501
  month: "short",
2497
2502
  day: "numeric",
2498
- year: targetTime.getFullYear() !== now.getFullYear() ? "numeric" : void 0
2503
+ year: targetTime.getUTCFullYear() !== now.getUTCFullYear() ? "numeric" : void 0,
2504
+ timeZone: "UTC"
2499
2505
  });
2500
2506
  }
2501
2507
  function formatAbsoluteDate(timestamp, options = {}) {
@@ -2508,6 +2514,9 @@ function formatAbsoluteDate(timestamp, options = {}) {
2508
2514
  year: "numeric",
2509
2515
  month: "short",
2510
2516
  day: "numeric",
2517
+ // Pin to UTC so SSR (Vercel = UTC) and the client agree (React #418).
2518
+ // Caller can override via `options`.
2519
+ timeZone: "UTC",
2511
2520
  ...options
2512
2521
  };
2513
2522
  return targetTime.toLocaleDateString("en-US", defaultOptions);
@@ -2524,6 +2533,9 @@ function formatDateTime(timestamp, options = {}) {
2524
2533
  day: "numeric",
2525
2534
  hour: "numeric",
2526
2535
  minute: "2-digit",
2536
+ // Pin to UTC so SSR (Vercel = UTC) and the client agree (React #418).
2537
+ // Caller can override via `options`.
2538
+ timeZone: "UTC",
2527
2539
  ...options
2528
2540
  };
2529
2541
  return targetTime.toLocaleDateString("en-US", defaultOptions);