@fusion.dev/helix 0.53.5 → 0.54.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.
@@ -26369,7 +26369,7 @@
26369
26369
  }
26370
26370
  },
26371
26371
  {
26372
- "description": "The saturation and brightness square.",
26372
+ "description": "The saturation and brightness square. The mark showing where in the square the color sits is drawn on the square itself, which is `::part(grid)::after` from a consumer's sheet: the two channels are already on the square as `--color-picker-saturation` and `--color-picker-brightness`, so a box would have carried nothing, and this tier ships no CSS.",
26373
26373
  "name": "grid",
26374
26374
  "inheritedFrom": {
26375
26375
  "name": "HelixHeadlessColorPicker",
@@ -26384,14 +26384,6 @@
26384
26384
  "module": "src/color-picker/root/color-picker-root.ts"
26385
26385
  }
26386
26386
  },
26387
- {
26388
- "description": "The mark showing where in the square the color sits.",
26389
- "name": "grid-handle",
26390
- "inheritedFrom": {
26391
- "name": "HelixHeadlessColorPicker",
26392
- "module": "src/color-picker/root/color-picker-root.ts"
26393
- }
26394
- },
26395
26387
  {
26396
26388
  "description": "The range input for the square's horizontal axis.",
26397
26389
  "name": "grid-saturation",
@@ -62235,7 +62227,7 @@
62235
62227
  "customElement": true,
62236
62228
  "cssParts": [
62237
62229
  {
62238
- "description": "One name and its swatch.",
62230
+ "description": "One name and its swatch. The swatch is drawn on the entry, which is `::part(entry)::before` from a consumer's sheet: the series is already on the entry as `--chart-series`, so a box would have carried nothing, and this tier ships no CSS.",
62239
62231
  "name": "entry",
62240
62232
  "inheritedFrom": {
62241
62233
  "name": "HelixHeadlessLegend",
@@ -62257,14 +62249,6 @@
62257
62249
  "name": "HelixHeadlessLegend",
62258
62250
  "module": "src/legend/root/legend-root.ts"
62259
62251
  }
62260
- },
62261
- {
62262
- "description": "The color a series is drawn in.",
62263
- "name": "swatch",
62264
- "inheritedFrom": {
62265
- "name": "HelixHeadlessLegend",
62266
- "module": "src/legend/root/legend-root.ts"
62267
- }
62268
62252
  }
62269
62253
  ],
62270
62254
  "cssStates": [
@@ -91091,7 +91075,7 @@
91091
91075
  ],
91092
91076
  "cssParts": [
91093
91077
  {
91094
- "description": "The circle.",
91078
+ "description": "The circle. The dot inside it is drawn on the box itself, which is `::part(box)::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.",
91095
91079
  "name": "box",
91096
91080
  "inheritedFrom": {
91097
91081
  "name": "HelixHeadlessRadio",
@@ -91113,14 +91097,6 @@
91113
91097
  "name": "HelixHeadlessRadio",
91114
91098
  "module": "src/radio/root/radio-root.ts"
91115
91099
  }
91116
- },
91117
- {
91118
- "description": "The dot inside it.",
91119
- "name": "mark",
91120
- "inheritedFrom": {
91121
- "name": "HelixHeadlessRadio",
91122
- "module": "src/radio/root/radio-root.ts"
91123
- }
91124
91100
  }
91125
91101
  ],
91126
91102
  "events": [
@@ -109636,14 +109612,6 @@
109636
109612
  "module": "src/steps/step/step.ts"
109637
109613
  }
109638
109614
  },
109639
- {
109640
- "description": "The half line arriving from the step before.",
109641
- "name": "lead",
109642
- "inheritedFrom": {
109643
- "name": "HelixHeadlessStep",
109644
- "module": "src/steps/step/step.ts"
109645
- }
109646
- },
109647
109615
  {
109648
109616
  "description": "The glyph inside the marker: a tick, a dot, or an empty ring.",
109649
109617
  "name": "mark",
@@ -109659,14 +109627,6 @@
109659
109627
  "name": "HelixHeadlessStep",
109660
109628
  "module": "src/steps/step/step.ts"
109661
109629
  }
109662
- },
109663
- {
109664
- "description": "The half line running on to the next.",
109665
- "name": "trail",
109666
- "inheritedFrom": {
109667
- "name": "HelixHeadlessStep",
109668
- "module": "src/steps/step/step.ts"
109669
- }
109670
109630
  }
109671
109631
  ],
109672
109632
  "attributes": [
@@ -111009,15 +110969,7 @@
111009
110969
  }
111010
110970
  },
111011
110971
  {
111012
- "description": "The part that moves.",
111013
- "name": "thumb",
111014
- "inheritedFrom": {
111015
- "name": "HelixHeadlessSwitch",
111016
- "module": "src/switch/root/switch-root.ts"
111017
- }
111018
- },
111019
- {
111020
- "description": "The groove the thumb travels in.",
110972
+ "description": "The groove. The thumb that travels in it is drawn on the groove itself, which is `::part(track)::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.",
111021
110973
  "name": "track",
111022
110974
  "inheritedFrom": {
111023
110975
  "name": "HelixHeadlessSwitch",
@@ -123621,14 +123573,6 @@
123621
123573
  }
123622
123574
  ],
123623
123575
  "cssParts": [
123624
- {
123625
- "description": "The line arriving at this entry.",
123626
- "name": "connector",
123627
- "inheritedFrom": {
123628
- "name": "HelixHeadlessTimelineItem",
123629
- "module": "src/timeline/item/timeline-item.ts"
123630
- }
123631
- },
123632
123576
  {
123633
123577
  "description": "What happened, and the time above it.",
123634
123578
  "name": "content",
@@ -123654,7 +123598,7 @@
123654
123598
  }
123655
123599
  },
123656
123600
  {
123657
- "description": "The column holding the mark and the line.",
123601
+ "description": "The column holding the mark and the line. Both halves of the line are drawn on the rail, which is `::part(rail)::before` and `::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.",
123658
123602
  "name": "rail",
123659
123603
  "inheritedFrom": {
123660
123604
  "name": "HelixHeadlessTimelineItem",
@@ -125660,14 +125604,6 @@
125660
125604
  "module": "src/toggle/group/toggle-group.ts"
125661
125605
  }
125662
125606
  },
125663
- {
125664
- "description": "The rule after an inline label, separating it from the items.",
125665
- "name": "divider",
125666
- "inheritedFrom": {
125667
- "name": "HelixHeadlessToggleGroup",
125668
- "module": "src/toggle/group/toggle-group.ts"
125669
- }
125670
- },
125671
125607
  {
125672
125608
  "description": "What is wrong with it.",
125673
125609
  "name": "feedback",
@@ -125701,7 +125637,7 @@
125701
125637
  }
125702
125638
  },
125703
125639
  {
125704
- "description": "The bar the items sit in.",
125640
+ "description": "The bar the items sit in. The rule after an inline label, separating it from the items, is drawn on the bar, which is `::part(track)::before` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.",
125705
125641
  "name": "track",
125706
125642
  "inheritedFrom": {
125707
125643
  "name": "HelixHeadlessToggleGroup",
@@ -138719,21 +138655,13 @@
138719
138655
  }
138720
138656
  },
138721
138657
  {
138722
- "description": "What is said while the picture waits for more of itself.",
138658
+ "description": "What is said while the picture waits for more of itself. The part of that which spins is drawn on it, which is `::part(loading)::before` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.",
138723
138659
  "name": "loading",
138724
138660
  "inheritedFrom": {
138725
138661
  "name": "HelixHeadlessVideo",
138726
138662
  "module": "src/video/root/video-root.ts"
138727
138663
  }
138728
138664
  },
138729
- {
138730
- "description": "The part of that which spins.",
138731
- "name": "loading-mark",
138732
- "inheritedFrom": {
138733
- "name": "HelixHeadlessVideo",
138734
- "module": "src/video/root/video-root.ts"
138735
- }
138736
- },
138737
138665
  {
138738
138666
  "description": "The button that opens it.",
138739
138667
  "name": "more",
@@ -43,11 +43,12 @@ position: relative;
43
43
  touch-action: none;
44
44
  }
45
45
 
46
- [part="grid-handle"] {
46
+ [part="grid"]::after {
47
47
  block-size: var(--helix-size-icon-tight);
48
48
  border: var(--helix-border-thick) solid var(--helix-color-surface);
49
49
  border-radius: var(--helix-radii-full);
50
50
  box-shadow: var(--helix-shadow-sm);
51
+ content: "";
51
52
  inline-size: var(--helix-size-icon-tight);
52
53
  inset-block-start: calc(100% - var(--color-picker-brightness, 100%));
53
54
  inset-inline-start: var(--color-picker-saturation, 100%);
@@ -56,7 +57,7 @@ position: absolute;
56
57
  translate: -50% -50%;
57
58
  }
58
59
 
59
- :host(:dir(rtl)) [part="grid-handle"] {
60
+ :host(:dir(rtl)) [part="grid"]::after {
60
61
  translate: 50% -50%;
61
62
  }
62
63
 
@@ -33,15 +33,18 @@ flex-direction: row-reverse;
33
33
  text-align: end;
34
34
  }
35
35
 
36
- [part="swatch"] {
36
+ [part="entry"]::before {
37
+ --_legend-shade: color-mix(in oklab, var(--chart-series) 60%, var(--helix-color-background));
38
+
37
39
  block-size: var(--legend-swatch-size, var(--helix-space-sm));
38
40
 
39
41
  border-radius: var(--helix-radii-sm);
42
+ content: "";
40
43
  flex: 0 0 auto;
41
44
  inline-size: var(--legend-swatch-size, var(--helix-space-sm));
42
45
  }
43
46
 
44
- [part="entry"] [part="swatch"] {
47
+ [part="entry"]::before {
45
48
  background-color: color-mix(
46
49
  in oklab,
47
50
  var(--chart-series) calc(var(--_legend-area, 1) * var(--_legend-through, 1) * 100%),
@@ -49,8 +52,8 @@ transparent
49
52
  );
50
53
  }
51
54
 
52
- [part="entry"][data-emphasis="outlined"] [part="swatch"],
53
- :host([emphasis="outlined"]) [part="entry"]:not([data-emphasis]) [part="swatch"] {
55
+ [part="entry"][data-emphasis="outlined"]::before,
56
+ :host([emphasis="outlined"]) [part="entry"]:not([data-emphasis])::before {
54
57
  background-color: color-mix(
55
58
  in oklab,
56
59
  var(--_legend-shade) calc(var(--_legend-through, 1) * 100%),
@@ -60,23 +63,19 @@ border: var(--legend-swatch-stroke, var(--helix-border-thick)) solid
60
63
  color-mix(in oklab, var(--chart-series) calc(var(--_legend-through, 1) * 100%), transparent);
61
64
  }
62
65
 
63
- [part="entry"][data-emphasis="subtle"] [part="swatch"],
64
- :host([emphasis="subtle"]) [part="entry"]:not([data-emphasis]) [part="swatch"] {
66
+ [part="entry"][data-emphasis="subtle"]::before,
67
+ :host([emphasis="subtle"]) [part="entry"]:not([data-emphasis])::before {
65
68
  --_legend-area: 0.2;
66
69
  border: var(--legend-swatch-stroke, var(--helix-border-thick)) solid
67
70
  color-mix(in oklab, var(--chart-series) calc(var(--_legend-through, 1) * 100%), transparent);
68
71
  }
69
72
 
70
- [part="swatch"] {
71
- --_legend-shade: color-mix(in oklab, var(--chart-series) 60%, var(--helix-color-background));
72
- }
73
-
74
- [part="entry"][data-material="glass"] [part="swatch"],
75
- :host([material="glass"]) [part="entry"]:not([data-material]) [part="swatch"] {
73
+ [part="entry"][data-material="glass"]::before,
74
+ :host([material="glass"]) [part="entry"]:not([data-material])::before {
76
75
  --_legend-through: calc(0.62 * var(--helix-material-opacity));
77
76
  }
78
77
 
79
- :host([material="frosted"]) [part="entry"]:not([data-material]) [part="swatch"] {
78
+ :host([material="frosted"]) [part="entry"]:not([data-material])::before {
80
79
  --_legend-through: calc(0.88 * var(--helix-material-opacity));
81
80
  }
82
81
 
@@ -43,17 +43,18 @@ border-color: var(--radio-border-color, var(--helix-color-foreground-muted));
43
43
  border-color: var(--radio-border-color, var(--helix-color-foreground));
44
44
  }
45
45
 
46
- [part="mark"] {
46
+ [part="box"]::after {
47
47
  background-color: var(--radio-mark-color, var(--helix-color-foreground));
48
48
  block-size: calc(var(--_radio-size) * 0.4);
49
49
  border-radius: var(--helix-radii-full);
50
+ content: "";
50
51
  inline-size: calc(var(--_radio-size) * 0.4);
51
52
 
52
53
  scale: 0;
53
54
  transition: scale var(--helix-duration-fast) var(--helix-easing-emphasized);
54
55
  }
55
56
 
56
- :host(:state(selected)) [part="mark"] {
57
+ :host(:state(selected)) [part="box"]::after {
57
58
  scale: 1;
58
59
  }
59
60
 
@@ -13,29 +13,30 @@ position: relative;
13
13
  row-gap: var(--_steps-row-gap, var(--helix-space-2xs));
14
14
  }
15
15
 
16
- [part="lead"],
17
- [part="trail"] {
16
+ :host::before,
17
+ :host::after {
18
18
  background-color: var(--steps-connector-color, var(--helix-color-border));
19
+ content: "";
19
20
  position: absolute;
20
21
  z-index: 0;
21
22
  }
22
23
 
23
- [part="lead"] {
24
+ :host::before {
24
25
  block-size: var(--_steps-lead-block-size, var(--helix-border-thin));
25
26
  inline-size: var(--_steps-lead-inline-size, 0);
26
27
  inset-block-start: var(--_steps-lead-block-start, 50%);
27
28
  inset-inline-start: var(--_steps-lead-inline-start, 0);
28
29
  }
29
30
 
30
- [part="trail"] {
31
+ :host::after {
31
32
  block-size: var(--_steps-trail-block-size, var(--helix-border-thin));
32
33
  inline-size: var(--_steps-trail-inline-size, 0);
33
34
  inset-block-start: var(--_steps-trail-block-start, 50%);
34
35
  inset-inline-start: var(--_steps-trail-inline-start, 0);
35
36
  }
36
37
 
37
- :host(:first-child) [part="lead"],
38
- :host(:last-child) [part="trail"] {
38
+ :host(:first-child)::before,
39
+ :host(:last-child)::after {
39
40
  display: none;
40
41
  }
41
42
 
@@ -41,12 +41,13 @@ background-color var(--helix-duration-fast) var(--helix-easing-standard),
41
41
  border-color var(--helix-duration-fast) var(--helix-easing-standard);
42
42
  }
43
43
 
44
- [part="thumb"] {
44
+ [part="track"]::after {
45
45
 
46
46
  background-color: var(--switch-thumb-color, var(--helix-color-surface-overlay));
47
47
  block-size: calc(var(--_switch-height) - var(--_switch-inset) * 2);
48
48
  border: var(--helix-border-thin) solid var(--helix-color-border);
49
49
  border-radius: var(--helix-radii-full);
50
+ content: "";
50
51
  inline-size: calc(var(--_switch-height) - var(--_switch-inset) * 2);
51
52
  inset-block-start: 50%;
52
53
 
@@ -57,7 +58,7 @@ translate: 0 -50%;
57
58
  transition: translate var(--helix-duration-fast) var(--helix-easing-emphasized);
58
59
  }
59
60
 
60
- :host(:state(checked)) [part="thumb"] {
61
+ :host(:state(checked)) [part="track"]::after {
61
62
  border-color: transparent;
62
63
  }
63
64
 
@@ -76,14 +77,14 @@ margin: var(--helix-space-none);
76
77
  opacity: 0;
77
78
  }
78
79
 
79
- :host(:state(checked)) [part="thumb"] {
80
+ :host(:state(checked)) [part="track"]::after {
80
81
 
81
82
  background-color: var(--switch-thumb-color, var(--helix-color-foreground-on-accent));
82
83
 
83
84
  translate: calc(var(--_switch-width) - var(--_switch-height)) -50%;
84
85
  }
85
86
 
86
- [part="control"]:focus-visible + [part="thumb"] {
87
+ [part="track"]:has([part="control"]:focus-visible)::after {
87
88
  outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
88
89
  outline-offset: var(--helix-size-focus-offset);
89
90
  }
@@ -13,14 +13,16 @@ grid-template-rows: subgrid;
13
13
  justify-items: center;
14
14
  }
15
15
 
16
- [part="connector"] {
16
+ [part="rail"]::before {
17
17
  background-color: var(--helix-color-border);
18
18
  block-size: 100%;
19
+ content: "";
20
+ grid-column: 1;
19
21
  grid-row: 1;
20
22
  inline-size: var(--timeline-rail-size, var(--helix-border-thin));
21
23
  }
22
24
 
23
- :host(:first-child) [part="connector"] {
25
+ :host(:first-child) [part="rail"]::before {
24
26
  visibility: hidden;
25
27
  }
26
28
 
@@ -9,18 +9,22 @@ gap: var(--helix-space-2xs);
9
9
  align-self: center;
10
10
  margin-block: 0;
11
11
 
12
+ order: -2;
13
+
12
14
  padding-block: 0;
13
15
  padding-inline-start: var(--helix-space-xs);
14
16
  white-space: nowrap;
15
17
  }
16
18
 
17
- [part="divider"] {
19
+ :host([label-placement="start"]) [part="track"]::before {
18
20
  align-self: center;
19
21
  background-color: var(--helix-color-border);
20
- block-size: 60%;
22
+ block-size: calc(var(--_toggle-height) * 0.6);
23
+ content: "";
21
24
  flex: none;
22
25
  inline-size: var(--helix-border-thin);
23
26
  margin-inline: var(--helix-space-xs);
27
+ order: -1;
24
28
  }
25
29
 
26
30
  :host([label-placement="start"]) {
@@ -356,13 +356,14 @@ position: absolute;
356
356
  translate: -50% -50%;
357
357
  }
358
358
 
359
- [part="loading-mark"] {
359
+ [part="loading"]::before {
360
360
  animation: video-spin var(--_video-spin) linear infinite;
361
361
  block-size: var(--helix-size-icon-tight);
362
362
  border: var(--helix-border-thick) solid
363
363
  color-mix(in oklab, var(--helix-color-foreground-media) 30%, transparent);
364
364
  border-block-start-color: var(--helix-color-foreground-media);
365
365
  border-radius: var(--helix-radii-full);
366
+ content: "";
366
367
  flex: 0 0 auto;
367
368
  inline-size: var(--helix-size-icon-tight);
368
369
  }
@@ -374,7 +375,7 @@ rotate: 1turn;
374
375
  }
375
376
 
376
377
  @media (prefers-reduced-motion: reduce) {
377
- [part="loading-mark"] {
378
+ [part="loading"]::before {
378
379
  animation: none;
379
380
  }
380
381
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.53.5",
4
+ "version": "0.54.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -47,14 +47,14 @@
47
47
  },
48
48
  "bugs": "https://github.com/project-fusion/fusion/issues",
49
49
  "dependencies": {
50
- "@fusion.dev/helix-core": "0.53.5",
51
- "@fusion.dev/helix-headless": "0.53.5",
52
- "@fusion.dev/helix-styles": "0.53.5"
50
+ "@fusion.dev/helix-core": "0.54.0",
51
+ "@fusion.dev/helix-headless": "0.54.0",
52
+ "@fusion.dev/helix-styles": "0.54.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@custom-elements-manifest/analyzer": "^0.11.0",
56
- "@fusion.dev/helix-cem": "0.53.5",
57
- "@fusion.dev/helix-testing": "0.53.5",
56
+ "@fusion.dev/helix-cem": "0.54.0",
57
+ "@fusion.dev/helix-testing": "0.54.0",
58
58
  "@fusion.dev/scripts": "0.0.0-dev",
59
59
  "@happy-dom/global-registrator": "^20.0.0",
60
60
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -24832,9 +24832,8 @@ export type CustomElements = {
24832
24832
  * - `footer`: The row holding the value and the tools.
24833
24833
  * - `format`: The control that changes the syntax the value is written in.
24834
24834
  * - `format-button`: The inner control.
24835
- * - `grid`: The saturation and brightness square.
24835
+ * - `grid`: The saturation and brightness square. The mark showing where in the square the color sits is drawn on the square itself, which is `::part(grid)::after` from a consumer's sheet: the two channels are already on the square as `--color-picker-saturation` and `--color-picker-brightness`, so a box would have carried nothing, and this tier ships no CSS.
24836
24836
  * - `grid-brightness`: The range input for its vertical axis.
24837
- * - `grid-handle`: The mark showing where in the square the color sits.
24838
24837
  * - `grid-saturation`: The range input for the square's horizontal axis.
24839
24838
  * - `sample`: The chip of the current color, which copies it when pressed.
24840
24839
  * - `swatch`: One preset.
@@ -29664,10 +29663,9 @@ export type CustomElements = {
29664
29663
  *
29665
29664
  * Custom selectors for styling elements within the component.
29666
29665
  *
29667
- * - `entry`: One name and its swatch.
29666
+ * - `entry`: One name and its swatch. The swatch is drawn on the entry, which is `::part(entry)::before` from a consumer's sheet: the series is already on the entry as `--chart-series`, so a box would have carried nothing, and this tier ships no CSS.
29668
29667
  * - `list`: The list itself.
29669
29668
  * - `name`: One series name.
29670
- * - `swatch`: The color a series is drawn in.
29671
29669
  *
29672
29670
  * ## CSS States
29673
29671
  *
@@ -33697,10 +33695,9 @@ export type CustomElements = {
33697
33695
  *
33698
33696
  * Custom selectors for styling elements within the component.
33699
33697
  *
33700
- * - `box`: The circle.
33698
+ * - `box`: The circle. The dot inside it is drawn on the box itself, which is `::part(box)::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
33701
33699
  * - `item`: The button, which is the whole row.
33702
33700
  * - `label`: The words beside it.
33703
- * - `mark`: The dot inside it.
33704
33701
  *
33705
33702
  * ## CSS States
33706
33703
  *
@@ -36321,10 +36318,8 @@ export type CustomElements = {
36321
36318
  * - `description`: The line under it.
36322
36319
  * - `label`: The step's name, which is a control.
36323
36320
  * - `label-button`: The inner control.
36324
- * - `lead`: The half line arriving from the step before.
36325
36321
  * - `mark`: The glyph inside the marker: a tick, a dot, or an empty ring.
36326
36322
  * - `marker`: The shape carrying the number or the check.
36327
- * - `trail`: The half line running on to the next.
36328
36323
  *
36329
36324
  * ## CSS States
36330
36325
  *
@@ -36510,8 +36505,7 @@ export type CustomElements = {
36510
36505
  * - `field`: The row: the track and its label.
36511
36506
  * - `hint`: Help under the control, while nothing is wrong.
36512
36507
  * - `label`: The words beside it.
36513
- * - `thumb`: The part that moves.
36514
- * - `track`: The groove the thumb travels in.
36508
+ * - `track`: The groove. The thumb that travels in it is drawn on the groove itself, which is `::part(track)::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
36515
36509
  *
36516
36510
  * ## CSS States
36517
36511
  *
@@ -38218,11 +38212,10 @@ export type CustomElements = {
38218
38212
  *
38219
38213
  * Custom selectors for styling elements within the component.
38220
38214
  *
38221
- * - `connector`: The line arriving at this entry.
38222
38215
  * - `content`: What happened, and the time above it.
38223
38216
  * - `dot`: The mark drawn where nothing was slotted for one.
38224
38217
  * - `marker`: The mark on the line.
38225
- * - `rail`: The column holding the mark and the line.
38218
+ * - `rail`: The column holding the mark and the line. Both halves of the line are drawn on the rail, which is `::part(rail)::before` and `::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
38226
38219
  * - `time`: When it happened.
38227
38220
  *
38228
38221
  * ## CSS States
@@ -38663,12 +38656,11 @@ export type CustomElements = {
38663
38656
  * Custom selectors for styling elements within the component.
38664
38657
  *
38665
38658
  * - `indicator`: The moving marker behind the selected item.
38666
- * - `divider`: The rule after an inline label, separating it from the items.
38667
38659
  * - `feedback`: What is wrong with it.
38668
38660
  * - `hint`: Help under the row, while nothing is wrong.
38669
38661
  * - `label`: The question, over the row.
38670
38662
  * - `row`: The line the track sits on, with whatever flanks it.
38671
- * - `track`: The bar the items sit in.
38663
+ * - `track`: The bar the items sit in. The rule after an inline label, separating it from the items, is drawn on the bar, which is `::part(track)::before` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
38672
38664
  *
38673
38665
  * ## CSS States
38674
38666
  *
@@ -40245,8 +40237,7 @@ export type CustomElements = {
40245
40237
  * - `failure`: What is said when the source will not play.
40246
40238
  * - `forward`: The control that goes on ten seconds.
40247
40239
  * - `fullscreen`: The whole screen, and back.
40248
- * - `loading`: What is said while the picture waits for more of itself.
40249
- * - `loading-mark`: The part of that which spins.
40240
+ * - `loading`: What is said while the picture waits for more of itself. The part of that which spins is drawn on it, which is `::part(loading)::before` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
40250
40241
  * - `more`: The button that opens it.
40251
40242
  * - `mute`: Sound on and off.
40252
40243
  * - `next`: Asks for the next item, where it was asked for.
@@ -44407,9 +44398,8 @@ export type CustomElementsSolidJs = {
44407
44398
  * - `footer`: The row holding the value and the tools.
44408
44399
  * - `format`: The control that changes the syntax the value is written in.
44409
44400
  * - `format-button`: The inner control.
44410
- * - `grid`: The saturation and brightness square.
44401
+ * - `grid`: The saturation and brightness square. The mark showing where in the square the color sits is drawn on the square itself, which is `::part(grid)::after` from a consumer's sheet: the two channels are already on the square as `--color-picker-saturation` and `--color-picker-brightness`, so a box would have carried nothing, and this tier ships no CSS.
44411
44402
  * - `grid-brightness`: The range input for its vertical axis.
44412
- * - `grid-handle`: The mark showing where in the square the color sits.
44413
44403
  * - `grid-saturation`: The range input for the square's horizontal axis.
44414
44404
  * - `sample`: The chip of the current color, which copies it when pressed.
44415
44405
  * - `swatch`: One preset.
@@ -49332,10 +49322,9 @@ export type CustomElementsSolidJs = {
49332
49322
  *
49333
49323
  * Custom selectors for styling elements within the component.
49334
49324
  *
49335
- * - `entry`: One name and its swatch.
49325
+ * - `entry`: One name and its swatch. The swatch is drawn on the entry, which is `::part(entry)::before` from a consumer's sheet: the series is already on the entry as `--chart-series`, so a box would have carried nothing, and this tier ships no CSS.
49336
49326
  * - `list`: The list itself.
49337
49327
  * - `name`: One series name.
49338
- * - `swatch`: The color a series is drawn in.
49339
49328
  *
49340
49329
  * ## CSS States
49341
49330
  *
@@ -53453,10 +53442,9 @@ export type CustomElementsSolidJs = {
53453
53442
  *
53454
53443
  * Custom selectors for styling elements within the component.
53455
53444
  *
53456
- * - `box`: The circle.
53445
+ * - `box`: The circle. The dot inside it is drawn on the box itself, which is `::part(box)::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
53457
53446
  * - `item`: The button, which is the whole row.
53458
53447
  * - `label`: The words beside it.
53459
- * - `mark`: The dot inside it.
53460
53448
  *
53461
53449
  * ## CSS States
53462
53450
  *
@@ -56143,10 +56131,8 @@ export type CustomElementsSolidJs = {
56143
56131
  * - `description`: The line under it.
56144
56132
  * - `label`: The step's name, which is a control.
56145
56133
  * - `label-button`: The inner control.
56146
- * - `lead`: The half line arriving from the step before.
56147
56134
  * - `mark`: The glyph inside the marker: a tick, a dot, or an empty ring.
56148
56135
  * - `marker`: The shape carrying the number or the check.
56149
- * - `trail`: The half line running on to the next.
56150
56136
  *
56151
56137
  * ## CSS States
56152
56138
  *
@@ -56334,8 +56320,7 @@ export type CustomElementsSolidJs = {
56334
56320
  * - `field`: The row: the track and its label.
56335
56321
  * - `hint`: Help under the control, while nothing is wrong.
56336
56322
  * - `label`: The words beside it.
56337
- * - `thumb`: The part that moves.
56338
- * - `track`: The groove the thumb travels in.
56323
+ * - `track`: The groove. The thumb that travels in it is drawn on the groove itself, which is `::part(track)::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
56339
56324
  *
56340
56325
  * ## CSS States
56341
56326
  *
@@ -58079,11 +58064,10 @@ export type CustomElementsSolidJs = {
58079
58064
  *
58080
58065
  * Custom selectors for styling elements within the component.
58081
58066
  *
58082
- * - `connector`: The line arriving at this entry.
58083
58067
  * - `content`: What happened, and the time above it.
58084
58068
  * - `dot`: The mark drawn where nothing was slotted for one.
58085
58069
  * - `marker`: The mark on the line.
58086
- * - `rail`: The column holding the mark and the line.
58070
+ * - `rail`: The column holding the mark and the line. Both halves of the line are drawn on the rail, which is `::part(rail)::before` and `::after` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
58087
58071
  * - `time`: When it happened.
58088
58072
  *
58089
58073
  * ## CSS States
@@ -58538,12 +58522,11 @@ export type CustomElementsSolidJs = {
58538
58522
  * Custom selectors for styling elements within the component.
58539
58523
  *
58540
58524
  * - `indicator`: The moving marker behind the selected item.
58541
- * - `divider`: The rule after an inline label, separating it from the items.
58542
58525
  * - `feedback`: What is wrong with it.
58543
58526
  * - `hint`: Help under the row, while nothing is wrong.
58544
58527
  * - `label`: The question, over the row.
58545
58528
  * - `row`: The line the track sits on, with whatever flanks it.
58546
- * - `track`: The bar the items sit in.
58529
+ * - `track`: The bar the items sit in. The rule after an inline label, separating it from the items, is drawn on the bar, which is `::part(track)::before` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
58547
58530
  *
58548
58531
  * ## CSS States
58549
58532
  *
@@ -60156,8 +60139,7 @@ export type CustomElementsSolidJs = {
60156
60139
  * - `failure`: What is said when the source will not play.
60157
60140
  * - `forward`: The control that goes on ten seconds.
60158
60141
  * - `fullscreen`: The whole screen, and back.
60159
- * - `loading`: What is said while the picture waits for more of itself.
60160
- * - `loading-mark`: The part of that which spins.
60142
+ * - `loading`: What is said while the picture waits for more of itself. The part of that which spins is drawn on it, which is `::part(loading)::before` from a consumer's sheet: this tier ships no CSS, so a box it renders for one to paint is an empty child costing whatever the consumer's own layout charges for a child. `ListItem` measured that.
60161
60143
  * - `more`: The button that opens it.
60162
60144
  * - `mute`: Sound on and off.
60163
60145
  * - `next`: Asks for the next item, where it was asked for.