diff --git a/packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx b/packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx index 7bd4f22b06..412ff9fe59 100644 --- a/packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx +++ b/packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx @@ -6,12 +6,12 @@ import type { ReactNode } from 'react' import { - IconApiOutline14, IconBrowseOutline16, IconCodeOutline16, IconEditOutline16, IconSearchOutline16, IconThinkOutline14, + IconApiOutline14, IconBrowseOutline16, IconCodeOutline16, IconEditOutline16, IconSearchOutline16, IconSparkle16, + IconThinkOutline14, } from '@deepseek-ai/dsh-client-ui-primitives' import type { ToolRowOwnerProps } from '../contract/slots.ts' import { toolRowModel, type ToolRowVariant } from '../contract/tool-call-model.ts' import { ToolRow } from './ToolRow.tsx' -import { IconSparkle16 } from './IconSparkle16.tsx' /** Variant leading icons (figma table); all glyphs render at 14 inside the 16px leading box. */ const VARIANT_ICONS: Record = { diff --git a/packages/client/ui-conversation/src/client/chat/IconSparkle16.tsx b/packages/client/ui-conversation/src/client/chat/IconSparkle16.tsx deleted file mode 100644 index 61331ba616..0000000000 --- a/packages/client/ui-conversation/src/client/chat/IconSparkle16.tsx +++ /dev/null @@ -1,15 +0,0 @@ -// Local sparkle icon for the Others tool-row variant (figma 43:31850 leading -// glyph is an SF Symbols "sparkles" text glyph — not extractable as vector -// data, so this is a hand-authored three-star approximation). Lives here -// rather than ui-primitives until the exact glyph is exported and adopted -// into the ic_ds_* family. - -export function IconSparkle16({ size = 16, className }: { size?: number; className?: string }) { - return ( - - - - - - ) -} diff --git a/packages/client/ui-goal/src/client/GoalBar.tsx b/packages/client/ui-goal/src/client/GoalBar.tsx index 197c000926..43aded14a8 100644 --- a/packages/client/ui-goal/src/client/GoalBar.tsx +++ b/packages/client/ui-goal/src/client/GoalBar.tsx @@ -11,9 +11,8 @@ import { useCallback, useEffect, useState } from 'react' import type { GoalSnapshot } from '@deepseek-ai/dsh-goal/client' import { - IconCheckOutline16, IconCloseOutline16, IconEditOutline16, IconPlayOutline16, IconTrashOutline16, + IconCheckOutline16, IconCloseOutline16, IconEditOutline16, IconPlayOutline16, IconSparkle16, IconTrashOutline16, } from '@deepseek-ai/dsh-client-ui-primitives' -import { IconSparkle16 } from './IconSparkle16.tsx' import type { GoalActionResult, GoalBarActions } from './slots.ts' import css from './GoalBar.module.css' diff --git a/packages/client/ui-goal/src/client/IconSparkle16.tsx b/packages/client/ui-goal/src/client/IconSparkle16.tsx deleted file mode 100644 index 61331ba616..0000000000 --- a/packages/client/ui-goal/src/client/IconSparkle16.tsx +++ /dev/null @@ -1,15 +0,0 @@ -// Local sparkle icon for the Others tool-row variant (figma 43:31850 leading -// glyph is an SF Symbols "sparkles" text glyph — not extractable as vector -// data, so this is a hand-authored three-star approximation). Lives here -// rather than ui-primitives until the exact glyph is exported and adopted -// into the ic_ds_* family. - -export function IconSparkle16({ size = 16, className }: { size?: number; className?: string }) { - return ( - - - - - - ) -} diff --git a/packages/client/ui-primitives/src/icons/index.tsx b/packages/client/ui-primitives/src/icons/index.tsx index 23b3bcb835..8f5c333778 100644 --- a/packages/client/ui-primitives/src/icons/index.tsx +++ b/packages/client/ui-primitives/src/icons/index.tsx @@ -680,3 +680,14 @@ export const IconListPenOutline16 = ({ size = 16, className }: IconProps) => ( /> ) + +/** sparkle_16 (Others tool-row / goal strip leading glyph; hand-authored three-star + * approximation — the figma 43:31850 glyph is an SF Symbols "sparkles" text glyph, + * not extractable as vector data) */ +export const IconSparkle16 = ({ size = 16, className }: IconProps) => ( + + + + + +) diff --git a/packages/client/ui-primitives/tests/icons.spec.tsx b/packages/client/ui-primitives/tests/icons.spec.tsx index c06a2e52fc..487fbb696e 100644 --- a/packages/client/ui-primitives/tests/icons.spec.tsx +++ b/packages/client/ui-primitives/tests/icons.spec.tsx @@ -14,8 +14,8 @@ const icons = Object.fromEntries( const iconNames = Object.keys(icons) describe('ic_ds_ icon set', () => { - it('exports the full P-I set (43 deepsuite + 13 figma extracts)', () => { - expect(iconNames.length).toBe(56) + it('exports the full P-I set (43 deepsuite + 13 figma extracts + the hand-authored sparkle)', () => { + expect(iconNames.length).toBe(57) }) it.each(iconNames)('%s renders an svg with currentColor fills and no hardcoded palette', (name) => {