@flamingo-stack/openframe-frontend-core 0.0.393 → 0.0.394-snapshot.20260709183206

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 (116) hide show
  1. package/dist/{chunk-QKQ5HQD4.cjs → chunk-3VJPMRNT.cjs} +7 -7
  2. package/dist/{chunk-QKQ5HQD4.cjs.map → chunk-3VJPMRNT.cjs.map} +1 -1
  3. package/dist/{chunk-Z2325LAV.js → chunk-45Z6B6CO.js} +4 -4
  4. package/dist/{chunk-3RKVI6PM.cjs → chunk-4YVUL4T7.cjs} +12 -12
  5. package/dist/{chunk-3RKVI6PM.cjs.map → chunk-4YVUL4T7.cjs.map} +1 -1
  6. package/dist/{chunk-YPDKH5UW.cjs → chunk-5U72NXGG.cjs} +9 -9
  7. package/dist/{chunk-YPDKH5UW.cjs.map → chunk-5U72NXGG.cjs.map} +1 -1
  8. package/dist/{chunk-SA2MGKME.cjs → chunk-BEPZ5YAN.cjs} +59 -59
  9. package/dist/{chunk-SA2MGKME.cjs.map → chunk-BEPZ5YAN.cjs.map} +1 -1
  10. package/dist/{chunk-DKHZGHNR.cjs → chunk-J2UDV3FH.cjs} +62 -62
  11. package/dist/{chunk-DKHZGHNR.cjs.map → chunk-J2UDV3FH.cjs.map} +1 -1
  12. package/dist/{chunk-2FOQU3NG.cjs → chunk-M7WTWBCY.cjs} +37 -37
  13. package/dist/{chunk-2FOQU3NG.cjs.map → chunk-M7WTWBCY.cjs.map} +1 -1
  14. package/dist/{chunk-NTTTGX4Z.js → chunk-MPN3MV5H.js} +4 -4
  15. package/dist/{chunk-DLIQSAB4.js → chunk-NJPMHDFG.js} +2 -2
  16. package/dist/{chunk-MOT2FIAF.js → chunk-NN73KMIK.js} +2 -2
  17. package/dist/{chunk-ZTBJ5LLB.cjs → chunk-OSOKWP5R.cjs} +31 -31
  18. package/dist/{chunk-ZTBJ5LLB.cjs.map → chunk-OSOKWP5R.cjs.map} +1 -1
  19. package/dist/{chunk-JG33QHBP.js → chunk-PFF6Q6N5.js} +2 -2
  20. package/dist/{chunk-OSGZVWBB.js → chunk-PJ2YFSMY.js} +2 -2
  21. package/dist/{chunk-DNPX4L7L.cjs → chunk-PNMX75W4.cjs} +1174 -1060
  22. package/dist/chunk-PNMX75W4.cjs.map +1 -0
  23. package/dist/{chunk-OXN4NGTC.cjs → chunk-RNWLVI3V.cjs} +26 -26
  24. package/dist/{chunk-OXN4NGTC.cjs.map → chunk-RNWLVI3V.cjs.map} +1 -1
  25. package/dist/{chunk-NKVCAWLP.js → chunk-RWBTSF2E.js} +5298 -5184
  26. package/dist/chunk-RWBTSF2E.js.map +1 -0
  27. package/dist/{chunk-IZYGLYQ4.cjs → chunk-T6FEE3R2.cjs} +5 -5
  28. package/dist/{chunk-IZYGLYQ4.cjs.map → chunk-T6FEE3R2.cjs.map} +1 -1
  29. package/dist/{chunk-VQNF6IV2.js → chunk-TTEAYVLT.js} +2 -2
  30. package/dist/{chunk-WQEHQ6LA.js → chunk-TWLPG5IQ.js} +2 -2
  31. package/dist/{chunk-H2MQRYTB.js → chunk-WHJEU7V7.js} +4 -4
  32. package/dist/{chunk-MTOMVI5S.cjs → chunk-Y4I4462K.cjs} +15 -15
  33. package/dist/{chunk-MTOMVI5S.cjs.map → chunk-Y4I4462K.cjs.map} +1 -1
  34. package/dist/{chunk-UDJ6TH7I.js → chunk-YJE3HL6Q.js} +4 -4
  35. package/dist/{chunk-QU2OUDMX.js → chunk-ZB5HSWX4.js} +2 -2
  36. package/dist/{chunk-EQUONLZW.cjs → chunk-ZCKVP4SU.cjs} +26 -26
  37. package/dist/{chunk-EQUONLZW.cjs.map → chunk-ZCKVP4SU.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/cards-strip.d.ts +114 -0
  51. package/dist/components/features/cards-strip.d.ts.map +1 -0
  52. package/dist/components/features/index.cjs +6 -2
  53. package/dist/components/features/index.cjs.map +1 -1
  54. package/dist/components/features/index.d.ts +1 -0
  55. package/dist/components/features/index.d.ts.map +1 -1
  56. package/dist/components/features/index.js +5 -1
  57. package/dist/components/features/video-bites-strip.d.ts +15 -26
  58. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  59. package/dist/components/help-center-pages/index.cjs +20 -20
  60. package/dist/components/help-center-pages/index.js +11 -11
  61. package/dist/components/index.cjs +124 -120
  62. package/dist/components/index.cjs.map +1 -1
  63. package/dist/components/index.js +13 -9
  64. package/dist/components/index.js.map +1 -1
  65. package/dist/components/navigation/index.cjs +2 -2
  66. package/dist/components/navigation/index.js +1 -1
  67. package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
  68. package/dist/components/onboarding-guides/index.cjs +5 -5
  69. package/dist/components/onboarding-guides/index.js +4 -4
  70. package/dist/components/related-content/index.cjs +3 -3
  71. package/dist/components/related-content/index.js +2 -2
  72. package/dist/components/tickets/index.cjs +5 -5
  73. package/dist/components/tickets/index.js +4 -4
  74. package/dist/components/ui/index.cjs +2 -2
  75. package/dist/components/ui/index.js +1 -1
  76. package/dist/index.cjs +6 -2
  77. package/dist/index.cjs.map +1 -1
  78. package/dist/index.js +5 -1
  79. package/dist/types/blog.d.ts +9 -10
  80. package/dist/types/blog.d.ts.map +1 -1
  81. package/dist/types/case-study.d.ts +2 -5
  82. package/dist/types/case-study.d.ts.map +1 -1
  83. package/dist/types/customer-interview.d.ts +2 -5
  84. package/dist/types/customer-interview.d.ts.map +1 -1
  85. package/dist/types/entity-platform.d.ts +22 -0
  86. package/dist/types/entity-platform.d.ts.map +1 -0
  87. package/dist/types/index.d.ts +1 -0
  88. package/dist/types/index.d.ts.map +1 -1
  89. package/package.json +1 -2
  90. package/src/components/features/cards-strip.tsx +587 -0
  91. package/src/components/features/index.ts +3 -0
  92. package/src/components/features/video-bites-strip.tsx +53 -375
  93. package/src/components/navigation/mobile-burger-menu.tsx +11 -5
  94. package/src/stories/CardsStrip.stories.tsx +101 -0
  95. package/src/types/blog.ts +9 -10
  96. package/src/types/case-study.ts +2 -5
  97. package/src/types/customer-interview.ts +2 -5
  98. package/src/types/entity-platform.ts +21 -0
  99. package/src/types/index.ts +1 -0
  100. package/dist/chunk-DNPX4L7L.cjs.map +0 -1
  101. package/dist/chunk-NKVCAWLP.js.map +0 -1
  102. package/dist/components/carousel.d.ts +0 -19
  103. package/dist/components/carousel.d.ts.map +0 -1
  104. package/src/components/.carousel.md +0 -50
  105. package/src/components/carousel.tsx +0 -262
  106. /package/dist/{chunk-Z2325LAV.js.map → chunk-45Z6B6CO.js.map} +0 -0
  107. /package/dist/{chunk-NTTTGX4Z.js.map → chunk-MPN3MV5H.js.map} +0 -0
  108. /package/dist/{chunk-DLIQSAB4.js.map → chunk-NJPMHDFG.js.map} +0 -0
  109. /package/dist/{chunk-MOT2FIAF.js.map → chunk-NN73KMIK.js.map} +0 -0
  110. /package/dist/{chunk-JG33QHBP.js.map → chunk-PFF6Q6N5.js.map} +0 -0
  111. /package/dist/{chunk-OSGZVWBB.js.map → chunk-PJ2YFSMY.js.map} +0 -0
  112. /package/dist/{chunk-VQNF6IV2.js.map → chunk-TTEAYVLT.js.map} +0 -0
  113. /package/dist/{chunk-WQEHQ6LA.js.map → chunk-TWLPG5IQ.js.map} +0 -0
  114. /package/dist/{chunk-H2MQRYTB.js.map → chunk-WHJEU7V7.js.map} +0 -0
  115. /package/dist/{chunk-UDJ6TH7I.js.map → chunk-YJE3HL6Q.js.map} +0 -0
  116. /package/dist/{chunk-QU2OUDMX.js.map → chunk-ZB5HSWX4.js.map} +0 -0
package/src/types/blog.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { UserProfile } from "./user"
2
+ import type { EntityPlatformAssoc } from "./entity-platform"
2
3
 
3
4
  // Core Platform Types (dynamically fetched from database via API)
4
5
  export type Platform = string;
@@ -58,14 +59,10 @@ export interface BlogPost {
58
59
  blog_media_assets?: BlogMediaAsset[];
59
60
  }
60
61
 
61
- export interface BlogPostPlatform {
62
- id: string;
63
- blog_post_id: number;
64
- platform: Platform;
65
- is_featured: boolean;
66
- featured_order?: number;
67
- created_at: string;
68
- }
62
+ /** Hydrated `entity_platforms` association row — the shared junction shape
63
+ * (see entity-platform.ts). The legacy `{blog_post_id, platform}` junction
64
+ * declaration is gone; runtime always produced the hydrated shape. */
65
+ export type BlogPostPlatform = EntityPlatformAssoc;
69
66
 
70
67
  export interface BlogPostCategory {
71
68
  post_id: number;
@@ -152,7 +149,8 @@ export interface CreateBlogPostData {
152
149
  og_image_url?: string;
153
150
  published_at?: string | null;
154
151
  platforms: Platform[];
155
- featured_platform?: Platform;
152
+ /** Platform UUID (Platform is a string alias; kept as `string` for clarity — setEntityPlatforms compares against platform_id). */
153
+ featured_platform?: string;
156
154
  categories: number[];
157
155
  tags: number[];
158
156
  }
@@ -170,7 +168,8 @@ export interface UpdateBlogPostData {
170
168
  og_image_url?: string;
171
169
  published_at?: string | null;
172
170
  platforms?: Platform[];
173
- featured_platform?: Platform;
171
+ /** Platform UUID (Platform is a string alias; kept as `string` for clarity — setEntityPlatforms compares against platform_id). */
172
+ featured_platform?: string;
174
173
  categories?: number[];
175
174
  tags?: number[];
176
175
  }
@@ -2,6 +2,7 @@
2
2
  // Following the blog.ts pattern for consistency
3
3
 
4
4
  import type { PlatformRecord } from './platform'
5
+ import type { EntityPlatformAssoc } from './entity-platform'
5
6
  import type { BlogTag, TagAssoc } from './blog'
6
7
  import type { MSP } from './stack'
7
8
  import type { UserProfile } from './user'
@@ -72,11 +73,7 @@ export interface CaseStudy {
72
73
  msp?: MSP // Populated MSP data via user.msp_id - includes industry, company_size, testimonials, etc.
73
74
  author?: UserProfile // Article author
74
75
  customer_interview?: CustomerInterview // Linked customer interview
75
- case_study_platforms?: Array<{
76
- platform_id: string
77
- is_featured: boolean
78
- featured_order: number | null
79
- }>
76
+ case_study_platforms?: EntityPlatformAssoc[]
80
77
  // Flat unified tag-association shape (hydrated by entity-tag-utils).
81
78
  case_study_tags?: TagAssoc[]
82
79
  }
@@ -2,6 +2,7 @@
2
2
  // Following the case-study.ts pattern for consistency
3
3
 
4
4
  import type { PlatformRecord } from './platform'
5
+ import type { EntityPlatformAssoc } from './entity-platform'
5
6
  import type { MSP } from './stack'
6
7
  import type { UserProfile } from './user'
7
8
  import type { CaseStudy } from './case-study'
@@ -105,11 +106,7 @@ export interface CustomerInterview {
105
106
  msp?: MSP // Customer's MSP data via user.msp_id
106
107
  author?: UserProfile // Interview author
107
108
  case_study?: CaseStudy // Linked case study
108
- customer_interview_platforms?: Array<{
109
- platform_id: string
110
- is_featured: boolean
111
- featured_order: number | null
112
- }>
109
+ customer_interview_platforms?: EntityPlatformAssoc[]
113
110
  }
114
111
 
115
112
  export interface CreateCustomerInterviewData {
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Hydrated `entity_platforms` junction row — THE shape the hub's
3
+ * attachPlatformsToRows puts on every `<entity>_platforms[]` array
4
+ * (rows arrive featured-first with the platform record's fields spread on
5
+ * via PLATFORM_EMBED). One definition; the per-entity types
6
+ * (case_study_platforms / blog_post_platforms / customer_interview_platforms)
7
+ * all reference it so the shape can never drift per entity.
8
+ */
9
+ export interface EntityPlatformAssoc {
10
+ platform_id: string
11
+ is_featured: boolean
12
+ featured_order?: number | null
13
+ /** Platform name — spread from the platform record. Feeds platform-aware
14
+ * URL composition (composeContentUrlFromPlatforms) without casts. */
15
+ name?: string
16
+ display_name?: string
17
+ /** Alias some admin fetches add (e.g. getCaseStudyForAdmin). */
18
+ platform_name?: string
19
+ id?: string
20
+ created_at?: string
21
+ }
@@ -22,6 +22,7 @@ export * from './auth'
22
22
  export * from './blog'
23
23
  export * from './entity-author'
24
24
  export * from './case-study'
25
+ export * from './entity-platform'
25
26
  export * from './customer-interview'
26
27
  export * from './customer-interview-ai.types'
27
28
  export * from './luma'