@fusion.dev/helix-docs 0.59.2 → 0.59.3
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/content/visual-axes.mdx +109 -0
- package/dist/sources.generated.js +109 -0
- package/package.json +3 -3
package/content/visual-axes.mdx
CHANGED
|
@@ -167,3 +167,112 @@ depth and quiets the child; `heading` keys on holding children and relabels the
|
|
|
167
167
|
parent, which is why a branch at any depth is a heading while the step below
|
|
168
168
|
stops after one, and why a top-level leaf sitting beside a branch is left alone
|
|
169
169
|
by both for opposite reasons.
|
|
170
|
+
|
|
171
|
+
## What each emphasis claims
|
|
172
|
+
|
|
173
|
+
`emphasis` is how loud a control is, and its values are one ladder with a rung
|
|
174
|
+
that changes meaning halfway along, so it is worth saying what each draws.
|
|
175
|
+
|
|
176
|
+
| Value | What it draws |
|
|
177
|
+
|---|---|
|
|
178
|
+
| `solid` | The tone as a full ground, with the ink flipped to read on it |
|
|
179
|
+
| `subtle` | A wash of the tone and no edge, the quietest thing that still has a surface |
|
|
180
|
+
| `outlined` | An edge in the tone |
|
|
181
|
+
| `ghost` | Nothing at rest, the tone carried by the ink alone |
|
|
182
|
+
| `muted` | Quieter ink, where there is no surface to quiet |
|
|
183
|
+
|
|
184
|
+
**`outlined` is the rung that changes.** On a control the edge arrives and the
|
|
185
|
+
fill leaves, which is what makes it quieter than `solid`. On a chart mark the
|
|
186
|
+
fill stays under the edge, because there the area encodes a value and dropping
|
|
187
|
+
it would drop the reading. Both are the same question, how much ink this claims,
|
|
188
|
+
answered by what the thing has to spend it on.
|
|
189
|
+
|
|
190
|
+
**`muted` is for a thing whose only ink is its letterform.** Text carries it and
|
|
191
|
+
nothing else does, because everything else has a surface to quiet first. That is
|
|
192
|
+
a fact about the value, not a gap.
|
|
193
|
+
|
|
194
|
+
## What each material is made of
|
|
195
|
+
|
|
196
|
+
`material` is one pair of declarations at three strengths, and the pair is the
|
|
197
|
+
point: a translucent ground without a backdrop filter is a smear, and a filter
|
|
198
|
+
behind an opaque ground is invisible. Absent is opaque.
|
|
199
|
+
|
|
200
|
+
| Value | What it draws |
|
|
201
|
+
|---|---|
|
|
202
|
+
| `glass` | A translucent ground and the backdrop filter that makes it read |
|
|
203
|
+
| `frosted` | The same pair turned up, a heavier ground under a heavier blur |
|
|
204
|
+
| `transparent` | Neither, so the page shows through structure and spacing |
|
|
205
|
+
|
|
206
|
+
`frosted` is for a surface that has to stay readable over a busy page. It is not
|
|
207
|
+
"more glass than `glass`" in a theme's sense: a theme owns how strong the pair
|
|
208
|
+
is, and these three are which pair.
|
|
209
|
+
|
|
210
|
+
## What each orientation turns
|
|
211
|
+
|
|
212
|
+
`orientation` is not paint, which is why it is a value a component reads rather
|
|
213
|
+
than a rule a stylesheet applies: the drag axis, the arrow keys and
|
|
214
|
+
`aria-orientation` all turn with it, and a CSS-only version would look stacked
|
|
215
|
+
while behaving side by side, with the keyboard moving the wrong way.
|
|
216
|
+
|
|
217
|
+
| Value | What it does |
|
|
218
|
+
|---|---|
|
|
219
|
+
| `horizontal` | Lays along the inline axis and says so in `aria-orientation` |
|
|
220
|
+
| `vertical` | Along the block axis, and says that |
|
|
221
|
+
| `auto` | Lets the component decide from the room it has, and turn again when that changes |
|
|
222
|
+
|
|
223
|
+
**`auto` asks the component's own width and never the viewport.** A splitter in a
|
|
224
|
+
300px panel of a 1400px window has no room for two panes side by side, and a
|
|
225
|
+
media query would hand it the desktop branch, so a `ResizeObserver` on the host
|
|
226
|
+
asks the only question with an honest answer.
|
|
227
|
+
|
|
228
|
+
## What each size step is
|
|
229
|
+
|
|
230
|
+
`size` is asked of pictures and regions and never of controls, which is the
|
|
231
|
+
domain and not a list of who carries it. The table is worth having because one
|
|
232
|
+
of the four is not a rung of the same kind.
|
|
233
|
+
|
|
234
|
+
| Value | What it draws |
|
|
235
|
+
|---|---|
|
|
236
|
+
| `sm` | The small rung |
|
|
237
|
+
| `md` | The middle one, and the resting case where a family has one |
|
|
238
|
+
| `lg` | The large one |
|
|
239
|
+
| `full` | The region less the same inset every rung already stops short by |
|
|
240
|
+
|
|
241
|
+
**`full` is one more rung and not a second property.** A takeover dialog is the
|
|
242
|
+
same question answered further along, so it belongs on this axis rather than in
|
|
243
|
+
a `fullscreen` boolean beside it, which would be a private spelling of a
|
|
244
|
+
registry question.
|
|
245
|
+
|
|
246
|
+
## What each tone means
|
|
247
|
+
|
|
248
|
+
`tone` is the one axis whose cell in the table above is prose rather than a
|
|
249
|
+
list, because a page naming four of the seven reads better than a page reciting
|
|
250
|
+
all of them. The seven are still fixed, and this is where they are said.
|
|
251
|
+
|
|
252
|
+
| Value | What it means |
|
|
253
|
+
|---|---|
|
|
254
|
+
| `primary` | The main action, or the brand speaking in its own voice |
|
|
255
|
+
| `accent` | The second brand voice, for a thing that must not read as primary |
|
|
256
|
+
| `neutral` | A tone that reports no status |
|
|
257
|
+
| `info` | Worth knowing, with nothing to do about it |
|
|
258
|
+
| `success` | Finished, or correct |
|
|
259
|
+
| `warning` | May go wrong, or needs attention before it does |
|
|
260
|
+
| `danger` | Destructive, or already wrong |
|
|
261
|
+
|
|
262
|
+
The first three are intent and the last four are status, which is the split a
|
|
263
|
+
family is really choosing between when it takes a subset. See above for when
|
|
264
|
+
`neutral` is worth taking.
|
|
265
|
+
|
|
266
|
+
## What each width policy is
|
|
267
|
+
|
|
268
|
+
`width` here is a policy, not a measurement: two buttons sitting together may
|
|
269
|
+
legitimately differ, which is the test that keeps this off `size`.
|
|
270
|
+
|
|
271
|
+
| Value | What it draws |
|
|
272
|
+
|---|---|
|
|
273
|
+
| `auto` | As wide as its content, the resting behavior said out loud |
|
|
274
|
+
| `full` | The whole of the inline space its parent offers |
|
|
275
|
+
|
|
276
|
+
**A `width` taking a number is a different property wearing the same name.** A
|
|
277
|
+
canvas and a table column are measured rather than given a policy, so they take
|
|
278
|
+
a length and are not on this axis. The name is shared and the question is not.
|
|
@@ -5236,6 +5236,115 @@ depth and quiets the child; \`heading\` keys on holding children and relabels th
|
|
|
5236
5236
|
parent, which is why a branch at any depth is a heading while the step below
|
|
5237
5237
|
stops after one, and why a top-level leaf sitting beside a branch is left alone
|
|
5238
5238
|
by both for opposite reasons.
|
|
5239
|
+
|
|
5240
|
+
## What each emphasis claims
|
|
5241
|
+
|
|
5242
|
+
\`emphasis\` is how loud a control is, and its values are one ladder with a rung
|
|
5243
|
+
that changes meaning halfway along, so it is worth saying what each draws.
|
|
5244
|
+
|
|
5245
|
+
| Value | What it draws |
|
|
5246
|
+
|---|---|
|
|
5247
|
+
| \`solid\` | The tone as a full ground, with the ink flipped to read on it |
|
|
5248
|
+
| \`subtle\` | A wash of the tone and no edge, the quietest thing that still has a surface |
|
|
5249
|
+
| \`outlined\` | An edge in the tone |
|
|
5250
|
+
| \`ghost\` | Nothing at rest, the tone carried by the ink alone |
|
|
5251
|
+
| \`muted\` | Quieter ink, where there is no surface to quiet |
|
|
5252
|
+
|
|
5253
|
+
**\`outlined\` is the rung that changes.** On a control the edge arrives and the
|
|
5254
|
+
fill leaves, which is what makes it quieter than \`solid\`. On a chart mark the
|
|
5255
|
+
fill stays under the edge, because there the area encodes a value and dropping
|
|
5256
|
+
it would drop the reading. Both are the same question, how much ink this claims,
|
|
5257
|
+
answered by what the thing has to spend it on.
|
|
5258
|
+
|
|
5259
|
+
**\`muted\` is for a thing whose only ink is its letterform.** Text carries it and
|
|
5260
|
+
nothing else does, because everything else has a surface to quiet first. That is
|
|
5261
|
+
a fact about the value, not a gap.
|
|
5262
|
+
|
|
5263
|
+
## What each material is made of
|
|
5264
|
+
|
|
5265
|
+
\`material\` is one pair of declarations at three strengths, and the pair is the
|
|
5266
|
+
point: a translucent ground without a backdrop filter is a smear, and a filter
|
|
5267
|
+
behind an opaque ground is invisible. Absent is opaque.
|
|
5268
|
+
|
|
5269
|
+
| Value | What it draws |
|
|
5270
|
+
|---|---|
|
|
5271
|
+
| \`glass\` | A translucent ground and the backdrop filter that makes it read |
|
|
5272
|
+
| \`frosted\` | The same pair turned up, a heavier ground under a heavier blur |
|
|
5273
|
+
| \`transparent\` | Neither, so the page shows through structure and spacing |
|
|
5274
|
+
|
|
5275
|
+
\`frosted\` is for a surface that has to stay readable over a busy page. It is not
|
|
5276
|
+
"more glass than \`glass\`" in a theme's sense: a theme owns how strong the pair
|
|
5277
|
+
is, and these three are which pair.
|
|
5278
|
+
|
|
5279
|
+
## What each orientation turns
|
|
5280
|
+
|
|
5281
|
+
\`orientation\` is not paint, which is why it is a value a component reads rather
|
|
5282
|
+
than a rule a stylesheet applies: the drag axis, the arrow keys and
|
|
5283
|
+
\`aria-orientation\` all turn with it, and a CSS-only version would look stacked
|
|
5284
|
+
while behaving side by side, with the keyboard moving the wrong way.
|
|
5285
|
+
|
|
5286
|
+
| Value | What it does |
|
|
5287
|
+
|---|---|
|
|
5288
|
+
| \`horizontal\` | Lays along the inline axis and says so in \`aria-orientation\` |
|
|
5289
|
+
| \`vertical\` | Along the block axis, and says that |
|
|
5290
|
+
| \`auto\` | Lets the component decide from the room it has, and turn again when that changes |
|
|
5291
|
+
|
|
5292
|
+
**\`auto\` asks the component's own width and never the viewport.** A splitter in a
|
|
5293
|
+
300px panel of a 1400px window has no room for two panes side by side, and a
|
|
5294
|
+
media query would hand it the desktop branch, so a \`ResizeObserver\` on the host
|
|
5295
|
+
asks the only question with an honest answer.
|
|
5296
|
+
|
|
5297
|
+
## What each size step is
|
|
5298
|
+
|
|
5299
|
+
\`size\` is asked of pictures and regions and never of controls, which is the
|
|
5300
|
+
domain and not a list of who carries it. The table is worth having because one
|
|
5301
|
+
of the four is not a rung of the same kind.
|
|
5302
|
+
|
|
5303
|
+
| Value | What it draws |
|
|
5304
|
+
|---|---|
|
|
5305
|
+
| \`sm\` | The small rung |
|
|
5306
|
+
| \`md\` | The middle one, and the resting case where a family has one |
|
|
5307
|
+
| \`lg\` | The large one |
|
|
5308
|
+
| \`full\` | The region less the same inset every rung already stops short by |
|
|
5309
|
+
|
|
5310
|
+
**\`full\` is one more rung and not a second property.** A takeover dialog is the
|
|
5311
|
+
same question answered further along, so it belongs on this axis rather than in
|
|
5312
|
+
a \`fullscreen\` boolean beside it, which would be a private spelling of a
|
|
5313
|
+
registry question.
|
|
5314
|
+
|
|
5315
|
+
## What each tone means
|
|
5316
|
+
|
|
5317
|
+
\`tone\` is the one axis whose cell in the table above is prose rather than a
|
|
5318
|
+
list, because a page naming four of the seven reads better than a page reciting
|
|
5319
|
+
all of them. The seven are still fixed, and this is where they are said.
|
|
5320
|
+
|
|
5321
|
+
| Value | What it means |
|
|
5322
|
+
|---|---|
|
|
5323
|
+
| \`primary\` | The main action, or the brand speaking in its own voice |
|
|
5324
|
+
| \`accent\` | The second brand voice, for a thing that must not read as primary |
|
|
5325
|
+
| \`neutral\` | A tone that reports no status |
|
|
5326
|
+
| \`info\` | Worth knowing, with nothing to do about it |
|
|
5327
|
+
| \`success\` | Finished, or correct |
|
|
5328
|
+
| \`warning\` | May go wrong, or needs attention before it does |
|
|
5329
|
+
| \`danger\` | Destructive, or already wrong |
|
|
5330
|
+
|
|
5331
|
+
The first three are intent and the last four are status, which is the split a
|
|
5332
|
+
family is really choosing between when it takes a subset. See above for when
|
|
5333
|
+
\`neutral\` is worth taking.
|
|
5334
|
+
|
|
5335
|
+
## What each width policy is
|
|
5336
|
+
|
|
5337
|
+
\`width\` here is a policy, not a measurement: two buttons sitting together may
|
|
5338
|
+
legitimately differ, which is the test that keeps this off \`size\`.
|
|
5339
|
+
|
|
5340
|
+
| Value | What it draws |
|
|
5341
|
+
|---|---|
|
|
5342
|
+
| \`auto\` | As wide as its content, the resting behavior said out loud |
|
|
5343
|
+
| \`full\` | The whole of the inline space its parent offers |
|
|
5344
|
+
|
|
5345
|
+
**A \`width\` taking a number is a different property wearing the same name.** A
|
|
5346
|
+
canvas and a table column are measured rather than given a policy, so they take
|
|
5347
|
+
a length and are not on this axis. The name is shared and the question is not.
|
|
5239
5348
|
`,
|
|
5240
5349
|
vue: `---
|
|
5241
5350
|
description: The one compiler setting Vue needs, and why props and events already work.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-docs",
|
|
3
3
|
"description": "Versioned documentation content and registry for Helix.",
|
|
4
|
-
"version": "0.59.
|
|
4
|
+
"version": "0.59.3",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
},
|
|
37
37
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@fusion.dev/helix-cem": "0.59.
|
|
40
|
-
"@fusion.dev/helix-testing": "0.59.
|
|
39
|
+
"@fusion.dev/helix-cem": "0.59.3",
|
|
40
|
+
"@fusion.dev/helix-testing": "0.59.3",
|
|
41
41
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
42
42
|
"lit": "^3.2.1",
|
|
43
43
|
"playwright": "^1.62.1"
|