@flamingo-stack/openframe-frontend-core 0.0.292 → 0.0.293-snapshot.20260619104458

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 (163) hide show
  1. package/dist/{chunk-6FHO73AP.js → chunk-26PKDALD.js} +7 -79
  2. package/dist/chunk-26PKDALD.js.map +1 -0
  3. package/dist/{chunk-OXOTKEYY.cjs → chunk-4W7NYJ3B.cjs} +23 -23
  4. package/dist/{chunk-OXOTKEYY.cjs.map → chunk-4W7NYJ3B.cjs.map} +1 -1
  5. package/dist/{chunk-KBKZYJRI.cjs → chunk-5E2HOSSH.cjs} +66 -19
  6. package/dist/chunk-5E2HOSSH.cjs.map +1 -0
  7. package/dist/{chunk-CUQH4SHH.js → chunk-6GCI7JOE.js} +2 -2
  8. package/dist/{chunk-2NJ44RTT.cjs → chunk-6LUVYHKD.cjs} +30 -30
  9. package/dist/{chunk-2NJ44RTT.cjs.map → chunk-6LUVYHKD.cjs.map} +1 -1
  10. package/dist/{chunk-E2YXRSDG.js → chunk-6SG25O2N.js} +15 -13
  11. package/dist/chunk-6SG25O2N.js.map +1 -0
  12. package/dist/{chunk-CDJOKNCS.cjs → chunk-73QT66LJ.cjs} +25 -19
  13. package/dist/chunk-73QT66LJ.cjs.map +1 -0
  14. package/dist/{chunk-N6ZM5PYZ.js → chunk-7RIYT7ZH.js} +49 -2
  15. package/dist/chunk-7RIYT7ZH.js.map +1 -0
  16. package/dist/{chunk-FFP2A77V.cjs → chunk-AFKRDSRS.cjs} +12 -12
  17. package/dist/{chunk-FFP2A77V.cjs.map → chunk-AFKRDSRS.cjs.map} +1 -1
  18. package/dist/{chunk-PZZGDS5I.cjs → chunk-B4T3RTFX.cjs} +24 -22
  19. package/dist/chunk-B4T3RTFX.cjs.map +1 -0
  20. package/dist/{chunk-5R5OODNE.cjs → chunk-CLWQ7MHW.cjs} +40 -40
  21. package/dist/{chunk-5R5OODNE.cjs.map → chunk-CLWQ7MHW.cjs.map} +1 -1
  22. package/dist/{chunk-C667P6LZ.js → chunk-DEBURY5R.js} +13 -7
  23. package/dist/{chunk-C667P6LZ.js.map → chunk-DEBURY5R.js.map} +1 -1
  24. package/dist/{chunk-HTYUZXQP.js → chunk-E24HKKIE.js} +5 -5
  25. package/dist/{chunk-VK4B6UGU.js → chunk-E4XABBSU.js} +16 -8
  26. package/dist/{chunk-VK4B6UGU.js.map → chunk-E4XABBSU.js.map} +1 -1
  27. package/dist/{chunk-DUIWR7RQ.js → chunk-EJXHZX2E.js} +3 -3
  28. package/dist/{chunk-5PELVUFT.cjs → chunk-EYEW6PTA.cjs} +44 -36
  29. package/dist/chunk-EYEW6PTA.cjs.map +1 -0
  30. package/dist/{chunk-SLP4KXP6.js → chunk-FQJK446R.js} +8 -2
  31. package/dist/chunk-FQJK446R.js.map +1 -0
  32. package/dist/{chunk-JC5RN7ZS.cjs → chunk-FT4FCV7L.cjs} +6 -6
  33. package/dist/{chunk-JC5RN7ZS.cjs.map → chunk-FT4FCV7L.cjs.map} +1 -1
  34. package/dist/{chunk-ZHNL2IPK.cjs → chunk-J54Z3OCR.cjs} +8 -2
  35. package/dist/chunk-J54Z3OCR.cjs.map +1 -0
  36. package/dist/{chunk-Z6BK4XHH.cjs → chunk-KXCRGTRN.cjs} +10 -82
  37. package/dist/chunk-KXCRGTRN.cjs.map +1 -0
  38. package/dist/{chunk-5KD3S25X.cjs → chunk-LFGGF7OT.cjs} +139 -2
  39. package/dist/chunk-LFGGF7OT.cjs.map +1 -0
  40. package/dist/{chunk-N45M3TK3.js → chunk-NSPOYUBH.js} +2 -2
  41. package/dist/{chunk-TYZEMPPH.js → chunk-OQ6X7ZOC.js} +138 -1
  42. package/dist/chunk-OQ6X7ZOC.js.map +1 -0
  43. package/dist/{chunk-B2U6INNO.js → chunk-QFG4G62D.js} +4 -4
  44. package/dist/{chunk-IXDTNQF4.js → chunk-RT6DJB3C.js} +4 -4
  45. package/dist/{chunk-MDLWEJAV.cjs → chunk-V6YZGLHZ.cjs} +454 -459
  46. package/dist/chunk-V6YZGLHZ.cjs.map +1 -0
  47. package/dist/{chunk-2BMVBPC7.cjs → chunk-YIGPRLQY.cjs} +9 -9
  48. package/dist/{chunk-2BMVBPC7.cjs.map → chunk-YIGPRLQY.cjs.map} +1 -1
  49. package/dist/{chunk-5FK7X3EE.js → chunk-ZYZWD7LS.js} +9 -14
  50. package/dist/chunk-ZYZWD7LS.js.map +1 -0
  51. package/dist/components/chat/entity-cards/roadmap-card.d.ts +7 -1
  52. package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
  53. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +0 -5
  54. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  55. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -1
  56. package/dist/components/chat/index.cjs +7 -7
  57. package/dist/components/chat/index.js +6 -6
  58. package/dist/components/chat/types/api.types.d.ts +0 -6
  59. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  60. package/dist/components/contact/index.cjs +8 -8
  61. package/dist/components/contact/index.js +7 -7
  62. package/dist/components/docs/index.cjs +6 -6
  63. package/dist/components/docs/index.js +5 -5
  64. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  65. package/dist/components/embeds/index.cjs +8 -8
  66. package/dist/components/embeds/index.js +7 -7
  67. package/dist/components/faq/faq-section.d.ts.map +1 -1
  68. package/dist/components/faq/index.cjs +8 -8
  69. package/dist/components/faq/index.js +7 -7
  70. package/dist/components/features/index.cjs +7 -7
  71. package/dist/components/features/index.js +6 -6
  72. package/dist/components/index.cjs +214 -193
  73. package/dist/components/index.cjs.map +1 -1
  74. package/dist/components/index.js +50 -29
  75. package/dist/components/index.js.map +1 -1
  76. package/dist/components/navigation/index.cjs +7 -7
  77. package/dist/components/navigation/index.js +6 -6
  78. package/dist/components/onboarding-guides/index.cjs +24 -24
  79. package/dist/components/onboarding-guides/index.js +4 -4
  80. package/dist/components/related-content/index.cjs +8 -8
  81. package/dist/components/related-content/index.js +7 -7
  82. package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -1
  83. package/dist/components/shared/delivery/delivery-row.d.ts +8 -1
  84. package/dist/components/shared/delivery/delivery-row.d.ts.map +1 -1
  85. package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
  86. package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -1
  87. package/dist/components/shared/roadmap/roadmap-view.d.ts.map +1 -1
  88. package/dist/components/tickets/help-center-card.d.ts +7 -1
  89. package/dist/components/tickets/help-center-card.d.ts.map +1 -1
  90. package/dist/components/tickets/help-center-list.d.ts.map +1 -1
  91. package/dist/components/tickets/index.cjs +82 -73
  92. package/dist/components/tickets/index.cjs.map +1 -1
  93. package/dist/components/tickets/index.js +24 -15
  94. package/dist/components/tickets/index.js.map +1 -1
  95. package/dist/components/tickets/ticket-center.d.ts.map +1 -1
  96. package/dist/components/tickets/ticket-row.d.ts +6 -1
  97. package/dist/components/tickets/ticket-row.d.ts.map +1 -1
  98. package/dist/components/ui/index.cjs +7 -7
  99. package/dist/components/ui/index.js +6 -6
  100. package/dist/hooks/index.cjs +5 -3
  101. package/dist/hooks/index.cjs.map +1 -1
  102. package/dist/hooks/index.d.ts +1 -0
  103. package/dist/hooks/index.d.ts.map +1 -1
  104. package/dist/hooks/index.js +4 -2
  105. package/dist/hooks/use-scroll-to-hash.d.ts +17 -0
  106. package/dist/hooks/use-scroll-to-hash.d.ts.map +1 -0
  107. package/dist/index.cjs +19 -7
  108. package/dist/index.cjs.map +1 -1
  109. package/dist/index.js +19 -7
  110. package/dist/utils/dev-sections/dev-section-param-keys.d.ts +10 -0
  111. package/dist/utils/dev-sections/dev-section-param-keys.d.ts.map +1 -1
  112. package/dist/utils/index.cjs +71 -1
  113. package/dist/utils/index.cjs.map +1 -1
  114. package/dist/utils/index.d.ts +2 -1
  115. package/dist/utils/index.d.ts.map +1 -1
  116. package/dist/utils/index.js +67 -2
  117. package/dist/utils/index.js.map +1 -1
  118. package/dist/utils/same-page-hash-nav.d.ts +37 -0
  119. package/dist/utils/same-page-hash-nav.d.ts.map +1 -0
  120. package/dist/utils/source-icons.d.ts.map +1 -1
  121. package/package.json +1 -1
  122. package/src/components/chat/entity-cards/roadmap-card.tsx +8 -1
  123. package/src/components/chat/hooks/use-nats-chat-adapter.ts +0 -8
  124. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +1 -12
  125. package/src/components/chat/types/api.types.ts +0 -6
  126. package/src/components/docs/use-document-tree.ts +45 -3
  127. package/src/components/faq/faq-section.tsx +22 -9
  128. package/src/components/shared/delivery/delivery-lists.tsx +9 -0
  129. package/src/components/shared/delivery/delivery-row.tsx +15 -2
  130. package/src/components/shared/delivery/delivery-table.tsx +7 -1
  131. package/src/components/shared/roadmap/roadmap-grid.tsx +7 -0
  132. package/src/components/shared/roadmap/roadmap-view.tsx +11 -0
  133. package/src/components/tickets/help-center-card.tsx +9 -17
  134. package/src/components/tickets/help-center-list.tsx +13 -0
  135. package/src/components/tickets/ticket-center.tsx +2 -0
  136. package/src/components/tickets/ticket-row.tsx +7 -1
  137. package/src/hooks/index.ts +5 -0
  138. package/src/hooks/use-scroll-to-hash.ts +74 -0
  139. package/src/utils/.source-icons.md +1 -1
  140. package/src/utils/dev-sections/dev-section-param-keys.ts +14 -0
  141. package/src/utils/index.ts +17 -1
  142. package/src/utils/same-page-hash-nav.ts +115 -0
  143. package/src/utils/source-icons.ts +7 -1
  144. package/dist/chunk-5FK7X3EE.js.map +0 -1
  145. package/dist/chunk-5KD3S25X.cjs.map +0 -1
  146. package/dist/chunk-5PELVUFT.cjs.map +0 -1
  147. package/dist/chunk-6FHO73AP.js.map +0 -1
  148. package/dist/chunk-CDJOKNCS.cjs.map +0 -1
  149. package/dist/chunk-E2YXRSDG.js.map +0 -1
  150. package/dist/chunk-KBKZYJRI.cjs.map +0 -1
  151. package/dist/chunk-MDLWEJAV.cjs.map +0 -1
  152. package/dist/chunk-N6ZM5PYZ.js.map +0 -1
  153. package/dist/chunk-PZZGDS5I.cjs.map +0 -1
  154. package/dist/chunk-SLP4KXP6.js.map +0 -1
  155. package/dist/chunk-TYZEMPPH.js.map +0 -1
  156. package/dist/chunk-Z6BK4XHH.cjs.map +0 -1
  157. package/dist/chunk-ZHNL2IPK.cjs.map +0 -1
  158. /package/dist/{chunk-CUQH4SHH.js.map → chunk-6GCI7JOE.js.map} +0 -0
  159. /package/dist/{chunk-HTYUZXQP.js.map → chunk-E24HKKIE.js.map} +0 -0
  160. /package/dist/{chunk-DUIWR7RQ.js.map → chunk-EJXHZX2E.js.map} +0 -0
  161. /package/dist/{chunk-N45M3TK3.js.map → chunk-NSPOYUBH.js.map} +0 -0
  162. /package/dist/{chunk-B2U6INNO.js.map → chunk-QFG4G62D.js.map} +0 -0
  163. /package/dist/{chunk-IXDTNQF4.js.map → chunk-RT6DJB3C.js.map} +0 -0
@@ -1569,6 +1569,9 @@ var DEV_SECTION_PARAM_KEYS = {
1569
1569
  /** Delivery (bug-fix / enhancement) task-type filter. */
1570
1570
  deliveryTaskType: "task_type"
1571
1571
  };
1572
+ function devSectionAnchorId(section, id) {
1573
+ return `${section}-${id}`;
1574
+ }
1572
1575
  var OpenFrameLogoIcon = ({ className }) => React2.createElement(OpenFrameLogo, { className, upperPathColor: "currentColor" });
1573
1576
  var ICON_REGISTRY = {
1574
1577
  // lucide-react (kebab-case)
@@ -2615,7 +2618,13 @@ var SOURCE_LABELS_BY_TABLE = {
2615
2618
  "github-pr-reviews-public": "OpenFrame PR Reviews",
2616
2619
  // HubSpot
2617
2620
  "hubspot-tickets": "HubSpot Tickets",
2618
- "hubspot-tickets-anon": "Known Issues",
2621
+ // Anon + self share the "Tickets" root so the chip vocabulary is
2622
+ // uniform across logged-out (everyone's resolved support tickets,
2623
+ // anonymized → "Tickets") and logged-in (user-scoped → "My Tickets")
2624
+ // surfaces. The full-PII `hubspot-tickets` entry above is product-hub
2625
+ // internal only (admin view), kept as "HubSpot Tickets" to flag the
2626
+ // distinct scope.
2627
+ "hubspot-tickets-anon": "Tickets",
2619
2628
  "hubspot-tickets-self": "My Tickets",
2620
2629
  // Communications
2621
2630
  "slack-messages": "OpenMSP Community"
@@ -3370,6 +3379,62 @@ function scrollElementIntoView(target, options = {}) {
3370
3379
  activeRaf = requestAnimationFrame(step);
3371
3380
  }
3372
3381
 
3382
+ // src/utils/same-page-hash-nav.ts
3383
+ var STICKY_HEADER_OFFSET_PX = 96;
3384
+ var HUB_HEADER_OFFSET_PX = 80;
3385
+ function normalizeHashFragment(hash) {
3386
+ if (!hash) return "";
3387
+ const second = hash.indexOf("#", 1);
3388
+ return second < 0 ? hash : hash.slice(0, second);
3389
+ }
3390
+ function navigateSamePageHash(target, options = {}) {
3391
+ if (typeof window === "undefined") return false;
3392
+ const { headerOffset = 0, history: historyMode = "push" } = options;
3393
+ const normalizedTarget = target.startsWith("#") ? window.location.pathname + window.location.search + target : target;
3394
+ let url;
3395
+ try {
3396
+ url = new URL(normalizedTarget, window.location.href);
3397
+ } catch {
3398
+ return false;
3399
+ }
3400
+ if (url.origin !== window.location.origin || url.pathname !== window.location.pathname || url.search !== window.location.search) {
3401
+ return false;
3402
+ }
3403
+ const current = window.location.pathname + window.location.search + window.location.hash;
3404
+ const normalizedHash = normalizeHashFragment(url.hash);
3405
+ if (process.env.NODE_ENV === "development" && normalizedHash !== url.hash) {
3406
+ console.warn(
3407
+ `[navigateSamePageHash] malformed fragment "${url.hash}" \u2192 normalizing to "${normalizedHash}". Fix the upstream composer.`
3408
+ );
3409
+ }
3410
+ const next = url.pathname + url.search + normalizedHash;
3411
+ const id = normalizedHash && normalizedHash !== "#" ? normalizedHash.slice(1) : "";
3412
+ if (!id && next !== current) return false;
3413
+ if (next !== current) {
3414
+ const oldURL = window.location.href;
3415
+ if (historyMode === "replace") {
3416
+ window.history.replaceState(null, "", next);
3417
+ } else {
3418
+ window.history.pushState(null, "", next);
3419
+ }
3420
+ window.dispatchEvent(new HashChangeEvent("hashchange", {
3421
+ oldURL,
3422
+ newURL: window.location.href
3423
+ }));
3424
+ }
3425
+ const el = id ? document.getElementById(id) : null;
3426
+ if (id && !el && process.env.NODE_ENV === "development") {
3427
+ console.warn(
3428
+ `[navigateSamePageHash] anchor "#${id}" not found \u2014 scrolling to top.`
3429
+ );
3430
+ }
3431
+ scrollElementIntoView(el ?? document.documentElement, {
3432
+ behavior: "smooth",
3433
+ headerOffset
3434
+ });
3435
+ return true;
3436
+ }
3437
+
3373
3438
  // src/utils/list-url.ts
3374
3439
  var ALIASES = { blog_post_existing: "blog_post" };
3375
3440
  function canonicalContentRefType(contentRefType) {
@@ -3840,6 +3905,7 @@ exports.ELAPSED_MS_FIELD = ELAPSED_MS_FIELD;
3840
3905
  exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS;
3841
3906
  exports.HEX_PATTERN = HEX_PATTERN;
3842
3907
  exports.HONEYPOT_FIELD = HONEYPOT_FIELD;
3908
+ exports.HUB_HEADER_OFFSET_PX = HUB_HEADER_OFFSET_PX;
3843
3909
  exports.ICON_REGISTRY = ICON_REGISTRY;
3844
3910
  exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS;
3845
3911
  exports.OS_PLATFORMS = OS_PLATFORMS;
@@ -3849,6 +3915,7 @@ exports.SCROLL_ANCHOR = SCROLL_ANCHOR;
3849
3915
  exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY;
3850
3916
  exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES;
3851
3917
  exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE;
3918
+ exports.STICKY_HEADER_OFFSET_PX = STICKY_HEADER_OFFSET_PX;
3852
3919
  exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS;
3853
3920
  exports.analyzeImageColor = analyzeImageColor;
3854
3921
  exports.applyProxyAuth = applyProxyAuth;
@@ -3870,6 +3937,7 @@ exports.deepClone = deepClone;
3870
3937
  exports.delay = delay;
3871
3938
  exports.deriveActiveColor = deriveActiveColor;
3872
3939
  exports.deriveHoverColor = deriveHoverColor;
3940
+ exports.devSectionAnchorId = devSectionAnchorId;
3873
3941
  exports.embedAuthedFetch = embedAuthedFetch;
3874
3942
  exports.escapeMarkdownInline = escapeMarkdownInline;
3875
3943
  exports.evaluateHumanitySignals = evaluateHumanitySignals;
@@ -3993,8 +4061,10 @@ exports.isWithinMinutes = isWithinMinutes;
3993
4061
  exports.makeComposeContentUrl = makeComposeContentUrl;
3994
4062
  exports.markdownToPlainText = markdownToPlainText;
3995
4063
  exports.nameInitials = nameInitials;
4064
+ exports.navigateSamePageHash = navigateSamePageHash;
3996
4065
  exports.normalizeDocPath = normalizeDocPath;
3997
4066
  exports.normalizeDomain = normalizeDomain;
4067
+ exports.normalizeHashFragment = normalizeHashFragment;
3998
4068
  exports.normalizeIconKey = normalizeIconKey;
3999
4069
  exports.normalizeOSType = normalizeOSType;
4000
4070
  exports.normalizeToolType = normalizeToolType;