@flamingo-stack/openframe-frontend-core 0.0.347 → 0.0.348

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 (94) hide show
  1. package/dist/{chunk-BB75OCWM.cjs → chunk-3JIUN64F.cjs} +25 -25
  2. package/dist/{chunk-BB75OCWM.cjs.map → chunk-3JIUN64F.cjs.map} +1 -1
  3. package/dist/{chunk-WV2O2KJQ.js → chunk-4RMUTJTZ.js} +2 -2
  4. package/dist/{chunk-LURIO2V6.cjs → chunk-4UUFNLXQ.cjs} +7 -7
  5. package/dist/{chunk-LURIO2V6.cjs.map → chunk-4UUFNLXQ.cjs.map} +1 -1
  6. package/dist/{chunk-AQWXNUY5.js → chunk-6BW37KWJ.js} +4 -4
  7. package/dist/{chunk-FCQTT3EN.js → chunk-7CBXPBSB.js} +1 -1
  8. package/dist/{chunk-FCQTT3EN.js.map → chunk-7CBXPBSB.js.map} +1 -1
  9. package/dist/{chunk-IK76VFPB.cjs → chunk-CH2F32CW.cjs} +56 -56
  10. package/dist/{chunk-IK76VFPB.cjs.map → chunk-CH2F32CW.cjs.map} +1 -1
  11. package/dist/{chunk-DNIXKKAO.js → chunk-DU5LLHRI.js} +4 -4
  12. package/dist/{chunk-LLKZVG42.cjs → chunk-IROBEIGB.cjs} +31 -31
  13. package/dist/{chunk-LLKZVG42.cjs.map → chunk-IROBEIGB.cjs.map} +1 -1
  14. package/dist/{chunk-BAQUBE3J.cjs → chunk-K5G3JKIU.cjs} +5 -5
  15. package/dist/{chunk-BAQUBE3J.cjs.map → chunk-K5G3JKIU.cjs.map} +1 -1
  16. package/dist/{chunk-2WTA2TGZ.cjs → chunk-LBBRR56M.cjs} +26 -26
  17. package/dist/{chunk-2WTA2TGZ.cjs.map → chunk-LBBRR56M.cjs.map} +1 -1
  18. package/dist/{chunk-RVQCUROB.cjs → chunk-MZGJBQ72.cjs} +15 -15
  19. package/dist/{chunk-RVQCUROB.cjs.map → chunk-MZGJBQ72.cjs.map} +1 -1
  20. package/dist/{chunk-DBP5XYHP.js → chunk-NUO4JXTS.js} +2 -2
  21. package/dist/{chunk-Q2ACKKFN.cjs → chunk-O5D3YWMW.cjs} +1 -1
  22. package/dist/{chunk-Q2ACKKFN.cjs.map → chunk-O5D3YWMW.cjs.map} +1 -1
  23. package/dist/{chunk-LUZMRZIT.cjs → chunk-PQG3L4MK.cjs} +37 -37
  24. package/dist/{chunk-LUZMRZIT.cjs.map → chunk-PQG3L4MK.cjs.map} +1 -1
  25. package/dist/{chunk-SN55DABG.cjs → chunk-QZVKSUPR.cjs} +62 -62
  26. package/dist/{chunk-SN55DABG.cjs.map → chunk-QZVKSUPR.cjs.map} +1 -1
  27. package/dist/{chunk-LYKMMMJM.js → chunk-RDJNK5AV.js} +2 -2
  28. package/dist/{chunk-EQQS4C66.js → chunk-RT6GEODM.js} +2 -2
  29. package/dist/{chunk-E5GGKGLG.js → chunk-WADLOXCY.js} +4 -4
  30. package/dist/{chunk-JDWOPC5W.js → chunk-XBJJIMIG.js} +2 -2
  31. package/dist/{chunk-T3NJFBR4.cjs → chunk-YFOLFU7F.cjs} +9 -9
  32. package/dist/{chunk-T3NJFBR4.cjs.map → chunk-YFOLFU7F.cjs.map} +1 -1
  33. package/dist/{chunk-USF72I36.js → chunk-YOVM7KGM.js} +2 -2
  34. package/dist/{chunk-SNGWHQOT.cjs → chunk-YTSX3CIK.cjs} +12 -12
  35. package/dist/{chunk-SNGWHQOT.cjs.map → chunk-YTSX3CIK.cjs.map} +1 -1
  36. package/dist/{chunk-TTVJV7AX.js → chunk-YWEWRAMA.js} +4 -4
  37. package/dist/{chunk-Q2MTKMST.js → chunk-ZS7YHQXO.js} +2 -2
  38. package/dist/components/announcement-bar.d.ts.map +1 -1
  39. package/dist/components/case-studies/index.cjs +8 -8
  40. package/dist/components/case-studies/index.js +2 -2
  41. package/dist/components/chat/index.cjs +2 -2
  42. package/dist/components/chat/index.js +1 -1
  43. package/dist/components/contact/index.cjs +3 -3
  44. package/dist/components/contact/index.js +2 -2
  45. package/dist/components/docs/index.cjs +5 -5
  46. package/dist/components/docs/index.js +4 -4
  47. package/dist/components/embeds/index.cjs +3 -3
  48. package/dist/components/embeds/index.js +2 -2
  49. package/dist/components/faq/index.cjs +3 -3
  50. package/dist/components/faq/index.js +2 -2
  51. package/dist/components/features/index.cjs +2 -2
  52. package/dist/components/features/index.js +1 -1
  53. package/dist/components/help-center-pages/index.cjs +20 -20
  54. package/dist/components/help-center-pages/index.js +11 -11
  55. package/dist/components/index.cjs +127 -127
  56. package/dist/components/index.cjs.map +1 -1
  57. package/dist/components/index.js +15 -15
  58. package/dist/components/index.js.map +1 -1
  59. package/dist/components/navigation/index.cjs +2 -2
  60. package/dist/components/navigation/index.js +1 -1
  61. package/dist/components/onboarding-guides/index.cjs +5 -5
  62. package/dist/components/onboarding-guides/index.js +4 -4
  63. package/dist/components/related-content/index.cjs +3 -3
  64. package/dist/components/related-content/index.js +2 -2
  65. package/dist/components/tickets/index.cjs +5 -5
  66. package/dist/components/tickets/index.js +4 -4
  67. package/dist/components/ui/index.cjs +2 -2
  68. package/dist/components/ui/index.js +1 -1
  69. package/dist/index.cjs +2 -2
  70. package/dist/index.js +1 -1
  71. package/dist/types/announcement.cjs.map +1 -1
  72. package/dist/types/announcement.d.ts +17 -22
  73. package/dist/types/announcement.d.ts.map +1 -1
  74. package/dist/types/announcement.js.map +1 -1
  75. package/dist/types/index.cjs.map +1 -1
  76. package/dist/types/index.js.map +1 -1
  77. package/dist/types/supabase.d.ts +6 -9
  78. package/dist/types/supabase.d.ts.map +1 -1
  79. package/package.json +1 -1
  80. package/src/components/announcement-bar.tsx +9 -6
  81. package/src/stories/AnnouncementBar.stories.tsx +9 -11
  82. package/src/types/announcement.ts +17 -23
  83. package/src/types/supabase.ts +6 -9
  84. /package/dist/{chunk-WV2O2KJQ.js.map → chunk-4RMUTJTZ.js.map} +0 -0
  85. /package/dist/{chunk-AQWXNUY5.js.map → chunk-6BW37KWJ.js.map} +0 -0
  86. /package/dist/{chunk-DNIXKKAO.js.map → chunk-DU5LLHRI.js.map} +0 -0
  87. /package/dist/{chunk-DBP5XYHP.js.map → chunk-NUO4JXTS.js.map} +0 -0
  88. /package/dist/{chunk-LYKMMMJM.js.map → chunk-RDJNK5AV.js.map} +0 -0
  89. /package/dist/{chunk-EQQS4C66.js.map → chunk-RT6GEODM.js.map} +0 -0
  90. /package/dist/{chunk-E5GGKGLG.js.map → chunk-WADLOXCY.js.map} +0 -0
  91. /package/dist/{chunk-JDWOPC5W.js.map → chunk-XBJJIMIG.js.map} +0 -0
  92. /package/dist/{chunk-USF72I36.js.map → chunk-YOVM7KGM.js.map} +0 -0
  93. /package/dist/{chunk-TTVJV7AX.js.map → chunk-YWEWRAMA.js.map} +0 -0
  94. /package/dist/{chunk-Q2MTKMST.js.map → chunk-ZS7YHQXO.js.map} +0 -0
@@ -40,8 +40,7 @@ const baseAnnouncement: Announcement = {
40
40
  title: 'New Feature Released',
41
41
  description: 'Check out our latest updates and improvements to the platform.',
42
42
  background_color: '#FFD951',
43
- icon_type: 'svg',
44
- icon_svg_name: 'rocket',
43
+ icon_name: 'rocket',
45
44
  platform_id: 'openframe',
46
45
  is_active: true,
47
46
  created_at: now,
@@ -95,12 +94,12 @@ export const WithCTA: Story = {
95
94
  title: 'OpenFrame v2.0 is here!',
96
95
  description: 'Explore the new dashboard, improved device management, and more.',
97
96
  background_color: '#FFD951',
98
- icon_svg_name: 'star',
97
+ icon_name: 'star',
99
98
  cta_enabled: true,
100
99
  cta_text: 'Learn More',
101
100
  cta_url: 'https://example.com',
102
101
  cta_target: '_blank',
103
- cta_icon: 'rocket',
102
+ cta_icon_name: 'rocket',
104
103
  cta_show_icon: true,
105
104
  cta_button_background_color: '#1A1A1A',
106
105
  cta_button_text_color: '#FFFFFF',
@@ -122,7 +121,7 @@ export const WithCTASameTab: Story = {
122
121
  title: 'Scheduled Maintenance',
123
122
  description: 'We will perform maintenance on Saturday from 2:00 AM to 4:00 AM UTC.',
124
123
  background_color: '#FFE082',
125
- icon_svg_name: 'info',
124
+ icon_name: 'info',
126
125
  cta_enabled: true,
127
126
  cta_text: 'View Status',
128
127
  cta_url: '/status',
@@ -145,7 +144,7 @@ export const BlueBackground: Story = {
145
144
  title: 'Join our Community',
146
145
  description: 'Connect with other MSPs and share best practices.',
147
146
  background_color: '#60A5FA',
148
- icon_svg_name: 'megaphone',
147
+ icon_name: 'megaphone',
149
148
  })
150
149
  return <Story />
151
150
  },
@@ -164,7 +163,7 @@ export const GreenBackground: Story = {
164
163
  title: 'All Systems Operational',
165
164
  description: 'Everything is running smoothly. No issues detected.',
166
165
  background_color: '#86EFAC',
167
- icon_svg_name: 'bell',
166
+ icon_name: 'bell',
168
167
  })
169
168
  return <Story />
170
169
  },
@@ -183,7 +182,7 @@ export const WithOpenFrameLogo: Story = {
183
182
  title: 'Welcome to OpenFrame',
184
183
  description: 'Your open-source IT infrastructure management platform.',
185
184
  background_color: '#FFD951',
186
- icon_svg_name: 'openframe-logo',
185
+ icon_name: 'openframe-logo',
187
186
  cta_enabled: true,
188
187
  cta_text: 'Get Started',
189
188
  cta_url: '/getting-started',
@@ -208,8 +207,7 @@ export const WithPNGIcon: Story = {
208
207
  title: 'Partner Program Launch',
209
208
  description: 'Become an OpenFrame certified partner and grow your business.',
210
209
  background_color: '#C4B5FD',
211
- icon_type: 'png',
212
- icon_png_url: 'https://placehold.co/32x32/1a1a1a/white?text=OF',
210
+ icon_url: 'https://placehold.co/32x32/1a1a1a/white?text=OF',
213
211
  })
214
212
  return <Story />
215
213
  },
@@ -229,7 +227,7 @@ export const LongContent: Story = {
229
227
  description:
230
228
  'This is an extremely long description that goes into great detail about the announcement. It should be truncated on the desktop view and hidden on mobile view to keep the bar compact and readable.',
231
229
  background_color: '#FCA5A5',
232
- icon_svg_name: 'info',
230
+ icon_name: 'info',
233
231
  cta_enabled: true,
234
232
  cta_text: 'Read Full Announcement',
235
233
  cta_url: '/announcements/long',
@@ -2,26 +2,23 @@
2
2
  import type { LegacyPlatform, PlatformFilter, PlatformRecord } from './platform';
3
3
 
4
4
  // For backward compatibility, maintain the old Platform type temporarily
5
- export type IconType = 'svg' | 'png';
6
-
7
5
  // Database Models
8
6
  export interface Announcement {
9
7
  id: string;
10
8
  title: string;
11
9
  description: string;
12
10
  background_color: string;
13
- icon_type: IconType;
14
- icon_svg_name?: string;
15
- icon_png_url?: string;
11
+ icon_name?: string;
12
+ icon_url?: string;
16
13
  /** Extra props for the main bar/icon */
17
- icon_svg_props?: Record<string, any>;
14
+ icon_props?: Record<string, any>;
18
15
  platform_id: string; // Foreign key to platforms table
19
16
  platform?: PlatformRecord; // Joined platform data
20
17
  is_active: boolean;
21
18
  // CTA (Call-To-Action) fields
22
19
  cta_enabled?: boolean;
23
20
  cta_text?: string;
24
- cta_icon?: string;
21
+ cta_icon_name?: string;
25
22
  cta_show_icon?: boolean;
26
23
  cta_url?: string;
27
24
  cta_target?: '_self' | '_blank';
@@ -57,17 +54,16 @@ export interface CreateAnnouncementData {
57
54
  title: string;
58
55
  description: string;
59
56
  background_color: string;
60
- icon_type: IconType;
61
- icon_svg_name?: string;
62
- icon_png_url?: string;
57
+ icon_name?: string;
58
+ icon_url?: string;
63
59
  /** Extra props for the main bar/icon */
64
- icon_svg_props?: Record<string, any>;
60
+ icon_props?: Record<string, any>;
65
61
  platforms?: string[]; // entity_platforms set (multi-select)
66
62
  is_active?: boolean;
67
63
  // CTA (Call-To-Action) fields
68
64
  cta_enabled?: boolean;
69
65
  cta_text?: string;
70
- cta_icon?: string;
66
+ cta_icon_name?: string;
71
67
  cta_show_icon?: boolean;
72
68
  cta_url?: string;
73
69
  cta_target?: '_self' | '_blank';
@@ -81,17 +77,16 @@ export interface UpdateAnnouncementData {
81
77
  title?: string;
82
78
  description?: string;
83
79
  background_color?: string;
84
- icon_type?: IconType;
85
- icon_svg_name?: string;
86
- icon_png_url?: string;
80
+ icon_name?: string;
81
+ icon_url?: string;
87
82
  /** Extra props for the main bar/icon */
88
- icon_svg_props?: Record<string, any>;
83
+ icon_props?: Record<string, any>;
89
84
  platforms?: string[]; // entity_platforms set (multi-select)
90
85
  is_active?: boolean;
91
86
  // CTA (Call-To-Action) fields
92
87
  cta_enabled?: boolean;
93
88
  cta_text?: string;
94
- cta_icon?: string;
89
+ cta_icon_name?: string;
95
90
  cta_show_icon?: boolean;
96
91
  cta_url?: string;
97
92
  cta_target?: '_self' | '_blank';
@@ -123,15 +118,14 @@ export interface AnnouncementFormData {
123
118
  title: string;
124
119
  description: string;
125
120
  background_color: string;
126
- icon_type: IconType;
127
- icon_svg_name: string;
128
- icon_png_file?: File;
121
+ icon_name: string;
122
+ icon_url?: string;
129
123
  platforms: string[]; // entity_platforms set (multi-select; no single platform_id)
130
124
  is_active: boolean;
131
125
  // CTA (Call-To-Action) fields
132
126
  cta_enabled: boolean;
133
127
  cta_text: string;
134
- cta_icon: string;
128
+ cta_icon_name: string;
135
129
  cta_show_icon: boolean;
136
130
  cta_url: string;
137
131
  cta_target: '_self' | '_blank';
@@ -140,7 +134,7 @@ export interface AnnouncementFormData {
140
134
  cta_button_text_color?: string;
141
135
  cta_icon_props?: string; // JSON string in form
142
136
  /** Extra props for the main bar/icon */
143
- icon_svg_props?: string;
137
+ icon_props?: string;
144
138
  }
145
139
 
146
140
  // API Query Parameters
@@ -197,7 +191,7 @@ export interface AnnouncementValidation {
197
191
  required: boolean;
198
192
  pattern: RegExp;
199
193
  };
200
- icon_svg_name: {
194
+ icon_name: {
201
195
  required: boolean;
202
196
  validOptions: string[];
203
197
  };
@@ -56,9 +56,8 @@ export type Database = {
56
56
  created_at: string | null
57
57
  created_by: string | null
58
58
  description: string
59
- icon_png_url: string | null
60
- icon_svg_name: string | null
61
- icon_type: string | null
59
+ icon_url: string | null
60
+ icon_name: string | null
62
61
  id: string
63
62
  is_active: boolean | null
64
63
  title: string
@@ -69,9 +68,8 @@ export type Database = {
69
68
  created_at?: string | null
70
69
  created_by?: string | null
71
70
  description: string
72
- icon_png_url?: string | null
73
- icon_svg_name?: string | null
74
- icon_type?: string | null
71
+ icon_url?: string | null
72
+ icon_name?: string | null
75
73
  id?: string
76
74
  is_active?: boolean | null
77
75
  title: string
@@ -82,9 +80,8 @@ export type Database = {
82
80
  created_at?: string | null
83
81
  created_by?: string | null
84
82
  description?: string
85
- icon_png_url?: string | null
86
- icon_svg_name?: string | null
87
- icon_type?: string | null
83
+ icon_url?: string | null
84
+ icon_name?: string | null
88
85
  id?: string
89
86
  is_active?: boolean | null
90
87
  title?: string