@fusion.dev/helix-headless 0.96.0 → 0.97.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/custom-elements.json +33 -33
- package/package.json +5 -5
package/custom-elements.json
CHANGED
|
@@ -2348,7 +2348,7 @@
|
|
|
2348
2348
|
"kind": "field",
|
|
2349
2349
|
"name": "curve",
|
|
2350
2350
|
"type": {
|
|
2351
|
-
"text": "
|
|
2351
|
+
"text": "'smooth' | 'step' | 'straight' | undefined"
|
|
2352
2352
|
},
|
|
2353
2353
|
"description": "How a band's edge gets from one reading to the next.\n\nThree values, and the class doc argues for each: `straight` is absent and\nis the default, `smooth` is for a stack read as a shape and is the one that\ncan draw a part as less than nothing, `step` is for a quantity that changes\nat a moment and is ordered the way `straight` is.\n\nAbsent rather than defaulted because a reflecting property with a default\nwrites its attribute onto every host, including the ones nobody configured.\nThe resting value therefore lives in the render, as `curve ?? 'straight'`.\n\n**`LineChart` and `Sparkline` rest at `smooth` and are not disagreeing.** A\nline claims a position, so the bounded invention a monotone cubic makes is\na reading aid and costs nothing. A band claims an amount, and two sums\nsmoothed independently can cross, so the same aid here draws a part as less\nthan nothing. Same axis, different mark, different resting value.",
|
|
2354
2354
|
"attribute": "curve",
|
|
@@ -3134,7 +3134,7 @@
|
|
|
3134
3134
|
{
|
|
3135
3135
|
"name": "curve",
|
|
3136
3136
|
"type": {
|
|
3137
|
-
"text": "
|
|
3137
|
+
"text": "'smooth' | 'step' | 'straight' | undefined"
|
|
3138
3138
|
},
|
|
3139
3139
|
"description": "How a band's edge gets from one reading to the next.\n\nThree values, and the class doc argues for each: `straight` is absent and\nis the default, `smooth` is for a stack read as a shape and is the one that\ncan draw a part as less than nothing, `step` is for a quantity that changes\nat a moment and is ordered the way `straight` is.\n\nAbsent rather than defaulted because a reflecting property with a default\nwrites its attribute onto every host, including the ones nobody configured.\nThe resting value therefore lives in the render, as `curve ?? 'straight'`.\n\n**`LineChart` and `Sparkline` rest at `smooth` and are not disagreeing.** A\nline claims a position, so the bounded invention a monotone cubic makes is\na reading aid and costs nothing. A band claims an amount, and two sums\nsmoothed independently can cross, so the same aid here draws a part as less\nthan nothing. Same axis, different mark, different resting value.",
|
|
3140
3140
|
"fieldName": "curve"
|
|
@@ -17285,7 +17285,7 @@
|
|
|
17285
17285
|
"kind": "field",
|
|
17286
17286
|
"name": "format",
|
|
17287
17287
|
"type": {
|
|
17288
|
-
"text": "
|
|
17288
|
+
"text": "'hex' | 'hsl' | 'rgb' | undefined"
|
|
17289
17289
|
},
|
|
17290
17290
|
"description": "The syntax the value is written in: `hex`, `rgb` or `hsl`.\n\n**Undefaulted, because it reflects.** The two together stamp an attribute\nonto every host anybody renders, including the ones nobody configured: the\nserver writes `format=\"hex\"` on every color input on the page, and React,\nholding no such prop, reports a hydration mismatch for each one.\n`helix component`'s `reflected-defaults` holds it. Hex is still what an unset one\nwrites; the resting arrangement is the attribute's absence rather than a\nvalue spelled out.",
|
|
17291
17291
|
"attribute": "format",
|
|
@@ -18631,7 +18631,7 @@
|
|
|
18631
18631
|
{
|
|
18632
18632
|
"name": "format",
|
|
18633
18633
|
"type": {
|
|
18634
|
-
"text": "
|
|
18634
|
+
"text": "'hex' | 'hsl' | 'rgb' | undefined"
|
|
18635
18635
|
},
|
|
18636
18636
|
"description": "The syntax the value is written in: `hex`, `rgb` or `hsl`.\n\n**Undefaulted, because it reflects.** The two together stamp an attribute\nonto every host anybody renders, including the ones nobody configured: the\nserver writes `format=\"hex\"` on every color input on the page, and React,\nholding no such prop, reports a hydration mismatch for each one.\n`helix component`'s `reflected-defaults` holds it. Hex is still what an unset one\nwrites; the resting arrangement is the attribute's absence rather than a\nvalue spelled out.",
|
|
18637
18637
|
"fieldName": "format"
|
|
@@ -19071,7 +19071,7 @@
|
|
|
19071
19071
|
"kind": "field",
|
|
19072
19072
|
"name": "format",
|
|
19073
19073
|
"type": {
|
|
19074
|
-
"text": "
|
|
19074
|
+
"text": "'hex' | 'hsl' | 'rgb' | undefined"
|
|
19075
19075
|
},
|
|
19076
19076
|
"description": "The syntax the value is written in: `hex`, `rgb` or `hsl`.\n\nOnly what is written. Everything is read whatever this says, so a picker on\n`hex` still takes an `rgb()` handed to it and stores the hex for it.",
|
|
19077
19077
|
"attribute": "format",
|
|
@@ -20126,7 +20126,7 @@
|
|
|
20126
20126
|
{
|
|
20127
20127
|
"name": "format",
|
|
20128
20128
|
"type": {
|
|
20129
|
-
"text": "
|
|
20129
|
+
"text": "'hex' | 'hsl' | 'rgb' | undefined"
|
|
20130
20130
|
},
|
|
20131
20131
|
"description": "The syntax the value is written in: `hex`, `rgb` or `hsl`.\n\nOnly what is written. Everything is read whatever this says, so a picker on\n`hex` still takes an `rgb()` handed to it and stores the hex for it.",
|
|
20132
20132
|
"fieldName": "format"
|
|
@@ -47159,7 +47159,7 @@
|
|
|
47159
47159
|
"kind": "field",
|
|
47160
47160
|
"name": "effectiveType",
|
|
47161
47161
|
"type": {
|
|
47162
|
-
"text": "
|
|
47162
|
+
"text": "'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url'"
|
|
47163
47163
|
},
|
|
47164
47164
|
"privacy": "private",
|
|
47165
47165
|
"description": "The type the real input is given, which is not always the type asked for.\n\nA revealed password is a text field for exactly as long as the reader is\nlooking at it. Reading through a getter rather than mutating `type` keeps\nthe property the consumer's: what they set is what they get back, whatever\nthe button is doing.",
|
|
@@ -47352,7 +47352,7 @@
|
|
|
47352
47352
|
"kind": "field",
|
|
47353
47353
|
"name": "type",
|
|
47354
47354
|
"type": {
|
|
47355
|
-
"text": "
|
|
47355
|
+
"text": "'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url'"
|
|
47356
47356
|
},
|
|
47357
47357
|
"default": "'text'",
|
|
47358
47358
|
"description": "What the field accepts, which decides the keyboard and the validation.\n\n**Not reflected.** Reflection exists so a selector can reach a value, and\nno stylesheet in this repository selects on `type`. Reflecting it writes\n`type=\"text\"` onto every `<helix-headless-input>` ever rendered, an\nattribute no consumer's markup has, which is the fault the area rules write\nup under `Button`'s `href`, `target` and `rel`.\n\nNothing reads it from the attribute either. The real `<input>` inside takes\nit as a property binding, which is what makes the keyboard and the\nvalidation follow.",
|
|
@@ -48318,7 +48318,7 @@
|
|
|
48318
48318
|
{
|
|
48319
48319
|
"name": "type",
|
|
48320
48320
|
"type": {
|
|
48321
|
-
"text": "
|
|
48321
|
+
"text": "'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url'"
|
|
48322
48322
|
},
|
|
48323
48323
|
"default": "'text'",
|
|
48324
48324
|
"description": "What the field accepts, which decides the keyboard and the validation.\n\n**Not reflected.** Reflection exists so a selector can reach a value, and\nno stylesheet in this repository selects on `type`. Reflecting it writes\n`type=\"text\"` onto every `<helix-headless-input>` ever rendered, an\nattribute no consumer's markup has, which is the fault the area rules write\nup under `Button`'s `href`, `target` and `rel`.\n\nNothing reads it from the attribute either. The real `<input>` inside takes\nit as a property binding, which is what makes the keyboard and the\nvalidation follow.",
|
|
@@ -49693,7 +49693,7 @@
|
|
|
49693
49693
|
"kind": "field",
|
|
49694
49694
|
"name": "curve",
|
|
49695
49695
|
"type": {
|
|
49696
|
-
"text": "
|
|
49696
|
+
"text": "'smooth' | 'step' | 'straight' | undefined"
|
|
49697
49697
|
},
|
|
49698
49698
|
"description": "How the line gets from one reading to the next.\n\n**`smooth` is the resting curve.** A curve invents the values between two\nreadings, which is why `straight` still exists, but the invention is\nbounded: the interpolation is monotone cubic, so it never leaves the band\nthe data sets and never introduces a peak or a trough the series does not\nhave. Within that bound the smoothed line is the easier one to follow\nacross a long series, and `straight` becomes the deliberate claim.\n\n**Absent rather than defaulted on the property**, because a reflecting\nproperty with a default writes its attribute onto every host anybody\nrenders, including the ones nobody configured.\n`line-chart-root.ssr.spec.ts` asserts the host carries only what the\nconsumer wrote. The default therefore lives where the path is built, as\n`curve ?? 'smooth'`.\n\n`step` claims the opposite of both, that a reading holds until the next.\n\n**`AreaChart` rests at `straight` and is not disagreeing.** A line claims a\nposition and a stacked band claims an amount: a curve fitted through one\nsum can pass under the curve fitted through the sum beneath it, so a\nsmoothed stack can draw a part as less than nothing. There is no such edge\nhere, which is what lets a line take the reading aid.",
|
|
49699
49699
|
"attribute": "curve",
|
|
@@ -50476,7 +50476,7 @@
|
|
|
50476
50476
|
{
|
|
50477
50477
|
"name": "curve",
|
|
50478
50478
|
"type": {
|
|
50479
|
-
"text": "
|
|
50479
|
+
"text": "'smooth' | 'step' | 'straight' | undefined"
|
|
50480
50480
|
},
|
|
50481
50481
|
"description": "How the line gets from one reading to the next.\n\n**`smooth` is the resting curve.** A curve invents the values between two\nreadings, which is why `straight` still exists, but the invention is\nbounded: the interpolation is monotone cubic, so it never leaves the band\nthe data sets and never introduces a peak or a trough the series does not\nhave. Within that bound the smoothed line is the easier one to follow\nacross a long series, and `straight` becomes the deliberate claim.\n\n**Absent rather than defaulted on the property**, because a reflecting\nproperty with a default writes its attribute onto every host anybody\nrenders, including the ones nobody configured.\n`line-chart-root.ssr.spec.ts` asserts the host carries only what the\nconsumer wrote. The default therefore lives where the path is built, as\n`curve ?? 'smooth'`.\n\n`step` claims the opposite of both, that a reading holds until the next.\n\n**`AreaChart` rests at `straight` and is not disagreeing.** A line claims a\nposition and a stacked band claims an amount: a curve fitted through one\nsum can pass under the curve fitted through the sum beneath it, so a\nsmoothed stack can draw a part as less than nothing. There is no such edge\nhere, which is what lets a line take the reading aid.",
|
|
50482
50482
|
"fieldName": "curve"
|
|
@@ -55547,7 +55547,7 @@
|
|
|
55547
55547
|
"kind": "field",
|
|
55548
55548
|
"name": "placement",
|
|
55549
55549
|
"type": {
|
|
55550
|
-
"text": "
|
|
55550
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
55551
55551
|
},
|
|
55552
55552
|
"default": "'bottom-start'",
|
|
55553
55553
|
"description": "Preferred side.\n\nIt moves if that side does not fit.",
|
|
@@ -56364,7 +56364,7 @@
|
|
|
56364
56364
|
{
|
|
56365
56365
|
"name": "placement",
|
|
56366
56366
|
"type": {
|
|
56367
|
-
"text": "
|
|
56367
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
56368
56368
|
},
|
|
56369
56369
|
"default": "'bottom-start'",
|
|
56370
56370
|
"description": "Preferred side.\n\nIt moves if that side does not fit.",
|
|
@@ -56610,7 +56610,7 @@
|
|
|
56610
56610
|
"kind": "field",
|
|
56611
56611
|
"name": "band",
|
|
56612
56612
|
"type": {
|
|
56613
|
-
"text": "
|
|
56613
|
+
"text": "'fair' | 'good' | 'poor' | undefined"
|
|
56614
56614
|
},
|
|
56615
56615
|
"description": "The band, said outright, where the three thresholds cannot say it.\n\n**The specification's model has a shape, and it is worth knowing before\nreaching for this.** Three bands and a point mean it can express a\n*direction* in three grades, or a *target* in two, and never a target in\nthree. Measured across a grid: with `low=\"25\" high=\"50\" optimum=\"0\"` the\nreadings 5, 28 and 60 come out good, fair and poor; with `low=\"15\"\nhigh=\"25\" optimum=\"20\"` the readings 28 and 90 both come out fair, because\nfrom a middle band nothing is ever two bands away.\n\nSo a target you can miss badly in either direction has no expression in\n`low`, `high` and `optimum`, and neither has a rule that is not about\ndistance at all: 28 against a target of 20 is fine for a room's temperature\nand is not fine for a dosage, and no arrangement of thresholds knows which\none it is looking at.\n\nWritten, this wins outright and the thresholds are only for drawing the\nticks. A consumer whose rule is more than three buckets already knows the\nanswer, and asking them to encode it as thresholds so this can decode it\nagain is a worse API than letting them say it.\n\nNot reflected. Nothing selects on it: the band reaches the stylesheet as\n`data-band` on the fill, because that is the element being colored, and a\nstylesheet outside as `indicator-good`, `-fair` or `-poor` among the fill's\npart names, so reflecting here would write an attribute onto the host for\nno reader.",
|
|
56616
56616
|
"attribute": "band"
|
|
@@ -56777,7 +56777,7 @@
|
|
|
56777
56777
|
"kind": "field",
|
|
56778
56778
|
"name": "computedBand",
|
|
56779
56779
|
"type": {
|
|
56780
|
-
"text": "
|
|
56780
|
+
"text": "'fair' | 'good' | 'poor' | undefined"
|
|
56781
56781
|
},
|
|
56782
56782
|
"privacy": "private",
|
|
56783
56783
|
"description": "Which band the reading is in, by the specification's rule.\n\n`optimum` names a point, and the band containing it is the good one. A\nreading in that band is good, one in a band beside it is fair, and one two\nbands away is poor. Undefined where nothing was declared, which is what\nkeeps an unbanded meter from being painted as good news.",
|
|
@@ -57133,7 +57133,7 @@
|
|
|
57133
57133
|
{
|
|
57134
57134
|
"name": "band",
|
|
57135
57135
|
"type": {
|
|
57136
|
-
"text": "
|
|
57136
|
+
"text": "'fair' | 'good' | 'poor' | undefined"
|
|
57137
57137
|
},
|
|
57138
57138
|
"description": "The band, said outright, where the three thresholds cannot say it.\n\n**The specification's model has a shape, and it is worth knowing before\nreaching for this.** Three bands and a point mean it can express a\n*direction* in three grades, or a *target* in two, and never a target in\nthree. Measured across a grid: with `low=\"25\" high=\"50\" optimum=\"0\"` the\nreadings 5, 28 and 60 come out good, fair and poor; with `low=\"15\"\nhigh=\"25\" optimum=\"20\"` the readings 28 and 90 both come out fair, because\nfrom a middle band nothing is ever two bands away.\n\nSo a target you can miss badly in either direction has no expression in\n`low`, `high` and `optimum`, and neither has a rule that is not about\ndistance at all: 28 against a target of 20 is fine for a room's temperature\nand is not fine for a dosage, and no arrangement of thresholds knows which\none it is looking at.\n\nWritten, this wins outright and the thresholds are only for drawing the\nticks. A consumer whose rule is more than three buckets already knows the\nanswer, and asking them to encode it as thresholds so this can decode it\nagain is a worse API than letting them say it.\n\nNot reflected. Nothing selects on it: the band reaches the stylesheet as\n`data-band` on the fill, because that is the element being colored, and a\nstylesheet outside as `indicator-good`, `-fair` or `-poor` among the fill's\npart names, so reflecting here would write an attribute onto the host for\nno reader.",
|
|
57139
57139
|
"fieldName": "band"
|
|
@@ -66793,7 +66793,7 @@
|
|
|
66793
66793
|
"kind": "field",
|
|
66794
66794
|
"name": "type",
|
|
66795
66795
|
"type": {
|
|
66796
|
-
"text": "
|
|
66796
|
+
"text": "'alphanumeric' | 'numeric' | 'text'"
|
|
66797
66797
|
},
|
|
66798
66798
|
"default": "'numeric'",
|
|
66799
66799
|
"description": "What a box accepts, which decides the keyboard a phone offers.\n\n`numeric` and `alphanumeric` also refuse anything else on the way in,\nbecause a code that is digits is digits: letting a letter into a box a\nreader cannot submit is a mistake they have to find and undo themselves.\n`text` refuses nothing and only trims, so it is the mode for a code with a\nhyphen in it.\n\n**`alphanumeric` is ASCII letters and digits**, which is narrower than the\nword is in general and is the right narrowness here. A code of this kind\ncomes off a keypad, an SMS or an authenticator, and none of them emit `é`;\na filter that accepted it would let through a character the service on the\nother end is going to reject. A consumer whose codes really do carry\nmarked letters wants `text`, which judges nothing.\n\n**Not reflected**: nothing selects on it, so reflecting only writes\n`type=\"numeric\"` onto every `<helix-headless-pin-input>` ever rendered, an\nattribute no consumer's markup had. The area rules carry the sentence\n\"reflect only what CSS selects on\". The real inputs take it as a binding,\nwhich is what makes the keyboard follow.",
|
|
@@ -67944,7 +67944,7 @@
|
|
|
67944
67944
|
{
|
|
67945
67945
|
"name": "type",
|
|
67946
67946
|
"type": {
|
|
67947
|
-
"text": "
|
|
67947
|
+
"text": "'alphanumeric' | 'numeric' | 'text'"
|
|
67948
67948
|
},
|
|
67949
67949
|
"default": "'numeric'",
|
|
67950
67950
|
"description": "What a box accepts, which decides the keyboard a phone offers.\n\n`numeric` and `alphanumeric` also refuse anything else on the way in,\nbecause a code that is digits is digits: letting a letter into a box a\nreader cannot submit is a mistake they have to find and undo themselves.\n`text` refuses nothing and only trims, so it is the mode for a code with a\nhyphen in it.\n\n**`alphanumeric` is ASCII letters and digits**, which is narrower than the\nword is in general and is the right narrowness here. A code of this kind\ncomes off a keypad, an SMS or an authenticator, and none of them emit `é`;\na filter that accepted it would let through a character the service on the\nother end is going to reject. A consumer whose codes really do carry\nmarked letters wants `text`, which judges nothing.\n\n**Not reflected**: nothing selects on it, so reflecting only writes\n`type=\"numeric\"` onto every `<helix-headless-pin-input>` ever rendered, an\nattribute no consumer's markup had. The area rules carry the sentence\n\"reflect only what CSS selects on\". The real inputs take it as a binding,\nwhich is what makes the keyboard follow.",
|
|
@@ -68200,7 +68200,7 @@
|
|
|
68200
68200
|
"kind": "field",
|
|
68201
68201
|
"name": "placement",
|
|
68202
68202
|
"type": {
|
|
68203
|
-
"text": "
|
|
68203
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
68204
68204
|
},
|
|
68205
68205
|
"default": "'bottom-start'",
|
|
68206
68206
|
"description": "Preferred side.\n\nIt moves if that side does not fit.",
|
|
@@ -68761,7 +68761,7 @@
|
|
|
68761
68761
|
{
|
|
68762
68762
|
"name": "placement",
|
|
68763
68763
|
"type": {
|
|
68764
|
-
"text": "
|
|
68764
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
68765
68765
|
},
|
|
68766
68766
|
"default": "'bottom-start'",
|
|
68767
68767
|
"description": "Preferred side.\n\nIt moves if that side does not fit.",
|
|
@@ -69503,7 +69503,7 @@
|
|
|
69503
69503
|
"kind": "field",
|
|
69504
69504
|
"name": "correction",
|
|
69505
69505
|
"type": {
|
|
69506
|
-
"text": "
|
|
69506
|
+
"text": "'H' | 'L' | 'M' | 'Q' | undefined"
|
|
69507
69507
|
},
|
|
69508
69508
|
"description": "How much of the code can be lost and still read.\n\n`M` by default, which is the level almost every code in the world uses and\ncosts about fifteen percent redundancy. `H` where a mark covers the center,\nchosen automatically when the slot is filled: it is the level that makes\ncovering safe, and a consumer who fills the slot has said what they want\nwithout having to know that.",
|
|
69509
69509
|
"attribute": "correction"
|
|
@@ -69522,7 +69522,7 @@
|
|
|
69522
69522
|
"kind": "field",
|
|
69523
69523
|
"name": "shape",
|
|
69524
69524
|
"type": {
|
|
69525
|
-
"text": "
|
|
69525
|
+
"text": "'dots' | 'rounded' | 'square' | undefined"
|
|
69526
69526
|
},
|
|
69527
69527
|
"description": "How the modules are drawn.\n\n`square` is the resting state and is written by not writing it, per the\nrule that a reflected property takes no default. It is also the only one\nthat joins runs of adjacent modules into a single subpath, which is what\nkeeps a thousand modules to a handful of nodes. `rounded` and `dots` draw\neach module on its own, because the corners are the thing being drawn and a\njoined run has none in the middle. That cost is paid only by a code that\nasks for them.\n\nA scanner reads contrast between cells, not their shape, so all three\nscan. `dots` sits a little under half a module so neighbors do not touch,\nwhich is what makes it read as dots rather than as a softened square code.",
|
|
69528
69528
|
"attribute": "shape",
|
|
@@ -69552,7 +69552,7 @@
|
|
|
69552
69552
|
"kind": "field",
|
|
69553
69553
|
"name": "level",
|
|
69554
69554
|
"type": {
|
|
69555
|
-
"text": "
|
|
69555
|
+
"text": "'H' | 'L' | 'M' | 'Q'"
|
|
69556
69556
|
},
|
|
69557
69557
|
"privacy": "private",
|
|
69558
69558
|
"description": "The level actually used, which the slot can raise.",
|
|
@@ -69897,7 +69897,7 @@
|
|
|
69897
69897
|
{
|
|
69898
69898
|
"name": "correction",
|
|
69899
69899
|
"type": {
|
|
69900
|
-
"text": "
|
|
69900
|
+
"text": "'H' | 'L' | 'M' | 'Q' | undefined"
|
|
69901
69901
|
},
|
|
69902
69902
|
"description": "How much of the code can be lost and still read.\n\n`M` by default, which is the level almost every code in the world uses and\ncosts about fifteen percent redundancy. `H` where a mark covers the center,\nchosen automatically when the slot is filled: it is the level that makes\ncovering safe, and a consumer who fills the slot has said what they want\nwithout having to know that.",
|
|
69903
69903
|
"fieldName": "correction"
|
|
@@ -69914,7 +69914,7 @@
|
|
|
69914
69914
|
{
|
|
69915
69915
|
"name": "shape",
|
|
69916
69916
|
"type": {
|
|
69917
|
-
"text": "
|
|
69917
|
+
"text": "'dots' | 'rounded' | 'square' | undefined"
|
|
69918
69918
|
},
|
|
69919
69919
|
"description": "How the modules are drawn.\n\n`square` is the resting state and is written by not writing it, per the\nrule that a reflected property takes no default. It is also the only one\nthat joins runs of adjacent modules into a single subpath, which is what\nkeeps a thousand modules to a handful of nodes. `rounded` and `dots` draw\neach module on its own, because the corners are the thing being drawn and a\njoined run has none in the middle. That cost is paid only by a code that\nasks for them.\n\nA scanner reads contrast between cells, not their shape, so all three\nscan. `dots` sits a little under half a module so neighbors do not touch,\nwhich is what makes it read as dots rather than as a softened square code.",
|
|
69920
69920
|
"fieldName": "shape"
|
|
@@ -79136,7 +79136,7 @@
|
|
|
79136
79136
|
"kind": "field",
|
|
79137
79137
|
"name": "curve",
|
|
79138
79138
|
"type": {
|
|
79139
|
-
"text": "
|
|
79139
|
+
"text": "'smooth' | 'step' | 'straight' | undefined"
|
|
79140
79140
|
},
|
|
79141
79141
|
"description": "How the line gets from one reading to the next.\n\n**`smooth` is the resting curve.** A straight segment asserts nothing about\nthe values between two readings and a curve invents them, which is why\n`straight` exists. What settles the default the other way is that the\ninvention is bounded: the interpolation is monotone cubic, so it never\nleaves the band the data sets and never introduces a peak or a trough the\nseries does not have. Within that bound the smoothed line is the easier one\nto follow across a long series, which is what the drawing is for. `straight`\nbecomes the claim a consumer makes deliberately rather than the one they get\nby saying nothing.\n\n**The property stays optional and the default lives in the render.** A\nreflecting property with a default writes its attribute onto every host\nanybody renders, including the ones nobody configured, which the SSR specs\nassert against. So the resting state is still the attribute's absence, and\n`curve ?? 'smooth'` is what reads it.\n\n`step` claims the opposite of both, that a reading holds until the next.\nBars ignore it, having no between to interpolate.\n\n**`AreaChart` rests at `straight` and is not disagreeing.** A line claims a\nposition and a stacked band claims an amount: a curve fitted through one\nsum can pass under the curve fitted through the sum beneath it, so a\nsmoothed stack can draw a part as less than nothing. There is no such edge\nhere, which is what lets a line take the reading aid.",
|
|
79142
79142
|
"attribute": "curve",
|
|
@@ -79529,7 +79529,7 @@
|
|
|
79529
79529
|
{
|
|
79530
79530
|
"name": "curve",
|
|
79531
79531
|
"type": {
|
|
79532
|
-
"text": "
|
|
79532
|
+
"text": "'smooth' | 'step' | 'straight' | undefined"
|
|
79533
79533
|
},
|
|
79534
79534
|
"description": "How the line gets from one reading to the next.\n\n**`smooth` is the resting curve.** A straight segment asserts nothing about\nthe values between two readings and a curve invents them, which is why\n`straight` exists. What settles the default the other way is that the\ninvention is bounded: the interpolation is monotone cubic, so it never\nleaves the band the data sets and never introduces a peak or a trough the\nseries does not have. Within that bound the smoothed line is the easier one\nto follow across a long series, which is what the drawing is for. `straight`\nbecomes the claim a consumer makes deliberately rather than the one they get\nby saying nothing.\n\n**The property stays optional and the default lives in the render.** A\nreflecting property with a default writes its attribute onto every host\nanybody renders, including the ones nobody configured, which the SSR specs\nassert against. So the resting state is still the attribute's absence, and\n`curve ?? 'smooth'` is what reads it.\n\n`step` claims the opposite of both, that a reading holds until the next.\nBars ignore it, having no between to interpolate.\n\n**`AreaChart` rests at `straight` and is not disagreeing.** A line claims a\nposition and a stacked band claims an amount: a curve fitted through one\nsum can pass under the curve fitted through the sum beneath it, so a\nsmoothed stack can draw a part as less than nothing. There is no such edge\nhere, which is what lets a line take the reading aid.",
|
|
79535
79535
|
"fieldName": "curve"
|
|
@@ -80235,7 +80235,7 @@
|
|
|
80235
80235
|
"kind": "field",
|
|
80236
80236
|
"name": "placement",
|
|
80237
80237
|
"type": {
|
|
80238
|
-
"text": "
|
|
80238
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
80239
80239
|
},
|
|
80240
80240
|
"default": "'top-end'",
|
|
80241
80241
|
"description": "Which way the actions fan out. They move if that side does not fit.\n\nUp by default, because the control this hangs off is usually docked to the\nbottom of the window and there is nothing below it to fan into.",
|
|
@@ -80813,7 +80813,7 @@
|
|
|
80813
80813
|
{
|
|
80814
80814
|
"name": "placement",
|
|
80815
80815
|
"type": {
|
|
80816
|
-
"text": "
|
|
80816
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
80817
80817
|
},
|
|
80818
80818
|
"default": "'top-end'",
|
|
80819
80819
|
"description": "Which way the actions fan out. They move if that side does not fit.\n\nUp by default, because the control this hangs off is usually docked to the\nbottom of the window and there is nothing below it to fan into.",
|
|
@@ -99914,7 +99914,7 @@
|
|
|
99914
99914
|
"kind": "field",
|
|
99915
99915
|
"name": "placement",
|
|
99916
99916
|
"type": {
|
|
99917
|
-
"text": "
|
|
99917
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
99918
99918
|
},
|
|
99919
99919
|
"default": "'top'",
|
|
99920
99920
|
"description": "Preferred side.\n\nIt moves if that side does not fit.",
|
|
@@ -100687,7 +100687,7 @@
|
|
|
100687
100687
|
{
|
|
100688
100688
|
"name": "placement",
|
|
100689
100689
|
"type": {
|
|
100690
|
-
"text": "
|
|
100690
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
100691
100691
|
},
|
|
100692
100692
|
"default": "'top'",
|
|
100693
100693
|
"description": "Preferred side.\n\nIt moves if that side does not fit.",
|
|
@@ -101807,7 +101807,7 @@
|
|
|
101807
101807
|
"kind": "field",
|
|
101808
101808
|
"name": "placement",
|
|
101809
101809
|
"type": {
|
|
101810
|
-
"text": "
|
|
101810
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
101811
101811
|
},
|
|
101812
101812
|
"default": "'bottom'",
|
|
101813
101813
|
"description": "Which side of the target the panel prefers.",
|
|
@@ -102280,7 +102280,7 @@
|
|
|
102280
102280
|
{
|
|
102281
102281
|
"name": "placement",
|
|
102282
102282
|
"type": {
|
|
102283
|
-
"text": "
|
|
102283
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
102284
102284
|
},
|
|
102285
102285
|
"default": "'bottom'",
|
|
102286
102286
|
"description": "Which side of the target the panel prefers.",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-headless",
|
|
3
3
|
"description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.97.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
},
|
|
47
47
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@fusion.dev/helix-core": "0.
|
|
50
|
-
"@fusion.dev/helix-icons": "0.
|
|
49
|
+
"@fusion.dev/helix-core": "0.97.0",
|
|
50
|
+
"@fusion.dev/helix-icons": "0.97.0",
|
|
51
51
|
"uqr": "^0.1.3"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@fusion.dev/helix-cem": "0.
|
|
55
|
-
"@fusion.dev/helix-testing": "0.
|
|
54
|
+
"@fusion.dev/helix-cem": "0.97.0",
|
|
55
|
+
"@fusion.dev/helix-testing": "0.97.0",
|
|
56
56
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
57
57
|
"@happy-dom/global-registrator": "^20.0.0",
|
|
58
58
|
"@lit-labs/ssr": "^4.1.0",
|