Components

TreeOfLife

Tree of Life, from magick-components

The Tree of Life: the ten sephirot (eleven with Da'at) coloured in either scale and labelled from their magick-data rows, and the twenty-two paths with their Hebrew letters. Without props it draws as magick.ly's Tree page does by default. A sphere or a path is a link only where sephirahHref or pathHref gives it one, a plain link the browser follows. It reads the data itself and needs no client code, so it renders as a Server Component. Its ids come from useId when id is not given.

import TreeOfLife from "magick-components/kabbalah/TreeOfLife";

magick-components is on npm, under MIT (how to install it), and its source is in the app's repository.

Props

JSX

<TreeOfLife />

The site also serves this drawing as an image: SVG.

Props

PropTypeDefaultDescription
activePathstringA path's id ("1_2"): it is drawn on top and highlighted, the rest faded. Any other value throws.
activeSephirahstring | nullA sephirah's id ("tiferet"): that sphere is drawn and the others faded. null fades them all; not given, none is faded. Any other value throws, as for activePath.
bottomTextstringThe field path(s) set on an arc below each sphere's label, as field takes them; name.en when not given, and none when empty.
colorScale"king" | "queen"The scale the spheres are coloured in: queen when not given.
fieldstringWhat each sphere is labelled with: a field path into its magick-data row (name.he, planet.name.en.en, stones.*.name.en; index is the sphere's number), or several joined by commas, which are drawn space-separated. name.roman when not given or empty.
flipbooleanSeen from behind, the body's view; the stylesheet mirrors the figure.
fontBaseUrlstringWhere Noto Sans and Noto Sans Hebrew are served, as NotoSans-Regular.ttf and NotoSansHebrew-Regular.ttf under it. Given one, the SVG carries @font-face rules for them, which an exported SVG needs; the rules name the families for the whole page, as any @font-face does. Without it the Tree only names the families, and the page supplies them (or falls back to Arial and sans-serif).
fontSizestring | numberThe labels' font size. When not given, from field: 32 for index, 20 for name.he and godName.name.he, otherwise 10.
heightstring | numberThe SVG's height; from the width and the figure's shape when not given.
idstringThe <svg>'s id, which its stylesheet is scoped to and every id inside it begins with (<id>-paths, <id>-topTextPath0): letters, digits, - and _, starting with a letter. One from useId when not given, so that several Trees can share a page.
labelsreadonly string[]Each sphere's label, Keter first and Da'at eleventh, in place of field's.
letterAttr"hebrew" | "hermetic"Whose letters the paths carry: hermetic when not given.
pathHref((path: TreeOfLifePathRow) => string | null)Each path's link, given its magick-data row, or null for none. Without it the paths are not links.
sephirahHref((sephirah: SephirahRow) => string | null)Each sphere's link, given its magick-data row, or null for none. Without it the spheres are not links.
showDaatbooleanDraws Da'at. Only the Queen scale colours it, so the King scale leaves it out.
topTextstringThe field path(s) set on an arc above each sphere's label, as field takes them; index when not given, and none when empty.
widthstring | numberThe SVG's width; the container's, "100%", when not given.
Magick.ly is open source. You can see the code used to generate this page in TreeOfLife.tsx, TreeOfLife.examples.tsx and Explorer.tsx.