@wizeworks/silicaui-mcp 0.44.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/data/classes.json +6 -1
- package/dist/data/components.json +30 -13
- package/dist/data/packages.json +1 -1
- package/dist/data/themes.json +2130 -0
- package/dist/server.js +144 -2
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -99,14 +99,16 @@ Pass `package` to get just one.
|
|
|
99
99
|
| `list_components({ package? })` | Component names + categories across all three paths, optionally filtered to one package. |
|
|
100
100
|
| `get_component({ name, package? })` | A component's real shape on each path: CSS root class + classes + color variants, React props (from source) + a real usage example, or the `-html` macro and its behaviors. |
|
|
101
101
|
| `list_classes({ component? })` | Exact, literal CSS class names — extracted from the actual class generators. |
|
|
102
|
-
| `get_tokens()` | Semantic color list, light/dark values, typography tokens. |
|
|
102
|
+
| `get_tokens()` | Semantic color list, the default theme's light/dark values, scalar + typography tokens, how to register extra color roles, and the `data-theme` mechanism those values are activated by. |
|
|
103
|
+
| `list_themes()` | Every shipped theme preset (what it's for, its faces and shape) plus the `data-theme` mechanism itself — how a theme is applied, how dark mode works, and how a section opts into its own palette by nesting the attribute. |
|
|
104
|
+
| `get_theme({ name, mode? })` | One theme's fully resolved token map — dark deltas merged, `-content` inks derived — with the exact attribute to write. |
|
|
103
105
|
| `list_blocks({ category?, tag? })` | Composed page blocks (hero, FAQ, feature grid, …), summary only. |
|
|
104
106
|
| `get_block({ key })` | One block's full node tree. |
|
|
105
107
|
| `list_behaviors()` / `get_behavior({ type })` | The `data-sui-*` interactive-behavior contract. |
|
|
106
108
|
| `get_node_schema({ section? })` | Path 3's document schema (`@wizeworks/silicaui-html`): the four node kinds, the typed system-metadata band, the data-binding vocabulary, the host resolution contract, and the tag/attribute allowlist `toHtml` enforces. |
|
|
107
109
|
| `list_email_nodes()` | The email builder's closed node schema (`@wizeworks/silicaui-builder/email`): every kind, what it may hold, what may hold it, the insertable presets, and the document envelope. |
|
|
108
110
|
| `get_email_node({ kind })` | One email node kind's real typed fields (with source docs) and its data-binding contract — which `attr` a bind may target. |
|
|
109
|
-
| `search_docs({ query })` | Free-text search across components, blocks, behaviors, classes, tokens, node-tree bindings and allowed tags, and email node kinds. |
|
|
111
|
+
| `search_docs({ query })` | Free-text search across components, blocks, behaviors, classes, tokens, themes, node-tree bindings and allowed tags, and email node kinds. |
|
|
110
112
|
|
|
111
113
|
## A note on versioning
|
|
112
114
|
|
package/dist/data/classes.json
CHANGED
|
@@ -6358,6 +6358,12 @@
|
|
|
6358
6358
|
"optional": false,
|
|
6359
6359
|
"type": "React.ReactNode",
|
|
6360
6360
|
"doc": ""
|
|
6361
|
+
},
|
|
6362
|
+
{
|
|
6363
|
+
"name": "popupProps",
|
|
6364
|
+
"optional": true,
|
|
6365
|
+
"type": "Omit<AlertDialogContentProps, \"children\"> & {\n [key: `data-${string}`]: unknown;\n }",
|
|
6366
|
+
"doc": "Props for the portalled `AlertDialogContent` — chiefly `data-theme`. The popup portals to `document.body`, which is OUTSIDE any `[data-theme]` island the provider sits in, so a confirm raised from inside a themed region (an editor shell, a pane, a dark section) would otherwise resolve its tokens against the page instead of that region: <ImperativeAlertDialogProvider popupProps={{ \"data-theme\": \"studio\" }}> `data-*` keys are spelled out in the type because this is an object literal, not a JSX attribute list — TypeScript waives excess-property checks for hyphenated names only in JSX position."
|
|
6361
6367
|
}
|
|
6362
6368
|
]
|
|
6363
6369
|
}
|
|
@@ -6972,7 +6978,7 @@
|
|
|
6972
6978
|
"package": "@wizeworks/silicaui-react",
|
|
6973
6979
|
"category": "Layout",
|
|
6974
6980
|
"sourceFile": "silicaui-react/src/stack.tsx",
|
|
6975
|
-
"description": "Silica Stack — layers its children into a peeking deck (first child on top). With `interactive`, clicking (or Enter/Space) cycles the front card to the back so you can flip through the deck; the re-stack animates. <Stack interactive> <Card className=\"bg-primary text-primary-content\"><CardBody>1</CardBody></Card> <Card className=\"bg-secondary text-secondary-content\"><CardBody>2</CardBody></Card> <Card className=\"bg-accent text-accent-content\"><CardBody>3</CardBody></Card> </Stack>",
|
|
6981
|
+
"description": "Silica Stack — layers its children into a peeking deck (first child on top). With `interactive`, clicking (or Enter/Space) cycles the front card to the back so you can flip through the deck; the re-stack animates. Children stretch to the deck's WIDTH but keep their own height, so size the deck's width here and each card's height on the card: <Stack interactive className=\"w-48\"> <Card className=\"h-32 bg-primary text-primary-content\"><CardBody>1</CardBody></Card> <Card className=\"h-32 bg-secondary text-secondary-content\"><CardBody>2</CardBody></Card> <Card className=\"h-32 bg-accent text-accent-content\"><CardBody>3</CardBody></Card> </Stack>",
|
|
6976
6982
|
"props": [
|
|
6977
6983
|
{
|
|
6978
6984
|
"name": "StackProps",
|
|
@@ -6984,6 +6990,12 @@
|
|
|
6984
6990
|
"type": "StackPeek",
|
|
6985
6991
|
"doc": "Which way the deck peeks. `top` (default), `bottom`, `start`, or `end`."
|
|
6986
6992
|
},
|
|
6993
|
+
{
|
|
6994
|
+
"name": "size",
|
|
6995
|
+
"optional": true,
|
|
6996
|
+
"type": "SilicaSize",
|
|
6997
|
+
"doc": "How far the deck fans, as a share of the card's own size — `xs` (2%) through `xl` (9%), default `md` (5%). It scales with the card, so one value reads the same on a 128px thumbnail and a 600px hero card. For a distance off this ramp, set the property directly: `className=\"[--stack-peek:4%]\"` (any length works, including `12px`)."
|
|
6998
|
+
},
|
|
6987
6999
|
{
|
|
6988
7000
|
"name": "interactive",
|
|
6989
7001
|
"optional": true,
|
|
@@ -6993,7 +7005,7 @@
|
|
|
6993
7005
|
]
|
|
6994
7006
|
}
|
|
6995
7007
|
],
|
|
6996
|
-
"usageExample": "import { Stack, Card, CardBody } from \"@wizeworks/silicaui-react\";\
|
|
7008
|
+
"usageExample": "import { Stack, Card, CardBody } from \"@wizeworks/silicaui-react\";\nimport type { SilicaSize } from \"@wizeworks/silicaui-react\";\nimport { Section, LabeledRow } from \"../lib/Section\";\n\nconst CARDS = [\n { label: \"1\", tone: \"bg-primary text-primary-content\" },\n { label: \"2\", tone: \"bg-secondary text-secondary-content\" },\n { label: \"3\", tone: \"bg-accent text-accent-content\" },\n];\n\n/**\n * The deck's three cards. A `stack` stretches its children to its own WIDTH but\n * leaves their height to them, so the height class goes here on the card — not\n * on the `<Stack>`, where it would size an empty box around content-height\n * cards and make the fan look far smaller than asked for.\n */\nfunction Deck({ card, body }: { card: string; body: string }) {\n return (\n <>\n {CARDS.map((c) => (\n <Card key={c.label} className={`${c.tone} ${card}`}>\n <CardBody className={`items-center justify-center ${body}`}>\n {c.label}\n </CardBody>\n </Card>\n ))}\n </>\n );\n}\n\nexport function StackDemo() {\n return (\n <>\n <Section title=\"Real use · interactive peeking deck (click to cycle)\">\n <Stack interactive className=\"w-48\" data-demo=\"interactive\">\n <Deck card=\"h-32\" body=\"text-2xl font-bold\" />\n </Stack>\n </Section>\n\n <Section title=\"Peek direction\">\n <div className=\"flex gap-8\">\n {([\"top\", \"bottom\", \"start\", \"end\"] as const).map((peek) => (\n <Stack\n key={peek}\n peek={peek}\n className=\"w-28\"\n data-demo={`dir-${peek}`}\n >\n <Deck card=\"h-20\" body=\"text-sm\" />\n </Stack>\n ))}\n </div>\n </Section>\n\n <Section title=\"Fan distance\">\n <div className=\"flex flex-wrap items-end gap-8\">\n {([\"xs\", \"sm\", \"md\", \"lg\", \"xl\"] as SilicaSize[]).map((size) => (\n <LabeledRow key={size} label={size}>\n <Stack\n size={size}\n className=\"w-32\"\n data-demo={`size-${size}`}\n >\n <Deck card=\"h-24\" body=\"text-sm\" />\n </Stack>\n </LabeledRow>\n ))}\n </div>\n </Section>\n\n {/*\n The peek is a share of the card's own size, so it survives a real\n content-height card. Fixed-distance nudges did not: the shrink from\n `scale()` out-ran them and the deck collapsed to a single card above\n ~320px. Keep a large specimen here so that cannot come back\n unnoticed — e2e/stack-peek.spec.ts measures exactly these two.\n */}\n <Section title=\"Large cards · the peek scales with the card\">\n <div className=\"flex flex-wrap items-end gap-10\">\n <LabeledRow label=\"480 × 448\">\n <Stack className=\"w-[480px]\" data-demo=\"large\">\n <Deck card=\"h-[448px]\" body=\"text-4xl\" />\n </Stack>\n </LabeledRow>\n <LabeledRow label=\"480 × 448 · [--stack-peek:4%]\">\n <Stack\n className=\"w-[480px] [--stack-peek:4%]\"\n data-demo=\"large-tuned\"\n >\n <Deck card=\"h-[448px]\" body=\"text-4xl\" />\n </Stack>\n </LabeledRow>\n </div>\n </Section>\n </>\n );\n}"
|
|
6997
7009
|
},
|
|
6998
7010
|
{
|
|
6999
7011
|
"name": "Collapsible",
|
|
@@ -10947,7 +10959,7 @@
|
|
|
10947
10959
|
"package": "@wizeworks/silicaui",
|
|
10948
10960
|
"category": "css",
|
|
10949
10961
|
"sourceFile": "silicaui/src/components/animations.js",
|
|
10950
|
-
"description": "Assignable element animations — presets an end user (via a site builder) can apply to ANY element, generated from one preset table so the three trigger class families always stay in sync: .sui-animate-{preset} — ON LOAD: a `@keyframes` animation that plays automatically on paint. No JS, no attribute. .sui-reveal-{preset} — ON SCROLL: sits at its hidden state by default, transitions to visible once `[data-sui-inview]` lands on the element (set by the `reveal` behavior in @wizeworks
|
|
10962
|
+
"description": "Assignable element animations — presets an end user (via a site builder) can apply to ANY element, generated from one preset table so the three trigger class families always stay in sync: .sui-animate-{preset} — ON LOAD: a `@keyframes` animation that plays automatically on paint. No JS, no attribute. .sui-reveal-{preset} — ON SCROLL: sits at its hidden state by default, transitions to visible once `[data-sui-inview]` lands on the element (set by the `reveal` behavior in @wizeworks/silicaui-behaviors) — the same idiom Dialog/Popover already use for `[data-starting-style]`/`[data-ending-style]`, just driven by our own attribute. .sui-hover-{preset} — HOVER: a plain `:hover`/`:focus-visible` transition. No JS. Naming is deliberately `sui-`, not `animate-`: Tailwind core already ships `animate-spin`/`animate-pulse`/etc, and this package's own keyframes (`silica-spin`, `silica-skeleton`, …) already sidestep that collision by never exposing a bare `.animate-*` class. `sui-` also mirrors the existing `data-sui-*` marker namespace used by behaviors. Speed/delay are separate modifier classes (`.sui-duration-*`, `.sui-delay-*`) that set the `--sui-motion-duration`/`--sui-motion-delay` custom properties a preset reads, each with a `var(--duration-fast, …)` -style fallback — same non-namespace-token convention as `--duration`/ `--ease` (see theme.js): the DEFAULT lives in the fallback, so an app's own `--duration-fast` override always wins regardless of layer ordering. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
10951
10963
|
"root": null,
|
|
10952
10964
|
"familyPrefix": "sui-",
|
|
10953
10965
|
"rootNote": "No bare `.sui` class exists — this family is only its `sui-*` parts.",
|
|
@@ -11255,7 +11267,7 @@
|
|
|
11255
11267
|
"package": "@wizeworks/silicaui",
|
|
11256
11268
|
"category": "wrapper",
|
|
11257
11269
|
"sourceFile": "silicaui/src/components/chart.js",
|
|
11258
|
-
"description": "Chart container — the box an ECharts canvas/SVG renders into. The actual chart theming is done in JS (the `@wizeworks
|
|
11270
|
+
"description": "Chart container — the box an ECharts canvas/SVG renders into. The actual chart theming is done in JS (the `@wizeworks/silicaui-charts` package reads the live color tokens and hands ECharts a matching theme); this class only owns the container so ECharts has a sized, block-level box to measure. Colorless. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
11259
11271
|
"root": "chart",
|
|
11260
11272
|
"classes": [
|
|
11261
11273
|
"chart"
|
|
@@ -11512,7 +11524,7 @@
|
|
|
11512
11524
|
"package": "@wizeworks/silicaui",
|
|
11513
11525
|
"category": "wrapper",
|
|
11514
11526
|
"sourceFile": "silicaui/src/components/data-table.js",
|
|
11515
|
-
"description": "DataTable chrome — the interactive shell around a `.table`. The base `.table` still styles the cells (this module deliberately does NOT restyle `th`/`td`); `.data-table` only adds what a data grid needs on top: a bordered scroll container, sortable-header buttons with a caret that lights up per sort direction, a selected-row tint, a sticky header, skeleton/empty bodies, and a pagination toolbar. The React `<DataTable>` (in the optional `@wizeworks
|
|
11527
|
+
"description": "DataTable chrome — the interactive shell around a `.table`. The base `.table` still styles the cells (this module deliberately does NOT restyle `th`/`td`); `.data-table` only adds what a data grid needs on top: a bordered scroll container, sortable-header buttons with a caret that lights up per sort direction, a selected-row tint, a sticky header, skeleton/empty bodies, and a pagination toolbar. The React `<DataTable>` (in the optional `@wizeworks/silicaui-table` package) drives TanStack Table and hangs these classes on the markup. Colored: a `.data-table-<name>` class only sets `--dt-accent`, which the sort hover + selected-row tint read — so the accent is orthogonal to everything else, same as the rest of Silica. @param {string[]} colors - color names to generate `.data-table-<name>` for @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
11516
11528
|
"root": "data-table",
|
|
11517
11529
|
"classes": [
|
|
11518
11530
|
"data-table",
|
|
@@ -12708,7 +12720,7 @@
|
|
|
12708
12720
|
"package": "@wizeworks/silicaui",
|
|
12709
12721
|
"category": "wrapper",
|
|
12710
12722
|
"sourceFile": "silicaui/src/components/resizable-panels.js",
|
|
12711
|
-
"description": "ResizablePanels chrome — the visual surface for react-resizable-panels. react-resizable-panels owns the layout + drag math (it sets flex direction, panel sizes, and the handle's `data-resize-handle-state`); this styles the bordered group frame and the resize handle (a thin bar with a centered grip that lights up on hover/drag). Orientation comes from the group's `data-panel-group-direction`, so one rule set covers both axes. The React wrappers (in the optional `@wizeworks
|
|
12723
|
+
"description": "ResizablePanels chrome — the visual surface for react-resizable-panels. react-resizable-panels owns the layout + drag math (it sets flex direction, panel sizes, and the handle's `data-resize-handle-state`); this styles the bordered group frame and the resize handle (a thin bar with a centered grip that lights up on hover/drag). Orientation comes from the group's `data-panel-group-direction`, so one rule set covers both axes. The React wrappers (in the optional `@wizeworks/silicaui-panels` package) hang these classes on the library's components. Colorless: the hovered/dragged handle + grip read `--color-primary`. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
12712
12724
|
"root": null,
|
|
12713
12725
|
"familyPrefix": "resizable-",
|
|
12714
12726
|
"rootNote": "No bare `.resizable` class exists — this family is only its `resizable-*` parts.",
|
|
@@ -12732,7 +12744,7 @@
|
|
|
12732
12744
|
"package": "@wizeworks/silicaui",
|
|
12733
12745
|
"category": "wrapper",
|
|
12734
12746
|
"sourceFile": "silicaui/src/components/rich-text-editor.js",
|
|
12735
|
-
"description": "RichTextEditor chrome — the visual shell around a TipTap editor. TipTap (ProseMirror) owns all editing behavior; this styles the frame: a bordered box, a wrapping toolbar of toggle buttons (active state reads `--color-primary`), and the editable content surface (`.ProseMirror`) with sensible prose typography + a placeholder. The React `<RichTextEditor>` (in the optional `@wizeworks
|
|
12747
|
+
"description": "RichTextEditor chrome — the visual shell around a TipTap editor. TipTap (ProseMirror) owns all editing behavior; this styles the frame: a bordered box, a wrapping toolbar of toggle buttons (active state reads `--color-primary`), and the editable content surface (`.ProseMirror`) with sensible prose typography + a placeholder. The React `<RichTextEditor>` (in the optional `@wizeworks/silicaui-editor` package) drives TipTap and hangs these classes on the markup. Colorless: the active/pressed toolbar button reads `--color-primary`, same orthogonal-accent approach as the rest of Silica. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
12736
12748
|
"root": "rich-text-editor",
|
|
12737
12749
|
"classes": [
|
|
12738
12750
|
"ProseMirror",
|
|
@@ -12893,7 +12905,7 @@
|
|
|
12893
12905
|
"package": "@wizeworks/silicaui",
|
|
12894
12906
|
"category": "Data input",
|
|
12895
12907
|
"sourceFile": "silicaui/src/components/selection-list.js",
|
|
12896
|
-
"description": "The SelectionList component — a selectable list of rows (single- or multi-select), each with a leading Checkbox/Radio indicator. Colorless: the selected row reads `--color-primary` for its tint, matching `tree-view.js`'s convention. The indicator itself is a real `.checkbox`/ `.radio` element (@wizeworks
|
|
12908
|
+
"description": "The SelectionList component — a selectable list of rows (single- or multi-select), each with a leading Checkbox/Radio indicator. Colorless: the selected row reads `--color-primary` for its tint, matching `tree-view.js`'s convention. The indicator itself is a real `.checkbox`/ `.radio` element (@wizeworks/silicaui-react reuses those components directly), so this module only styles the row/label/description chrome around it. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
12897
12909
|
"root": "selection-list",
|
|
12898
12910
|
"classes": [
|
|
12899
12911
|
"selection-list",
|
|
@@ -13030,7 +13042,7 @@
|
|
|
13030
13042
|
"package": "@wizeworks/silicaui",
|
|
13031
13043
|
"category": "wrapper",
|
|
13032
13044
|
"sourceFile": "silicaui/src/components/sortable-list.js",
|
|
13033
|
-
"description": "SortableList chrome — the visual surface for a dnd-kit reorderable list. dnd-kit owns the drag behavior (sensors, collision, keyboard, transforms); this styles the list rows and the drag handle, plus the lifted look while a row is being dragged (`[data-dragging]`). The React `<SortableList>` (in the optional `@wizeworks
|
|
13045
|
+
"description": "SortableList chrome — the visual surface for a dnd-kit reorderable list. dnd-kit owns the drag behavior (sensors, collision, keyboard, transforms); this styles the list rows and the drag handle, plus the lifted look while a row is being dragged (`[data-dragging]`). The React `<SortableList>` (in the optional `@wizeworks/silicaui-dnd` package) drives dnd-kit and hangs these classes on the markup; `transform`/`transition` are applied inline by dnd-kit, so this module deliberately doesn't set them. Colorless: the dragged row's border reads `--color-primary`. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
13034
13046
|
"root": null,
|
|
13035
13047
|
"familyPrefix": "sortable-",
|
|
13036
13048
|
"rootNote": "No bare `.sortable` class exists — this family is only its `sortable-*` parts.",
|
|
@@ -13049,13 +13061,18 @@
|
|
|
13049
13061
|
"package": "@wizeworks/silicaui",
|
|
13050
13062
|
"category": "Layout",
|
|
13051
13063
|
"sourceFile": "silicaui/src/components/stack.js",
|
|
13052
|
-
"description": "The Stack component — layers its children into a peeking deck. Colorless. All children share one grid cell (`grid-area: 1/1`); the first child sits flush on top, and the next two peek out behind it, each nudged and scaled down a touch. `-bottom` makes the deck peek downward; `-start` / `-end` fan it to the sides. Great for stacked cards, notification piles, or image decks. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
13064
|
+
"description": "The Stack component — layers its children into a peeking deck. Colorless. All children share one grid cell (`grid-area: 1/1`); the first child sits flush on top, and the next two peek out behind it, each nudged and scaled down a touch. `-bottom` makes the deck peek downward; `-start` / `-end` fan it to the sides. Great for stacked cards, notification piles, or image decks. The nudge is PROPORTIONAL, not a fixed distance. Each card behind the front one is scaled down, and `place-items: center` makes that scale pull its edges inward by `size × (1 − scale) / 2` — 3.75% for the 2nd card, 7.5% for the 3rd. A fixed-rem nudge has to out-run that shrink, so it loses at large sizes: a `1.5rem` translate against a 7.5% shrink stopped peeking entirely above 320px and the deck silently collapsed into a single card. So each transform pays back its own shrink first (the `3.75%` / `7.5%` terms cancel it exactly) and only then translates by `--stack-peek`, which is therefore the REAL, visible peek at any card size. Percentages in a translate resolve against the element's own border box — `translateY` against height, `translateX` against width — so one declaration fans identically whether the card is 128px or 1280px. `--stack-peek` is per-STEP: the 2nd card peeks by one and the 3rd by two, so the deck fans evenly. Override it with `stack-xs`…`stack-xl`, or set the property directly for a bespoke deck — it accepts any length, so `--stack-peek: 12px` works as well as a percentage. SIZING: children stretch to the deck's WIDTH (`width: 100%`) but keep their own height, so a height class belongs on the CARD and a width class on the deck. `place-items: center` is deliberate — a deck of `<img>` would be squashed by a block-axis stretch. A height on the deck itself is therefore an empty box around content-height cards, and since the peek is a share of the card, it will also read as a much smaller fan than asked for. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
13053
13065
|
"root": "stack",
|
|
13054
13066
|
"classes": [
|
|
13055
13067
|
"stack",
|
|
13056
13068
|
"stack-bottom",
|
|
13057
13069
|
"stack-end",
|
|
13058
|
-
"stack-
|
|
13070
|
+
"stack-lg",
|
|
13071
|
+
"stack-md",
|
|
13072
|
+
"stack-sm",
|
|
13073
|
+
"stack-start",
|
|
13074
|
+
"stack-xl",
|
|
13075
|
+
"stack-xs"
|
|
13059
13076
|
]
|
|
13060
13077
|
},
|
|
13061
13078
|
{
|
|
@@ -13597,7 +13614,7 @@
|
|
|
13597
13614
|
"package": "@wizeworks/silicaui",
|
|
13598
13615
|
"category": "css",
|
|
13599
13616
|
"sourceFile": "silicaui/src/components/typography.js",
|
|
13600
|
-
"description": "Typography — @wizeworks
|
|
13617
|
+
"description": "Typography — @wizeworks/silicaui's UI type ramp (distinct from `.prose`, which styles a block of long-form/markdown content). This gives the *application* a designed default: bare `<h1>`–`<h6>` and `<p>` look right with zero classes, plus explicit `.display` / `.display-1`–`.display-3` / `.h1`–`.h6` / `.lead` / `.caption` classes to apply any step to any element (a semantic `<h1>` that should read as an h3, or a hero `<h1>` sized up to `.display-1`, etc.). Anchored to the 16px root + the `text-*` scale (see index.js/theme.js). Heading sizes are in `rem` so they track the base font size; the oversized display ramp is fluid (`clamp` + container units) — see DISPLAY_STEPS. Two deliberate scoping choices: • Global element defaults are scoped to `[data-theme]` — the same opt-in surface @wizeworks/silicaui paints (theme.js) — so @wizeworks/silicaui NEVER restyles a host page's headings you didn't opt into (the embeddable/Sparx case). • They use `:where(...)` (zero specificity) so a Tailwind utility (`text-sm`) OR a `.h*` class always wins without `!important`. @param {string} [prefix] - prepended verbatim to every class (e.g. `sx-`)",
|
|
13601
13618
|
"root": null,
|
|
13602
13619
|
"classes": [
|
|
13603
13620
|
"blockquote",
|
|
@@ -13812,7 +13829,7 @@
|
|
|
13812
13829
|
"package": "@wizeworks/silicaui",
|
|
13813
13830
|
"category": "css",
|
|
13814
13831
|
"sourceFile": "silicaui/src/type-scale.js",
|
|
13815
|
-
"description": "The type scale — @wizeworks
|
|
13832
|
+
"description": "The type scale — @wizeworks/silicaui's `text-*` size ladder, and the SINGLE source of truth for it. The plugin registers this as `theme.extend.fontSize` (see index.js) so Tailwind emits `text-xs` … `text-10xl`, and the MCP catalog generator imports the SAME object so the documented scale can never drift from what the plugin actually ships. Exposed as `@wizeworks/silicaui/type-scale` for anyone who wants to build a size picker or safelist from the canonical scale rather than re-typing it. Anchored to a 16px root (index.js declares `100%`, honoring a user's own browser setting): `text-md` (== `text-base`) is 1rem = 16px — the worldwide default body size — so the scale reads as a self-documenting xs → sm → MD → lg… ladder rather than leaving 16px an accidental Tailwind default. `md` is the named alias @wizeworks/silicaui code should reach for; always prefer a scale step over a `text-[13px]`-style magic number. xs–9xl match Tailwind's own defaults (nothing shifts) but are declared EXPLICITLY rather than left to Tailwind — otherwise the ladder @wizeworks/silicaui \"owns\" quietly stopped at 7xl while 8xl/9xl leaked in from the framework default, so the top of the scale wasn't self-documenting. `10xl` (10rem) extends past Tailwind's ceiling for oversized hero/display type. Shape matches Tailwind's `fontSize` theme: `[fontSize, { lineHeight }]`.",
|
|
13816
13833
|
"root": null,
|
|
13817
13834
|
"familyPrefix": "text-",
|
|
13818
13835
|
"rootNote": "No bare `.text` class exists — this family is only its `text-*` parts.",
|
package/dist/data/packages.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
"name": "@wizeworks/silicaui-html",
|
|
14
|
-
"purpose": "Framework-neutral node-tree schema + HTML projection + composed blocks (for non-React output).",
|
|
14
|
+
"purpose": "Framework-neutral node-tree schema + HTML projection + composed blocks (for non-React output). The `/theme` subpath turns a Theme into CSS off the RENDER path: `customColorCss(theme)` emits every rule a build-time `@plugin \"@wizeworks/silicaui\" { colors: … }` registration would have — for a color NAMED AT RUNTIME by a tenant in a theme editor, which no build-time list can carry — and `themeTokenCss(theme, selector, mode)` emits the custom properties those rules read (ship both, or the rules paint nothing). Needs @wizeworks/silicaui, an optional peer; the root import stays dependency-free.",
|
|
15
15
|
"install": "pnpm add @wizeworks/silicaui-html"
|
|
16
16
|
},
|
|
17
17
|
{
|