Skip to content

Define shared chrome icons once as React components #441

Description

@kostyafarber

Problem

Shared chrome icons are stored three ways: SVG files in desktop assets, copies of the same SVGs in packages/editor/src/ui/assets that nothing imports, and inline SVG strings in ShiftIcon rendered with dangerouslySetInnerHTML. Changing an icon means editing several copies, inline strings bypass the SVG pipeline desktop uses, and unused icons cannot be tree-shaken from the SDK bundle.

Expected outcome

Each shared icon has one source and renders as a React component that inherits currentColor, used by both desktop and the SDK.

Acceptance criteria

  • Each shared chrome icon is defined once and consumed by desktop and the SDK from that definition.
  • Icons render without dangerouslySetInnerHTML and follow the surrounding text color in every theme.
  • Unused icon files are removed.
  • The SDK bundle includes only icons its components use.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions