@flamingo-stack/openframe-frontend-core 0.0.482 → 0.0.483

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 (90) hide show
  1. package/dist/{chunk-WPYPSIY2.js → chunk-3VMCJK7A.js} +2 -2
  2. package/dist/{chunk-VPVOJD5X.cjs → chunk-5YFXUXOV.cjs} +2 -2
  3. package/dist/chunk-5YFXUXOV.cjs.map +1 -0
  4. package/dist/{chunk-WBL5Y4PS.js → chunk-6U7HIZSW.js} +2 -2
  5. package/dist/{chunk-KUBJHB6I.cjs → chunk-AZZQLEKY.cjs} +11 -11
  6. package/dist/{chunk-KUBJHB6I.cjs.map → chunk-AZZQLEKY.cjs.map} +1 -1
  7. package/dist/{chunk-NWVKG7QC.cjs → chunk-CG5OX6WF.cjs} +37 -37
  8. package/dist/{chunk-NWVKG7QC.cjs.map → chunk-CG5OX6WF.cjs.map} +1 -1
  9. package/dist/{chunk-RZPF7MJ2.cjs → chunk-DYLIBE6I.cjs} +9 -9
  10. package/dist/{chunk-RZPF7MJ2.cjs.map → chunk-DYLIBE6I.cjs.map} +1 -1
  11. package/dist/{chunk-PHTSSHIQ.cjs → chunk-FEQW64Q5.cjs} +59 -59
  12. package/dist/{chunk-PHTSSHIQ.cjs.map → chunk-FEQW64Q5.cjs.map} +1 -1
  13. package/dist/{chunk-JQIUBFHL.js → chunk-FIRIO2NB.js} +4 -4
  14. package/dist/{chunk-3WCARCI4.js → chunk-GWJNTDXR.js} +2 -2
  15. package/dist/{chunk-XTWKDMCG.js → chunk-HAJQWSSU.js} +2 -2
  16. package/dist/{chunk-U37UTLP7.cjs → chunk-JBC5DAI5.cjs} +15 -15
  17. package/dist/{chunk-U37UTLP7.cjs.map → chunk-JBC5DAI5.cjs.map} +1 -1
  18. package/dist/{chunk-CKC3EAYT.js → chunk-JKRX3JHT.js} +2 -2
  19. package/dist/{chunk-ACOU5YJI.cjs → chunk-KDXEKD3K.cjs} +31 -31
  20. package/dist/{chunk-ACOU5YJI.cjs.map → chunk-KDXEKD3K.cjs.map} +1 -1
  21. package/dist/{chunk-6UGYBCEN.js → chunk-LT2PU6SK.js} +2 -2
  22. package/dist/{chunk-X5X43HFV.js → chunk-RDCAJDX7.js} +4 -4
  23. package/dist/{chunk-RUA3OXSJ.cjs → chunk-RFMH6MLM.cjs} +26 -26
  24. package/dist/{chunk-RUA3OXSJ.cjs.map → chunk-RFMH6MLM.cjs.map} +1 -1
  25. package/dist/{chunk-7I5B5PQ4.js → chunk-RJ4OJWT5.js} +2 -2
  26. package/dist/{chunk-7I5B5PQ4.js.map → chunk-RJ4OJWT5.js.map} +1 -1
  27. package/dist/{chunk-7LWXWXEY.js → chunk-T2S7A5IU.js} +4 -4
  28. package/dist/{chunk-AHGSN4AT.cjs → chunk-UAFJX7YV.cjs} +7 -7
  29. package/dist/{chunk-AHGSN4AT.cjs.map → chunk-UAFJX7YV.cjs.map} +1 -1
  30. package/dist/{chunk-22AED5IC.cjs → chunk-UO7TF67V.cjs} +62 -62
  31. package/dist/{chunk-22AED5IC.cjs.map → chunk-UO7TF67V.cjs.map} +1 -1
  32. package/dist/{chunk-4HL6UENH.cjs → chunk-UTIW7O7R.cjs} +5 -5
  33. package/dist/{chunk-4HL6UENH.cjs.map → chunk-UTIW7O7R.cjs.map} +1 -1
  34. package/dist/{chunk-UPN6EFOM.js → chunk-WIITTL5I.js} +4 -4
  35. package/dist/{chunk-JJE5TUZK.js → chunk-Y37XYIWA.js} +2 -2
  36. package/dist/{chunk-MRGTMMJ3.cjs → chunk-ZN56E4FX.cjs} +26 -26
  37. package/dist/{chunk-MRGTMMJ3.cjs.map → chunk-ZN56E4FX.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/contact/index.cjs +3 -3
  43. package/dist/components/contact/index.js +2 -2
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/embeds/index.cjs +3 -3
  47. package/dist/components/embeds/index.js +2 -2
  48. package/dist/components/faq/index.cjs +3 -3
  49. package/dist/components/faq/index.js +2 -2
  50. package/dist/components/features/index.cjs +2 -2
  51. package/dist/components/features/index.js +1 -1
  52. package/dist/components/help-center-pages/index.cjs +20 -20
  53. package/dist/components/help-center-pages/index.js +11 -11
  54. package/dist/components/index.cjs +130 -130
  55. package/dist/components/index.js +9 -9
  56. package/dist/components/navigation/index.cjs +2 -2
  57. package/dist/components/navigation/index.js +1 -1
  58. package/dist/components/onboarding-guides/index.cjs +5 -5
  59. package/dist/components/onboarding-guides/index.js +4 -4
  60. package/dist/components/related-content/index.cjs +3 -3
  61. package/dist/components/related-content/index.js +2 -2
  62. package/dist/components/tickets/index.cjs +5 -5
  63. package/dist/components/tickets/index.js +4 -4
  64. package/dist/components/ui/index.cjs +2 -2
  65. package/dist/components/ui/index.js +1 -1
  66. package/dist/index.cjs +2 -2
  67. package/dist/index.js +1 -1
  68. package/dist/types/marketing.d.ts +11 -1
  69. package/dist/types/marketing.d.ts.map +1 -1
  70. package/dist/utils/dismissal-storage.d.ts +9 -3
  71. package/dist/utils/dismissal-storage.d.ts.map +1 -1
  72. package/dist/utils/index.cjs +1 -1
  73. package/dist/utils/index.cjs.map +1 -1
  74. package/dist/utils/index.js +1 -1
  75. package/dist/utils/index.js.map +1 -1
  76. package/package.json +1 -1
  77. package/src/types/marketing.ts +11 -0
  78. package/src/utils/dismissal-storage.ts +10 -4
  79. package/dist/chunk-VPVOJD5X.cjs.map +0 -1
  80. /package/dist/{chunk-WPYPSIY2.js.map → chunk-3VMCJK7A.js.map} +0 -0
  81. /package/dist/{chunk-WBL5Y4PS.js.map → chunk-6U7HIZSW.js.map} +0 -0
  82. /package/dist/{chunk-JQIUBFHL.js.map → chunk-FIRIO2NB.js.map} +0 -0
  83. /package/dist/{chunk-3WCARCI4.js.map → chunk-GWJNTDXR.js.map} +0 -0
  84. /package/dist/{chunk-XTWKDMCG.js.map → chunk-HAJQWSSU.js.map} +0 -0
  85. /package/dist/{chunk-CKC3EAYT.js.map → chunk-JKRX3JHT.js.map} +0 -0
  86. /package/dist/{chunk-6UGYBCEN.js.map → chunk-LT2PU6SK.js.map} +0 -0
  87. /package/dist/{chunk-X5X43HFV.js.map → chunk-RDCAJDX7.js.map} +0 -0
  88. /package/dist/{chunk-7LWXWXEY.js.map → chunk-T2S7A5IU.js.map} +0 -0
  89. /package/dist/{chunk-UPN6EFOM.js.map → chunk-WIITTL5I.js.map} +0 -0
  90. /package/dist/{chunk-JJE5TUZK.js.map → chunk-Y37XYIWA.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.482",
3
+ "version": "0.0.483",
4
4
  "description": "Shared design system and components for all Flamingo platforms",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -346,6 +346,7 @@ export type ContentSourceType =
346
346
  | 'webinar' // Webinars
347
347
  | 'investor_update' // Investor updates
348
348
  | 'onboarding_guide' // Onboarding guides (lives on openframe platform)
349
+ | 'walkthrough_video' // Per-platform floating demo video (no slug, no detail page; URL is the platform home)
349
350
  | 'what_i_shipped' // What I Shipped employee check-ins (lives on people-hub)
350
351
  | 'faq' // FAQ Q&A pair (single-page /faqs index; deep-link by category anchor)
351
352
  | 'from_scratch';
@@ -361,4 +362,14 @@ export interface ContentSourceOption {
361
362
  published_at?: string;
362
363
  /** Featured image or cover image URL from the source entity */
363
364
  image_url?: string;
365
+ /**
366
+ * Display name of the platform that OWNS this row ("Flamingo", "OpenMSP", …).
367
+ *
368
+ * The content picker is deliberately unscoped, so every list mixes rows from
369
+ * different platforms and the owning platform is often the only thing telling
370
+ * two rows apart — per-platform walkthrough videos share a title AND a summary,
371
+ * differing only by platform. The URL cannot stand in for this: in dev every
372
+ * platform resolves to the same localhost origin.
373
+ */
374
+ platform_display_name?: string;
364
375
  }
@@ -14,11 +14,17 @@ import {
14
14
  /** Cookie-name stem. */
15
15
  export const WALKTHROUGH_VIDEO_DISMISS_KEY = 'walkthrough-video-dismissed';
16
16
 
17
- /** THE per-platform cookie name — the ONE home for the encoding, mirroring
18
- * `announcementDismissCookieName`. Hosts must not rebuild it inline, or an SSR
19
- * reader added later will restate the separator. */
17
+ /** THE per-platform cookie name — the ONE home for the encoding. Shaped exactly
18
+ * like `announcementDismissCookieName` (`<platform>-<name>-dismissed`): `:` is
19
+ * not a `token` character under RFC 6265, so the old `…-dismissed:<platform>`
20
+ * form was only working on browser leniency. Hosts must not rebuild this
21
+ * inline, or an SSR reader added later will restate the separator.
22
+ *
23
+ * Renaming orphans existing cookies, so anyone who had dismissed the card sees
24
+ * it once more. Deliberate and one-time: the alternative is reading both names
25
+ * forever to save a single re-dismissal. */
20
26
  export function walkthroughDismissCookieName(platform: string): string {
21
- return `${WALKTHROUGH_VIDEO_DISMISS_KEY}:${platform}`;
27
+ return `${platform}-${WALKTHROUGH_VIDEO_DISMISS_KEY}`;
22
28
  }
23
29
 
24
30
  /** Client-side dismissal check (id-match). Reads a cookie, so call it from an