@flamingo-stack/openframe-frontend-core 0.0.347 → 0.0.349-snapshot.20260701004402

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 (127) hide show
  1. package/dist/{chunk-AQWXNUY5.js → chunk-22YDMHQ6.js} +4 -4
  2. package/dist/{chunk-SN55DABG.cjs → chunk-2UFPHLQW.cjs} +62 -62
  3. package/dist/{chunk-SN55DABG.cjs.map → chunk-2UFPHLQW.cjs.map} +1 -1
  4. package/dist/{chunk-RVQCUROB.cjs → chunk-2VJOIQWC.cjs} +15 -15
  5. package/dist/{chunk-RVQCUROB.cjs.map → chunk-2VJOIQWC.cjs.map} +1 -1
  6. package/dist/{chunk-TTVJV7AX.js → chunk-4LIII4VU.js} +4 -4
  7. package/dist/{chunk-BB75OCWM.cjs → chunk-4TWVKDZ3.cjs} +25 -25
  8. package/dist/{chunk-BB75OCWM.cjs.map → chunk-4TWVKDZ3.cjs.map} +1 -1
  9. package/dist/{chunk-SNGWHQOT.cjs → chunk-5DLWZXWX.cjs} +12 -12
  10. package/dist/{chunk-SNGWHQOT.cjs.map → chunk-5DLWZXWX.cjs.map} +1 -1
  11. package/dist/{chunk-DNIXKKAO.js → chunk-5EVW3XJK.js} +4 -4
  12. package/dist/{chunk-FCQTT3EN.js → chunk-5O4OTDH3.js} +3538 -3463
  13. package/dist/chunk-5O4OTDH3.js.map +1 -0
  14. package/dist/{chunk-2WTA2TGZ.cjs → chunk-6EBR75I2.cjs} +26 -26
  15. package/dist/{chunk-2WTA2TGZ.cjs.map → chunk-6EBR75I2.cjs.map} +1 -1
  16. package/dist/{chunk-T3NJFBR4.cjs → chunk-B6MWUSP2.cjs} +9 -9
  17. package/dist/{chunk-T3NJFBR4.cjs.map → chunk-B6MWUSP2.cjs.map} +1 -1
  18. package/dist/{chunk-JDWOPC5W.js → chunk-DGUTSVZ2.js} +2 -2
  19. package/dist/{chunk-WV2O2KJQ.js → chunk-DIWT3MLF.js} +2 -2
  20. package/dist/{chunk-DBP5XYHP.js → chunk-EET6FJB4.js} +2 -2
  21. package/dist/{chunk-BAQUBE3J.cjs → chunk-HEBUZLJ2.cjs} +5 -5
  22. package/dist/{chunk-BAQUBE3J.cjs.map → chunk-HEBUZLJ2.cjs.map} +1 -1
  23. package/dist/{chunk-LURIO2V6.cjs → chunk-ICKM2U5N.cjs} +7 -7
  24. package/dist/{chunk-LURIO2V6.cjs.map → chunk-ICKM2U5N.cjs.map} +1 -1
  25. package/dist/{chunk-EQQS4C66.js → chunk-K5R7QYZJ.js} +2 -2
  26. package/dist/{chunk-USF72I36.js → chunk-MIYA5JM5.js} +2 -2
  27. package/dist/{chunk-LLKZVG42.cjs → chunk-NLOK2CZ2.cjs} +31 -31
  28. package/dist/{chunk-LLKZVG42.cjs.map → chunk-NLOK2CZ2.cjs.map} +1 -1
  29. package/dist/{chunk-E5GGKGLG.js → chunk-OSILW6QN.js} +4 -4
  30. package/dist/{chunk-IK76VFPB.cjs → chunk-QM4W5LAZ.cjs} +56 -56
  31. package/dist/{chunk-IK76VFPB.cjs.map → chunk-QM4W5LAZ.cjs.map} +1 -1
  32. package/dist/{chunk-Q2MTKMST.js → chunk-SHCBCWUN.js} +2 -2
  33. package/dist/{chunk-LUZMRZIT.cjs → chunk-T265FMHX.cjs} +37 -37
  34. package/dist/{chunk-LUZMRZIT.cjs.map → chunk-T265FMHX.cjs.map} +1 -1
  35. package/dist/{chunk-Q2ACKKFN.cjs → chunk-VLBYQVU6.cjs} +938 -863
  36. package/dist/chunk-VLBYQVU6.cjs.map +1 -0
  37. package/dist/{chunk-LYKMMMJM.js → chunk-Y4JKCD7B.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/embeddable-chat.d.ts.map +1 -1
  42. package/dist/components/chat/guide-welcome.d.ts +6 -0
  43. package/dist/components/chat/guide-welcome.d.ts.map +1 -1
  44. package/dist/components/chat/index.cjs +2 -2
  45. package/dist/components/chat/index.cjs.map +1 -1
  46. package/dist/components/chat/index.js +7 -7
  47. package/dist/components/chat/slash-command-suggestions.d.ts +3 -3
  48. package/dist/components/chat/utils/{onboarding-icons.d.ts → icon-library.d.ts} +25 -15
  49. package/dist/components/chat/utils/icon-library.d.ts.map +1 -0
  50. package/dist/components/chat/utils/index.d.ts +1 -1
  51. package/dist/components/chat/utils/index.d.ts.map +1 -1
  52. package/dist/components/contact/index.cjs +3 -3
  53. package/dist/components/contact/index.js +2 -2
  54. package/dist/components/docs/index.cjs +5 -5
  55. package/dist/components/docs/index.js +4 -4
  56. package/dist/components/embeds/index.cjs +3 -3
  57. package/dist/components/embeds/index.js +2 -2
  58. package/dist/components/faq/index.cjs +3 -3
  59. package/dist/components/faq/index.js +2 -2
  60. package/dist/components/features/index.cjs +2 -2
  61. package/dist/components/features/index.js +1 -1
  62. package/dist/components/help-center-pages/index.cjs +20 -20
  63. package/dist/components/help-center-pages/index.js +11 -11
  64. package/dist/components/icon-display.d.ts +27 -0
  65. package/dist/components/icon-display.d.ts.map +1 -0
  66. package/dist/components/index.cjs +202 -242
  67. package/dist/components/index.cjs.map +1 -1
  68. package/dist/components/index.d.ts +1 -0
  69. package/dist/components/index.d.ts.map +1 -1
  70. package/dist/components/index.js +588 -628
  71. package/dist/components/index.js.map +1 -1
  72. package/dist/components/navigation/index.cjs +2 -2
  73. package/dist/components/navigation/index.js +1 -1
  74. package/dist/components/navigation/sliding-sidebar.d.ts.map +1 -1
  75. package/dist/components/onboarding-guides/index.cjs +5 -5
  76. package/dist/components/onboarding-guides/index.js +4 -4
  77. package/dist/components/related-content/index.cjs +3 -3
  78. package/dist/components/related-content/index.js +2 -2
  79. package/dist/components/tickets/index.cjs +5 -5
  80. package/dist/components/tickets/index.js +4 -4
  81. package/dist/components/ui/index.cjs +2 -2
  82. package/dist/components/ui/index.cjs.map +1 -1
  83. package/dist/components/ui/index.js +7 -7
  84. package/dist/index.cjs +2 -2
  85. package/dist/index.cjs.map +1 -1
  86. package/dist/index.js +7 -7
  87. package/dist/types/announcement.cjs.map +1 -1
  88. package/dist/types/announcement.d.ts +17 -22
  89. package/dist/types/announcement.d.ts.map +1 -1
  90. package/dist/types/announcement.js.map +1 -1
  91. package/dist/types/index.cjs.map +1 -1
  92. package/dist/types/index.js.map +1 -1
  93. package/dist/types/supabase.d.ts +6 -9
  94. package/dist/types/supabase.d.ts.map +1 -1
  95. package/package.json +1 -1
  96. package/src/ODS_TOKEN_RULES.md +8 -2
  97. package/src/components/announcement-bar.tsx +20 -38
  98. package/src/components/chat/embeddable-chat.tsx +4 -5
  99. package/src/components/chat/guide-welcome.tsx +15 -0
  100. package/src/components/chat/slash-command-suggestions.tsx +5 -5
  101. package/src/components/chat/utils/__tests__/icon-resolver.test.ts +51 -0
  102. package/src/components/chat/utils/{onboarding-icons.tsx → icon-library.tsx} +68 -22
  103. package/src/components/chat/utils/index.ts +10 -10
  104. package/src/components/footer.tsx +1 -1
  105. package/src/components/icon-display.tsx +67 -0
  106. package/src/components/index.ts +2 -0
  107. package/src/components/navigation/sliding-sidebar.tsx +7 -3
  108. package/src/stories/AnnouncementBar.stories.tsx +9 -11
  109. package/src/stories/MingoOnboardingCard.stories.tsx +3 -3
  110. package/src/stories/SlashCommandSuggestions.stories.tsx +1 -1
  111. package/src/types/announcement.ts +17 -23
  112. package/src/types/supabase.ts +6 -9
  113. package/dist/chunk-FCQTT3EN.js.map +0 -1
  114. package/dist/chunk-Q2ACKKFN.cjs.map +0 -1
  115. package/dist/components/chat/utils/onboarding-icons.d.ts.map +0 -1
  116. /package/dist/{chunk-AQWXNUY5.js.map → chunk-22YDMHQ6.js.map} +0 -0
  117. /package/dist/{chunk-TTVJV7AX.js.map → chunk-4LIII4VU.js.map} +0 -0
  118. /package/dist/{chunk-DNIXKKAO.js.map → chunk-5EVW3XJK.js.map} +0 -0
  119. /package/dist/{chunk-JDWOPC5W.js.map → chunk-DGUTSVZ2.js.map} +0 -0
  120. /package/dist/{chunk-WV2O2KJQ.js.map → chunk-DIWT3MLF.js.map} +0 -0
  121. /package/dist/{chunk-DBP5XYHP.js.map → chunk-EET6FJB4.js.map} +0 -0
  122. /package/dist/{chunk-EQQS4C66.js.map → chunk-K5R7QYZJ.js.map} +0 -0
  123. /package/dist/{chunk-USF72I36.js.map → chunk-MIYA5JM5.js.map} +0 -0
  124. /package/dist/{chunk-E5GGKGLG.js.map → chunk-OSILW6QN.js.map} +0 -0
  125. /package/dist/{chunk-Q2MTKMST.js.map → chunk-SHCBCWUN.js.map} +0 -0
  126. /package/dist/{chunk-LYKMMMJM.js.map → chunk-Y4JKCD7B.js.map} +0 -0
  127. /package/src/components/chat/utils/{.icon-registry.md → .icon-library.md} +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/nextjs-vite'
2
2
  import { MingoOnboardingCard } from '../components/chat/mingo-onboarding-card'
3
- import { resolveOnboardingIcon } from '../components/chat/utils/onboarding-icons'
3
+ import { resolveIcon } from '../components/chat/utils/icon-library'
4
4
  import { ClickupLogoGreyIcon } from '../components/icons-v2-generated/brand-logos/clickup-logo-grey-icon'
5
5
  import { CompassIcon } from '../components/icons-v2-generated/map-and-travel/compass-icon'
6
6
  import { Rocket02Icon } from '../components/icons-v2-generated/vehicles-and-delivery/rocket-02-icon'
@@ -126,7 +126,7 @@ export const WithActions: Story = {
126
126
 
127
127
  // =============================================================================
128
128
  // Stack of `chipCommands` — mirrors Figma node 7363:205938 (full empty-state).
129
- // Icons are resolved via the shared `resolveOnboardingIcon` registry so the
129
+ // Icons are resolved via the shared `resolveIcon` registry so the
130
130
  // story stays in sync with the chat's runtime mapping.
131
131
  // =============================================================================
132
132
 
@@ -247,7 +247,7 @@ export const ChipCommands: Story = {
247
247
  <>
248
248
  {SAMPLE_CHIP_COMMANDS.map(
249
249
  ({ iconName, label, slashCommand, description, actions }) => {
250
- const Icon = resolveOnboardingIcon(iconName)
250
+ const Icon = resolveIcon(iconName)
251
251
  return (
252
252
  <MingoOnboardingCard
253
253
  key={slashCommand + label}
@@ -14,7 +14,7 @@ const meta: Meta<typeof SlashCommandSuggestions> = {
14
14
  docs: {
15
15
  description: {
16
16
  component:
17
- 'Slash-command autocomplete dropdown — opens above the chat input when the user types `/`. Each row is a `MingoOnboardingCard` so the dropdown and the empty-state list share one card design. Icons resolve through the shared `resolveOnboardingIcon` registry; the production `/api/docs/commands` short keys (`clickup`, `github`, `slack`, `openframe`, `rocket`, `briefcase`, `graduation-cap`, `video`, `headphones`, `calendar`, …) are wired up alongside the legacy Figma-style aliases.',
17
+ 'Slash-command autocomplete dropdown — opens above the chat input when the user types `/`. Each row is a `MingoOnboardingCard` so the dropdown and the empty-state list share one card design. Icons resolve through the shared `resolveIcon` registry; the production `/api/docs/commands` short keys (`clickup`, `github`, `slack`, `openframe`, `rocket`, `briefcase`, `graduation-cap`, `video`, `headphones`, `calendar`, …) are wired up alongside the legacy Figma-style aliases.',
18
18
  },
19
19
  },
20
20
  },
@@ -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