@flamingo-stack/openframe-frontend-core 0.0.428-snapshot.20260715202150 → 0.0.428
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-GMR5AA3C.js → chunk-43KGFHI3.js} +2 -2
- package/dist/{chunk-CCL6JEMS.cjs → chunk-533XR4JK.cjs} +62 -62
- package/dist/{chunk-CCL6JEMS.cjs.map → chunk-533XR4JK.cjs.map} +1 -1
- package/dist/{chunk-4VODJPTB.js → chunk-55EIHSOQ.js} +2 -2
- package/dist/{chunk-7MJTM6QT.cjs → chunk-7ELFQWYF.cjs} +7 -7
- package/dist/{chunk-7MJTM6QT.cjs.map → chunk-7ELFQWYF.cjs.map} +1 -1
- package/dist/{chunk-TJ4HJ3KX.js → chunk-7JUUQAAH.js} +2 -2
- package/dist/{chunk-Y2TW664W.js → chunk-CVYVCBMM.js} +4 -4
- package/dist/{chunk-NYISC4Z3.js → chunk-DA2VSDAX.js} +2 -2
- package/dist/{chunk-MAYEJ3NY.js → chunk-DQ5NRLCG.js} +2 -2
- package/dist/{chunk-BN3V465H.cjs → chunk-F4WTCWOY.cjs} +15 -15
- package/dist/{chunk-BN3V465H.cjs.map → chunk-F4WTCWOY.cjs.map} +1 -1
- package/dist/{chunk-WXKFFVGC.cjs → chunk-FFDGTMZX.cjs} +5 -5
- package/dist/{chunk-WXKFFVGC.cjs.map → chunk-FFDGTMZX.cjs.map} +1 -1
- package/dist/{chunk-B3Y47C2U.cjs → chunk-I7YFFSDS.cjs} +59 -59
- package/dist/{chunk-B3Y47C2U.cjs.map → chunk-I7YFFSDS.cjs.map} +1 -1
- package/dist/{chunk-B3FBMRHQ.js → chunk-KMXHSL6M.js} +2 -2
- package/dist/{chunk-CRGH6TV6.cjs → chunk-LZYKGEN3.cjs} +26 -26
- package/dist/{chunk-CRGH6TV6.cjs.map → chunk-LZYKGEN3.cjs.map} +1 -1
- package/dist/{chunk-E4PKZNR7.cjs → chunk-MJH4VS4L.cjs} +11 -11
- package/dist/{chunk-E4PKZNR7.cjs.map → chunk-MJH4VS4L.cjs.map} +1 -1
- package/dist/{chunk-GGJUXN6Z.cjs → chunk-MO4QIPT7.cjs} +9 -9
- package/dist/{chunk-GGJUXN6Z.cjs.map → chunk-MO4QIPT7.cjs.map} +1 -1
- package/dist/{chunk-2LJA3ABH.cjs → chunk-N2CTZ3Q2.cjs} +37 -37
- package/dist/{chunk-2LJA3ABH.cjs.map → chunk-N2CTZ3Q2.cjs.map} +1 -1
- package/dist/{chunk-OLGFIDZY.cjs → chunk-NXCFIPEY.cjs} +26 -26
- package/dist/{chunk-OLGFIDZY.cjs.map → chunk-NXCFIPEY.cjs.map} +1 -1
- package/dist/{chunk-62L7S7HQ.js → chunk-OBDDE4WV.js} +2697 -2769
- package/dist/chunk-OBDDE4WV.js.map +1 -0
- package/dist/{chunk-YGITDP6O.cjs → chunk-OZTPC6VW.cjs} +31 -31
- package/dist/{chunk-YGITDP6O.cjs.map → chunk-OZTPC6VW.cjs.map} +1 -1
- package/dist/{chunk-KHKB5RY2.js → chunk-RR77Z27A.js} +2 -2
- package/dist/{chunk-XDBD6BJN.cjs → chunk-SJTNVETH.cjs} +20 -92
- package/dist/chunk-SJTNVETH.cjs.map +1 -0
- package/dist/{chunk-RTOVYU4D.js → chunk-SLCANQN3.js} +4 -4
- package/dist/{chunk-2WJ25MTA.js → chunk-UXXCNZXC.js} +4 -4
- package/dist/{chunk-7PA4B6SD.js → chunk-YP3DO4BM.js} +4 -4
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/chat-message-skeleton.d.ts +2 -17
- package/dist/components/chat/chat-message-skeleton.d.ts.map +1 -1
- package/dist/components/chat/chat-panel-header.d.ts +1 -6
- package/dist/components/chat/chat-panel-header.d.ts.map +1 -1
- package/dist/components/chat/chat-quick-action-row.d.ts +2 -12
- package/dist/components/chat/chat-quick-action-row.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +2 -22
- package/dist/components/chat/hooks/use-nats-chat-adapter.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.js +1 -3
- package/dist/components/chat/quick-action-chip.d.ts +1 -5
- package/dist/components/chat/quick-action-chip.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/index.cjs +128 -132
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +9 -13
- 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 -6
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +1 -5
- package/dist/components/ui/tag.d.ts +1 -1
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/index.cjs +2 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -5
- package/package.json +1 -1
- package/src/components/chat/chat-message-skeleton.tsx +9 -40
- package/src/components/chat/chat-panel-header.tsx +16 -28
- package/src/components/chat/chat-quick-action-row.tsx +0 -33
- package/src/components/chat/embeddable-chat.tsx +1 -11
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +1 -7
- package/src/components/chat/quick-action-chip.tsx +1 -6
- package/src/components/ui/index.ts +0 -1
- package/src/components/ui/tag.tsx +0 -7
- package/dist/chunk-62L7S7HQ.js.map +0 -1
- package/dist/chunk-XDBD6BJN.cjs.map +0 -1
- package/dist/components/ui/info-card-row.d.ts +0 -13
- package/dist/components/ui/info-card-row.d.ts.map +0 -1
- package/src/components/ui/info-card-row.tsx +0 -70
- package/src/stories/InfoCardRow.stories.tsx +0 -68
- /package/dist/{chunk-GMR5AA3C.js.map → chunk-43KGFHI3.js.map} +0 -0
- /package/dist/{chunk-4VODJPTB.js.map → chunk-55EIHSOQ.js.map} +0 -0
- /package/dist/{chunk-TJ4HJ3KX.js.map → chunk-7JUUQAAH.js.map} +0 -0
- /package/dist/{chunk-Y2TW664W.js.map → chunk-CVYVCBMM.js.map} +0 -0
- /package/dist/{chunk-NYISC4Z3.js.map → chunk-DA2VSDAX.js.map} +0 -0
- /package/dist/{chunk-MAYEJ3NY.js.map → chunk-DQ5NRLCG.js.map} +0 -0
- /package/dist/{chunk-B3FBMRHQ.js.map → chunk-KMXHSL6M.js.map} +0 -0
- /package/dist/{chunk-KHKB5RY2.js.map → chunk-RR77Z27A.js.map} +0 -0
- /package/dist/{chunk-RTOVYU4D.js.map → chunk-SLCANQN3.js.map} +0 -0
- /package/dist/{chunk-2WJ25MTA.js.map → chunk-UXXCNZXC.js.map} +0 -0
- /package/dist/{chunk-7PA4B6SD.js.map → chunk-YP3DO4BM.js.map} +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import * as React from 'react'
|
|
4
|
-
import { cn } from '../../utils/cn'
|
|
5
4
|
import { Chevron01LeftIcon } from '../icons-v2-generated/arrows/chevron-01-left-icon'
|
|
6
5
|
import {
|
|
7
6
|
Ellipsis01Icon,
|
|
@@ -43,11 +42,6 @@ export interface ChatPanelHeaderProps {
|
|
|
43
42
|
onArchive?: () => void
|
|
44
43
|
/** Open the Chat Archive page — renders the clock button (list view only). */
|
|
45
44
|
onOpenArchive?: () => void
|
|
46
|
-
/** Force the COMPACT (`h-14` desktop-style) bar at every width, skipping the
|
|
47
|
-
* full-screen mobile header. For EMBEDDED surfaces (e.g. a small preview
|
|
48
|
-
* panel) where the phone-sized full-bleed header (large `text-h2` title) is
|
|
49
|
-
* wrong regardless of viewport. Default false = viewport-responsive. */
|
|
50
|
-
compact?: boolean
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
/**
|
|
@@ -67,7 +61,6 @@ export function ChatPanelHeader({
|
|
|
67
61
|
onRename,
|
|
68
62
|
onArchive,
|
|
69
63
|
onOpenArchive,
|
|
70
|
-
compact = false,
|
|
71
64
|
}: ChatPanelHeaderProps) {
|
|
72
65
|
// Desktop ⋯ menu (active, non-archived conversation only) — rename / archive.
|
|
73
66
|
const menuItems = [
|
|
@@ -77,28 +70,23 @@ export function ChatPanelHeader({
|
|
|
77
70
|
|
|
78
71
|
return (
|
|
79
72
|
<>
|
|
80
|
-
{/* Mobile (<md): a distinct
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
onArchive={onArchive}
|
|
95
|
-
onOpenArchive={onOpenArchive}
|
|
96
|
-
/>
|
|
97
|
-
)}
|
|
73
|
+
{/* Mobile (<md): a distinct layout (Figma node 7363:85532). */}
|
|
74
|
+
<ChatPanelHeaderMobile
|
|
75
|
+
className="flex md:hidden"
|
|
76
|
+
showBack={showBack}
|
|
77
|
+
title={title}
|
|
78
|
+
backAriaLabel={backAriaLabel}
|
|
79
|
+
isArchivedView={isArchivedView}
|
|
80
|
+
onBack={onBack}
|
|
81
|
+
onClose={onClose}
|
|
82
|
+
onRestore={onRestore}
|
|
83
|
+
onRename={onRename}
|
|
84
|
+
onArchive={onArchive}
|
|
85
|
+
onOpenArchive={onOpenArchive}
|
|
86
|
+
/>
|
|
98
87
|
|
|
99
|
-
{/*
|
|
100
|
-
|
|
101
|
-
<div className={cn('flex-shrink-0 h-14 w-full overflow-hidden border-b border-ods-border bg-ods-card', compact ? 'flex' : 'hidden md:flex')}>
|
|
88
|
+
{/* Desktop (md+): fixed-height bar with full-height divider action cells. */}
|
|
89
|
+
<div className="hidden md:flex flex-shrink-0 h-14 w-full overflow-hidden border-b border-ods-border bg-ods-card">
|
|
102
90
|
<div className="flex flex-1 min-w-0 items-center gap-2 px-4 py-3">
|
|
103
91
|
{showBack ? (
|
|
104
92
|
<>
|
|
@@ -9,10 +9,8 @@ import { Ellipsis01Icon } from '../icons-v2-generated'
|
|
|
9
9
|
import { useAutoLimitTags } from '../../hooks/ui/use-auto-limit-tags'
|
|
10
10
|
import {
|
|
11
11
|
QuickActionChipButton,
|
|
12
|
-
QuickActionChipSkeleton,
|
|
13
12
|
renderQuickActionIcon,
|
|
14
13
|
type QuickActionIconSpec,
|
|
15
|
-
type QuickActionAccent,
|
|
16
14
|
} from './quick-action-chip'
|
|
17
15
|
|
|
18
16
|
// =============================================================================
|
|
@@ -29,11 +27,6 @@ export interface QuickActionChip {
|
|
|
29
27
|
icon?: React.ReactNode | QuickActionIconSpec
|
|
30
28
|
/** `'primary'` = accent (yellow) chip, `'outline'` = bordered chip (default). */
|
|
31
29
|
variant?: 'primary' | 'outline'
|
|
32
|
-
/** Active single-select state — renders the accented `selected` skin
|
|
33
|
-
* (overrides `variant`). */
|
|
34
|
-
selected?: boolean
|
|
35
|
-
/** Accent for the `selected` skin (`'cyan'` = cyan twin, else pink). */
|
|
36
|
-
selectedAccent?: QuickActionAccent
|
|
37
30
|
onSelect?: () => void
|
|
38
31
|
/** Pointer/keyboard focus enters the chip — e.g. preview the full prompt in
|
|
39
32
|
* the composer. */
|
|
@@ -54,18 +47,9 @@ export interface ChatQuickActionRowProps {
|
|
|
54
47
|
* for roomy contexts (e.g. the Guide empty state) where overflow-hiding chips
|
|
55
48
|
* would defeat per-chip hover/preview. */
|
|
56
49
|
wrap?: boolean
|
|
57
|
-
/** Render `skeletonCount` loading chips (the real {@link QuickActionChipSkeleton},
|
|
58
|
-
* so geometry is 1:1 with the loaded chips) instead of `chips`. Wrap-aware. */
|
|
59
|
-
loading?: boolean
|
|
60
|
-
/** How many skeleton chips to draw when `loading`. Default 8. */
|
|
61
|
-
skeletonCount?: number
|
|
62
50
|
className?: string
|
|
63
51
|
}
|
|
64
52
|
|
|
65
|
-
// Deterministic label widths (in `ch`) so a loading wall reads like a populated
|
|
66
|
-
// one — a varied spread, not a uniform block.
|
|
67
|
-
const SKELETON_LABEL_CHS = [16, 9, 13, 7, 18, 8, 20, 11, 15, 10, 19, 12, 17, 8, 21, 14]
|
|
68
|
-
|
|
69
53
|
// =============================================================================
|
|
70
54
|
// Chip button
|
|
71
55
|
// =============================================================================
|
|
@@ -78,8 +62,6 @@ function ChipButton({ chip }: { chip: QuickActionChip }) {
|
|
|
78
62
|
label={chip.label}
|
|
79
63
|
icon={chip.icon}
|
|
80
64
|
variant={chip.variant ?? 'outline'}
|
|
81
|
-
selected={chip.selected}
|
|
82
|
-
selectedAccent={chip.selectedAccent}
|
|
83
65
|
onSelect={chip.onSelect}
|
|
84
66
|
onHoverStart={chip.onHoverStart}
|
|
85
67
|
onHoverEnd={chip.onHoverEnd}
|
|
@@ -104,8 +86,6 @@ export function ChatQuickActionRow({
|
|
|
104
86
|
leading,
|
|
105
87
|
chips,
|
|
106
88
|
wrap = false,
|
|
107
|
-
loading = false,
|
|
108
|
-
skeletonCount = 8,
|
|
109
89
|
className,
|
|
110
90
|
}: ChatQuickActionRowProps) {
|
|
111
91
|
const auto = useAutoLimitTags({
|
|
@@ -116,19 +96,6 @@ export function ChatQuickActionRow({
|
|
|
116
96
|
const visibleChips = chips.slice(0, auto.visibleCount)
|
|
117
97
|
const hiddenChips = chips.slice(auto.visibleCount)
|
|
118
98
|
|
|
119
|
-
// Loading: draw skeleton chips (real `QuickActionChipSkeleton`, 1:1 geometry)
|
|
120
|
-
// in the same wrap/inline layout — one shared skeleton for every consumer, no
|
|
121
|
-
// hand-rolled bars.
|
|
122
|
-
if (loading) {
|
|
123
|
-
return (
|
|
124
|
-
<div className={cn('flex shrink-0 items-center gap-1', wrap && 'flex-wrap', className)}>
|
|
125
|
-
{Array.from({ length: skeletonCount }, (_, i) => (
|
|
126
|
-
<QuickActionChipSkeleton key={i} labelCh={SKELETON_LABEL_CHS[i % SKELETON_LABEL_CHS.length]} />
|
|
127
|
-
))}
|
|
128
|
-
</div>
|
|
129
|
-
)
|
|
130
|
-
}
|
|
131
|
-
|
|
132
99
|
if (!leading && chips.length === 0) return null
|
|
133
100
|
|
|
134
101
|
// Wrap mode: no width-measurement / "⋯" overflow — every chip renders inline
|
|
@@ -1557,13 +1557,7 @@ function EmbeddableChatInner({
|
|
|
1557
1557
|
// history has loaded (`hasMessages`). Driving the surface + content branch
|
|
1558
1558
|
// off this makes the normal-chat open animate identically to the archived
|
|
1559
1559
|
// one instead of lagging behind the message fetch.
|
|
1560
|
-
|
|
1561
|
-
// there is no dialog manager to set `isOpeningDialog`. So an embedded preview
|
|
1562
|
-
// that wants a message-list skeleton (real header + composer, skeleton bubbles)
|
|
1563
|
-
// signals it via `isMessagesLoading` — treat that as an open conversation so
|
|
1564
|
-
// the content branch shows the skeleton instead of the new-user welcome.
|
|
1565
|
-
const hasConversation =
|
|
1566
|
-
hasMessages || isOpeningDialog || isViewingArchived || (previewMode && isMessagesLoading)
|
|
1560
|
+
const hasConversation = hasMessages || isOpeningDialog || isViewingArchived
|
|
1567
1561
|
// Opening a dialog whose history hasn't arrived yet — show a message-list
|
|
1568
1562
|
// skeleton instead of an empty thread so the open reads as "loading" rather
|
|
1569
1563
|
// than a blank flash before the bubbles stream in.
|
|
@@ -1686,10 +1680,6 @@ function EmbeddableChatInner({
|
|
|
1686
1680
|
className="flex flex-1 min-h-0 flex-col animate-in fade-in-0 duration-200"
|
|
1687
1681
|
>
|
|
1688
1682
|
<ChatPanelHeader
|
|
1689
|
-
// Embedded previews (the hero demo tabs) keep the small bar at
|
|
1690
|
-
// every width — the phone-sized full-screen header (large title)
|
|
1691
|
-
// is wrong in a small embedded panel.
|
|
1692
|
-
compact={previewMode}
|
|
1693
1683
|
// Guide-mode empty state shows a back-chevron + "Mingo Guide"
|
|
1694
1684
|
// (back returns to the default Mingo welcome); an open
|
|
1695
1685
|
// conversation shows back + the dialog title; the Mingo list
|
|
@@ -374,14 +374,8 @@ function updateTrailingAssistant(
|
|
|
374
374
|
* here because the unified contract surfaces errors as banners, not
|
|
375
375
|
* inline messages. (Hosts that need inline error bubbles can extend
|
|
376
376
|
* the contract later.)
|
|
377
|
-
*
|
|
378
|
-
* Exported for host reuse (e.g. scripted marketing demos that rehydrate a
|
|
379
|
-
* stored `HistoricalMessage[]` via `processHistoricalMessagesWithErrors` and
|
|
380
|
-
* feed a `previewMode` EmbeddableChat). This mapper carries the segment/content
|
|
381
|
-
* shape only; author identity (name/avatar/authorType/timestamp) that a host
|
|
382
|
-
* needs for the demo is re-attached by the host from the same processed rows.
|
|
383
377
|
*/
|
|
384
|
-
|
|
378
|
+
function mapProcessedToUnified(
|
|
385
379
|
processed: Array<{
|
|
386
380
|
id: string
|
|
387
381
|
role: 'user' | 'assistant' | 'error'
|
|
@@ -145,10 +145,6 @@ export interface QuickActionChipButtonProps {
|
|
|
145
145
|
* Tag's `selected` variant (pink border + pink-secondary fill), overriding
|
|
146
146
|
* `variant`. Used by chip groups acting as tabs (OpenFrame categories). */
|
|
147
147
|
selected?: boolean
|
|
148
|
-
/** Accent for the `selected` skin: `'cyan'` uses the cyan twin, anything else
|
|
149
|
-
* (default) uses pink. Lets an agent's chip group match its own theme accent
|
|
150
|
-
* (fae pink / mingo cyan) instead of the fixed pink. */
|
|
151
|
-
selectedAccent?: QuickActionAccent
|
|
152
148
|
/** Chip scale, forwarded to `Tag` — `'large'` is the Figma "Feature Item"
|
|
153
149
|
* 48px chip (h3 bold label, 24px icon box). Default `'default'` (32px). */
|
|
154
150
|
size?: 'default' | 'large'
|
|
@@ -230,7 +226,6 @@ export function QuickActionChipButton({
|
|
|
230
226
|
lozenge,
|
|
231
227
|
variant = 'outline',
|
|
232
228
|
selected = false,
|
|
233
|
-
selectedAccent,
|
|
234
229
|
size = 'default',
|
|
235
230
|
onSelect,
|
|
236
231
|
onHoverStart,
|
|
@@ -240,7 +235,7 @@ export function QuickActionChipButton({
|
|
|
240
235
|
}: QuickActionChipButtonProps) {
|
|
241
236
|
const resolvedIcon = renderQuickActionIcon(icon)
|
|
242
237
|
const resolvedLabel = composeChipLabel(label, lozenge)
|
|
243
|
-
const tagVariant = selected ?
|
|
238
|
+
const tagVariant = selected ? 'selected' : variant
|
|
244
239
|
if (!interactive) {
|
|
245
240
|
return <Tag variant={tagVariant} size={size} icon={resolvedIcon} label={resolvedLabel} className={className} />
|
|
246
241
|
}
|
|
@@ -83,7 +83,6 @@ export * from './chevron-button'
|
|
|
83
83
|
export * from './circular-progress'
|
|
84
84
|
export { CheckIcon, CheckCircleIcon as LucideCheckCircleIcon, XIcon as LucideXIcon, MinusIcon, XCircleIcon } from './custom-icons'
|
|
85
85
|
export * from './dashboard-info-card'
|
|
86
|
-
export * from './info-card-row'
|
|
87
86
|
export * from './device-card'
|
|
88
87
|
export * from './device-card-compact'
|
|
89
88
|
export * from './entity-image'
|
|
@@ -58,13 +58,6 @@ const tagVariants = cva(
|
|
|
58
58
|
"hover:bg-[var(--ods-flamingo-pink-secondary-hover)] hover:border-[var(--ods-flamingo-pink-base)]",
|
|
59
59
|
"active:bg-[var(--ods-flamingo-pink-secondary-action)]",
|
|
60
60
|
],
|
|
61
|
-
// Cyan twin of `selected` (Mingo's accent) — same active-chip skin in the
|
|
62
|
-
// cyan theme so agent chip groups can match their own accent.
|
|
63
|
-
selectedCyan: [
|
|
64
|
-
"bg-[var(--ods-flamingo-cyan-secondary)] text-[var(--ods-system-greys-white)] border border-[var(--ods-flamingo-cyan-base)]",
|
|
65
|
-
"hover:bg-[var(--ods-flamingo-cyan-secondary-hover)] hover:border-[var(--ods-flamingo-cyan-base)]",
|
|
66
|
-
"active:bg-[var(--ods-flamingo-cyan-secondary-action)]",
|
|
67
|
-
],
|
|
68
61
|
// Matches the EntityTagBadges / StatusBadge tag skin (ods-card + ods-border,
|
|
69
62
|
// mono uppercase) so the tag-editor chips render identically to the public
|
|
70
63
|
// tag badges. Used for FilterChipData variant 'tag' (see search-input).
|