@fusion.dev/helix 0.38.0 → 0.39.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.
@@ -31127,6 +31127,14 @@
31127
31127
  "description": "Type size, headings and cells alike.",
31128
31128
  "name": "--data-table-text"
31129
31129
  },
31130
+ {
31131
+ "description": "The edge the column a cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the component onto each cell it draws, read by the sheet that paints one; `helix-table` publishes `--table-cell-align` for the same attribute on the cells a consumer wrote, under its own family's name.",
31132
+ "name": "--data-table-cell-align",
31133
+ "inheritedFrom": {
31134
+ "name": "HelixHeadlessDataTable",
31135
+ "module": "src/data-table/root/data-table-root.ts"
31136
+ }
31137
+ },
31130
31138
  {
31131
31139
  "description": "The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--data-table-columns` is the one to set.",
31132
31140
  "name": "--data-table-template",
@@ -31258,7 +31266,7 @@
31258
31266
  }
31259
31267
  },
31260
31268
  {
31261
- "description": "Shown when no rows match.",
31269
+ "description": "Shown when the result has nothing in it, whether it arrived empty or a filter emptied it. A result still on its way is `loading` instead, which wins over this.",
31262
31270
  "name": "empty",
31263
31271
  "inheritedFrom": {
31264
31272
  "name": "HelixHeadlessDataTable",
@@ -31577,7 +31585,7 @@
31577
31585
  },
31578
31586
  "privacy": "protected",
31579
31587
  "readonly": true,
31580
- "description": "Emptiness is a fact about the data here, not about slotted children.",
31588
+ "description": "Emptiness is a fact about the data here, not about slotted children.\n\n**The page rather than the window**, which is the difference between the two\ncounts `view` carries and the reason this reads `available`. A windowed\ntable draws a slice, and a slice can be short of the rows that are there:\nasking whether *this* slice has rows says \"nothing matched\" about a result\nthat matched plenty.\n\nThe mixin's own answer counts children with no `slot`, which for this\nelement is the columns. Left in place, a table with columns and no data\nwould call itself full.",
31581
31589
  "inheritedFrom": {
31582
31590
  "name": "MixinCollection",
31583
31591
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
@@ -32780,6 +32788,7 @@
32780
32788
  }
32781
32789
  }
32782
32790
  ],
32791
+ "description": "One cell, carrying its column's edge as a fact rather than as a decision.\n\n**A fact published rather than a property chosen**, which is what\n`helix-table` does with the same attribute: what lining up *means*, a\n`justify-content` for a value that fits or a `text-align` for one that\nwraps, belongs to whoever draws the cell. Written here as an inline\n`text-align` it was this tier choosing, in the tier that ships no CSS, and a\nconsumer could not overrule it either, an inline declaration beating any\n`::part(cell)` rule they wrote.\n\nOnly the three edges reach it, `align` being a string anybody can write and\nthis being a style attribute: `edgeOf` is that guard, and `helix-table`\nholds the same value to the same three.",
32783
32792
  "inheritedFrom": {
32784
32793
  "name": "HelixHeadlessDataTable",
32785
32794
  "module": "src/data-table/root/data-table-root.ts"
@@ -33431,7 +33440,7 @@
33431
33440
  "helix": {
33432
33441
  "category": "data",
33433
33442
  "since": "0.1.0",
33434
- "status": "experimental",
33443
+ "status": "stable",
33435
33444
  "documentation": "https://fusion.dev/helix/components/data-table",
33436
33445
  "tier": "styled",
33437
33446
  "group": "DataTable",
@@ -38601,7 +38610,7 @@
38601
38610
  "text": "string"
38602
38611
  },
38603
38612
  "default": "''",
38604
- "description": "What the value is, for the common case of plain text.\n\nThe fallback of the `label` slot, so slotted content replaces it rather than\nappearing beside it.",
38613
+ "description": "What the value is called, for the common case of plain text.\n\nThe fallback of the `label` slot, so slotted content replaces it rather than\nappearing beside it. The value itself is the default slot: it is the half\nthat varies and is often more than text.",
38605
38614
  "attribute": "label",
38606
38615
  "inheritedFrom": {
38607
38616
  "name": "HelixHeadlessDescriptionListItem",
@@ -38940,7 +38949,7 @@
38940
38949
  "summary": "One label and its value.",
38941
38950
  "helix": {
38942
38951
  "since": "0.1.0",
38943
- "status": "experimental",
38952
+ "status": "stable",
38944
38953
  "documentation": "https://fusion.dev/helix/components/description-list",
38945
38954
  "tier": "styled",
38946
38955
  "group": "DescriptionList",
@@ -38991,7 +39000,7 @@
38991
39000
  "text": "string"
38992
39001
  },
38993
39002
  "default": "''",
38994
- "description": "What the value is, for the common case of plain text.\n\nThe fallback of the `label` slot, so slotted content replaces it rather than\nappearing beside it.",
39003
+ "description": "What the value is called, for the common case of plain text.\n\nThe fallback of the `label` slot, so slotted content replaces it rather than\nappearing beside it. The value itself is the default slot: it is the half\nthat varies and is often more than text.",
38995
39004
  "fieldName": "label",
38996
39005
  "inheritedFrom": {
38997
39006
  "name": "HelixHeadlessDescriptionListItem",
@@ -39062,7 +39071,7 @@
39062
39071
  "name": "HelixDescriptionList",
39063
39072
  "cssProperties": [
39064
39073
  {
39065
- "description": "Space between one pair and the next.",
39074
+ "description": "Space between one pair and the next. Its resting value is tighter with `direction=\"row\"` than stacked, a row of pairs needing less air between them than a column of them does, and setting this takes both.",
39066
39075
  "name": "--description-list-gap"
39067
39076
  }
39068
39077
  ],
@@ -39464,7 +39473,7 @@
39464
39473
  "helix": {
39465
39474
  "category": "data",
39466
39475
  "since": "0.1.0",
39467
- "status": "experimental",
39476
+ "status": "stable",
39468
39477
  "documentation": "https://fusion.dev/helix/components/description-list",
39469
39478
  "aliases": [
39470
39479
  "Data list",
@@ -54009,7 +54018,7 @@
54009
54018
  }
54010
54019
  },
54011
54020
  {
54012
- "description": "Shown when the table has no readings in it.",
54021
+ "description": "Shown when the table has no readings in it, and not before the table can be read at all: on a server, and while hydrating what one sent, there is no document to resolve `for` in and nothing is known yet.",
54013
54022
  "name": "empty",
54014
54023
  "inheritedFrom": {
54015
54024
  "name": "HelixHeadlessHeatmap",
@@ -54042,10 +54051,6 @@
54042
54051
  }
54043
54052
  ],
54044
54053
  "slots": [
54045
- {
54046
- "description": "The `<table>` this draws, where it is not named by `for`.",
54047
- "name": ""
54048
- },
54049
54054
  {
54050
54055
  "description": "Below the strip, at the trailing edge.",
54051
54056
  "name": "end",
@@ -54224,7 +54229,7 @@
54224
54229
  "text": "string"
54225
54230
  },
54226
54231
  "default": "'No readings'",
54227
- "description": "Shown when the table has no readings in it.",
54232
+ "description": "Shown when the table has no readings in it.\n\nNever shown while the table cannot be read at all, which is a server render\nand the hydrating one after it: see `sourceKnown`.",
54228
54233
  "attribute": "empty-text",
54229
54234
  "inheritedFrom": {
54230
54235
  "name": "HelixHeadlessHeatmap",
@@ -54368,6 +54373,20 @@
54368
54373
  "module": "src/heatmap/root/heatmap-root.ts"
54369
54374
  }
54370
54375
  },
54376
+ {
54377
+ "kind": "field",
54378
+ "name": "sourceKnown",
54379
+ "type": {
54380
+ "text": "boolean"
54381
+ },
54382
+ "privacy": "private",
54383
+ "description": "Whether this render can tell a table with no readings from one it has not\nresolved yet.\n\n**Unknown is not empty, which is what an empty state must never say.**\n`for` names an id and resolving an id wants a document, so a server has\nnone and a hydrating render must not look either. Without this the server\ndrew \"No readings\" over a table holding ninety days of them, a crawler read\nthat sentence, and the strip flipped to a full one on hydration: the fault\n`MixinCollection` names for a slotted collection, arriving through the one\nchannel that mixin cannot see.\n\nThe same shape as `childrenKnown`, asked of a document rather than of a\ntree. An id that resolves to nothing in a browser is still known, and still\nempty: a `for` naming no table should say so rather than sit blank.",
54384
+ "readonly": true,
54385
+ "inheritedFrom": {
54386
+ "name": "HelixHeadlessHeatmap",
54387
+ "module": "src/heatmap/root/heatmap-root.ts"
54388
+ }
54389
+ },
54371
54390
  {
54372
54391
  "kind": "field",
54373
54392
  "name": "rowCount",
@@ -54859,7 +54878,7 @@
54859
54878
  "helix": {
54860
54879
  "category": "charts",
54861
54880
  "since": "0.1.0",
54862
- "status": "experimental",
54881
+ "status": "stable",
54863
54882
  "documentation": "https://fusion.dev/helix/components/heatmap",
54864
54883
  "tier": "styled",
54865
54884
  "group": "Heatmap",
@@ -54931,7 +54950,7 @@
54931
54950
  "text": "string"
54932
54951
  },
54933
54952
  "default": "'No readings'",
54934
- "description": "Shown when the table has no readings in it.",
54953
+ "description": "Shown when the table has no readings in it.\n\nNever shown while the table cannot be read at all, which is a server render\nand the hydrating one after it: see `sourceKnown`.",
54935
54954
  "fieldName": "emptyText",
54936
54955
  "inheritedFrom": {
54937
54956
  "name": "HelixHeadlessHeatmap",
@@ -76579,9 +76598,8 @@
76579
76598
  "text": "boolean"
76580
76599
  },
76581
76600
  "default": "false",
76582
- "description": "Whether to leave the copy button off.\n\nNegative for the reason Code Block's is: a boolean attribute defaulting to\ntrue could never be turned off from markup.",
76601
+ "description": "Whether to leave the copy button off.\n\nNegative for the reason Code Block's is: a boolean attribute defaulting to\ntrue could never be turned off from markup.\n\n**It does not reflect, where Code Block's does**, and the difference is what\nthe two sheets need. Code Block reserves the button's width with\n`:host(:not([no-copy]))`, so the attribute has to be there for a consumer\nwho set the property. This button is positioned out of the flow and takes no\nroom, so nothing selects on it, and reflection exists so that a selector can\nreach a value.",
76583
76602
  "attribute": "no-copy",
76584
- "reflects": true,
76585
76603
  "inheritedFrom": {
76586
76604
  "name": "HelixHeadlessObjectInspector",
76587
76605
  "module": "src/object-inspector/root/object-inspector-root.ts"
@@ -76949,6 +76967,7 @@
76949
76967
  }
76950
76968
  }
76951
76969
  ],
76970
+ "description": "One entry, named for its state where it holds one.\n\n**`row-active` and no attribute beside it.** Which row the keys are on is\ndrawn by a sheet and by nothing else: the accessibility tree hears it from\n`aria-activedescendant` on the tree, which points at this row's id, so an\nattribute would be a second spelling with no reader. The name is the one a\nconsumer can reach, nothing being able to follow `::part()` with an\nattribute selector.",
76952
76971
  "inheritedFrom": {
76953
76972
  "name": "HelixHeadlessObjectInspector",
76954
76973
  "module": "src/object-inspector/root/object-inspector-root.ts"
@@ -77296,7 +77315,7 @@
77296
77315
  "helix": {
77297
77316
  "category": "data",
77298
77317
  "since": "0.1.0",
77299
- "status": "experimental",
77318
+ "status": "stable",
77300
77319
  "documentation": "https://fusion.dev/helix/components/object-inspector",
77301
77320
  "aliases": [
77302
77321
  "JSON viewer",
@@ -77601,7 +77620,7 @@
77601
77620
  "text": "boolean"
77602
77621
  },
77603
77622
  "default": "false",
77604
- "description": "Whether to leave the copy button off.\n\nNegative for the reason Code Block's is: a boolean attribute defaulting to\ntrue could never be turned off from markup.",
77623
+ "description": "Whether to leave the copy button off.\n\nNegative for the reason Code Block's is: a boolean attribute defaulting to\ntrue could never be turned off from markup.\n\n**It does not reflect, where Code Block's does**, and the difference is what\nthe two sheets need. Code Block reserves the button's width with\n`:host(:not([no-copy]))`, so the attribute has to be there for a consumer\nwho set the property. This button is positioned out of the flow and takes no\nroom, so nothing selects on it, and reflection exists so that a selector can\nreach a value.",
77605
77624
  "fieldName": "noCopy",
77606
77625
  "inheritedFrom": {
77607
77626
  "name": "HelixHeadlessObjectInspector",
@@ -66,6 +66,8 @@ font-size: var(--data-table-text, var(--helix-text-sm));
66
66
  padding-block: var(--data-table-padding-block, var(--helix-space-sm));
67
67
 
68
68
  padding-inline: var(--data-table-padding-inline, var(--helix-space-none) var(--helix-space-md));
69
+
70
+ text-align: var(--data-table-cell-align);
69
71
  }
70
72
 
71
73
  [part="row"]:last-of-type [part~="cell"] {
@@ -25,7 +25,7 @@ import '../../table/index.js';
25
25
  * `helix-table` where the content has to be in the served HTML.
26
26
  *
27
27
  * @since 0.1.0
28
- * @status experimental
28
+ * @status stable
29
29
  * @category data
30
30
  * @documentation https://fusion.dev/helix/components/data-table
31
31
  *
@@ -8,7 +8,7 @@ import type { CSSResultGroup } from 'lit';
8
8
  * to a screen reader, while lining up with every other pair in the list.
9
9
  *
10
10
  * @since 0.1.0
11
- * @status experimental
11
+ * @status stable
12
12
  * @documentation https://fusion.dev/helix/components/description-list
13
13
  */
14
14
  export declare class HelixDescriptionListItem extends HelixHeadlessDescriptionListItem {
@@ -20,12 +20,12 @@ import type { CSSResultGroup } from 'lit';
20
20
  * figures of one width, which is how a set of totals is read.
21
21
  *
22
22
  * @since 0.1.0
23
- * @status experimental
23
+ * @status stable
24
24
  * @category data
25
25
  * @aliases Data list, Key-value list, Details, Properties
26
26
  * @documentation https://fusion.dev/helix/components/description-list
27
27
  *
28
- * @cssproperty --description-list-gap - Space between one pair and the next.
28
+ * @cssproperty --description-list-gap - Space between one pair and the next. Its resting value is tighter with `direction="row"` than stacked, a row of pairs needing less air between them than a column of them does, and setting this takes both.
29
29
  */
30
30
  export declare class HelixDescriptionList extends HelixHeadlessDescriptionList {
31
31
  static styles: CSSResultGroup;
@@ -18,11 +18,10 @@ import '../../tooltip/index.js';
18
18
  * thing two cells can be compared by.
19
19
  *
20
20
  * @since 0.1.0
21
- * @status experimental
21
+ * @status stable
22
22
  * @category charts
23
23
  * @documentation https://fusion.dev/helix/components/heatmap
24
24
  *
25
- * @slot - The `<table>` this draws, where it is not named by `for`.
26
25
  * @slot end - Below the strip, at the trailing edge.
27
26
  * @slot start - Below the strip, at the leading edge.
28
27
  * @slot summary - Below the strip, in the middle.
@@ -81,11 +81,11 @@ var(--helix-space-sm)
81
81
  );
82
82
  }
83
83
 
84
- [part="tree"]:focus [part~="row"][data-active] {
84
+ [part="tree"]:focus [part~="row-active"] {
85
85
  background-color: var(--helix-color-surface-sunken);
86
86
  }
87
87
 
88
- [part="tree"]:focus-visible [part~="row"][data-active] {
88
+ [part="tree"]:focus-visible [part~="row-active"] {
89
89
  outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
90
90
  outline-offset: calc(var(--helix-size-focus-offset) * -1);
91
91
  }
@@ -13,7 +13,7 @@ import '../../copy-button/index.js';
13
13
  * never has to measure them one by one.
14
14
  *
15
15
  * @since 0.1.0
16
- * @status experimental
16
+ * @status stable
17
17
  * @category data
18
18
  * @aliases JSON viewer, Object viewer, Inspector, Data explorer
19
19
  * @documentation https://fusion.dev/helix/components/object-inspector
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.38.0",
4
+ "version": "0.39.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.38.0",
51
- "@fusion.dev/helix-headless": "0.38.0",
52
- "@fusion.dev/helix-styles": "0.38.0"
50
+ "@fusion.dev/helix-core": "0.39.0",
51
+ "@fusion.dev/helix-headless": "0.39.0",
52
+ "@fusion.dev/helix-styles": "0.39.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@custom-elements-manifest/analyzer": "^0.11.0",
56
- "@fusion.dev/helix-cem": "0.38.0",
57
- "@fusion.dev/helix-testing": "0.38.0",
56
+ "@fusion.dev/helix-cem": "0.39.0",
57
+ "@fusion.dev/helix-testing": "0.39.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
@@ -6441,18 +6441,20 @@ reader makes in one of these. */
6441
6441
  };
6442
6442
 
6443
6443
  export type HelixDescriptionListItemProps = {
6444
- /** What the value is, for the common case of plain text.
6444
+ /** What the value is called, for the common case of plain text.
6445
6445
 
6446
6446
  The fallback of the `label` slot, so slotted content replaces it rather than
6447
- appearing beside it. */
6447
+ appearing beside it. The value itself is the default slot: it is the half
6448
+ that varies and is often more than text. */
6448
6449
  label?: (HelixDescriptionListItem["label"]) | undefined;
6449
6450
  };
6450
6451
 
6451
6452
  export type HelixDescriptionListItemSolidJsProps = {
6452
- /** What the value is, for the common case of plain text.
6453
+ /** What the value is called, for the common case of plain text.
6453
6454
 
6454
6455
  The fallback of the `label` slot, so slotted content replaces it rather than
6455
- appearing beside it. */
6456
+ appearing beside it. The value itself is the default slot: it is the half
6457
+ that varies and is often more than text. */
6456
6458
  "prop:label"?: (HelixDescriptionListItem["label"]) | undefined;
6457
6459
 
6458
6460
  /** Set the innerHTML of the element */
@@ -8270,9 +8272,15 @@ shadow root names a table in that root rather than in the document. A
8270
8272
  Absent falls back to the table's own caption, which is usually the right
8271
8273
  words and is already written. */
8272
8274
  label?: (HelixHeatmap["label"]) | undefined;
8273
- /** Shown when the table has no readings in it. */
8275
+ /** Shown when the table has no readings in it.
8276
+
8277
+ Never shown while the table cannot be read at all, which is a server render
8278
+ and the hydrating one after it: see `sourceKnown`. */
8274
8279
  "empty-text"?: (HelixHeatmap["emptyText"]) | undefined;
8275
- /** Shown when the table has no readings in it. */
8280
+ /** Shown when the table has no readings in it.
8281
+
8282
+ Never shown while the table cannot be read at all, which is a server render
8283
+ and the hydrating one after it: see `sourceKnown`. */
8276
8284
  emptyText?: (HelixHeatmap["emptyText"]) | undefined;
8277
8285
  /** Space between cells, in CSS pixels, for the same reason `min-cell` is a
8278
8286
  number. */
@@ -8359,9 +8367,15 @@ shadow root names a table in that root rather than in the document. A
8359
8367
  Absent falls back to the table's own caption, which is usually the right
8360
8368
  words and is already written. */
8361
8369
  "prop:label"?: (HelixHeatmap["label"]) | undefined;
8362
- /** Shown when the table has no readings in it. */
8370
+ /** Shown when the table has no readings in it.
8371
+
8372
+ Never shown while the table cannot be read at all, which is a server render
8373
+ and the hydrating one after it: see `sourceKnown`. */
8363
8374
  "attr:empty-text"?: (HelixHeatmap["emptyText"]) | undefined;
8364
- /** Shown when the table has no readings in it. */
8375
+ /** Shown when the table has no readings in it.
8376
+
8377
+ Never shown while the table cannot be read at all, which is a server render
8378
+ and the hydrating one after it: see `sourceKnown`. */
8365
8379
  "prop:emptyText"?: (HelixHeatmap["emptyText"]) | undefined;
8366
8380
  /** Space between cells, in CSS pixels, for the same reason `min-cell` is a
8367
8381
  number. */
@@ -11679,12 +11693,26 @@ page's markup should not take the page down over a comma. */
11679
11693
  /** Whether to leave the copy button off.
11680
11694
 
11681
11695
  Negative for the reason Code Block's is: a boolean attribute defaulting to
11682
- true could never be turned off from markup. */
11696
+ true could never be turned off from markup.
11697
+
11698
+ **It does not reflect, where Code Block's does**, and the difference is what
11699
+ the two sheets need. Code Block reserves the button's width with
11700
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
11701
+ who set the property. This button is positioned out of the flow and takes no
11702
+ room, so nothing selects on it, and reflection exists so that a selector can
11703
+ reach a value. */
11683
11704
  "no-copy"?: (HelixObjectInspector["noCopy"]) | undefined;
11684
11705
  /** Whether to leave the copy button off.
11685
11706
 
11686
11707
  Negative for the reason Code Block's is: a boolean attribute defaulting to
11687
- true could never be turned off from markup. */
11708
+ true could never be turned off from markup.
11709
+
11710
+ **It does not reflect, where Code Block's does**, and the difference is what
11711
+ the two sheets need. Code Block reserves the button's width with
11712
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
11713
+ who set the property. This button is positioned out of the flow and takes no
11714
+ room, so nothing selects on it, and reflection exists so that a selector can
11715
+ reach a value. */
11688
11716
  noCopy?: (HelixObjectInspector["noCopy"]) | undefined;
11689
11717
  /** Whether to draw only the rows in view.
11690
11718
 
@@ -11727,12 +11755,26 @@ page's markup should not take the page down over a comma. */
11727
11755
  /** Whether to leave the copy button off.
11728
11756
 
11729
11757
  Negative for the reason Code Block's is: a boolean attribute defaulting to
11730
- true could never be turned off from markup. */
11758
+ true could never be turned off from markup.
11759
+
11760
+ **It does not reflect, where Code Block's does**, and the difference is what
11761
+ the two sheets need. Code Block reserves the button's width with
11762
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
11763
+ who set the property. This button is positioned out of the flow and takes no
11764
+ room, so nothing selects on it, and reflection exists so that a selector can
11765
+ reach a value. */
11731
11766
  "bool:no-copy"?: (HelixObjectInspector["noCopy"]) | undefined;
11732
11767
  /** Whether to leave the copy button off.
11733
11768
 
11734
11769
  Negative for the reason Code Block's is: a boolean attribute defaulting to
11735
- true could never be turned off from markup. */
11770
+ true could never be turned off from markup.
11771
+
11772
+ **It does not reflect, where Code Block's does**, and the difference is what
11773
+ the two sheets need. Code Block reserves the button's width with
11774
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
11775
+ who set the property. This button is positioned out of the flow and takes no
11776
+ room, so nothing selects on it, and reflection exists so that a selector can
11777
+ reach a value. */
11736
11778
  "prop:noCopy"?: (HelixObjectInspector["noCopy"]) | undefined;
11737
11779
  /** Whether to draw only the rows in view.
11738
11780
 
@@ -24510,6 +24552,7 @@ export type CustomElements = {
24510
24552
  * - `--data-table-padding-inline`: Space either side of a cell's content. (default: `undefined`)
24511
24553
  * - `--data-table-rule-color`: Color of the hairline between rows. A color and not a border: it lands in the color slot of a shorthand, so a whole border written into it produces invalid CSS and drops the rule. Drawn on the cells rather than the row, which is `display: contents` and measures `0px`. (default: `undefined`)
24512
24554
  * - `--data-table-text`: Type size, headings and cells alike. (default: `undefined`)
24555
+ * - `--data-table-cell-align`: The edge the column a cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the component onto each cell it draws, read by the sheet that paints one; `helix-table` publishes `--table-cell-align` for the same attribute on the cells a consumer wrote, under its own family's name. (default: `undefined`)
24513
24556
  * - `--data-table-template`: The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--data-table-columns` is the one to set. (default: `undefined`)
24514
24557
  *
24515
24558
  * ## CSS Parts
@@ -24531,7 +24574,7 @@ export type CustomElements = {
24531
24574
  * - `checkbox-mark`: The tick, or the dash while some rows are selected.
24532
24575
  * - `checkbox-mark-checked`: The mark while its box is checked, beside `checkbox-mark`.
24533
24576
  * - `checkbox-mark-indeterminate`: The dash while only some rows are selected, beside `checkbox-mark`.
24534
- * - `empty`: Shown when no rows match.
24577
+ * - `empty`: Shown when the result has nothing in it, whether it arrived empty or a filter emptied it. A result still on its way is `loading` instead, which wins over this.
24535
24578
  * - `footer`: The region below the grid.
24536
24579
  * - `head`: The row the column headings sit in. `display: contents`, so it takes no space.
24537
24580
  * - `loading`: Shown while the rows are still on their way.
@@ -25126,10 +25169,11 @@ export type CustomElements = {
25126
25169
  *
25127
25170
  * Component attributes and properties that can be applied to the element or by using JavaScript.
25128
25171
  *
25129
- * - `label`: What the value is, for the common case of plain text.
25172
+ * - `label`: What the value is called, for the common case of plain text.
25130
25173
  *
25131
25174
  * The fallback of the `label` slot, so slotted content replaces it rather than
25132
- * appearing beside it.
25175
+ * appearing beside it. The value itself is the default slot: it is the half
25176
+ * that varies and is often more than text.
25133
25177
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
25134
25178
  *
25135
25179
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -25259,7 +25303,7 @@ export type CustomElements = {
25259
25303
  *
25260
25304
  * CSS variables available for styling the component.
25261
25305
  *
25262
- * - `--description-list-gap`: Space between one pair and the next. (default: `undefined`)
25306
+ * - `--description-list-gap`: Space between one pair and the next. Its resting value is tighter with `direction="row"` than stacked, a row of pairs needing less air between them than a column of them does, and setting this takes both. (default: `undefined`)
25263
25307
  *
25264
25308
  * ## CSS Parts
25265
25309
  *
@@ -27231,6 +27275,9 @@ export type CustomElements = {
27231
27275
  * Absent falls back to the table's own caption, which is usually the right
27232
27276
  * words and is already written.
27233
27277
  * - `empty-text`/`emptyText`: Shown when the table has no readings in it.
27278
+ *
27279
+ * Never shown while the table cannot be read at all, which is a server render
27280
+ * and the hydrating one after it: see `sourceKnown`.
27234
27281
  * - `gap`: Space between cells, in CSS pixels, for the same reason `min-cell` is a
27235
27282
  * number.
27236
27283
  * - `min-cell`/`minCell`: The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
@@ -27347,7 +27394,6 @@ export type CustomElements = {
27347
27394
  *
27348
27395
  * Areas where markup can be added to the component.
27349
27396
  *
27350
- * - `(default)`: The `<table>` this draws, where it is not named by `for`.
27351
27397
  * - `end`: Below the strip, at the trailing edge.
27352
27398
  * - `start`: Below the strip, at the leading edge.
27353
27399
  * - `summary`: Below the strip, in the middle.
@@ -27399,7 +27445,7 @@ export type CustomElements = {
27399
27445
  * - `tooltip-right`: The bubble while it is right of the reading, beside `tooltip`.
27400
27446
  * - `tooltip-top`: The bubble while it is above the reading, beside `tooltip`.
27401
27447
  * - `tooltip-value`: A column's value inside the tooltip.
27402
- * - `empty`: Shown when the table has no readings in it.
27448
+ * - `empty`: Shown when the table has no readings in it, and not before the table can be read at all: on a server, and while hydrating what one sent, there is no document to resolve `for` in and nothing is known yet.
27403
27449
  * - `end`: The trailing slot's box.
27404
27450
  * - `start`: The leading slot's box.
27405
27451
  * - `summary`: The middle slot's box.
@@ -30444,6 +30490,13 @@ export type CustomElements = {
30444
30490
  *
30445
30491
  * Negative for the reason Code Block's is: a boolean attribute defaulting to
30446
30492
  * true could never be turned off from markup.
30493
+ *
30494
+ * **It does not reflect, where Code Block's does**, and the difference is what
30495
+ * the two sheets need. Code Block reserves the button's width with
30496
+ * `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
30497
+ * who set the property. This button is positioned out of the flow and takes no
30498
+ * room, so nothing selects on it, and reflection exists so that a selector can
30499
+ * reach a value.
30447
30500
  * - `windowed`: Whether to draw only the rows in view.
30448
30501
  *
30449
30502
  * For a value of thousands of entries. Reflected, because the box it scrolls
@@ -43427,6 +43480,7 @@ export type CustomElementsSolidJs = {
43427
43480
  * - `--data-table-padding-inline`: Space either side of a cell's content. (default: `undefined`)
43428
43481
  * - `--data-table-rule-color`: Color of the hairline between rows. A color and not a border: it lands in the color slot of a shorthand, so a whole border written into it produces invalid CSS and drops the rule. Drawn on the cells rather than the row, which is `display: contents` and measures `0px`. (default: `undefined`)
43429
43482
  * - `--data-table-text`: Type size, headings and cells alike. (default: `undefined`)
43483
+ * - `--data-table-cell-align`: The edge the column a cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the component onto each cell it draws, read by the sheet that paints one; `helix-table` publishes `--table-cell-align` for the same attribute on the cells a consumer wrote, under its own family's name. (default: `undefined`)
43430
43484
  * - `--data-table-template`: The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--data-table-columns` is the one to set. (default: `undefined`)
43431
43485
  *
43432
43486
  * ## CSS Parts
@@ -43448,7 +43502,7 @@ export type CustomElementsSolidJs = {
43448
43502
  * - `checkbox-mark`: The tick, or the dash while some rows are selected.
43449
43503
  * - `checkbox-mark-checked`: The mark while its box is checked, beside `checkbox-mark`.
43450
43504
  * - `checkbox-mark-indeterminate`: The dash while only some rows are selected, beside `checkbox-mark`.
43451
- * - `empty`: Shown when no rows match.
43505
+ * - `empty`: Shown when the result has nothing in it, whether it arrived empty or a filter emptied it. A result still on its way is `loading` instead, which wins over this.
43452
43506
  * - `footer`: The region below the grid.
43453
43507
  * - `head`: The row the column headings sit in. `display: contents`, so it takes no space.
43454
43508
  * - `loading`: Shown while the rows are still on their way.
@@ -44052,10 +44106,11 @@ export type CustomElementsSolidJs = {
44052
44106
  *
44053
44107
  * Component attributes and properties that can be applied to the element or by using JavaScript.
44054
44108
  *
44055
- * - `label`: What the value is, for the common case of plain text.
44109
+ * - `label`: What the value is called, for the common case of plain text.
44056
44110
  *
44057
44111
  * The fallback of the `label` slot, so slotted content replaces it rather than
44058
- * appearing beside it.
44112
+ * appearing beside it. The value itself is the default slot: it is the half
44113
+ * that varies and is often more than text.
44059
44114
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
44060
44115
  *
44061
44116
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -44186,7 +44241,7 @@ export type CustomElementsSolidJs = {
44186
44241
  *
44187
44242
  * CSS variables available for styling the component.
44188
44243
  *
44189
- * - `--description-list-gap`: Space between one pair and the next. (default: `undefined`)
44244
+ * - `--description-list-gap`: Space between one pair and the next. Its resting value is tighter with `direction="row"` than stacked, a row of pairs needing less air between them than a column of them does, and setting this takes both. (default: `undefined`)
44190
44245
  *
44191
44246
  * ## CSS Parts
44192
44247
  *
@@ -46209,6 +46264,9 @@ export type CustomElementsSolidJs = {
46209
46264
  * Absent falls back to the table's own caption, which is usually the right
46210
46265
  * words and is already written.
46211
46266
  * - `empty-text`/`emptyText`: Shown when the table has no readings in it.
46267
+ *
46268
+ * Never shown while the table cannot be read at all, which is a server render
46269
+ * and the hydrating one after it: see `sourceKnown`.
46212
46270
  * - `gap`: Space between cells, in CSS pixels, for the same reason `min-cell` is a
46213
46271
  * number.
46214
46272
  * - `min-cell`/`minCell`: The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
@@ -46325,7 +46383,6 @@ export type CustomElementsSolidJs = {
46325
46383
  *
46326
46384
  * Areas where markup can be added to the component.
46327
46385
  *
46328
- * - `(default)`: The `<table>` this draws, where it is not named by `for`.
46329
46386
  * - `end`: Below the strip, at the trailing edge.
46330
46387
  * - `start`: Below the strip, at the leading edge.
46331
46388
  * - `summary`: Below the strip, in the middle.
@@ -46377,7 +46434,7 @@ export type CustomElementsSolidJs = {
46377
46434
  * - `tooltip-right`: The bubble while it is right of the reading, beside `tooltip`.
46378
46435
  * - `tooltip-top`: The bubble while it is above the reading, beside `tooltip`.
46379
46436
  * - `tooltip-value`: A column's value inside the tooltip.
46380
- * - `empty`: Shown when the table has no readings in it.
46437
+ * - `empty`: Shown when the table has no readings in it, and not before the table can be read at all: on a server, and while hydrating what one sent, there is no document to resolve `for` in and nothing is known yet.
46381
46438
  * - `end`: The trailing slot's box.
46382
46439
  * - `start`: The leading slot's box.
46383
46440
  * - `summary`: The middle slot's box.
@@ -49487,6 +49544,13 @@ export type CustomElementsSolidJs = {
49487
49544
  *
49488
49545
  * Negative for the reason Code Block's is: a boolean attribute defaulting to
49489
49546
  * true could never be turned off from markup.
49547
+ *
49548
+ * **It does not reflect, where Code Block's does**, and the difference is what
49549
+ * the two sheets need. Code Block reserves the button's width with
49550
+ * `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
49551
+ * who set the property. This button is positioned out of the flow and takes no
49552
+ * room, so nothing selects on it, and reflection exists so that a selector can
49553
+ * reach a value.
49490
49554
  * - `windowed`: Whether to draw only the rows in view.
49491
49555
  *
49492
49556
  * For a value of thousands of entries. Reflected, because the box it scrolls
@@ -58217,6 +58281,8 @@ export type CustomCssProperties = {
58217
58281
  "--data-table-rule-color"?: (string) | undefined;
58218
58282
  /** Type size, headings and cells alike. */
58219
58283
  "--data-table-text"?: (string) | undefined;
58284
+ /** The edge the column a cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the component onto each cell it draws, read by the sheet that paints one; `helix-table` publishes `--table-cell-align` for the same attribute on the cells a consumer wrote, under its own family's name. */
58285
+ "--data-table-cell-align"?: (string) | undefined;
58220
58286
  /** The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--data-table-columns` is the one to set. */
58221
58287
  "--data-table-template"?: (string) | undefined;
58222
58288
  /** Fill behind the field. */
@@ -58241,7 +58307,7 @@ export type CustomCssProperties = {
58241
58307
  "--date-picker-track-size"?: (string) | undefined;
58242
58308
  /** How many month columns are drawn, capped at two. `--date-picker-columns` overrides it. */
58243
58309
  "--date-picker-column-count"?: (string) | undefined;
58244
- /** Space between one pair and the next. */
58310
+ /** Space between one pair and the next. Its resting value is tighter with `direction="row"` than stacked, a row of pairs needing less air between them than a column of them does, and setting this takes both. */
58245
58311
  "--description-list-gap"?: (string) | undefined;
58246
58312
  /** Color of the panel's edge. */
58247
58313
  "--dialog-border-color"?: (string) | undefined;
package/types/vue.d.ts CHANGED
@@ -3301,10 +3301,11 @@ export type HelixDatePickerVueEvents = {
3301
3301
  };
3302
3302
 
3303
3303
  export type HelixDescriptionListItemVueProps = {
3304
- /** What the value is, for the common case of plain text.
3304
+ /** What the value is called, for the common case of plain text.
3305
3305
 
3306
3306
  The fallback of the `label` slot, so slotted content replaces it rather than
3307
- appearing beside it. */
3307
+ appearing beside it. The value itself is the default slot: it is the half
3308
+ that varies and is often more than text. */
3308
3309
  label?: (HelixDescriptionListItem["label"]) | undefined;
3309
3310
  };
3310
3311
 
@@ -4254,9 +4255,15 @@ shadow root names a table in that root rather than in the document. A
4254
4255
  Absent falls back to the table's own caption, which is usually the right
4255
4256
  words and is already written. */
4256
4257
  label?: (HelixHeatmap["label"]) | undefined;
4257
- /** Shown when the table has no readings in it. */
4258
+ /** Shown when the table has no readings in it.
4259
+
4260
+ Never shown while the table cannot be read at all, which is a server render
4261
+ and the hydrating one after it: see `sourceKnown`. */
4258
4262
  "empty-text"?: (HelixHeatmap["emptyText"]) | undefined;
4259
- /** Shown when the table has no readings in it. */
4263
+ /** Shown when the table has no readings in it.
4264
+
4265
+ Never shown while the table cannot be read at all, which is a server render
4266
+ and the hydrating one after it: see `sourceKnown`. */
4260
4267
  emptyText?: (HelixHeatmap["emptyText"]) | undefined;
4261
4268
  /** Space between cells, in CSS pixels, for the same reason `min-cell` is a
4262
4269
  number. */
@@ -5999,12 +6006,26 @@ page's markup should not take the page down over a comma. */
5999
6006
  /** Whether to leave the copy button off.
6000
6007
 
6001
6008
  Negative for the reason Code Block's is: a boolean attribute defaulting to
6002
- true could never be turned off from markup. */
6009
+ true could never be turned off from markup.
6010
+
6011
+ **It does not reflect, where Code Block's does**, and the difference is what
6012
+ the two sheets need. Code Block reserves the button's width with
6013
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
6014
+ who set the property. This button is positioned out of the flow and takes no
6015
+ room, so nothing selects on it, and reflection exists so that a selector can
6016
+ reach a value. */
6003
6017
  "no-copy"?: (HelixObjectInspector["noCopy"]) | undefined;
6004
6018
  /** Whether to leave the copy button off.
6005
6019
 
6006
6020
  Negative for the reason Code Block's is: a boolean attribute defaulting to
6007
- true could never be turned off from markup. */
6021
+ true could never be turned off from markup.
6022
+
6023
+ **It does not reflect, where Code Block's does**, and the difference is what
6024
+ the two sheets need. Code Block reserves the button's width with
6025
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
6026
+ who set the property. This button is positioned out of the flow and takes no
6027
+ room, so nothing selects on it, and reflection exists so that a selector can
6028
+ reach a value. */
6008
6029
  noCopy?: (HelixObjectInspector["noCopy"]) | undefined;
6009
6030
  /** Whether to draw only the rows in view.
6010
6031
 
@@ -10474,6 +10495,8 @@ export type CustomCssProperties = {
10474
10495
  "--data-table-rule-color"?: (string) | undefined;
10475
10496
  /** Type size, headings and cells alike. */
10476
10497
  "--data-table-text"?: (string) | undefined;
10498
+ /** The edge the column a cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the component onto each cell it draws, read by the sheet that paints one; `helix-table` publishes `--table-cell-align` for the same attribute on the cells a consumer wrote, under its own family's name. */
10499
+ "--data-table-cell-align"?: (string) | undefined;
10477
10500
  /** The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--data-table-columns` is the one to set. */
10478
10501
  "--data-table-template"?: (string) | undefined;
10479
10502
  /** Fill behind the field. */
@@ -10498,7 +10521,7 @@ export type CustomCssProperties = {
10498
10521
  "--date-picker-track-size"?: (string) | undefined;
10499
10522
  /** How many month columns are drawn, capped at two. `--date-picker-columns` overrides it. */
10500
10523
  "--date-picker-column-count"?: (string) | undefined;
10501
- /** Space between one pair and the next. */
10524
+ /** Space between one pair and the next. Its resting value is tighter with `direction="row"` than stacked, a row of pairs needing less air between them than a column of them does, and setting this takes both. */
10502
10525
  "--description-list-gap"?: (string) | undefined;
10503
10526
  /** Color of the panel's edge. */
10504
10527
  "--dialog-border-color"?: (string) | undefined;