@stealthscale/plugin-theming-contract
v0.2.2
Published
Declares the theming plugin's contract: the pages that document the theme on show, their menus, and their words.
Maintainers
Readme
@stealthscale/plugin-theming-contract
@stealthscale/plugin-theming-contract declares the theming plugin's contract and its words. A
product installs the plugin through @stealthscale/plugin-theming, which depends on this package.
Install
pnpm add @stealthscale/plugin-theming-contractThe package imports @stealthscale/sdk-core alone, so a product's build loads it in Node.
The contract
themingContract declares the plugin theming with seven menus and 25 routes. It declares no
extension.
| Menu | Rank | Routes, in their order |
| ------------------ | ---- | ------------------------------------------------------------ |
| theming/basics | 1 | themes, tokens, recipes, conditions, accessibility |
| theming/color | 2 | palettes, surfaces, series, code, looks |
| theming/type | 3 | faces, textStyles |
| theming/space | 4 | spacing, sizes, breakpoints, density |
| theming/shape | 5 | corners, depth, layers |
| theming/motion | 6 | motion, cursors |
| theming/building | 7 | writing, extending, gate |
- The
overviewroute is attheming, and the main menu lists it. - Every other route is at
theming/<slug>, where the slug is the route's name in kebab case:textStylesis attheming/text-styles. - A menu's rank orders the plugin's blocks in the sidebar, and a route's order orders its entries inside its menu.
Words
locales/en/theming.json contains the plugin's own words in the theming namespace: plugin.name,
plugin.description, the main menu's entry, the menus' labels, the heading of the contents rail,
and the words of the blocks that more than one page renders.
Each page's words are in locales/en/theming/<slug>.json, under the page's slug: its title, its
opening, and a title and a Markdown body per section. The themes page also contains
characters.<name>, a sentence about each of this repository's ten themes. The conditions page also
contains meanings.<name>, the sentence that describes what each condition matches.
Licence
MIT. See LICENSE.
