@flyos/design-system-emoji-pack
v1.0.0
Published
Optional animated-emoji asset pack for @flyos/design-system — Microsoft Fluent emoji (MIT), recompressed to 128px animated WebP plus frame-0 stills.
Maintainers
Readme
@flyos/design-system-emoji-pack
Optional animated-emoji asset pack for @flyos/design-system.
Artwork is Microsoft Fluent Emoji (MIT), recompressed to 128px animated WebP with the loop count encoded as 1, plus a byte-identically-framed frame-0 still per emoji. Nothing in the design system requires this package: install it only if you want animated emoji.
Install
npm install --legacy-peer-deps @flyos/design-system-emoji-packPin the version exactly (no ^). The manifest carries catalogVersion, so a
design-system-catalog ↔ pack skew is detectable; a skew warns and degrades, it never blocks
startup.
Wire it up
Serve the assets from your own origin — add an
angular.jsonasset glob:{ "glob": "**/*", "input": "node_modules/@flyos/design-system-emoji-pack/assets", "output": "/emoji" }Register the design-system provider in your app config:
import { provideFlyEmojiPack } from '@flyos/design-system'; import { flyEmojiPackManifest } from '@flyos/design-system-emoji-pack'; providers: [provideFlyEmojiPack('/emoji', flyEmojiPackManifest)];Opt a surface in — e.g.
<fly-emoji-picker emojiAnimation="replace" />.
Serve /emoji/ with long-lived immutable cache headers: filenames are not content-hashed,
so the design system appends ?v={manifest.version} and an asset refresh bumps that version.
Contents
manifest.json { version, catalogVersion, entries: { <id>: { anim, still, durationMs } } }
assets/anim/<id>.webp loop=1 animated, 128px
assets/still/<id>.webp frame-0 idle, 128px
index.js / index.d.ts typed re-export of the manifest
THIRD-PARTY-NOTICES Microsoft copyright + MIT licence textentries is keyed on design-system FlyEmojiEntry.id — the frozen id contract. An id present
in the catalog but absent from entries is a coverage gap: the design system renders the
native glyph and logs one console.warn. It never throws.
index.js imports manifest.json with a JSON import attribute. Consumers on toolchains that
do not support import attributes can import @flyos/design-system-emoji-pack/manifest.json
directly — the same object, exposed through the exports map.
Publishing
The manifest.json and assets/** committed here are a placeholder skeleton. Real assets
and the real manifest are produced by the tools/emoji-vendor/ pipeline (WP0), which also emits
THIRD-PARTY-NOTICES.
THIRD-PARTY-NOTICESis required at publish time. The MIT licence obliges us to preserve Microsoft's copyright and licence text alongside the redistributed artwork. Do not publish a version of this package without it.
