tamer-icons
Typings and font assets for the native Lynx <icon> element (Material Icons, Material Symbols, Font Awesome solid + brands). There is no Icon React component — you use <icon> with the native attribute names below.
Install
Run t4l link after installing.
Peer: @lynx-js/types (for IntrinsicElements typings).
Usage
Examples
Props
Exports
How it works
The <icon> element
IconElementProps (in packages/tamer-icons/src/icon-jsx.ts) extends ViewProps from @lynx-js/types, so the element accepts every standard view prop (className, id, style, …) on top of the icon-specific ones above. Native renderers live in the iOS pod (TamerIconElement.m) and the Android module (IconElement.kt).
Fonts
Four font files ship inside the package:
For non-native targets (web preview), the URLs above export the same fonts so you can register them via lynx.addFont / @font-face.
iOS (CocoaPods)
The pod bundles .ttf files under tamericons/Resources/. They are produced by the package's npm run build (fetch-fonts → copy-ios-fonts). After npm install / pnpm install, prepare runs that build; if you use --ignore-scripts, run npm run build inside @tamer4lynx/tamer-icons before pod install, or the resource bundle may fail to compile.
TypeScript
Ambient typings ship as dist/icon-jsx.d.ts (exports["./icon-jsx"], tamer.ambientTypeExports). They augment @lynx-js/types for <icon>.
Recommended: use t4l init / t4l link so .tamer/tamer-components.d.ts includes path references into node_modules/.../dist/icon-jsx.d.ts, and list the generated file in tsconfig.json. If you use src/tsconfig.json, include ../.tamer/tamer-components.d.ts there too — see Ambient types (CLI). t4l link also refreshes .tamer/tamer-components.d.ts and the tsconfig.json include array when syncTamerComponentTypes is enabled (default in tamer.config.json).
Optional: side-effect import so typings load without relying only on the generated file:
