@flamingo-stack/openframe-frontend-core 0.0.403 → 0.0.404-snapshot.20260711053526

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 (152) hide show
  1. package/dist/{chunk-NOWXUQWF.js → chunk-3XCNFTFV.js} +3 -3
  2. package/dist/{chunk-HBO2DMX4.js → chunk-5XZEY34X.js} +3 -3
  3. package/dist/{chunk-M7LIGEAX.cjs → chunk-6OQ7YOX5.cjs} +33 -33
  4. package/dist/{chunk-M7LIGEAX.cjs.map → chunk-6OQ7YOX5.cjs.map} +1 -1
  5. package/dist/{chunk-CRUPO3MR.cjs → chunk-ACJ4CM6H.cjs} +93 -93
  6. package/dist/{chunk-CRUPO3MR.cjs.map → chunk-ACJ4CM6H.cjs.map} +1 -1
  7. package/dist/{chunk-AMPQKNAX.js → chunk-BK7QCB5J.js} +6 -6
  8. package/dist/{chunk-TBXE5S6P.cjs → chunk-BS6O4HLJ.cjs} +40 -40
  9. package/dist/{chunk-TBXE5S6P.cjs.map → chunk-BS6O4HLJ.cjs.map} +1 -1
  10. package/dist/{chunk-GA5AN24T.cjs → chunk-BX3R44MR.cjs} +2 -2
  11. package/dist/chunk-BX3R44MR.cjs.map +1 -0
  12. package/dist/{chunk-J4XR6YYZ.cjs → chunk-CCIBZ7TO.cjs} +10 -6
  13. package/dist/chunk-CCIBZ7TO.cjs.map +1 -0
  14. package/dist/{chunk-6MO5HF6P.cjs → chunk-DHIYBC5Z.cjs} +32 -32
  15. package/dist/{chunk-6MO5HF6P.cjs.map → chunk-DHIYBC5Z.cjs.map} +1 -1
  16. package/dist/{chunk-DH6HTYOV.js → chunk-E6YHDT3D.js} +6 -2
  17. package/dist/chunk-E6YHDT3D.js.map +1 -0
  18. package/dist/{chunk-G4YLKA7O.cjs → chunk-ELLTTMPE.cjs} +5 -5
  19. package/dist/{chunk-G4YLKA7O.cjs.map → chunk-ELLTTMPE.cjs.map} +1 -1
  20. package/dist/{chunk-3I4IZYHM.js → chunk-F3YLM5PO.js} +3 -3
  21. package/dist/{chunk-G3QYCV63.cjs → chunk-FFYEDIAG.cjs} +499 -441
  22. package/dist/chunk-FFYEDIAG.cjs.map +1 -0
  23. package/dist/{chunk-S4ZHBKGS.cjs → chunk-FOJRR647.cjs} +73 -73
  24. package/dist/{chunk-S4ZHBKGS.cjs.map → chunk-FOJRR647.cjs.map} +1 -1
  25. package/dist/{chunk-GYFUGMNM.js → chunk-GT7AJXKH.js} +2 -2
  26. package/dist/{chunk-TTUQSOBL.js → chunk-ICJRSNBM.js} +61 -3
  27. package/dist/chunk-ICJRSNBM.js.map +1 -0
  28. package/dist/{chunk-QXAHXMPD.cjs → chunk-LREN3G7R.cjs} +12 -12
  29. package/dist/{chunk-QXAHXMPD.cjs.map → chunk-LREN3G7R.cjs.map} +1 -1
  30. package/dist/{chunk-PFQQ5H6G.cjs → chunk-M6BGJVDY.cjs} +19 -19
  31. package/dist/{chunk-PFQQ5H6G.cjs.map → chunk-M6BGJVDY.cjs.map} +1 -1
  32. package/dist/{chunk-MTBFE3JF.js → chunk-PNJ5LMVK.js} +16 -2
  33. package/dist/chunk-PNJ5LMVK.js.map +1 -0
  34. package/dist/{chunk-YXOWUHGQ.js → chunk-Q2KKEE6W.js} +6 -6
  35. package/dist/{chunk-Q3AO2QWK.cjs → chunk-QAFRLO5N.cjs} +18 -4
  36. package/dist/chunk-QAFRLO5N.cjs.map +1 -0
  37. package/dist/{chunk-GYC5KXNX.js → chunk-QYTGHN2T.js} +24 -21
  38. package/dist/chunk-QYTGHN2T.js.map +1 -0
  39. package/dist/{chunk-R6SMQ2CO.js → chunk-RC35ITSR.js} +6 -6
  40. package/dist/{chunk-RNKXG55J.js → chunk-RIGB7LP7.js} +4 -4
  41. package/dist/{chunk-A636Y7GU.js → chunk-UIAQXIA6.js} +5 -5
  42. package/dist/{chunk-YORONSXG.js → chunk-UN2BJ7XW.js} +3 -3
  43. package/dist/{chunk-KVB7SHXY.cjs → chunk-V4MOB3AD.cjs} +12 -12
  44. package/dist/{chunk-KVB7SHXY.cjs.map → chunk-V4MOB3AD.cjs.map} +1 -1
  45. package/dist/{chunk-FFWIUNOT.cjs → chunk-VFWEFR3Q.cjs} +40 -40
  46. package/dist/{chunk-FFWIUNOT.cjs.map → chunk-VFWEFR3Q.cjs.map} +1 -1
  47. package/dist/{chunk-UXKVKB33.cjs → chunk-WEZIVLCO.cjs} +37 -34
  48. package/dist/chunk-WEZIVLCO.cjs.map +1 -0
  49. package/dist/{chunk-HGKWTKW7.js → chunk-WJRPMULP.js} +2 -2
  50. package/dist/chunk-WJRPMULP.js.map +1 -0
  51. package/dist/components/announcement-bar.d.ts +27 -1
  52. package/dist/components/announcement-bar.d.ts.map +1 -1
  53. package/dist/components/case-studies/index.cjs +10 -10
  54. package/dist/components/case-studies/index.js +4 -4
  55. package/dist/components/chat/index.cjs +4 -4
  56. package/dist/components/chat/index.js +3 -3
  57. package/dist/components/contact/index.cjs +5 -5
  58. package/dist/components/contact/index.js +4 -4
  59. package/dist/components/docs/index.cjs +7 -7
  60. package/dist/components/docs/index.js +6 -6
  61. package/dist/components/embeds/index.cjs +5 -5
  62. package/dist/components/embeds/index.js +4 -4
  63. package/dist/components/faq/index.cjs +6 -6
  64. package/dist/components/faq/index.js +5 -5
  65. package/dist/components/faq-accordion.d.ts.map +1 -1
  66. package/dist/components/features/index.cjs +4 -4
  67. package/dist/components/features/index.js +3 -3
  68. package/dist/components/help-center-pages/index.cjs +23 -23
  69. package/dist/components/help-center-pages/index.js +14 -14
  70. package/dist/components/index.cjs +274 -299
  71. package/dist/components/index.cjs.map +1 -1
  72. package/dist/components/index.js +110 -135
  73. package/dist/components/index.js.map +1 -1
  74. package/dist/components/navigation/index.cjs +4 -4
  75. package/dist/components/navigation/index.js +3 -3
  76. package/dist/components/onboarding-guides/index.cjs +8 -8
  77. package/dist/components/onboarding-guides/index.js +7 -7
  78. package/dist/components/related-content/index.cjs +6 -6
  79. package/dist/components/related-content/index.js +5 -5
  80. package/dist/components/tickets/index.cjs +7 -7
  81. package/dist/components/tickets/index.js +6 -6
  82. package/dist/components/ui/file-manager/index.cjs +50 -50
  83. package/dist/components/ui/file-manager/index.js +1 -1
  84. package/dist/components/ui/index.cjs +4 -4
  85. package/dist/components/ui/index.js +3 -3
  86. package/dist/hooks/api-hooks.d.ts +0 -4
  87. package/dist/hooks/api-hooks.d.ts.map +1 -1
  88. package/dist/hooks/index.cjs +2 -2
  89. package/dist/hooks/index.js +1 -1
  90. package/dist/hooks/use-self-fetch.d.ts +7 -0
  91. package/dist/hooks/use-self-fetch.d.ts.map +1 -1
  92. package/dist/index.cjs +20 -4
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.js +19 -3
  95. package/dist/types/announcement.cjs +5 -0
  96. package/dist/types/announcement.cjs.map +1 -1
  97. package/dist/types/announcement.d.ts +37 -7
  98. package/dist/types/announcement.d.ts.map +1 -1
  99. package/dist/types/announcement.js +5 -1
  100. package/dist/types/announcement.js.map +1 -1
  101. package/dist/types/index.cjs +5 -0
  102. package/dist/types/index.cjs.map +1 -1
  103. package/dist/types/index.js +5 -1
  104. package/dist/types/index.js.map +1 -1
  105. package/dist/utils/announcement-storage.d.ts +39 -7
  106. package/dist/utils/announcement-storage.d.ts.map +1 -1
  107. package/dist/utils/app-config.d.ts.map +1 -1
  108. package/dist/utils/color-analysis.d.ts +13 -0
  109. package/dist/utils/color-analysis.d.ts.map +1 -1
  110. package/dist/utils/index.cjs +58 -1
  111. package/dist/utils/index.cjs.map +1 -1
  112. package/dist/utils/index.d.ts +1 -0
  113. package/dist/utils/index.d.ts.map +1 -1
  114. package/dist/utils/index.js +52 -2
  115. package/dist/utils/index.js.map +1 -1
  116. package/package.json +1 -1
  117. package/src/components/.announcement-bar.md +32 -30
  118. package/src/components/announcement-bar.tsx +227 -182
  119. package/src/components/faq/faq-section.tsx +3 -3
  120. package/src/components/faq-accordion.tsx +17 -20
  121. package/src/components/ui/button/button.tsx +1 -1
  122. package/src/hooks/.api-hooks.md +1 -4
  123. package/src/hooks/api-hooks.ts +0 -7
  124. package/src/hooks/use-self-fetch.ts +29 -1
  125. package/src/stories/AnnouncementBar.stories.tsx +188 -152
  126. package/src/types/.announcement.md +2 -2
  127. package/src/types/announcement.ts +37 -7
  128. package/src/utils/.announcement-storage.md +19 -24
  129. package/src/utils/announcement-storage.ts +74 -28
  130. package/src/utils/app-config.ts +10 -1
  131. package/src/utils/color-analysis.ts +16 -1
  132. package/src/utils/index.ts +3 -0
  133. package/dist/chunk-DH6HTYOV.js.map +0 -1
  134. package/dist/chunk-G3QYCV63.cjs.map +0 -1
  135. package/dist/chunk-GA5AN24T.cjs.map +0 -1
  136. package/dist/chunk-GYC5KXNX.js.map +0 -1
  137. package/dist/chunk-HGKWTKW7.js.map +0 -1
  138. package/dist/chunk-J4XR6YYZ.cjs.map +0 -1
  139. package/dist/chunk-MTBFE3JF.js.map +0 -1
  140. package/dist/chunk-Q3AO2QWK.cjs.map +0 -1
  141. package/dist/chunk-TTUQSOBL.js.map +0 -1
  142. package/dist/chunk-UXKVKB33.cjs.map +0 -1
  143. /package/dist/{chunk-NOWXUQWF.js.map → chunk-3XCNFTFV.js.map} +0 -0
  144. /package/dist/{chunk-HBO2DMX4.js.map → chunk-5XZEY34X.js.map} +0 -0
  145. /package/dist/{chunk-AMPQKNAX.js.map → chunk-BK7QCB5J.js.map} +0 -0
  146. /package/dist/{chunk-3I4IZYHM.js.map → chunk-F3YLM5PO.js.map} +0 -0
  147. /package/dist/{chunk-GYFUGMNM.js.map → chunk-GT7AJXKH.js.map} +0 -0
  148. /package/dist/{chunk-YXOWUHGQ.js.map → chunk-Q2KKEE6W.js.map} +0 -0
  149. /package/dist/{chunk-R6SMQ2CO.js.map → chunk-RC35ITSR.js.map} +0 -0
  150. /package/dist/{chunk-RNKXG55J.js.map → chunk-RIGB7LP7.js.map} +0 -0
  151. /package/dist/{chunk-A636Y7GU.js.map → chunk-UIAQXIA6.js.map} +0 -0
  152. /package/dist/{chunk-YORONSXG.js.map → chunk-UN2BJ7XW.js.map} +0 -0
@@ -2324,6 +2324,10 @@ var DESIGN_PALETTE = [
2324
2324
  { name: "black", hex: "#161616", rgb: [22, 22, 22] },
2325
2325
  { name: "gray", hex: "#888888", rgb: [136, 136, 136] }
2326
2326
  ];
2327
+ function hexToRgb2(hex) {
2328
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
2329
+ return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : [0, 0, 0];
2330
+ }
2327
2331
  function getLuminance(rgb) {
2328
2332
  const [r, g, b] = rgb.map((c) => {
2329
2333
  c = c / 255;
@@ -2338,6 +2342,12 @@ function getContrastRatio(color1, color2) {
2338
2342
  const darkest = Math.min(lum1, lum2);
2339
2343
  return (brightest + 0.05) / (darkest + 0.05);
2340
2344
  }
2345
+ function pickReadableTextColor(bgHex) {
2346
+ const bg = hexToRgb2(bgHex);
2347
+ const darkContrast = getContrastRatio(bg, [26, 26, 26]);
2348
+ const lightContrast = getContrastRatio(bg, [250, 250, 250]);
2349
+ return darkContrast >= lightContrast ? "dark" : "light";
2350
+ }
2341
2351
  function extractDominantColor(canvas) {
2342
2352
  const ctx = canvas.getContext("2d");
2343
2353
  if (!ctx) return [128, 128, 128];
@@ -2475,6 +2485,42 @@ async function extractImageEdgeColorAsync(imageUrl) {
2475
2485
  });
2476
2486
  }
2477
2487
 
2488
+ // src/utils/announcement-storage.ts
2489
+ function announcementDismissCookieName(platform) {
2490
+ return `${platform}-announcement-dismissed`;
2491
+ }
2492
+ function isDismissedCookieValue(cookieValue, id) {
2493
+ return !!id && cookieValue === id;
2494
+ }
2495
+ function readCookie(name) {
2496
+ if (typeof document === "undefined") return void 0;
2497
+ const match = document.cookie.split("; ").find((row) => row.startsWith(`${name}=`));
2498
+ return match ? decodeURIComponent(match.slice(name.length + 1)) : void 0;
2499
+ }
2500
+ var legacyDismissKey = (platform, id) => `${platform}-announcement-${id}-dismissed`;
2501
+ function dismissAnnouncement(platform, id) {
2502
+ if (typeof document === "undefined") return;
2503
+ const name = announcementDismissCookieName(platform);
2504
+ document.cookie = `${name}=${encodeURIComponent(id)}; path=/; max-age=31536000; SameSite=Lax`;
2505
+ }
2506
+ function isAnnouncementDismissed(platform, id) {
2507
+ if (typeof document === "undefined") return false;
2508
+ const cookieValue = readCookie(announcementDismissCookieName(platform));
2509
+ if (cookieValue !== void 0) return isDismissedCookieValue(cookieValue, id);
2510
+ try {
2511
+ return localStorage.getItem(legacyDismissKey(platform, id)) !== null;
2512
+ } catch {
2513
+ return false;
2514
+ }
2515
+ }
2516
+ function clearLegacyAnnouncementCache(platform) {
2517
+ if (typeof window === "undefined") return;
2518
+ try {
2519
+ localStorage.removeItem(`${platform}-announcement-cache`);
2520
+ } catch {
2521
+ }
2522
+ }
2523
+
2478
2524
  // src/utils/image-proxy.ts
2479
2525
  function getProxiedImageUrl(imageUrl, options) {
2480
2526
  if (!imageUrl) return null;
@@ -2792,7 +2838,11 @@ function createLocalStorageAdapter(options) {
2792
2838
 
2793
2839
  // src/utils/app-config.ts
2794
2840
  function getAppType() {
2795
- return process.env.NEXT_PUBLIC_APP_TYPE || "openmsp";
2841
+ try {
2842
+ return process.env.NEXT_PUBLIC_APP_TYPE || "openmsp";
2843
+ } catch {
2844
+ return "openmsp";
2845
+ }
2796
2846
  }
2797
2847
 
2798
2848
  // src/utils/embed-proxy-auth-storage.ts
@@ -4028,6 +4078,7 @@ exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE;
4028
4078
  exports.STICKY_HEADER_OFFSET_PX = STICKY_HEADER_OFFSET_PX;
4029
4079
  exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS;
4030
4080
  exports.analyzeImageColor = analyzeImageColor;
4081
+ exports.announcementDismissCookieName = announcementDismissCookieName;
4031
4082
  exports.applyProxyAuth = applyProxyAuth;
4032
4083
  exports.brandMarkDataUri = brandMarkDataUri;
4033
4084
  exports.buildAutoContinuationDirective = buildAutoContinuationDirective;
@@ -4041,6 +4092,7 @@ exports.buildSuggestionUrl = buildSuggestionUrl;
4041
4092
  exports.canonicalContentRefType = canonicalContentRefType;
4042
4093
  exports.cleanEmailDomain = cleanEmailDomain;
4043
4094
  exports.clearEmbedProxyAuth = clearEmbedProxyAuth;
4095
+ exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache;
4044
4096
  exports.clickupTaskUrl = clickupTaskUrl;
4045
4097
  exports.cn = cn;
4046
4098
  exports.consumeAccessCode = consumeAccessCode;
@@ -4050,6 +4102,7 @@ exports.delay = delay;
4050
4102
  exports.deriveActiveColor = deriveActiveColor;
4051
4103
  exports.deriveHoverColor = deriveHoverColor;
4052
4104
  exports.devSectionAnchorId = devSectionAnchorId;
4105
+ exports.dismissAnnouncement = dismissAnnouncement;
4053
4106
  exports.embedAuthedFetch = embedAuthedFetch;
4054
4107
  exports.escapeMarkdownInline = escapeMarkdownInline;
4055
4108
  exports.evaluateHumanitySignals = evaluateHumanitySignals;
@@ -4132,6 +4185,7 @@ exports.getEmbedProxyAuth = getEmbedProxyAuth;
4132
4185
  exports.getFirstLastInitials = getFirstLastInitials;
4133
4186
  exports.getIconComponent = getIconComponent;
4134
4187
  exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds;
4188
+ exports.getLuminance = getLuminance;
4135
4189
  exports.getOSIcon = getOSIcon;
4136
4190
  exports.getOSLabel = getOSLabel;
4137
4191
  exports.getOSPlatformId = getOSPlatformId;
@@ -4161,7 +4215,9 @@ exports.getToolTypeAliases = getToolTypeAliases;
4161
4215
  exports.getTrendColors = getTrendColors;
4162
4216
  exports.hasGenericEmailDomain = hasGenericEmailDomain;
4163
4217
  exports.hexToRgb = hexToRgb;
4218
+ exports.isAnnouncementDismissed = isAnnouncementDismissed;
4164
4219
  exports.isCrossOriginUrl = isCrossOriginUrl;
4220
+ exports.isDismissedCookieValue = isDismissedCookieValue;
4165
4221
  exports.isFigmaSlidesUrl = isFigmaSlidesUrl;
4166
4222
  exports.isGenericDomain = isGenericDomain;
4167
4223
  exports.isGenericWebsiteDomain = isGenericWebsiteDomain;
@@ -4186,6 +4242,7 @@ exports.parseFaqHash = parseFaqHash;
4186
4242
  exports.parseScrollAnchor = parseScrollAnchor;
4187
4243
  exports.parseWireCommandOverride = parseWireCommandOverride;
4188
4244
  exports.pathToNodeId = pathToNodeId;
4245
+ exports.pickReadableTextColor = pickReadableTextColor;
4189
4246
  exports.platformColors = platformColors;
4190
4247
  exports.platformDescriptions = platformDescriptions;
4191
4248
  exports.platformDisplayNames = platformDisplayNames;