@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.
- package/dist/{chunk-AQWXNUY5.js → chunk-22YDMHQ6.js} +4 -4
- package/dist/{chunk-SN55DABG.cjs → chunk-2UFPHLQW.cjs} +62 -62
- package/dist/{chunk-SN55DABG.cjs.map → chunk-2UFPHLQW.cjs.map} +1 -1
- package/dist/{chunk-RVQCUROB.cjs → chunk-2VJOIQWC.cjs} +15 -15
- package/dist/{chunk-RVQCUROB.cjs.map → chunk-2VJOIQWC.cjs.map} +1 -1
- package/dist/{chunk-TTVJV7AX.js → chunk-4LIII4VU.js} +4 -4
- package/dist/{chunk-BB75OCWM.cjs → chunk-4TWVKDZ3.cjs} +25 -25
- package/dist/{chunk-BB75OCWM.cjs.map → chunk-4TWVKDZ3.cjs.map} +1 -1
- package/dist/{chunk-SNGWHQOT.cjs → chunk-5DLWZXWX.cjs} +12 -12
- package/dist/{chunk-SNGWHQOT.cjs.map → chunk-5DLWZXWX.cjs.map} +1 -1
- package/dist/{chunk-DNIXKKAO.js → chunk-5EVW3XJK.js} +4 -4
- package/dist/{chunk-FCQTT3EN.js → chunk-5O4OTDH3.js} +3538 -3463
- package/dist/chunk-5O4OTDH3.js.map +1 -0
- package/dist/{chunk-2WTA2TGZ.cjs → chunk-6EBR75I2.cjs} +26 -26
- package/dist/{chunk-2WTA2TGZ.cjs.map → chunk-6EBR75I2.cjs.map} +1 -1
- package/dist/{chunk-T3NJFBR4.cjs → chunk-B6MWUSP2.cjs} +9 -9
- package/dist/{chunk-T3NJFBR4.cjs.map → chunk-B6MWUSP2.cjs.map} +1 -1
- package/dist/{chunk-JDWOPC5W.js → chunk-DGUTSVZ2.js} +2 -2
- package/dist/{chunk-WV2O2KJQ.js → chunk-DIWT3MLF.js} +2 -2
- package/dist/{chunk-DBP5XYHP.js → chunk-EET6FJB4.js} +2 -2
- package/dist/{chunk-BAQUBE3J.cjs → chunk-HEBUZLJ2.cjs} +5 -5
- package/dist/{chunk-BAQUBE3J.cjs.map → chunk-HEBUZLJ2.cjs.map} +1 -1
- package/dist/{chunk-LURIO2V6.cjs → chunk-ICKM2U5N.cjs} +7 -7
- package/dist/{chunk-LURIO2V6.cjs.map → chunk-ICKM2U5N.cjs.map} +1 -1
- package/dist/{chunk-EQQS4C66.js → chunk-K5R7QYZJ.js} +2 -2
- package/dist/{chunk-USF72I36.js → chunk-MIYA5JM5.js} +2 -2
- package/dist/{chunk-LLKZVG42.cjs → chunk-NLOK2CZ2.cjs} +31 -31
- package/dist/{chunk-LLKZVG42.cjs.map → chunk-NLOK2CZ2.cjs.map} +1 -1
- package/dist/{chunk-E5GGKGLG.js → chunk-OSILW6QN.js} +4 -4
- package/dist/{chunk-IK76VFPB.cjs → chunk-QM4W5LAZ.cjs} +56 -56
- package/dist/{chunk-IK76VFPB.cjs.map → chunk-QM4W5LAZ.cjs.map} +1 -1
- package/dist/{chunk-Q2MTKMST.js → chunk-SHCBCWUN.js} +2 -2
- package/dist/{chunk-LUZMRZIT.cjs → chunk-T265FMHX.cjs} +37 -37
- package/dist/{chunk-LUZMRZIT.cjs.map → chunk-T265FMHX.cjs.map} +1 -1
- package/dist/{chunk-Q2ACKKFN.cjs → chunk-VLBYQVU6.cjs} +938 -863
- package/dist/chunk-VLBYQVU6.cjs.map +1 -0
- package/dist/{chunk-LYKMMMJM.js → chunk-Y4JKCD7B.js} +2 -2
- package/dist/components/announcement-bar.d.ts.map +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/guide-welcome.d.ts +6 -0
- package/dist/components/chat/guide-welcome.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +7 -7
- package/dist/components/chat/slash-command-suggestions.d.ts +3 -3
- package/dist/components/chat/utils/{onboarding-icons.d.ts → icon-library.d.ts} +25 -15
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -0
- package/dist/components/chat/utils/index.d.ts +1 -1
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/icon-display.d.ts +27 -0
- package/dist/components/icon-display.d.ts.map +1 -0
- package/dist/components/index.cjs +202 -242
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +588 -628
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/navigation/sliding-sidebar.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +7 -7
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -7
- package/dist/types/announcement.cjs.map +1 -1
- package/dist/types/announcement.d.ts +17 -22
- package/dist/types/announcement.d.ts.map +1 -1
- package/dist/types/announcement.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/supabase.d.ts +6 -9
- package/dist/types/supabase.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +8 -2
- package/src/components/announcement-bar.tsx +20 -38
- package/src/components/chat/embeddable-chat.tsx +4 -5
- package/src/components/chat/guide-welcome.tsx +15 -0
- package/src/components/chat/slash-command-suggestions.tsx +5 -5
- package/src/components/chat/utils/__tests__/icon-resolver.test.ts +51 -0
- package/src/components/chat/utils/{onboarding-icons.tsx → icon-library.tsx} +68 -22
- package/src/components/chat/utils/index.ts +10 -10
- package/src/components/footer.tsx +1 -1
- package/src/components/icon-display.tsx +67 -0
- package/src/components/index.ts +2 -0
- package/src/components/navigation/sliding-sidebar.tsx +7 -3
- package/src/stories/AnnouncementBar.stories.tsx +9 -11
- package/src/stories/MingoOnboardingCard.stories.tsx +3 -3
- package/src/stories/SlashCommandSuggestions.stories.tsx +1 -1
- package/src/types/announcement.ts +17 -23
- package/src/types/supabase.ts +6 -9
- package/dist/chunk-FCQTT3EN.js.map +0 -1
- package/dist/chunk-Q2ACKKFN.cjs.map +0 -1
- package/dist/components/chat/utils/onboarding-icons.d.ts.map +0 -1
- /package/dist/{chunk-AQWXNUY5.js.map → chunk-22YDMHQ6.js.map} +0 -0
- /package/dist/{chunk-TTVJV7AX.js.map → chunk-4LIII4VU.js.map} +0 -0
- /package/dist/{chunk-DNIXKKAO.js.map → chunk-5EVW3XJK.js.map} +0 -0
- /package/dist/{chunk-JDWOPC5W.js.map → chunk-DGUTSVZ2.js.map} +0 -0
- /package/dist/{chunk-WV2O2KJQ.js.map → chunk-DIWT3MLF.js.map} +0 -0
- /package/dist/{chunk-DBP5XYHP.js.map → chunk-EET6FJB4.js.map} +0 -0
- /package/dist/{chunk-EQQS4C66.js.map → chunk-K5R7QYZJ.js.map} +0 -0
- /package/dist/{chunk-USF72I36.js.map → chunk-MIYA5JM5.js.map} +0 -0
- /package/dist/{chunk-E5GGKGLG.js.map → chunk-OSILW6QN.js.map} +0 -0
- /package/dist/{chunk-Q2MTKMST.js.map → chunk-SHCBCWUN.js.map} +0 -0
- /package/dist/{chunk-LYKMMMJM.js.map → chunk-Y4JKCD7B.js.map} +0 -0
- /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 {
|
|
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 `
|
|
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 =
|
|
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 `
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
icon_png_url?: string;
|
|
11
|
+
icon_name?: string;
|
|
12
|
+
icon_url?: string;
|
|
16
13
|
/** Extra props for the main bar/icon */
|
|
17
|
-
|
|
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
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
icon_png_url?: string;
|
|
57
|
+
icon_name?: string;
|
|
58
|
+
icon_url?: string;
|
|
63
59
|
/** Extra props for the main bar/icon */
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
icon_png_url?: string;
|
|
80
|
+
icon_name?: string;
|
|
81
|
+
icon_url?: string;
|
|
87
82
|
/** Extra props for the main bar/icon */
|
|
88
|
-
|
|
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
|
-
|
|
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
|
-
|
|
127
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
194
|
+
icon_name: {
|
|
201
195
|
required: boolean;
|
|
202
196
|
validOptions: string[];
|
|
203
197
|
};
|
package/src/types/supabase.ts
CHANGED
|
@@ -56,9 +56,8 @@ export type Database = {
|
|
|
56
56
|
created_at: string | null
|
|
57
57
|
created_by: string | null
|
|
58
58
|
description: string
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
73
|
-
|
|
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
|
-
|
|
86
|
-
|
|
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
|