@flamingo-stack/openframe-frontend-core 0.0.467-snapshot.20260723125044 → 0.0.467
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-VYUEOKI6.js → chunk-25YYEVSE.js} +2 -2
- package/dist/{chunk-IUMPVRSH.js → chunk-3L44PPMF.js} +2 -2
- package/dist/{chunk-3TU6QURP.js → chunk-4DFPQKKJ.js} +2 -2
- package/dist/{chunk-J6CE6HZS.cjs → chunk-6DZ5QOUM.cjs} +11 -11
- package/dist/{chunk-J6CE6HZS.cjs.map → chunk-6DZ5QOUM.cjs.map} +1 -1
- package/dist/{chunk-L3BWGFHT.cjs → chunk-72NEN4G4.cjs} +15 -15
- package/dist/{chunk-L3BWGFHT.cjs.map → chunk-72NEN4G4.cjs.map} +1 -1
- package/dist/{chunk-EZESVVIM.js → chunk-ABU37QSG.js} +4 -4
- package/dist/{chunk-AEM7ADDG.js → chunk-BIDOIPIT.js} +2 -2
- package/dist/{chunk-P5SLNM3C.js → chunk-CZFPPNYV.js} +5104 -5230
- package/dist/chunk-CZFPPNYV.js.map +1 -0
- package/dist/{chunk-3I34MUEG.cjs → chunk-G2H4AKL3.cjs} +62 -62
- package/dist/{chunk-3I34MUEG.cjs.map → chunk-G2H4AKL3.cjs.map} +1 -1
- package/dist/{chunk-ELIY4AO2.cjs → chunk-G5D7NRH5.cjs} +26 -26
- package/dist/{chunk-ELIY4AO2.cjs.map → chunk-G5D7NRH5.cjs.map} +1 -1
- package/dist/{chunk-JW3UNHGW.js → chunk-GXXLJHQX.js} +2 -2
- package/dist/{chunk-CLW2S55N.js → chunk-ILZ66CS6.js} +4 -4
- package/dist/{chunk-QZJN5OHK.js → chunk-LOWJWKM5.js} +4 -4
- package/dist/{chunk-HTSWLPMU.js → chunk-NYOQNYSI.js} +2 -2
- package/dist/{chunk-HVLMAT4T.cjs → chunk-O7LQYYUA.cjs} +5 -5
- package/dist/{chunk-HVLMAT4T.cjs.map → chunk-O7LQYYUA.cjs.map} +1 -1
- package/dist/{chunk-TISXEAGH.cjs → chunk-QITN43HN.cjs} +7 -7
- package/dist/{chunk-TISXEAGH.cjs.map → chunk-QITN43HN.cjs.map} +1 -1
- package/dist/{chunk-O2QOC5FA.js → chunk-QJ7NIL6A.js} +4 -4
- package/dist/{chunk-MULVIGIN.cjs → chunk-SGDXS7VT.cjs} +59 -59
- package/dist/{chunk-MULVIGIN.cjs.map → chunk-SGDXS7VT.cjs.map} +1 -1
- package/dist/{chunk-QTGYQ2U7.js → chunk-TZSPLSDU.js} +2 -2
- package/dist/{chunk-VRJXY6TM.cjs → chunk-UWW4PQQS.cjs} +26 -26
- package/dist/{chunk-VRJXY6TM.cjs.map → chunk-UWW4PQQS.cjs.map} +1 -1
- package/dist/{chunk-2WZAR2MB.cjs → chunk-VERK32MO.cjs} +37 -37
- package/dist/{chunk-2WZAR2MB.cjs.map → chunk-VERK32MO.cjs.map} +1 -1
- package/dist/{chunk-3PLQWO4H.cjs → chunk-WWC75D3J.cjs} +732 -858
- package/dist/chunk-WWC75D3J.cjs.map +1 -0
- package/dist/{chunk-VHFH3BG6.cjs → chunk-YGW7T57C.cjs} +31 -31
- package/dist/{chunk-VHFH3BG6.cjs.map → chunk-YGW7T57C.cjs.map} +1 -1
- package/dist/{chunk-X77X3RKH.cjs → chunk-ZYPHZ3R3.cjs} +9 -9
- package/dist/{chunk-X77X3RKH.cjs.map → chunk-ZYPHZ3R3.cjs.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/chat-composer.d.ts +1 -8
- package/dist/components/chat/chat-composer.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.d.ts +6 -14
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -4
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +0 -1
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +1 -3
- 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/index.cjs +130 -132
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +9 -11
- 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/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 -4
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +1 -3
- package/dist/index.cjs +2 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -3
- package/package.json +1 -1
- package/src/components/chat/chat-composer.tsx +5 -32
- package/src/components/chat/embeddable-chat.tsx +15 -17
- package/src/components/chat/index.ts +0 -1
- package/src/components/ui/tab-selector.tsx +8 -8
- package/dist/chunk-3PLQWO4H.cjs.map +0 -1
- package/dist/chunk-P5SLNM3C.js.map +0 -1
- package/dist/components/chat/chat-context-memory-bar.d.ts +0 -37
- package/dist/components/chat/chat-context-memory-bar.d.ts.map +0 -1
- package/src/components/chat/chat-context-memory-bar.tsx +0 -159
- /package/dist/{chunk-VYUEOKI6.js.map → chunk-25YYEVSE.js.map} +0 -0
- /package/dist/{chunk-IUMPVRSH.js.map → chunk-3L44PPMF.js.map} +0 -0
- /package/dist/{chunk-3TU6QURP.js.map → chunk-4DFPQKKJ.js.map} +0 -0
- /package/dist/{chunk-EZESVVIM.js.map → chunk-ABU37QSG.js.map} +0 -0
- /package/dist/{chunk-AEM7ADDG.js.map → chunk-BIDOIPIT.js.map} +0 -0
- /package/dist/{chunk-JW3UNHGW.js.map → chunk-GXXLJHQX.js.map} +0 -0
- /package/dist/{chunk-CLW2S55N.js.map → chunk-ILZ66CS6.js.map} +0 -0
- /package/dist/{chunk-QZJN5OHK.js.map → chunk-LOWJWKM5.js.map} +0 -0
- /package/dist/{chunk-HTSWLPMU.js.map → chunk-NYOQNYSI.js.map} +0 -0
- /package/dist/{chunk-O2QOC5FA.js.map → chunk-QJ7NIL6A.js.map} +0 -0
- /package/dist/{chunk-QTGYQ2U7.js.map → chunk-TZSPLSDU.js.map} +0 -0
|
@@ -379,21 +379,13 @@ export interface EmbeddableChatProps {
|
|
|
379
379
|
*/
|
|
380
380
|
onGuidePromptConsumed?: () => void
|
|
381
381
|
/**
|
|
382
|
-
*
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* `
|
|
387
|
-
*
|
|
388
|
-
* Host-owned data (it lives in the host's navigation store); the lib only
|
|
389
|
-
* places and styles it, resolving lead glyphs from `contextPicker.entityTypes`.
|
|
390
|
-
* Shown only alongside an active `contextPicker` (i.e. Mingo mode); an empty
|
|
391
|
-
* `items` array renders nothing. Keep the object identity stable (`useMemo`).
|
|
382
|
+
* Host-rendered banner shown as a full-bleed row directly under the panel
|
|
383
|
+
* header in MINGO mode only (Figma 192:51006) — e.g. a "current page context"
|
|
384
|
+
* tag naming the entity whose detail page the user is viewing. The host owns
|
|
385
|
+
* the data + click; pass `null`/return `null` to render nothing. Mirrors the
|
|
386
|
+
* built-in `GuideModeBanner`, which fills the same slot in Guide mode.
|
|
392
387
|
*/
|
|
393
|
-
|
|
394
|
-
items: ChatContextItem[]
|
|
395
|
-
onRemove?: (item: ChatContextItem) => void
|
|
396
|
-
}
|
|
388
|
+
mingoContextBanner?: React.ReactNode
|
|
397
389
|
}
|
|
398
390
|
|
|
399
391
|
// =============================================================================
|
|
@@ -926,7 +918,7 @@ function EmbeddableChatInner({
|
|
|
926
918
|
renderContextItem,
|
|
927
919
|
guidePendingPrompt,
|
|
928
920
|
onGuidePromptConsumed,
|
|
929
|
-
|
|
921
|
+
mingoContextBanner,
|
|
930
922
|
}: EmbeddableChatProps) {
|
|
931
923
|
// `shell === 'none'` means the consumer hosts us inside their own panel
|
|
932
924
|
// (e.g. AppLayoutDrawer in openframe-frontend). Several drawer-shell
|
|
@@ -2205,6 +2197,14 @@ function EmbeddableChatInner({
|
|
|
2205
2197
|
<GuideModeBanner className="animate-in fade-in-0 duration-200" />
|
|
2206
2198
|
)}
|
|
2207
2199
|
|
|
2200
|
+
{/* Mingo-mode current-page context banner (Figma 192:51006) —
|
|
2201
|
+
full-bleed row under the header naming the entity whose detail
|
|
2202
|
+
page the user is currently viewing, so they can ask Mingo to
|
|
2203
|
+
recall it. Host-rendered (it reads the host's navigation-context
|
|
2204
|
+
store) and host-gated to "has an open view"; this slot just
|
|
2205
|
+
places it, mirroring `GuideModeBanner` above. */}
|
|
2206
|
+
{activeMode === 'mingo' && mingoContextBanner}
|
|
2207
|
+
|
|
2208
2208
|
{/* Chat-panel row. In the wide Mingo layout (`splitActive`) the
|
|
2209
2209
|
dialog history is hoisted into a fixed 320px "Current Chats"
|
|
2210
2210
|
rail on the left; the stacked layout keeps it inline in the
|
|
@@ -2532,8 +2532,6 @@ function EmbeddableChatInner({
|
|
|
2532
2532
|
selectedContextItems={contextItems}
|
|
2533
2533
|
onToggleContextItem={toggleContextItem}
|
|
2534
2534
|
onRemoveContextItem={removeContextItem}
|
|
2535
|
-
contextMemoryItems={contextMemory?.items}
|
|
2536
|
-
onRemoveContextMemoryItem={contextMemory?.onRemove}
|
|
2537
2535
|
contextPickerOpen={contextPickerOpen}
|
|
2538
2536
|
onOpenContextPicker={openContextPicker}
|
|
2539
2537
|
onCloseContextPicker={closeContextPicker}
|
|
@@ -37,7 +37,6 @@ export * from './chat-header-search-field'
|
|
|
37
37
|
export * from './chat-panel-header'
|
|
38
38
|
export * from './chat-composer'
|
|
39
39
|
export * from './chat-context-picker'
|
|
40
|
-
export * from './chat-context-memory-bar'
|
|
41
40
|
export * from './context-items-list'
|
|
42
41
|
export * from './chat-archive-page'
|
|
43
42
|
export * from './model-display'
|
|
@@ -46,15 +46,15 @@ export function TabSelector({
|
|
|
46
46
|
}: TabSelectorProps) {
|
|
47
47
|
return (
|
|
48
48
|
<div
|
|
49
|
-
className={cn('flex flex-col gap-
|
|
49
|
+
className={cn('flex flex-col gap-1', disabled && 'opacity-50', className)}
|
|
50
50
|
aria-disabled={disabled || undefined}
|
|
51
51
|
>
|
|
52
52
|
{label && (
|
|
53
|
-
<p className="text-ods-text-primary text-
|
|
53
|
+
<p className="text-ods-text-primary text-h3">
|
|
54
54
|
{label}
|
|
55
55
|
</p>
|
|
56
56
|
)}
|
|
57
|
-
<div className="flex w-full bg-ods-bg border border-ods-border rounded-md p-
|
|
57
|
+
<div className="flex w-full bg-ods-bg border border-ods-border rounded-md p-1 gap-1 h-12">
|
|
58
58
|
{items.map((item) => {
|
|
59
59
|
const isActive = value === item.id
|
|
60
60
|
const isDisabled = disabled || item.disabled
|
|
@@ -67,10 +67,10 @@ export function TabSelector({
|
|
|
67
67
|
onClick={() => onValueChange(item.id)}
|
|
68
68
|
aria-label={!item.label ? item.ariaLabel : undefined}
|
|
69
69
|
className={cn(
|
|
70
|
-
// Bold on BOTH states
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
'flex flex-1 items-center justify-center gap-
|
|
70
|
+
// Bold on BOTH states — a medium↔bold flip between the active
|
|
71
|
+
// and inactive tabs read as inconsistent weight (and nudged
|
|
72
|
+
// label widths on every switch).
|
|
73
|
+
'flex flex-1 items-center justify-center gap-2 rounded-xs p-2 text-h4 font-bold transition-colors duration-200 whitespace-nowrap',
|
|
74
74
|
isDisabled
|
|
75
75
|
? isActive
|
|
76
76
|
? 'cursor-not-allowed bg-ods-bg-surface text-ods-text-secondary'
|
|
@@ -83,7 +83,7 @@ export function TabSelector({
|
|
|
83
83
|
)}
|
|
84
84
|
>
|
|
85
85
|
{item.icon && (
|
|
86
|
-
<span className="shrink-0 size-
|
|
86
|
+
<span className="shrink-0 size-6 flex items-center justify-center">
|
|
87
87
|
{item.icon}
|
|
88
88
|
</span>
|
|
89
89
|
)}
|