@fusion.dev/helix-docs 0.59.2 → 0.59.4

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.
@@ -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.2",
4
+ "version": "0.59.4",
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.2",
40
- "@fusion.dev/helix-testing": "0.59.2",
39
+ "@fusion.dev/helix-cem": "0.59.4",
40
+ "@fusion.dev/helix-testing": "0.59.4",
41
41
  "@fusion.dev/scripts": "0.0.0-dev",
42
42
  "lit": "^3.2.1",
43
43
  "playwright": "^1.62.1"