@molecule/app-fonts-material-symbols

Provider bond · fonts · App (browser) · v1.0.4 · Apache-2.0

Material Symbols Outlined — local, self-hosted font (no external CDN)

npm install @molecule/app-fonts-material-symbols

npm · Source on GitHub · Implements @molecule/app-fonts

How it works

@molecule/app-fonts-material-symbols is a provider bond on the app (browser) side: it implements the fonts core interface (@molecule/app-fonts) with a concrete vendor or library behind it.

Your code calls the core; you wire this provider once at startup. Swapping vendors later is one line in that wiring, not a rewrite.

import { setFont } from '@molecule/app-fonts'
import { font as icons } from '@molecule/app-fonts-material-symbols'

setFont(icons) // once, at app startup — before first paint

Works with: @molecule/app-fonts

Reference

Material Symbols Outlined font for molecule.dev.

Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit src/index.ts JSDoc, not this file.

Quick Start

import { setFont } from '@molecule/app-fonts'
import { font as icons } from '@molecule/app-fonts-material-symbols'

setFont(icons) // once, at app startup — before first paint

Glyphs render through the .material-symbols-outlined utility class (injected by setFont() with the @font-face), using ligature names:

<span class="material-symbols-outlined">home</span>

Type

provider

Installation

npm install @molecule/app-fonts-material-symbols @molecule/app-fonts

API

Constants

font

Material Symbols Outlined font definition — local, self-hosted (no external CDN).

const font: FontDefinition

Core Interface

Implements @molecule/app-fonts interface.

Injection Notes

Requirements

Peer dependencies:

  • @molecule/app-fonts ^1.0.1

Runtime Dependencies

  • @molecule/app-fonts

  • Wiring it without mlcl (the sandbox): the package is already installed under node_modules — add an "@molecule/app-fonts-material-symbols" dependency to the app's package.json (pin the version already installed there), then in app/src/bonds/index.ts call setFont(icons). Preferred: import the webfont as an asset so nothing is copied — import woff from '@molecule/app-fonts-material-symbols/fonts/MaterialSymbolsOutlined.woff2?url' then setFont({ ...icons, source: { type: 'local', faces: [{ file: woff, weight: '100 700' }] } }). setFont() uses a file starting with /, http or data: as-is. Without an asset import, copy node_modules/@molecule/app-fonts-material-symbols/fonts/MaterialSymbolsOutlined.woff2 to app/public/fonts/MaterialSymbolsOutlined.woff2 and call setFont(icons) — a plain filename is served from <basePath>fonts/<file>.