@fusion.dev/helix-headless 0.54.0 → 0.55.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/types/jsx.d.ts CHANGED
@@ -1017,19 +1017,12 @@ is showing a count must not lose the count for being handed one. */
1017
1017
  };
1018
1018
 
1019
1019
  export type HelixHeadlessBarChartProps = {
1020
- /** Whether the categories run down the side rather than along the bottom.
1021
-
1022
- Absent is columns. `horizontal` is the one to reach for when the category
1023
- names are words rather than dates: a row of long names either overlaps or
1024
- turns on its side, and neither is as readable as putting them down the left
1025
- where they read normally. */
1026
- direction?: (HelixHeadlessBarChart["direction"]) | undefined;
1027
1020
  /** Which rules are drawn across the plot, if any.
1028
1021
 
1029
1022
  Absent draws none. `value` rules the axis the columns are *measured* on,
1030
1023
  `category` rules the axis they are *arranged* on with one through each
1031
1024
  group, and `both` draws both. Which of those is horizontal turns with
1032
- `direction`, because a rule belongs to an axis and not to a screen edge.
1025
+ `orientation`, because a rule belongs to an axis and not to a screen edge.
1033
1026
 
1034
1027
  **A bare `gridlines` means `value`**, and so does anything unrecognized: an
1035
1028
  unrecognized value that draws nothing is indistinguishable from the
@@ -1065,6 +1058,16 @@ A line among columns measures from zero, because the columns do and they
1065
1058
  share the axis. So does a line on the second scale, which is that scale's
1066
1059
  own rule rather than this one's. */
1067
1060
  lines?: (HelixHeadlessBarChart["lines"]) | undefined;
1061
+ /** Whether the categories run down the side rather than along the bottom.
1062
+
1063
+ Absent is columns. `horizontal` is the one to reach for when the category
1064
+ names are words rather than dates: a row of long names either overlaps or
1065
+ turns on its side, and neither is as readable as putting them down the left
1066
+ where they read normally.
1067
+
1068
+ `orientation` and not `orientation`, which `Trend` uses in the same group for
1069
+ which way a number moved. */
1070
+ orientation?: (HelixHeadlessBarChart["orientation"]) | undefined;
1068
1071
  /** Which series are measured against a scale of their own, by name.
1069
1072
 
1070
1073
  Separated and matched the way `lines` is, against the column headings the
@@ -1115,19 +1118,12 @@ words and is already written. */
1115
1118
  };
1116
1119
 
1117
1120
  export type HelixHeadlessBarChartSolidJsProps = {
1118
- /** Whether the categories run down the side rather than along the bottom.
1119
-
1120
- Absent is columns. `horizontal` is the one to reach for when the category
1121
- names are words rather than dates: a row of long names either overlaps or
1122
- turns on its side, and neither is as readable as putting them down the left
1123
- where they read normally. */
1124
- "prop:direction"?: (HelixHeadlessBarChart["direction"]) | undefined;
1125
1121
  /** Which rules are drawn across the plot, if any.
1126
1122
 
1127
1123
  Absent draws none. `value` rules the axis the columns are *measured* on,
1128
1124
  `category` rules the axis they are *arranged* on with one through each
1129
1125
  group, and `both` draws both. Which of those is horizontal turns with
1130
- `direction`, because a rule belongs to an axis and not to a screen edge.
1126
+ `orientation`, because a rule belongs to an axis and not to a screen edge.
1131
1127
 
1132
1128
  **A bare `gridlines` means `value`**, and so does anything unrecognized: an
1133
1129
  unrecognized value that draws nothing is indistinguishable from the
@@ -1163,6 +1159,16 @@ A line among columns measures from zero, because the columns do and they
1163
1159
  share the axis. So does a line on the second scale, which is that scale's
1164
1160
  own rule rather than this one's. */
1165
1161
  "prop:lines"?: (HelixHeadlessBarChart["lines"]) | undefined;
1162
+ /** Whether the categories run down the side rather than along the bottom.
1163
+
1164
+ Absent is columns. `horizontal` is the one to reach for when the category
1165
+ names are words rather than dates: a row of long names either overlaps or
1166
+ turns on its side, and neither is as readable as putting them down the left
1167
+ where they read normally.
1168
+
1169
+ `orientation` and not `orientation`, which `Trend` uses in the same group for
1170
+ which way a number moved. */
1171
+ "prop:orientation"?: (HelixHeadlessBarChart["orientation"]) | undefined;
1166
1172
  /** Which series are measured against a scale of their own, by name.
1167
1173
 
1168
1174
  Separated and matched the way `lines` is, against the column headings the
@@ -9147,7 +9153,7 @@ which React reports as a mismatch and answers by rebuilding the subtree. The
9147
9153
  narrow exception the server specs describe covers a mirror that can only
9148
9154
  become true long after hydration, and a viewport measured before the first
9149
9155
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
9150
- "full-below"?: (HelixHeadlessMegamenu["fullBelow"] | `${number}`) | undefined;
9156
+ "band-below"?: (HelixHeadlessMegamenu["bandBelow"] | `${number}`) | undefined;
9151
9157
  /** The width, in pixels, under which a card becomes a band. Zero never does.
9152
9158
 
9153
9159
  A card is a panel hung off one word, and there is no room to hang anything
@@ -9171,7 +9177,7 @@ which React reports as a mismatch and answers by rebuilding the subtree. The
9171
9177
  narrow exception the server specs describe covers a mirror that can only
9172
9178
  become true long after hydration, and a viewport measured before the first
9173
9179
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
9174
- fullBelow?: (HelixHeadlessMegamenu["fullBelow"]) | undefined;
9180
+ bandBelow?: (HelixHeadlessMegamenu["bandBelow"]) | undefined;
9175
9181
  /** The section's name, which names the default trigger and the panel. */
9176
9182
  label?: (HelixHeadlessMegamenu["label"]) | undefined;
9177
9183
  /** Whether hovering the trigger opens the panel, or only a press does.
@@ -9191,16 +9197,23 @@ heavy enough that opening it on the way past is rude. */
9191
9197
  /** Whether the panel is a card under the trigger or a band across the page.
9192
9198
 
9193
9199
  The resting one is the card, hanging off the trigger and as wide as it
9194
- needs to be. `full` is the other shape navigations use: a band from edge to
9200
+ needs to be. `band` is the other shape navigations use: a run from edge to
9195
9201
  edge under the header, with its contents held to the page's own measure, so
9196
9202
  a set of destinations too wide to sit under one word gets the whole width
9197
9203
  to lay out in.
9198
9204
 
9199
- It changes where the panel goes as well as how it looks, which is why this
9200
- tier knows about it at all: a band spans the viewport, so there is nothing
9201
- to measure it against and nothing to flip or shift to, and the placing pass
9202
- is told not to run. Everything else the popover gives, the top layer and
9203
- the dismissal, is exactly what such a band needs. */
9205
+ **A band and not a width, which is why the word is not `full`.** It changes
9206
+ where the panel goes as well as how wide it is, which is why this tier
9207
+ knows about it at all: a band spans the viewport, so there is nothing to
9208
+ measure it against and nothing to flip or shift to, and the placing pass is
9209
+ told not to run. Everything else the popover gives, the top layer and the
9210
+ dismissal, is exactly what such a band needs. `full` is the registry's word
9211
+ for a width, and `Button` and `Dialog` are the two families answering that
9212
+ question; borrowing it here would put a third meaning on it.
9213
+
9214
+ `variant` and not an axis, for the reason the registry gives: a card under
9215
+ a word and a band under a header are two arrangements this family has, and
9216
+ no other family is being asked the same question. */
9204
9217
  variant?: (HelixHeadlessMegamenu["variant"]) | undefined;
9205
9218
  /** Whether the element is open.
9206
9219
 
@@ -9256,7 +9269,7 @@ which React reports as a mismatch and answers by rebuilding the subtree. The
9256
9269
  narrow exception the server specs describe covers a mirror that can only
9257
9270
  become true long after hydration, and a viewport measured before the first
9258
9271
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
9259
- "attr:full-below"?: (HelixHeadlessMegamenu["fullBelow"] | `${number}`) | undefined;
9272
+ "attr:band-below"?: (HelixHeadlessMegamenu["bandBelow"] | `${number}`) | undefined;
9260
9273
  /** The width, in pixels, under which a card becomes a band. Zero never does.
9261
9274
 
9262
9275
  A card is a panel hung off one word, and there is no room to hang anything
@@ -9280,7 +9293,7 @@ which React reports as a mismatch and answers by rebuilding the subtree. The
9280
9293
  narrow exception the server specs describe covers a mirror that can only
9281
9294
  become true long after hydration, and a viewport measured before the first
9282
9295
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
9283
- "prop:fullBelow"?: (HelixHeadlessMegamenu["fullBelow"]) | undefined;
9296
+ "prop:bandBelow"?: (HelixHeadlessMegamenu["bandBelow"]) | undefined;
9284
9297
  /** The section's name, which names the default trigger and the panel. */
9285
9298
  "prop:label"?: (HelixHeadlessMegamenu["label"]) | undefined;
9286
9299
  /** Whether hovering the trigger opens the panel, or only a press does.
@@ -9300,16 +9313,23 @@ heavy enough that opening it on the way past is rude. */
9300
9313
  /** Whether the panel is a card under the trigger or a band across the page.
9301
9314
 
9302
9315
  The resting one is the card, hanging off the trigger and as wide as it
9303
- needs to be. `full` is the other shape navigations use: a band from edge to
9316
+ needs to be. `band` is the other shape navigations use: a run from edge to
9304
9317
  edge under the header, with its contents held to the page's own measure, so
9305
9318
  a set of destinations too wide to sit under one word gets the whole width
9306
9319
  to lay out in.
9307
9320
 
9308
- It changes where the panel goes as well as how it looks, which is why this
9309
- tier knows about it at all: a band spans the viewport, so there is nothing
9310
- to measure it against and nothing to flip or shift to, and the placing pass
9311
- is told not to run. Everything else the popover gives, the top layer and
9312
- the dismissal, is exactly what such a band needs. */
9321
+ **A band and not a width, which is why the word is not `full`.** It changes
9322
+ where the panel goes as well as how wide it is, which is why this tier
9323
+ knows about it at all: a band spans the viewport, so there is nothing to
9324
+ measure it against and nothing to flip or shift to, and the placing pass is
9325
+ told not to run. Everything else the popover gives, the top layer and the
9326
+ dismissal, is exactly what such a band needs. `full` is the registry's word
9327
+ for a width, and `Button` and `Dialog` are the two families answering that
9328
+ question; borrowing it here would put a third meaning on it.
9329
+
9330
+ `variant` and not an axis, for the reason the registry gives: a card under
9331
+ a word and a band under a header are two arrangements this family has, and
9332
+ no other family is being asked the same question. */
9313
9333
  "prop:variant"?: (HelixHeadlessMegamenu["variant"]) | undefined;
9314
9334
  /** Whether the element is open.
9315
9335
 
@@ -14037,26 +14057,6 @@ export type HelixHeadlessTableColumnHelixBeforeResizeElementEvent =
14037
14057
  HelixHeadlessTableColumnElementEvent<HelixBeforeResizeEvent>;
14038
14058
 
14039
14059
  export type HelixHeadlessTableColumnProps = {
14040
- /** Which edge the values line up against.
14041
-
14042
- `end` is what a column of numbers wants, so digits of the same magnitude
14043
- sit above each other. Left unset the cell inherits the table's own
14044
- alignment, which is `start` for text in either writing direction.
14045
- `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
14046
- consumer wrote, so the table writes nothing onto them: it publishes the
14047
- edge to each cell under this column as `--table-cell-align`, which
14048
- `@fusion.dev/helix` reads. The heading is this element's own, and
14049
- `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
14050
- inline end, so in a right-to-left table it is the left.
14051
-
14052
- **Reflected, because the heading is drawn by a stylesheet and has no other
14053
- way to learn it.** Set as a property, which is how React sets it, an
14054
- unreflected `align` left no attribute to select on, so the heading stayed at
14055
- the start over a column of digits set to the end. It is the author's
14056
- declaration and nothing moves it afterwards, so an attribute cannot come to
14057
- disagree with the element, which is the reason `open` records a custom
14058
- state instead. No default, so an unset column writes nothing onto its host. */
14059
- align?: (HelixHeadlessTableColumn["align"]) | undefined;
14060
14060
  /** The key this column reads out of a row.
14061
14061
 
14062
14062
  Dot paths resolve, so `field="owner.name"` reads a nested value: a result
@@ -14091,6 +14091,62 @@ how React sets it, an unreflected `sortable` left no attribute to match.
14091
14091
  `false` reflects as no attribute at all, so an unset column writes nothing
14092
14092
  onto its host. */
14093
14093
  sortable?: (HelixHeadlessTableColumn["sortable"]) | undefined;
14094
+ /** Which edge the values line up against.
14095
+
14096
+ **Text alignment, and the name says so.** `Flex` and `Grid` ask the CSS
14097
+ box-alignment question, where a thing sits in a container, and they are
14098
+ named for the properties they mirror; this is `text-align` down a column of
14099
+ values, and `Dialog` answers the same question under the same name. One
14100
+ word for both questions is how a consumer who learned it on a layout writes
14101
+ it here and gets no error, a value a component does not have leaving the
14102
+ default in place and looking deliberate.
14103
+
14104
+ `end` is what a column of numbers wants, so digits of the same magnitude
14105
+ sit above each other. Left unset the cell inherits the table's own
14106
+ alignment, which is `start` for text in either writing direction.
14107
+ `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
14108
+ consumer wrote, so the table writes nothing onto them: it publishes the
14109
+ edge to each cell under this column as `--table-cell-align`, which
14110
+ `@fusion.dev/helix` reads. The heading is this element's own, and
14111
+ `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
14112
+ inline end, so in a right-to-left table it is the left.
14113
+
14114
+ **Reflected, because the heading is drawn by a stylesheet and has no other
14115
+ way to learn it.** Set as a property, which is how React sets it, an
14116
+ unreflected edge left no attribute to select on, so the heading stayed at
14117
+ the start over a column of digits set to the end. It is the author's
14118
+ declaration and nothing moves it afterwards, so an attribute cannot come to
14119
+ disagree with the element, which is the reason `open` records a custom
14120
+ state instead. No default, so an unset column writes nothing onto its host. */
14121
+ "text-align"?: (HelixHeadlessTableColumn["textAlign"]) | undefined;
14122
+ /** Which edge the values line up against.
14123
+
14124
+ **Text alignment, and the name says so.** `Flex` and `Grid` ask the CSS
14125
+ box-alignment question, where a thing sits in a container, and they are
14126
+ named for the properties they mirror; this is `text-align` down a column of
14127
+ values, and `Dialog` answers the same question under the same name. One
14128
+ word for both questions is how a consumer who learned it on a layout writes
14129
+ it here and gets no error, a value a component does not have leaving the
14130
+ default in place and looking deliberate.
14131
+
14132
+ `end` is what a column of numbers wants, so digits of the same magnitude
14133
+ sit above each other. Left unset the cell inherits the table's own
14134
+ alignment, which is `start` for text in either writing direction.
14135
+ `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
14136
+ consumer wrote, so the table writes nothing onto them: it publishes the
14137
+ edge to each cell under this column as `--table-cell-align`, which
14138
+ `@fusion.dev/helix` reads. The heading is this element's own, and
14139
+ `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
14140
+ inline end, so in a right-to-left table it is the left.
14141
+
14142
+ **Reflected, because the heading is drawn by a stylesheet and has no other
14143
+ way to learn it.** Set as a property, which is how React sets it, an
14144
+ unreflected edge left no attribute to select on, so the heading stayed at
14145
+ the start over a column of digits set to the end. It is the author's
14146
+ declaration and nothing moves it afterwards, so an attribute cannot come to
14147
+ disagree with the element, which is the reason `open` records a custom
14148
+ state instead. No default, so an unset column writes nothing onto its host. */
14149
+ textAlign?: (HelixHeadlessTableColumn["textAlign"]) | undefined;
14094
14150
  /** The track this column takes, as CSS.
14095
14151
 
14096
14152
  A single track value, so anything valid in `grid-template-columns` works:
@@ -14139,26 +14195,6 @@ correct default: the raw value is what an API sorted by. */
14139
14195
  };
14140
14196
 
14141
14197
  export type HelixHeadlessTableColumnSolidJsProps = {
14142
- /** Which edge the values line up against.
14143
-
14144
- `end` is what a column of numbers wants, so digits of the same magnitude
14145
- sit above each other. Left unset the cell inherits the table's own
14146
- alignment, which is `start` for text in either writing direction.
14147
- `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
14148
- consumer wrote, so the table writes nothing onto them: it publishes the
14149
- edge to each cell under this column as `--table-cell-align`, which
14150
- `@fusion.dev/helix` reads. The heading is this element's own, and
14151
- `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
14152
- inline end, so in a right-to-left table it is the left.
14153
-
14154
- **Reflected, because the heading is drawn by a stylesheet and has no other
14155
- way to learn it.** Set as a property, which is how React sets it, an
14156
- unreflected `align` left no attribute to select on, so the heading stayed at
14157
- the start over a column of digits set to the end. It is the author's
14158
- declaration and nothing moves it afterwards, so an attribute cannot come to
14159
- disagree with the element, which is the reason `open` records a custom
14160
- state instead. No default, so an unset column writes nothing onto its host. */
14161
- "prop:align"?: (HelixHeadlessTableColumn["align"]) | undefined;
14162
14198
  /** The key this column reads out of a row.
14163
14199
 
14164
14200
  Dot paths resolve, so `field="owner.name"` reads a nested value: a result
@@ -14193,6 +14229,62 @@ how React sets it, an unreflected `sortable` left no attribute to match.
14193
14229
  `false` reflects as no attribute at all, so an unset column writes nothing
14194
14230
  onto its host. */
14195
14231
  "prop:sortable"?: (HelixHeadlessTableColumn["sortable"]) | undefined;
14232
+ /** Which edge the values line up against.
14233
+
14234
+ **Text alignment, and the name says so.** `Flex` and `Grid` ask the CSS
14235
+ box-alignment question, where a thing sits in a container, and they are
14236
+ named for the properties they mirror; this is `text-align` down a column of
14237
+ values, and `Dialog` answers the same question under the same name. One
14238
+ word for both questions is how a consumer who learned it on a layout writes
14239
+ it here and gets no error, a value a component does not have leaving the
14240
+ default in place and looking deliberate.
14241
+
14242
+ `end` is what a column of numbers wants, so digits of the same magnitude
14243
+ sit above each other. Left unset the cell inherits the table's own
14244
+ alignment, which is `start` for text in either writing direction.
14245
+ `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
14246
+ consumer wrote, so the table writes nothing onto them: it publishes the
14247
+ edge to each cell under this column as `--table-cell-align`, which
14248
+ `@fusion.dev/helix` reads. The heading is this element's own, and
14249
+ `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
14250
+ inline end, so in a right-to-left table it is the left.
14251
+
14252
+ **Reflected, because the heading is drawn by a stylesheet and has no other
14253
+ way to learn it.** Set as a property, which is how React sets it, an
14254
+ unreflected edge left no attribute to select on, so the heading stayed at
14255
+ the start over a column of digits set to the end. It is the author's
14256
+ declaration and nothing moves it afterwards, so an attribute cannot come to
14257
+ disagree with the element, which is the reason `open` records a custom
14258
+ state instead. No default, so an unset column writes nothing onto its host. */
14259
+ "attr:text-align"?: (HelixHeadlessTableColumn["textAlign"]) | undefined;
14260
+ /** Which edge the values line up against.
14261
+
14262
+ **Text alignment, and the name says so.** `Flex` and `Grid` ask the CSS
14263
+ box-alignment question, where a thing sits in a container, and they are
14264
+ named for the properties they mirror; this is `text-align` down a column of
14265
+ values, and `Dialog` answers the same question under the same name. One
14266
+ word for both questions is how a consumer who learned it on a layout writes
14267
+ it here and gets no error, a value a component does not have leaving the
14268
+ default in place and looking deliberate.
14269
+
14270
+ `end` is what a column of numbers wants, so digits of the same magnitude
14271
+ sit above each other. Left unset the cell inherits the table's own
14272
+ alignment, which is `start` for text in either writing direction.
14273
+ `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
14274
+ consumer wrote, so the table writes nothing onto them: it publishes the
14275
+ edge to each cell under this column as `--table-cell-align`, which
14276
+ `@fusion.dev/helix` reads. The heading is this element's own, and
14277
+ `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
14278
+ inline end, so in a right-to-left table it is the left.
14279
+
14280
+ **Reflected, because the heading is drawn by a stylesheet and has no other
14281
+ way to learn it.** Set as a property, which is how React sets it, an
14282
+ unreflected edge left no attribute to select on, so the heading stayed at
14283
+ the start over a column of digits set to the end. It is the author's
14284
+ declaration and nothing moves it afterwards, so an attribute cannot come to
14285
+ disagree with the element, which is the reason `open` records a custom
14286
+ state instead. No default, so an unset column writes nothing onto its host. */
14287
+ "prop:textAlign"?: (HelixHeadlessTableColumn["textAlign"]) | undefined;
14196
14288
  /** The track this column takes, as CSS.
14197
14289
 
14198
14290
  A single track value, so anything valid in `grid-template-columns` works:
@@ -18692,18 +18784,12 @@ export type CustomElements = {
18692
18784
  *
18693
18785
  * Component attributes and properties that can be applied to the element or by using JavaScript.
18694
18786
  *
18695
- * - `direction`: Whether the categories run down the side rather than along the bottom.
18696
- *
18697
- * Absent is columns. `horizontal` is the one to reach for when the category
18698
- * names are words rather than dates: a row of long names either overlaps or
18699
- * turns on its side, and neither is as readable as putting them down the left
18700
- * where they read normally.
18701
18787
  * - `gridlines`: Which rules are drawn across the plot, if any.
18702
18788
  *
18703
18789
  * Absent draws none. `value` rules the axis the columns are *measured* on,
18704
18790
  * `category` rules the axis they are *arranged* on with one through each
18705
18791
  * group, and `both` draws both. Which of those is horizontal turns with
18706
- * `direction`, because a rule belongs to an axis and not to a screen edge.
18792
+ * `orientation`, because a rule belongs to an axis and not to a screen edge.
18707
18793
  *
18708
18794
  * **A bare `gridlines` means `value`**, and so does anything unrecognized: an
18709
18795
  * unrecognized value that draws nothing is indistinguishable from the
@@ -18737,6 +18823,15 @@ export type CustomElements = {
18737
18823
  * A line among columns measures from zero, because the columns do and they
18738
18824
  * share the axis. So does a line on the second scale, which is that scale's
18739
18825
  * own rule rather than this one's.
18826
+ * - `orientation`: Whether the categories run down the side rather than along the bottom.
18827
+ *
18828
+ * Absent is columns. `horizontal` is the one to reach for when the category
18829
+ * names are words rather than dates: a row of long names either overlaps or
18830
+ * turns on its side, and neither is as readable as putting them down the left
18831
+ * where they read normally.
18832
+ *
18833
+ * `orientation` and not `orientation`, which `Trend` uses in the same group for
18834
+ * which way a number moved.
18740
18835
  * - `secondary`: Which series are measured against a scale of their own, by name.
18741
18836
  *
18742
18837
  * Separated and matched the way `lines` is, against the column headings the
@@ -21963,7 +22058,7 @@ export type CustomElements = {
21963
22058
  * ```html
21964
22059
  * <helix-headless-data-table .rows=${rows} sort="name:asc" page-size="20">
21965
22060
  * <helix-headless-table-column field="name" sortable>Name</helix-headless-table-column>
21966
- * <helix-headless-table-column field="size" align="end" sortable .cell=${bytes}>Size</helix-headless-table-column>
22061
+ * <helix-headless-table-column field="size" text-align="end" sortable .cell=${bytes}>Size</helix-headless-table-column>
21967
22062
  * </helix-headless-data-table>
21968
22063
  * ```
21969
22064
  *
@@ -26736,7 +26831,7 @@ export type CustomElements = {
26736
26831
  *
26737
26832
  * Component attributes and properties that can be applied to the element or by using JavaScript.
26738
26833
  *
26739
- * - `full-below`/`fullBelow`: The width, in pixels, under which a card becomes a band. Zero never does.
26834
+ * - `band-below`/`bandBelow`: The width, in pixels, under which a card becomes a band. Zero never does.
26740
26835
  *
26741
26836
  * A card is a panel hung off one word, and there is no room to hang anything
26742
26837
  * off a word on a phone: the columns do not shrink past
@@ -26769,16 +26864,23 @@ export type CustomElements = {
26769
26864
  * - `variant`: Whether the panel is a card under the trigger or a band across the page.
26770
26865
  *
26771
26866
  * The resting one is the card, hanging off the trigger and as wide as it
26772
- * needs to be. `full` is the other shape navigations use: a band from edge to
26867
+ * needs to be. `band` is the other shape navigations use: a run from edge to
26773
26868
  * edge under the header, with its contents held to the page's own measure, so
26774
26869
  * a set of destinations too wide to sit under one word gets the whole width
26775
26870
  * to lay out in.
26776
26871
  *
26777
- * It changes where the panel goes as well as how it looks, which is why this
26778
- * tier knows about it at all: a band spans the viewport, so there is nothing
26779
- * to measure it against and nothing to flip or shift to, and the placing pass
26780
- * is told not to run. Everything else the popover gives, the top layer and
26781
- * the dismissal, is exactly what such a band needs.
26872
+ * **A band and not a width, which is why the word is not `full`.** It changes
26873
+ * where the panel goes as well as how wide it is, which is why this tier
26874
+ * knows about it at all: a band spans the viewport, so there is nothing to
26875
+ * measure it against and nothing to flip or shift to, and the placing pass is
26876
+ * told not to run. Everything else the popover gives, the top layer and the
26877
+ * dismissal, is exactly what such a band needs. `full` is the registry's word
26878
+ * for a width, and `Button` and `Dialog` are the two families answering that
26879
+ * question; borrowing it here would put a third meaning on it.
26880
+ *
26881
+ * `variant` and not an axis, for the reason the registry gives: a card under
26882
+ * a word and a band under a header are two arrangements this family has, and
26883
+ * no other family is being asked the same question.
26782
26884
  * - `open`: Whether the element is open.
26783
26885
  *
26784
26886
  * One property, not two, so `dialog.open` answers the question anyone
@@ -26858,7 +26960,7 @@ export type CustomElements = {
26858
26960
  *
26859
26961
  * These can be used to apply styling when a component is in a given state.
26860
26962
  *
26861
- * - `narrow`: While the page is under `full-below`, so the panel is a band whether or not one was asked for.
26963
+ * - `narrow`: While the page is under `band-below`, so the panel is a band whether or not one was asked for.
26862
26964
  * - `open`: While the panel is open, which is when the trigger reads as current.
26863
26965
  * - `settled`: Set a frame after the first render. Transitions are held off until it is, so an element never animates its own arrival.
26864
26966
  */
@@ -32043,7 +32145,7 @@ export type CustomElements = {
32043
32145
  *
32044
32146
  * **It is also where every per-column fact goes**, which is the reason
32045
32147
  * `DataTable` needs no column config object. `field` names the key the cell
32046
- * reads, `sortable` says a reader may reorder by it, `align` says which edge
32148
+ * reads, `sortable` says a reader may reorder by it, `text-align` says which edge
32047
32149
  * the values line up against, and `cell` takes a function for anything the
32048
32150
  * field alone cannot express. The schema is markup and the data is a property:
32049
32151
  * a schema is small, declarative, and something a reader should be able to see
@@ -32078,25 +32180,6 @@ export type CustomElements = {
32078
32180
  *
32079
32181
  * Component attributes and properties that can be applied to the element or by using JavaScript.
32080
32182
  *
32081
- * - `align`: Which edge the values line up against.
32082
- *
32083
- * `end` is what a column of numbers wants, so digits of the same magnitude
32084
- * sit above each other. Left unset the cell inherits the table's own
32085
- * alignment, which is `start` for text in either writing direction.
32086
- * `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
32087
- * consumer wrote, so the table writes nothing onto them: it publishes the
32088
- * edge to each cell under this column as `--table-cell-align`, which
32089
- * `@fusion.dev/helix` reads. The heading is this element's own, and
32090
- * `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
32091
- * inline end, so in a right-to-left table it is the left.
32092
- *
32093
- * **Reflected, because the heading is drawn by a stylesheet and has no other
32094
- * way to learn it.** Set as a property, which is how React sets it, an
32095
- * unreflected `align` left no attribute to select on, so the heading stayed at
32096
- * the start over a column of digits set to the end. It is the author's
32097
- * declaration and nothing moves it afterwards, so an attribute cannot come to
32098
- * disagree with the element, which is the reason `open` records a custom
32099
- * state instead. No default, so an unset column writes nothing onto its host.
32100
32183
  * - `field`: The key this column reads out of a row.
32101
32184
  *
32102
32185
  * Dot paths resolve, so `field="owner.name"` reads a nested value: a result
@@ -32128,6 +32211,33 @@ export type CustomElements = {
32128
32211
  * how React sets it, an unreflected `sortable` left no attribute to match.
32129
32212
  * `false` reflects as no attribute at all, so an unset column writes nothing
32130
32213
  * onto its host.
32214
+ * - `text-align`/`textAlign`: Which edge the values line up against.
32215
+ *
32216
+ * **Text alignment, and the name says so.** `Flex` and `Grid` ask the CSS
32217
+ * box-alignment question, where a thing sits in a container, and they are
32218
+ * named for the properties they mirror; this is `text-align` down a column of
32219
+ * values, and `Dialog` answers the same question under the same name. One
32220
+ * word for both questions is how a consumer who learned it on a layout writes
32221
+ * it here and gets no error, a value a component does not have leaving the
32222
+ * default in place and looking deliberate.
32223
+ *
32224
+ * `end` is what a column of numbers wants, so digits of the same magnitude
32225
+ * sit above each other. Left unset the cell inherits the table's own
32226
+ * alignment, which is `start` for text in either writing direction.
32227
+ * `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
32228
+ * consumer wrote, so the table writes nothing onto them: it publishes the
32229
+ * edge to each cell under this column as `--table-cell-align`, which
32230
+ * `@fusion.dev/helix` reads. The heading is this element's own, and
32231
+ * `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
32232
+ * inline end, so in a right-to-left table it is the left.
32233
+ *
32234
+ * **Reflected, because the heading is drawn by a stylesheet and has no other
32235
+ * way to learn it.** Set as a property, which is how React sets it, an
32236
+ * unreflected edge left no attribute to select on, so the heading stayed at
32237
+ * the start over a column of digits set to the end. It is the author's
32238
+ * declaration and nothing moves it afterwards, so an attribute cannot come to
32239
+ * disagree with the element, which is the reason `open` records a custom
32240
+ * state instead. No default, so an unset column writes nothing onto its host.
32131
32241
  * - `width`: The track this column takes, as CSS.
32132
32242
  *
32133
32243
  * A single track value, so anything valid in `grid-template-columns` works:
@@ -36645,18 +36755,12 @@ export type CustomElementsSolidJs = {
36645
36755
  *
36646
36756
  * Component attributes and properties that can be applied to the element or by using JavaScript.
36647
36757
  *
36648
- * - `direction`: Whether the categories run down the side rather than along the bottom.
36649
- *
36650
- * Absent is columns. `horizontal` is the one to reach for when the category
36651
- * names are words rather than dates: a row of long names either overlaps or
36652
- * turns on its side, and neither is as readable as putting them down the left
36653
- * where they read normally.
36654
36758
  * - `gridlines`: Which rules are drawn across the plot, if any.
36655
36759
  *
36656
36760
  * Absent draws none. `value` rules the axis the columns are *measured* on,
36657
36761
  * `category` rules the axis they are *arranged* on with one through each
36658
36762
  * group, and `both` draws both. Which of those is horizontal turns with
36659
- * `direction`, because a rule belongs to an axis and not to a screen edge.
36763
+ * `orientation`, because a rule belongs to an axis and not to a screen edge.
36660
36764
  *
36661
36765
  * **A bare `gridlines` means `value`**, and so does anything unrecognized: an
36662
36766
  * unrecognized value that draws nothing is indistinguishable from the
@@ -36690,6 +36794,15 @@ export type CustomElementsSolidJs = {
36690
36794
  * A line among columns measures from zero, because the columns do and they
36691
36795
  * share the axis. So does a line on the second scale, which is that scale's
36692
36796
  * own rule rather than this one's.
36797
+ * - `orientation`: Whether the categories run down the side rather than along the bottom.
36798
+ *
36799
+ * Absent is columns. `horizontal` is the one to reach for when the category
36800
+ * names are words rather than dates: a row of long names either overlaps or
36801
+ * turns on its side, and neither is as readable as putting them down the left
36802
+ * where they read normally.
36803
+ *
36804
+ * `orientation` and not `orientation`, which `Trend` uses in the same group for
36805
+ * which way a number moved.
36693
36806
  * - `secondary`: Which series are measured against a scale of their own, by name.
36694
36807
  *
36695
36808
  * Separated and matched the way `lines` is, against the column headings the
@@ -39959,7 +40072,7 @@ export type CustomElementsSolidJs = {
39959
40072
  * ```html
39960
40073
  * <helix-headless-data-table .rows=${rows} sort="name:asc" page-size="20">
39961
40074
  * <helix-headless-table-column field="name" sortable>Name</helix-headless-table-column>
39962
- * <helix-headless-table-column field="size" align="end" sortable .cell=${bytes}>Size</helix-headless-table-column>
40075
+ * <helix-headless-table-column field="size" text-align="end" sortable .cell=${bytes}>Size</helix-headless-table-column>
39963
40076
  * </helix-headless-data-table>
39964
40077
  * ```
39965
40078
  *
@@ -44801,7 +44914,7 @@ export type CustomElementsSolidJs = {
44801
44914
  *
44802
44915
  * Component attributes and properties that can be applied to the element or by using JavaScript.
44803
44916
  *
44804
- * - `full-below`/`fullBelow`: The width, in pixels, under which a card becomes a band. Zero never does.
44917
+ * - `band-below`/`bandBelow`: The width, in pixels, under which a card becomes a band. Zero never does.
44805
44918
  *
44806
44919
  * A card is a panel hung off one word, and there is no room to hang anything
44807
44920
  * off a word on a phone: the columns do not shrink past
@@ -44834,16 +44947,23 @@ export type CustomElementsSolidJs = {
44834
44947
  * - `variant`: Whether the panel is a card under the trigger or a band across the page.
44835
44948
  *
44836
44949
  * The resting one is the card, hanging off the trigger and as wide as it
44837
- * needs to be. `full` is the other shape navigations use: a band from edge to
44950
+ * needs to be. `band` is the other shape navigations use: a run from edge to
44838
44951
  * edge under the header, with its contents held to the page's own measure, so
44839
44952
  * a set of destinations too wide to sit under one word gets the whole width
44840
44953
  * to lay out in.
44841
44954
  *
44842
- * It changes where the panel goes as well as how it looks, which is why this
44843
- * tier knows about it at all: a band spans the viewport, so there is nothing
44844
- * to measure it against and nothing to flip or shift to, and the placing pass
44845
- * is told not to run. Everything else the popover gives, the top layer and
44846
- * the dismissal, is exactly what such a band needs.
44955
+ * **A band and not a width, which is why the word is not `full`.** It changes
44956
+ * where the panel goes as well as how wide it is, which is why this tier
44957
+ * knows about it at all: a band spans the viewport, so there is nothing to
44958
+ * measure it against and nothing to flip or shift to, and the placing pass is
44959
+ * told not to run. Everything else the popover gives, the top layer and the
44960
+ * dismissal, is exactly what such a band needs. `full` is the registry's word
44961
+ * for a width, and `Button` and `Dialog` are the two families answering that
44962
+ * question; borrowing it here would put a third meaning on it.
44963
+ *
44964
+ * `variant` and not an axis, for the reason the registry gives: a card under
44965
+ * a word and a band under a header are two arrangements this family has, and
44966
+ * no other family is being asked the same question.
44847
44967
  * - `open`: Whether the element is open.
44848
44968
  *
44849
44969
  * One property, not two, so `dialog.open` answers the question anyone
@@ -44923,7 +45043,7 @@ export type CustomElementsSolidJs = {
44923
45043
  *
44924
45044
  * These can be used to apply styling when a component is in a given state.
44925
45045
  *
44926
- * - `narrow`: While the page is under `full-below`, so the panel is a band whether or not one was asked for.
45046
+ * - `narrow`: While the page is under `band-below`, so the panel is a band whether or not one was asked for.
44927
45047
  * - `open`: While the panel is open, which is when the trigger reads as current.
44928
45048
  * - `settled`: Set a frame after the first render. Transitions are held off until it is, so an element never animates its own arrival.
44929
45049
  */
@@ -50200,7 +50320,7 @@ export type CustomElementsSolidJs = {
50200
50320
  *
50201
50321
  * **It is also where every per-column fact goes**, which is the reason
50202
50322
  * `DataTable` needs no column config object. `field` names the key the cell
50203
- * reads, `sortable` says a reader may reorder by it, `align` says which edge
50323
+ * reads, `sortable` says a reader may reorder by it, `text-align` says which edge
50204
50324
  * the values line up against, and `cell` takes a function for anything the
50205
50325
  * field alone cannot express. The schema is markup and the data is a property:
50206
50326
  * a schema is small, declarative, and something a reader should be able to see
@@ -50235,25 +50355,6 @@ export type CustomElementsSolidJs = {
50235
50355
  *
50236
50356
  * Component attributes and properties that can be applied to the element or by using JavaScript.
50237
50357
  *
50238
- * - `align`: Which edge the values line up against.
50239
- *
50240
- * `end` is what a column of numbers wants, so digits of the same magnitude
50241
- * sit above each other. Left unset the cell inherits the table's own
50242
- * alignment, which is `start` for text in either writing direction.
50243
- * `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
50244
- * consumer wrote, so the table writes nothing onto them: it publishes the
50245
- * edge to each cell under this column as `--table-cell-align`, which
50246
- * `@fusion.dev/helix` reads. The heading is this element's own, and
50247
- * `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
50248
- * inline end, so in a right-to-left table it is the left.
50249
- *
50250
- * **Reflected, because the heading is drawn by a stylesheet and has no other
50251
- * way to learn it.** Set as a property, which is how React sets it, an
50252
- * unreflected `align` left no attribute to select on, so the heading stayed at
50253
- * the start over a column of digits set to the end. It is the author's
50254
- * declaration and nothing moves it afterwards, so an attribute cannot come to
50255
- * disagree with the element, which is the reason `open` records a custom
50256
- * state instead. No default, so an unset column writes nothing onto its host.
50257
50358
  * - `field`: The key this column reads out of a row.
50258
50359
  *
50259
50360
  * Dot paths resolve, so `field="owner.name"` reads a nested value: a result
@@ -50285,6 +50386,33 @@ export type CustomElementsSolidJs = {
50285
50386
  * how React sets it, an unreflected `sortable` left no attribute to match.
50286
50387
  * `false` reflects as no attribute at all, so an unset column writes nothing
50287
50388
  * onto its host.
50389
+ * - `text-align`/`textAlign`: Which edge the values line up against.
50390
+ *
50391
+ * **Text alignment, and the name says so.** `Flex` and `Grid` ask the CSS
50392
+ * box-alignment question, where a thing sits in a container, and they are
50393
+ * named for the properties they mirror; this is `text-align` down a column of
50394
+ * values, and `Dialog` answers the same question under the same name. One
50395
+ * word for both questions is how a consumer who learned it on a layout writes
50396
+ * it here and gets no error, a value a component does not have leaving the
50397
+ * default in place and looking deliberate.
50398
+ *
50399
+ * `end` is what a column of numbers wants, so digits of the same magnitude
50400
+ * sit above each other. Left unset the cell inherits the table's own
50401
+ * alignment, which is `start` for text in either writing direction.
50402
+ * `DataTable` aligns the cells it draws. A `Table`'s cells are markup the
50403
+ * consumer wrote, so the table writes nothing onto them: it publishes the
50404
+ * edge to each cell under this column as `--table-cell-align`, which
50405
+ * `@fusion.dev/helix` reads. The heading is this element's own, and
50406
+ * `@fusion.dev/helix` sets it to the same edge in either table. `end` is the
50407
+ * inline end, so in a right-to-left table it is the left.
50408
+ *
50409
+ * **Reflected, because the heading is drawn by a stylesheet and has no other
50410
+ * way to learn it.** Set as a property, which is how React sets it, an
50411
+ * unreflected edge left no attribute to select on, so the heading stayed at
50412
+ * the start over a column of digits set to the end. It is the author's
50413
+ * declaration and nothing moves it afterwards, so an attribute cannot come to
50414
+ * disagree with the element, which is the reason `open` records a custom
50415
+ * state instead. No default, so an unset column writes nothing onto its host.
50288
50416
  * - `width`: The track this column takes, as CSS.
50289
50417
  *
50290
50418
  * A single track value, so anything valid in `grid-template-columns` works: