@fusion.dev/helix 0.110.6 → 0.111.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +160 -5
- package/dist/canvas/node/canvas-node.css.js +2 -0
- package/dist/card/root/card-root.css.js +2 -0
- package/dist/grid/root/grid-root.js +4 -3
- package/dist/stat/group/stat-group.css.js +19 -0
- package/dist/stat/group/stat-group.d.ts +14 -0
- package/dist/stat/group/stat-group.js +3 -0
- package/dist/steps/step/step.css.js +2 -0
- package/dist/text/root/text-root.css.js +17 -0
- package/package.json +6 -6
- package/types/jsx.d.ts +116 -4
- package/types/svelte.d.ts +2 -0
- package/types/vue.d.ts +33 -2
package/custom-elements.json
CHANGED
|
@@ -15189,6 +15189,20 @@
|
|
|
15189
15189
|
"module": "src/canvas/root/canvas-root.ts"
|
|
15190
15190
|
}
|
|
15191
15191
|
},
|
|
15192
|
+
{
|
|
15193
|
+
"kind": "field",
|
|
15194
|
+
"name": "toneLabels",
|
|
15195
|
+
"type": {
|
|
15196
|
+
"text": "Partial<Record<CanvasTone, string>>"
|
|
15197
|
+
},
|
|
15198
|
+
"default": "{}",
|
|
15199
|
+
"description": "What each tone means on this board, in words read out with the cards and\nconnections in it, such as `{\"danger\": \"Blocked\", \"success\": \"Done\"}`.\n\n**Named by the page, since the tone names a color and the page gives it\nits meaning.** JSON Canvas leaves its six colors to the application, so\nred is \"blocked\" on one board and \"urgent\" on the next. A reader who can\nsee the board is told by the color; this is how a reader who cannot is\ntold the same. A tone left out is not read.",
|
|
15200
|
+
"attribute": "tone-labels",
|
|
15201
|
+
"inheritedFrom": {
|
|
15202
|
+
"name": "HelixHeadlessCanvas",
|
|
15203
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
15204
|
+
}
|
|
15205
|
+
},
|
|
15192
15206
|
{
|
|
15193
15207
|
"kind": "field",
|
|
15194
15208
|
"name": "stop",
|
|
@@ -15647,6 +15661,31 @@
|
|
|
15647
15661
|
"module": "src/canvas/root/canvas-root.ts"
|
|
15648
15662
|
}
|
|
15649
15663
|
},
|
|
15664
|
+
{
|
|
15665
|
+
"kind": "field",
|
|
15666
|
+
"name": "fingers",
|
|
15667
|
+
"privacy": "private",
|
|
15668
|
+
"readonly": true,
|
|
15669
|
+
"default": "new Map<number, { x: number; y: number }>()",
|
|
15670
|
+
"description": "Where each finger on the board is, by pointer, which a pinch is measured from.",
|
|
15671
|
+
"inheritedFrom": {
|
|
15672
|
+
"name": "HelixHeadlessCanvas",
|
|
15673
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
15674
|
+
}
|
|
15675
|
+
},
|
|
15676
|
+
{
|
|
15677
|
+
"kind": "field",
|
|
15678
|
+
"name": "pinching",
|
|
15679
|
+
"type": {
|
|
15680
|
+
"text": "| {\n at: { x: number; y: number; zoom: number }\n middle: { x: number; y: number }\n spread: number\n }\n | undefined"
|
|
15681
|
+
},
|
|
15682
|
+
"privacy": "private",
|
|
15683
|
+
"description": "A pinch under way: how far apart its fingers were and the point between\nthem, in the box, and the view, when the second finger landed.",
|
|
15684
|
+
"inheritedFrom": {
|
|
15685
|
+
"name": "HelixHeadlessCanvas",
|
|
15686
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
15687
|
+
}
|
|
15688
|
+
},
|
|
15650
15689
|
{
|
|
15651
15690
|
"kind": "field",
|
|
15652
15691
|
"name": "dragging",
|
|
@@ -16915,6 +16954,51 @@
|
|
|
16915
16954
|
"module": "src/canvas/root/canvas-root.ts"
|
|
16916
16955
|
}
|
|
16917
16956
|
},
|
|
16957
|
+
{
|
|
16958
|
+
"kind": "method",
|
|
16959
|
+
"name": "fingerSpan",
|
|
16960
|
+
"privacy": "private",
|
|
16961
|
+
"return": {
|
|
16962
|
+
"type": {
|
|
16963
|
+
"text": "{ middle: { x: number; y: number }; spread: number }"
|
|
16964
|
+
}
|
|
16965
|
+
},
|
|
16966
|
+
"description": "The fingers' spread and the point between them, in the box. Taken from\nthe first two fingers down, where a third has landed as well.",
|
|
16967
|
+
"inheritedFrom": {
|
|
16968
|
+
"name": "HelixHeadlessCanvas",
|
|
16969
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
16970
|
+
}
|
|
16971
|
+
},
|
|
16972
|
+
{
|
|
16973
|
+
"kind": "method",
|
|
16974
|
+
"name": "startPinch",
|
|
16975
|
+
"privacy": "private",
|
|
16976
|
+
"return": {
|
|
16977
|
+
"type": {
|
|
16978
|
+
"text": "void"
|
|
16979
|
+
}
|
|
16980
|
+
},
|
|
16981
|
+
"description": "Turns what the first finger was doing into a pinch, where that was a pan\nor a press that had not yet moved anything. A finger already carrying a\ncard, drawing a line, resizing or drawing a box goes on doing that.",
|
|
16982
|
+
"inheritedFrom": {
|
|
16983
|
+
"name": "HelixHeadlessCanvas",
|
|
16984
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
16985
|
+
}
|
|
16986
|
+
},
|
|
16987
|
+
{
|
|
16988
|
+
"kind": "method",
|
|
16989
|
+
"name": "pinch",
|
|
16990
|
+
"privacy": "private",
|
|
16991
|
+
"return": {
|
|
16992
|
+
"type": {
|
|
16993
|
+
"text": "void"
|
|
16994
|
+
}
|
|
16995
|
+
},
|
|
16996
|
+
"description": "Scales the board by how far the fingers have spread since the pinch\nbegan, about the point between them, and carries it with that point, so\nwhat was under the fingers stays under them.",
|
|
16997
|
+
"inheritedFrom": {
|
|
16998
|
+
"name": "HelixHeadlessCanvas",
|
|
16999
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
17000
|
+
}
|
|
17001
|
+
},
|
|
16918
17002
|
{
|
|
16919
17003
|
"kind": "method",
|
|
16920
17004
|
"name": "zoomAbout",
|
|
@@ -17960,6 +18044,19 @@
|
|
|
17960
18044
|
"name": "HelixHeadlessCanvas",
|
|
17961
18045
|
"module": "src/canvas/root/canvas-root.ts"
|
|
17962
18046
|
}
|
|
18047
|
+
},
|
|
18048
|
+
{
|
|
18049
|
+
"name": "tone-labels",
|
|
18050
|
+
"type": {
|
|
18051
|
+
"text": "Partial<Record<CanvasTone, string>>"
|
|
18052
|
+
},
|
|
18053
|
+
"default": "{}",
|
|
18054
|
+
"description": "What each tone means on this board, in words read out with the cards and\nconnections in it, such as `{\"danger\": \"Blocked\", \"success\": \"Done\"}`.\n\n**Named by the page, since the tone names a color and the page gives it\nits meaning.** JSON Canvas leaves its six colors to the application, so\nred is \"blocked\" on one board and \"urgent\" on the next. A reader who can\nsee the board is told by the color; this is how a reader who cannot is\ntold the same. A tone left out is not read.",
|
|
18055
|
+
"fieldName": "toneLabels",
|
|
18056
|
+
"inheritedFrom": {
|
|
18057
|
+
"name": "HelixHeadlessCanvas",
|
|
18058
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
18059
|
+
}
|
|
17963
18060
|
}
|
|
17964
18061
|
],
|
|
17965
18062
|
"superclass": {
|
|
@@ -18002,7 +18099,7 @@
|
|
|
18002
18099
|
"slug": "read-only"
|
|
18003
18100
|
},
|
|
18004
18101
|
{
|
|
18005
|
-
"description": "Outlined, filled, elevated, and plain cards, joined by solid, dashed, and dotted connections.",
|
|
18102
|
+
"description": "Outlined, filled, elevated, and plain cards, joined by solid, dashed, and dotted connections, with what each tone means read out.",
|
|
18006
18103
|
"slug": "styles"
|
|
18007
18104
|
},
|
|
18008
18105
|
{
|
|
@@ -26342,6 +26439,18 @@
|
|
|
26342
26439
|
"module": "src/checkbox/root/checkbox-root.ts"
|
|
26343
26440
|
}
|
|
26344
26441
|
},
|
|
26442
|
+
{
|
|
26443
|
+
"kind": "field",
|
|
26444
|
+
"name": "clicks",
|
|
26445
|
+
"privacy": "protected",
|
|
26446
|
+
"readonly": true,
|
|
26447
|
+
"default": "new HostClickController(this, () => this.partNamed('control'))",
|
|
26448
|
+
"description": "A click on the element itself, `click()` or a page's `<label for>`, toggles it.",
|
|
26449
|
+
"inheritedFrom": {
|
|
26450
|
+
"name": "HelixHeadlessCheckbox",
|
|
26451
|
+
"module": "src/checkbox/root/checkbox-root.ts"
|
|
26452
|
+
}
|
|
26453
|
+
},
|
|
26345
26454
|
{
|
|
26346
26455
|
"kind": "field",
|
|
26347
26456
|
"name": "indeterminate",
|
|
@@ -99053,7 +99162,7 @@
|
|
|
99053
99162
|
"text": "string"
|
|
99054
99163
|
},
|
|
99055
99164
|
"default": "''",
|
|
99056
|
-
"description": "A shorter name for this choice, for where the row does not fit.\n\n`<option label>`'s own meaning: the text a chooser shows when it has less\nroom than the row does, which is what a select's closed trigger has. Empty\nmeans the row's own content, which is the common case and is why this is not\nsimply the accessible name.",
|
|
99165
|
+
"description": "A shorter name for this choice, for where the row does not fit.\n\n`<option label>`'s own meaning: the text a chooser shows when it has less\nroom than the row does, which is what a select's closed trigger has. Empty\nmeans the row's own content, which is the common case and is why this is not\nsimply the accessible name.\n\n**An option with a label and nothing in it shows the label**, as\n`<option label>` does: written the platform's way, a select listed a row of\nnothing for every choice.",
|
|
99057
99166
|
"attribute": "label",
|
|
99058
99167
|
"inheritedFrom": {
|
|
99059
99168
|
"name": "HelixHeadlessOption",
|
|
@@ -99094,7 +99203,7 @@
|
|
|
99094
99203
|
"type": {
|
|
99095
99204
|
"text": "string"
|
|
99096
99205
|
},
|
|
99097
|
-
"description": "The option's text, which a listbox matches typed text against.\n\nRead from the rendered content rather than required as a property, because\nthe content is where a consumer naturally puts it and asking for both is\nasking for two things to disagree.\n\n**The default slot's content, never `this.textContent`.** An option holds\nthree slots: the words, plus `start` for an icon and `end` for a shortcut\nor a count. Neither of the latter two is what a reader searched for, and\n`textContent` runs both onto the end of it. Measured on a font picker whose\noptions carry a two-letter specimen in `end`: the field read\n`Noto Sans Linear BAg`, and typing `ag` matched 1,892 of 1,893 options,\nevery row containing the sample. An option with a keyboard shortcut in its\nend slot has the same fault and a worse one, every row carrying one matching\nevery letter of it.\n\nSix things read this: the collapsed field of Select and of Combobox, the\nlistbox's filter, Combobox's match against typed text, its inline\ncompletion, and the label on a chosen tag.\n\nA node goes to the default slot when it names no other, which is the rule\nthe platform applies at assignment. Asking the same question here rather\nthan a second one is what stops the two disagreeing. Text nodes are\nalways the default slot's and cannot say otherwise.\n\n**Text and elements, named rather than \"not an element\".** The filter read\n`!(node instanceof Element) || node.slot === ''`, which admits a comment,\nand `textContent` on a comment is the comment's own body. Every option Lit\nrenders carries one: a child binding is marked with `<!--?lit$1234$-->`, so\nan option written as `` html`<${option}>${size}</${option}>` `` read back as\n`?lit$090648746$25`. Measured in `pagination/footer`, where the trigger\npainted exactly that instead of `25`, on both twins.\n\nIt is worse than one wrong label, because of the six readers listed above:\nthe filter and Combobox's match compare against this string, so a marker in\nit is in every comparison too.",
|
|
99206
|
+
"description": "The option's text, which a listbox matches typed text against.\n\nRead from the rendered content rather than required as a property, because\nthe content is where a consumer naturally puts it and asking for both is\nasking for two things to disagree.\n\n**The default slot's content, never `this.textContent`.** An option holds\nthree slots: the words, plus `start` for an icon and `end` for a shortcut\nor a count. Neither of the latter two is what a reader searched for, and\n`textContent` runs both onto the end of it. Measured on a font picker whose\noptions carry a two-letter specimen in `end`: the field read\n`Noto Sans Linear BAg`, and typing `ag` matched 1,892 of 1,893 options,\nevery row containing the sample. An option with a keyboard shortcut in its\nend slot has the same fault and a worse one, every row carrying one matching\nevery letter of it.\n\nSix things read this: the collapsed field of Select and of Combobox, the\nlistbox's filter, Combobox's match against typed text, its inline\ncompletion, and the label on a chosen tag.\n\nA node goes to the default slot when it names no other, which is the rule\nthe platform applies at assignment. Asking the same question here rather\nthan a second one is what stops the two disagreeing. Text nodes are\nalways the default slot's and cannot say otherwise.\n\n**Text and elements, named rather than \"not an element\".** The filter read\n`!(node instanceof Element) || node.slot === ''`, which admits a comment,\nand `textContent` on a comment is the comment's own body. Every option Lit\nrenders carries one: a child binding is marked with `<!--?lit$1234$-->`, so\nan option written as `` html`<${option}>${size}</${option}>` `` read back as\n`?lit$090648746$25`. Measured in `pagination/footer`, where the trigger\npainted exactly that instead of `25`, on both twins.\n\nIt is worse than one wrong label, because of the six readers listed above:\nthe filter and Combobox's match compare against this string, so a marker in\nit is in every comparison too.\n\n**The `label` where the slot holds nothing**, which is what the row shows\nthen, so the six read the words a reader sees.",
|
|
99098
99207
|
"readonly": true,
|
|
99099
99208
|
"inheritedFrom": {
|
|
99100
99209
|
"name": "HelixHeadlessOption",
|
|
@@ -99626,7 +99735,7 @@
|
|
|
99626
99735
|
"text": "string"
|
|
99627
99736
|
},
|
|
99628
99737
|
"default": "''",
|
|
99629
|
-
"description": "A shorter name for this choice, for where the row does not fit.\n\n`<option label>`'s own meaning: the text a chooser shows when it has less\nroom than the row does, which is what a select's closed trigger has. Empty\nmeans the row's own content, which is the common case and is why this is not\nsimply the accessible name.",
|
|
99738
|
+
"description": "A shorter name for this choice, for where the row does not fit.\n\n`<option label>`'s own meaning: the text a chooser shows when it has less\nroom than the row does, which is what a select's closed trigger has. Empty\nmeans the row's own content, which is the common case and is why this is not\nsimply the accessible name.\n\n**An option with a label and nothing in it shows the label**, as\n`<option label>` does: written the platform's way, a select listed a row of\nnothing for every choice.",
|
|
99630
99739
|
"fieldName": "label",
|
|
99631
99740
|
"inheritedFrom": {
|
|
99632
99741
|
"name": "HelixHeadlessOption",
|
|
@@ -110722,6 +110831,18 @@
|
|
|
110722
110831
|
"text": "select() => boolean"
|
|
110723
110832
|
}
|
|
110724
110833
|
},
|
|
110834
|
+
{
|
|
110835
|
+
"kind": "field",
|
|
110836
|
+
"name": "clicks",
|
|
110837
|
+
"privacy": "protected",
|
|
110838
|
+
"readonly": true,
|
|
110839
|
+
"default": "new HostClickController(this, () => this.partNamed('item'))",
|
|
110840
|
+
"description": "A click on the element itself, `click()` included, chooses it.",
|
|
110841
|
+
"inheritedFrom": {
|
|
110842
|
+
"name": "HelixHeadlessRadio",
|
|
110843
|
+
"module": "src/radio/root/radio-root.ts"
|
|
110844
|
+
}
|
|
110845
|
+
},
|
|
110725
110846
|
{
|
|
110726
110847
|
"kind": "field",
|
|
110727
110848
|
"name": "defaultSelected",
|
|
@@ -127881,15 +128002,29 @@
|
|
|
127881
128002
|
"declarations": [
|
|
127882
128003
|
{
|
|
127883
128004
|
"kind": "class",
|
|
127884
|
-
"description": "Stats wrap onto a new line when space runs out, and each figure keeps its own\nwidth. Figures are read by comparing them, and equal columns would make a\nfour-digit number and a two-digit one look like the same quantity.",
|
|
128005
|
+
"description": "Stats wrap onto a new line when space runs out, and each figure keeps its own\nwidth. Figures are read by comparing them, and equal columns would make a\nfour-digit number and a two-digit one look like the same quantity.\n\nSet `columns` where the stats are a set to be read across, such as three\nfacts about one thing: they then share the row equally, their labels wrap\nwithin their own column, and the rule between them follows the rows.",
|
|
127885
128006
|
"name": "HelixStatGroup",
|
|
127886
128007
|
"cssProperties": [
|
|
128008
|
+
{
|
|
128009
|
+
"description": "An explicit track list while `columns` is set, such as one column below a width.",
|
|
128010
|
+
"name": "--stat-group-columns"
|
|
128011
|
+
},
|
|
127887
128012
|
{
|
|
127888
128013
|
"description": "Space between figures.",
|
|
127889
128014
|
"name": "--stat-group-gap"
|
|
127890
128015
|
}
|
|
127891
128016
|
],
|
|
127892
128017
|
"members": [
|
|
128018
|
+
{
|
|
128019
|
+
"kind": "field",
|
|
128020
|
+
"name": "columns",
|
|
128021
|
+
"type": {
|
|
128022
|
+
"text": "number | undefined"
|
|
128023
|
+
},
|
|
128024
|
+
"description": "A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.\n\n**Opted into, never the default.** Three stats whose labels ran to about\nforty characters broke two and one at 768 pixels, the third alone on a row\nwith its rule; and a count is what a set of facts read across wants, where\nfigures compared one against another keep their own widths.",
|
|
128025
|
+
"attribute": "columns",
|
|
128026
|
+
"reflects": true
|
|
128027
|
+
},
|
|
127893
128028
|
{
|
|
127894
128029
|
"kind": "field",
|
|
127895
128030
|
"name": "divided",
|
|
@@ -128241,6 +128376,14 @@
|
|
|
128241
128376
|
}
|
|
128242
128377
|
],
|
|
128243
128378
|
"attributes": [
|
|
128379
|
+
{
|
|
128380
|
+
"name": "columns",
|
|
128381
|
+
"type": {
|
|
128382
|
+
"text": "number | undefined"
|
|
128383
|
+
},
|
|
128384
|
+
"description": "A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.\n\n**Opted into, never the default.** Three stats whose labels ran to about\nforty characters broke two and one at 768 pixels, the third alone on a row\nwith its rule; and a count is what a set of facts read across wants, where\nfigures compared one against another keep their own widths.",
|
|
128385
|
+
"fieldName": "columns"
|
|
128386
|
+
},
|
|
128244
128387
|
{
|
|
128245
128388
|
"name": "divided",
|
|
128246
128389
|
"type": {
|
|
@@ -130821,6 +130964,18 @@
|
|
|
130821
130964
|
"module": "src/switch/root/switch-root.ts"
|
|
130822
130965
|
}
|
|
130823
130966
|
},
|
|
130967
|
+
{
|
|
130968
|
+
"kind": "field",
|
|
130969
|
+
"name": "clicks",
|
|
130970
|
+
"privacy": "protected",
|
|
130971
|
+
"readonly": true,
|
|
130972
|
+
"default": "new HostClickController(this, () => this.partNamed('control'))",
|
|
130973
|
+
"description": "A click on the element itself, `click()` or a page's `<label for>`, toggles it.",
|
|
130974
|
+
"inheritedFrom": {
|
|
130975
|
+
"name": "HelixHeadlessSwitch",
|
|
130976
|
+
"module": "src/switch/root/switch-root.ts"
|
|
130977
|
+
}
|
|
130978
|
+
},
|
|
130824
130979
|
{
|
|
130825
130980
|
"kind": "field",
|
|
130826
130981
|
"name": "value",
|
|
@@ -6,6 +6,8 @@ export const styles = createSheet(`:host {
|
|
|
6
6
|
--_canvas-card-inline-size: auto;
|
|
7
7
|
--_canvas-card-block-size: auto;
|
|
8
8
|
|
|
9
|
+
--_heading-ink: var(--helix-color-foreground);
|
|
10
|
+
|
|
9
11
|
--_canvas-card-tone: var(--helix-color-border);
|
|
10
12
|
--_canvas-card-color: var(--canvas-node-color, var(--_canvas-card-tone));
|
|
11
13
|
|
|
@@ -4,6 +4,8 @@ export const styles = createSheet(`:host {
|
|
|
4
4
|
--_card-inset: var(--card-padding, var(--helix-space-control));
|
|
5
5
|
|
|
6
6
|
--_card-media: var(--card-media-size, 12rem);
|
|
7
|
+
|
|
8
|
+
--_heading-ink: var(--helix-color-foreground);
|
|
7
9
|
background-color: var(--card-background-color, var(--helix-color-surface));
|
|
8
10
|
border: var(--card-border-width, var(--helix-border-surface)) solid
|
|
9
11
|
var(--card-border-color, var(--helix-color-border));
|
|
@@ -8,6 +8,7 @@ import { customElement, HelixElement } from '@fusion.dev/helix-core';
|
|
|
8
8
|
import { html } from 'lit';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
10
|
import { styles } from './grid-root.css.js';
|
|
11
|
+
const UNINHERITED = '--grid-columns: initial; --_grid-template: initial;';
|
|
11
12
|
let HelixGrid = class HelixGrid extends HelixElement {
|
|
12
13
|
constructor() {
|
|
13
14
|
super(...arguments);
|
|
@@ -22,8 +23,8 @@ let HelixGrid = class HelixGrid extends HelixElement {
|
|
|
22
23
|
const min = this.min?.trim() ?? '';
|
|
23
24
|
sheet.textContent =
|
|
24
25
|
min !== '' && length.test(min)
|
|
25
|
-
? `:host { --_grid-template: repeat(auto-fit, minmax(min(${min}, 100%), 1fr)); }`
|
|
26
|
-
:
|
|
26
|
+
? `:host { ${UNINHERITED} --_grid-template: repeat(auto-fit, minmax(min(${min}, 100%), 1fr)); }`
|
|
27
|
+
: `:host { ${UNINHERITED} }`;
|
|
27
28
|
}
|
|
28
29
|
updated(changed) {
|
|
29
30
|
super.updated(changed);
|
|
@@ -32,7 +33,7 @@ let HelixGrid = class HelixGrid extends HelixElement {
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
render() {
|
|
35
|
-
return html `<style id="template"
|
|
36
|
+
return html `<style id="template">:host { --grid-columns: initial; --_grid-template: initial; }</style>
|
|
36
37
|
<slot></slot>`;
|
|
37
38
|
}
|
|
38
39
|
static { this.styles = styles; }
|
|
@@ -6,6 +6,25 @@ flex-wrap: wrap;
|
|
|
6
6
|
gap: var(--_stat-group-gap);
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
:host([columns]) {
|
|
10
|
+
display: grid;
|
|
11
|
+
}
|
|
12
|
+
:host([columns="2"]) {
|
|
13
|
+
grid-template-columns: var(--stat-group-columns, repeat(2, minmax(0, 1fr)));
|
|
14
|
+
}
|
|
15
|
+
:host([columns="3"]) {
|
|
16
|
+
grid-template-columns: var(--stat-group-columns, repeat(3, minmax(0, 1fr)));
|
|
17
|
+
}
|
|
18
|
+
:host([columns="4"]) {
|
|
19
|
+
grid-template-columns: var(--stat-group-columns, repeat(4, minmax(0, 1fr)));
|
|
20
|
+
}
|
|
21
|
+
:host([columns="5"]) {
|
|
22
|
+
grid-template-columns: var(--stat-group-columns, repeat(5, minmax(0, 1fr)));
|
|
23
|
+
}
|
|
24
|
+
:host([columns="6"]) {
|
|
25
|
+
grid-template-columns: var(--stat-group-columns, repeat(6, minmax(0, 1fr)));
|
|
26
|
+
}
|
|
27
|
+
|
|
9
28
|
:host([divided]) {
|
|
10
29
|
column-gap: calc(var(--_stat-group-gap) * 2);
|
|
11
30
|
overflow-x: clip;
|
|
@@ -8,14 +8,28 @@ import type { CSSResultGroup } from 'lit';
|
|
|
8
8
|
* width. Figures are read by comparing them, and equal columns would make a
|
|
9
9
|
* four-digit number and a two-digit one look like the same quantity.
|
|
10
10
|
*
|
|
11
|
+
* Set `columns` where the stats are a set to be read across, such as three
|
|
12
|
+
* facts about one thing: they then share the row equally, their labels wrap
|
|
13
|
+
* within their own column, and the rule between them follows the rows.
|
|
14
|
+
*
|
|
11
15
|
* @since 0.1.0
|
|
12
16
|
* @status stable
|
|
13
17
|
* @aliases Metrics, KPIs, Figures
|
|
14
18
|
* @documentation https://fusion.dev/helix/components/stat
|
|
15
19
|
*
|
|
20
|
+
* @cssproperty --stat-group-columns - An explicit track list while `columns` is set, such as one column below a width.
|
|
16
21
|
* @cssproperty --stat-group-gap - Space between figures.
|
|
17
22
|
*/
|
|
18
23
|
export declare class HelixStatGroup extends HelixHeadlessStatGroup {
|
|
24
|
+
/**
|
|
25
|
+
* A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.
|
|
26
|
+
*
|
|
27
|
+
* **Opted into, never the default.** Three stats whose labels ran to about
|
|
28
|
+
* forty characters broke two and one at 768 pixels, the third alone on a row
|
|
29
|
+
* with its rule; and a count is what a set of facts read across wants, where
|
|
30
|
+
* figures compared one against another keep their own widths.
|
|
31
|
+
*/
|
|
32
|
+
columns?: number;
|
|
19
33
|
/**
|
|
20
34
|
* Draws a rule between the figures, in addition to the space.
|
|
21
35
|
*/
|
|
@@ -15,6 +15,9 @@ let HelixStatGroup = class HelixStatGroup extends HelixHeadlessStatGroup {
|
|
|
15
15
|
}
|
|
16
16
|
static { this.styles = styles; }
|
|
17
17
|
};
|
|
18
|
+
__decorate([
|
|
19
|
+
property({ reflect: true, type: Number })
|
|
20
|
+
], HelixStatGroup.prototype, "columns", void 0);
|
|
18
21
|
__decorate([
|
|
19
22
|
property({ reflect: true, type: Boolean })
|
|
20
23
|
], HelixStatGroup.prototype, "divided", void 0);
|
|
@@ -94,6 +94,23 @@ letter-spacing: var(--helix-tracking-normal);
|
|
|
94
94
|
line-height: var(--helix-leading-normal);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
:host(
|
|
98
|
+
:is(
|
|
99
|
+
[as="h1"],
|
|
100
|
+
[as="h2"],
|
|
101
|
+
[as="h3"],
|
|
102
|
+
[as="h4"],
|
|
103
|
+
[as="h5"],
|
|
104
|
+
[as="h6"],
|
|
105
|
+
[variant="display"],
|
|
106
|
+
[variant="heading"],
|
|
107
|
+
[variant="subheading"],
|
|
108
|
+
[variant="title"]
|
|
109
|
+
)
|
|
110
|
+
) {
|
|
111
|
+
color: var(--_heading-ink, currentColor);
|
|
112
|
+
}
|
|
113
|
+
|
|
97
114
|
[part="text"] {
|
|
98
115
|
color: inherit;
|
|
99
116
|
font: inherit;
|
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.
|
|
4
|
+
"version": "0.111.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
},
|
|
52
52
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@fusion.dev/helix-core": "0.
|
|
55
|
-
"@fusion.dev/helix-headless": "0.
|
|
56
|
-
"@fusion.dev/helix-styles": "0.
|
|
54
|
+
"@fusion.dev/helix-core": "0.111.1",
|
|
55
|
+
"@fusion.dev/helix-headless": "0.111.1",
|
|
56
|
+
"@fusion.dev/helix-styles": "0.111.1"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@fusion.dev/helix-cem": "0.
|
|
60
|
-
"@fusion.dev/helix-testing": "0.
|
|
59
|
+
"@fusion.dev/helix-cem": "0.111.1",
|
|
60
|
+
"@fusion.dev/helix-testing": "0.111.1",
|
|
61
61
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
62
62
|
"@happy-dom/global-registrator": "^20.0.0",
|
|
63
63
|
"@lit-labs/ssr": "^4.1.0",
|
package/types/jsx.d.ts
CHANGED
|
@@ -3163,6 +3163,24 @@ Written to select from outside, and read to act on the selection. */
|
|
|
3163
3163
|
"stopped-label"?: (HelixCanvas["stoppedLabel"]) | undefined;
|
|
3164
3164
|
/** The text announced when a connection is stopped before it is requested. */
|
|
3165
3165
|
stoppedLabel?: (HelixCanvas["stoppedLabel"]) | undefined;
|
|
3166
|
+
/** What each tone means on this board, in words read out with the cards and
|
|
3167
|
+
connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
3168
|
+
|
|
3169
|
+
**Named by the page, since the tone names a color and the page gives it
|
|
3170
|
+
its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
3171
|
+
red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
3172
|
+
see the board is told by the color; this is how a reader who cannot is
|
|
3173
|
+
told the same. A tone left out is not read. */
|
|
3174
|
+
"tone-labels"?: (HelixCanvas["toneLabels"]) | undefined;
|
|
3175
|
+
/** What each tone means on this board, in words read out with the cards and
|
|
3176
|
+
connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
3177
|
+
|
|
3178
|
+
**Named by the page, since the tone names a color and the page gives it
|
|
3179
|
+
its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
3180
|
+
red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
3181
|
+
see the board is told by the color; this is how a reader who cannot is
|
|
3182
|
+
told the same. A tone left out is not read. */
|
|
3183
|
+
toneLabels?: (HelixCanvas["toneLabels"]) | undefined;
|
|
3166
3184
|
/** The board's current view: the document's point at the middle of the view,
|
|
3167
3185
|
and the zoom.
|
|
3168
3186
|
|
|
@@ -3471,6 +3489,24 @@ Written to select from outside, and read to act on the selection. */
|
|
|
3471
3489
|
"attr:stopped-label"?: (HelixCanvas["stoppedLabel"]) | undefined;
|
|
3472
3490
|
/** The text announced when a connection is stopped before it is requested. */
|
|
3473
3491
|
"prop:stoppedLabel"?: (HelixCanvas["stoppedLabel"]) | undefined;
|
|
3492
|
+
/** What each tone means on this board, in words read out with the cards and
|
|
3493
|
+
connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
3494
|
+
|
|
3495
|
+
**Named by the page, since the tone names a color and the page gives it
|
|
3496
|
+
its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
3497
|
+
red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
3498
|
+
see the board is told by the color; this is how a reader who cannot is
|
|
3499
|
+
told the same. A tone left out is not read. */
|
|
3500
|
+
"attr:tone-labels"?: (HelixCanvas["toneLabels"]) | undefined;
|
|
3501
|
+
/** What each tone means on this board, in words read out with the cards and
|
|
3502
|
+
connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
3503
|
+
|
|
3504
|
+
**Named by the page, since the tone names a color and the page gives it
|
|
3505
|
+
its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
3506
|
+
red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
3507
|
+
see the board is told by the color; this is how a reader who cannot is
|
|
3508
|
+
told the same. A tone left out is not read. */
|
|
3509
|
+
"prop:toneLabels"?: (HelixCanvas["toneLabels"]) | undefined;
|
|
3474
3510
|
/** The board's current view: the document's point at the middle of the view,
|
|
3475
3511
|
and the zoom.
|
|
3476
3512
|
|
|
@@ -16608,7 +16644,11 @@ string is not a fact a selector needs. */
|
|
|
16608
16644
|
`<option label>`'s own meaning: the text a chooser shows when it has less
|
|
16609
16645
|
room than the row does, which is what a select's closed trigger has. Empty
|
|
16610
16646
|
means the row's own content, which is the common case and is why this is not
|
|
16611
|
-
simply the accessible name.
|
|
16647
|
+
simply the accessible name.
|
|
16648
|
+
|
|
16649
|
+
**An option with a label and nothing in it shows the label**, as
|
|
16650
|
+
`<option label>` does: written the platform's way, a select listed a row of
|
|
16651
|
+
nothing for every choice. */
|
|
16612
16652
|
label?: (HelixOption["label"]) | undefined;
|
|
16613
16653
|
/** Whether this choice is currently chosen.
|
|
16614
16654
|
|
|
@@ -16715,7 +16755,11 @@ string is not a fact a selector needs. */
|
|
|
16715
16755
|
`<option label>`'s own meaning: the text a chooser shows when it has less
|
|
16716
16756
|
room than the row does, which is what a select's closed trigger has. Empty
|
|
16717
16757
|
means the row's own content, which is the common case and is why this is not
|
|
16718
|
-
simply the accessible name.
|
|
16758
|
+
simply the accessible name.
|
|
16759
|
+
|
|
16760
|
+
**An option with a label and nothing in it shows the label**, as
|
|
16761
|
+
`<option label>` does: written the platform's way, a select listed a row of
|
|
16762
|
+
nothing for every choice. */
|
|
16719
16763
|
"prop:label"?: (HelixOption["label"]) | undefined;
|
|
16720
16764
|
/** Whether this choice is currently chosen.
|
|
16721
16765
|
|
|
@@ -20956,6 +21000,13 @@ Reading gives where it is; writing declares it the consumer's, and
|
|
|
20956
21000
|
};
|
|
20957
21001
|
|
|
20958
21002
|
export type HelixStatGroupProps = {
|
|
21003
|
+
/** A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.
|
|
21004
|
+
|
|
21005
|
+
**Opted into, never the default.** Three stats whose labels ran to about
|
|
21006
|
+
forty characters broke two and one at 768 pixels, the third alone on a row
|
|
21007
|
+
with its rule; and a count is what a set of facts read across wants, where
|
|
21008
|
+
figures compared one against another keep their own widths. */
|
|
21009
|
+
columns?: (HelixStatGroup["columns"]) | undefined;
|
|
20959
21010
|
/** Draws a rule between the figures, in addition to the space. */
|
|
20960
21011
|
divided?: (HelixStatGroup["divided"]) | undefined;
|
|
20961
21012
|
/** Accessible name for the group. */
|
|
@@ -20963,6 +21014,13 @@ export type HelixStatGroupProps = {
|
|
|
20963
21014
|
};
|
|
20964
21015
|
|
|
20965
21016
|
export type HelixStatGroupSolidJsProps = {
|
|
21017
|
+
/** A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.
|
|
21018
|
+
|
|
21019
|
+
**Opted into, never the default.** Three stats whose labels ran to about
|
|
21020
|
+
forty characters broke two and one at 768 pixels, the third alone on a row
|
|
21021
|
+
with its rule; and a count is what a set of facts read across wants, where
|
|
21022
|
+
figures compared one against another keep their own widths. */
|
|
21023
|
+
"prop:columns"?: (HelixStatGroup["columns"]) | undefined;
|
|
20966
21024
|
/** Draws a rule between the figures, in addition to the space. */
|
|
20967
21025
|
"prop:divided"?: (HelixStatGroup["divided"]) | undefined;
|
|
20968
21026
|
/** Accessible name for the group. */
|
|
@@ -28673,6 +28731,14 @@ export type CustomElements = {
|
|
|
28673
28731
|
*
|
|
28674
28732
|
* Written to select from outside, and read to act on the selection.
|
|
28675
28733
|
* - `stopped-label`/`stoppedLabel`: The text announced when a connection is stopped before it is requested.
|
|
28734
|
+
* - `tone-labels`/`toneLabels`: What each tone means on this board, in words read out with the cards and
|
|
28735
|
+
* connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
28736
|
+
*
|
|
28737
|
+
* **Named by the page, since the tone names a color and the page gives it
|
|
28738
|
+
* its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
28739
|
+
* red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
28740
|
+
* see the board is told by the color; this is how a reader who cannot is
|
|
28741
|
+
* told the same. A tone left out is not read.
|
|
28676
28742
|
* - `view`: The board's current view: the document's point at the middle of the view,
|
|
28677
28743
|
* and the zoom.
|
|
28678
28744
|
*
|
|
@@ -39449,6 +39515,10 @@ export type CustomElements = {
|
|
|
39449
39515
|
* room than the row does, which is what a select's closed trigger has. Empty
|
|
39450
39516
|
* means the row's own content, which is the common case and is why this is not
|
|
39451
39517
|
* simply the accessible name.
|
|
39518
|
+
*
|
|
39519
|
+
* **An option with a label and nothing in it shows the label**, as
|
|
39520
|
+
* `<option label>` does: written the platform's way, a select listed a row of
|
|
39521
|
+
* nothing for every choice.
|
|
39452
39522
|
* - `selected`: Whether this choice is currently chosen.
|
|
39453
39523
|
*
|
|
39454
39524
|
* Written by the listbox.
|
|
@@ -39513,7 +39583,10 @@ export type CustomElements = {
|
|
|
39513
39583
|
*
|
|
39514
39584
|
* It is worse than one wrong label, because of the six readers listed above:
|
|
39515
39585
|
* the filter and Combobox's match compare against this string, so a marker in
|
|
39516
|
-
* it is in every comparison too.
|
|
39586
|
+
* it is in every comparison too.
|
|
39587
|
+
*
|
|
39588
|
+
* **The `label` where the slot holds nothing**, which is what the row shows
|
|
39589
|
+
* then, so the six read the words a reader sees. (property only) (readonly)
|
|
39517
39590
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
39518
39591
|
*
|
|
39519
39592
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -43447,10 +43520,20 @@ export type CustomElements = {
|
|
|
43447
43520
|
* width. Figures are read by comparing them, and equal columns would make a
|
|
43448
43521
|
* four-digit number and a two-digit one look like the same quantity.
|
|
43449
43522
|
*
|
|
43523
|
+
* Set `columns` where the stats are a set to be read across, such as three
|
|
43524
|
+
* facts about one thing: they then share the row equally, their labels wrap
|
|
43525
|
+
* within their own column, and the rule between them follows the rows.
|
|
43526
|
+
*
|
|
43450
43527
|
* ## Attributes & Properties
|
|
43451
43528
|
*
|
|
43452
43529
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
43453
43530
|
*
|
|
43531
|
+
* - `columns`: A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.
|
|
43532
|
+
*
|
|
43533
|
+
* **Opted into, never the default.** Three stats whose labels ran to about
|
|
43534
|
+
* forty characters broke two and one at 768 pixels, the third alone on a row
|
|
43535
|
+
* with its rule; and a count is what a set of facts read across wants, where
|
|
43536
|
+
* figures compared one against another keep their own widths.
|
|
43454
43537
|
* - `divided`: Draws a rule between the figures, in addition to the space.
|
|
43455
43538
|
* - `label`: Accessible name for the group.
|
|
43456
43539
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
@@ -43484,6 +43567,7 @@ export type CustomElements = {
|
|
|
43484
43567
|
*
|
|
43485
43568
|
* CSS variables available for styling the component.
|
|
43486
43569
|
*
|
|
43570
|
+
* - `--stat-group-columns`: An explicit track list while `columns` is set, such as one column below a width. (default: `undefined`)
|
|
43487
43571
|
* - `--stat-group-gap`: Space between figures. (default: `undefined`)
|
|
43488
43572
|
*
|
|
43489
43573
|
* ## CSS States
|
|
@@ -50476,6 +50560,14 @@ export type CustomElementsSolidJs = {
|
|
|
50476
50560
|
*
|
|
50477
50561
|
* Written to select from outside, and read to act on the selection.
|
|
50478
50562
|
* - `stopped-label`/`stoppedLabel`: The text announced when a connection is stopped before it is requested.
|
|
50563
|
+
* - `tone-labels`/`toneLabels`: What each tone means on this board, in words read out with the cards and
|
|
50564
|
+
* connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
50565
|
+
*
|
|
50566
|
+
* **Named by the page, since the tone names a color and the page gives it
|
|
50567
|
+
* its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
50568
|
+
* red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
50569
|
+
* see the board is told by the color; this is how a reader who cannot is
|
|
50570
|
+
* told the same. A tone left out is not read.
|
|
50479
50571
|
* - `view`: The board's current view: the document's point at the middle of the view,
|
|
50480
50572
|
* and the zoom.
|
|
50481
50573
|
*
|
|
@@ -61464,6 +61556,10 @@ export type CustomElementsSolidJs = {
|
|
|
61464
61556
|
* room than the row does, which is what a select's closed trigger has. Empty
|
|
61465
61557
|
* means the row's own content, which is the common case and is why this is not
|
|
61466
61558
|
* simply the accessible name.
|
|
61559
|
+
*
|
|
61560
|
+
* **An option with a label and nothing in it shows the label**, as
|
|
61561
|
+
* `<option label>` does: written the platform's way, a select listed a row of
|
|
61562
|
+
* nothing for every choice.
|
|
61467
61563
|
* - `selected`: Whether this choice is currently chosen.
|
|
61468
61564
|
*
|
|
61469
61565
|
* Written by the listbox.
|
|
@@ -61528,7 +61624,10 @@ export type CustomElementsSolidJs = {
|
|
|
61528
61624
|
*
|
|
61529
61625
|
* It is worse than one wrong label, because of the six readers listed above:
|
|
61530
61626
|
* the filter and Combobox's match compare against this string, so a marker in
|
|
61531
|
-
* it is in every comparison too.
|
|
61627
|
+
* it is in every comparison too.
|
|
61628
|
+
*
|
|
61629
|
+
* **The `label` where the slot holds nothing**, which is what the row shows
|
|
61630
|
+
* then, so the six read the words a reader sees. (property only) (readonly)
|
|
61532
61631
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
61533
61632
|
*
|
|
61534
61633
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -65555,10 +65654,20 @@ export type CustomElementsSolidJs = {
|
|
|
65555
65654
|
* width. Figures are read by comparing them, and equal columns would make a
|
|
65556
65655
|
* four-digit number and a two-digit one look like the same quantity.
|
|
65557
65656
|
*
|
|
65657
|
+
* Set `columns` where the stats are a set to be read across, such as three
|
|
65658
|
+
* facts about one thing: they then share the row equally, their labels wrap
|
|
65659
|
+
* within their own column, and the rule between them follows the rows.
|
|
65660
|
+
*
|
|
65558
65661
|
* ## Attributes & Properties
|
|
65559
65662
|
*
|
|
65560
65663
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
65561
65664
|
*
|
|
65665
|
+
* - `columns`: A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.
|
|
65666
|
+
*
|
|
65667
|
+
* **Opted into, never the default.** Three stats whose labels ran to about
|
|
65668
|
+
* forty characters broke two and one at 768 pixels, the third alone on a row
|
|
65669
|
+
* with its rule; and a count is what a set of facts read across wants, where
|
|
65670
|
+
* figures compared one against another keep their own widths.
|
|
65562
65671
|
* - `divided`: Draws a rule between the figures, in addition to the space.
|
|
65563
65672
|
* - `label`: Accessible name for the group.
|
|
65564
65673
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
@@ -65592,6 +65701,7 @@ export type CustomElementsSolidJs = {
|
|
|
65592
65701
|
*
|
|
65593
65702
|
* CSS variables available for styling the component.
|
|
65594
65703
|
*
|
|
65704
|
+
* - `--stat-group-columns`: An explicit track list while `columns` is set, such as one column below a width. (default: `undefined`)
|
|
65595
65705
|
* - `--stat-group-gap`: Space between figures. (default: `undefined`)
|
|
65596
65706
|
*
|
|
65597
65707
|
* ## CSS States
|
|
@@ -71110,6 +71220,8 @@ export type CustomCssProperties = {
|
|
|
71110
71220
|
"--splitter-corner-at"?: (string) | undefined;
|
|
71111
71221
|
/** Where the divider sits, as a percentage of the box. */
|
|
71112
71222
|
"--splitter-position"?: (string) | undefined;
|
|
71223
|
+
/** An explicit track list while `columns` is set, such as one column below a width. */
|
|
71224
|
+
"--stat-group-columns"?: (string) | undefined;
|
|
71113
71225
|
/** Space between figures. */
|
|
71114
71226
|
"--stat-group-gap"?: (string) | undefined;
|
|
71115
71227
|
/** Size of the figure. */
|
package/types/svelte.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ declare module 'svelte/elements' {
|
|
|
25
25
|
'helix-callout': CustomElements['helix-callout']
|
|
26
26
|
'helix-canvas-edge': CustomElements['helix-canvas-edge']
|
|
27
27
|
'helix-canvas-node': CustomElements['helix-canvas-node']
|
|
28
|
+
'danger': CustomElements['danger']
|
|
29
|
+
'success': CustomElements['success']
|
|
28
30
|
'helix-canvas': CustomElements['helix-canvas']
|
|
29
31
|
'helix-card': CustomElements['helix-card']
|
|
30
32
|
'helix-carousel': CustomElements['helix-carousel']
|
package/types/vue.d.ts
CHANGED
|
@@ -1777,6 +1777,24 @@ Written to select from outside, and read to act on the selection. */
|
|
|
1777
1777
|
"stopped-label"?: (HelixCanvas["stoppedLabel"]) | undefined;
|
|
1778
1778
|
/** The text announced when a connection is stopped before it is requested. */
|
|
1779
1779
|
stoppedLabel?: (HelixCanvas["stoppedLabel"]) | undefined;
|
|
1780
|
+
/** What each tone means on this board, in words read out with the cards and
|
|
1781
|
+
connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
1782
|
+
|
|
1783
|
+
**Named by the page, since the tone names a color and the page gives it
|
|
1784
|
+
its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
1785
|
+
red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
1786
|
+
see the board is told by the color; this is how a reader who cannot is
|
|
1787
|
+
told the same. A tone left out is not read. */
|
|
1788
|
+
"tone-labels"?: (HelixCanvas["toneLabels"]) | undefined;
|
|
1789
|
+
/** What each tone means on this board, in words read out with the cards and
|
|
1790
|
+
connections in it, such as `{"danger": "Blocked", "success": "Done"}`.
|
|
1791
|
+
|
|
1792
|
+
**Named by the page, since the tone names a color and the page gives it
|
|
1793
|
+
its meaning.** JSON Canvas leaves its six colors to the application, so
|
|
1794
|
+
red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
1795
|
+
see the board is told by the color; this is how a reader who cannot is
|
|
1796
|
+
told the same. A tone left out is not read. */
|
|
1797
|
+
toneLabels?: (HelixCanvas["toneLabels"]) | undefined;
|
|
1780
1798
|
/** The board's current view: the document's point at the middle of the view,
|
|
1781
1799
|
and the zoom.
|
|
1782
1800
|
|
|
@@ -8554,7 +8572,11 @@ string is not a fact a selector needs. */
|
|
|
8554
8572
|
`<option label>`'s own meaning: the text a chooser shows when it has less
|
|
8555
8573
|
room than the row does, which is what a select's closed trigger has. Empty
|
|
8556
8574
|
means the row's own content, which is the common case and is why this is not
|
|
8557
|
-
simply the accessible name.
|
|
8575
|
+
simply the accessible name.
|
|
8576
|
+
|
|
8577
|
+
**An option with a label and nothing in it shows the label**, as
|
|
8578
|
+
`<option label>` does: written the platform's way, a select listed a row of
|
|
8579
|
+
nothing for every choice. */
|
|
8558
8580
|
label?: (HelixOption["label"]) | undefined;
|
|
8559
8581
|
/** Whether this choice is currently chosen.
|
|
8560
8582
|
|
|
@@ -10740,6 +10762,13 @@ export type HelixSplitterVueEvents = {
|
|
|
10740
10762
|
};
|
|
10741
10763
|
|
|
10742
10764
|
export type HelixStatGroupVueProps = {
|
|
10765
|
+
/** A fixed number of equal columns, from 2 to 6. Unset, the stats wrap as they fit.
|
|
10766
|
+
|
|
10767
|
+
**Opted into, never the default.** Three stats whose labels ran to about
|
|
10768
|
+
forty characters broke two and one at 768 pixels, the third alone on a row
|
|
10769
|
+
with its rule; and a count is what a set of facts read across wants, where
|
|
10770
|
+
figures compared one against another keep their own widths. */
|
|
10771
|
+
columns?: (HelixStatGroup["columns"]) | undefined;
|
|
10743
10772
|
/** Draws a rule between the figures, in addition to the space. */
|
|
10744
10773
|
divided?: (HelixStatGroup["divided"]) | undefined;
|
|
10745
10774
|
/** Accessible name for the group. */
|
|
@@ -14388,6 +14417,8 @@ export type CustomCssProperties = {
|
|
|
14388
14417
|
"--splitter-corner-at"?: (string) | undefined;
|
|
14389
14418
|
/** Where the divider sits, as a percentage of the box. */
|
|
14390
14419
|
"--splitter-position"?: (string) | undefined;
|
|
14420
|
+
/** An explicit track list while `columns` is set, such as one column below a width. */
|
|
14421
|
+
"--stat-group-columns"?: (string) | undefined;
|
|
14391
14422
|
/** Space between figures. */
|
|
14392
14423
|
"--stat-group-gap"?: (string) | undefined;
|
|
14393
14424
|
/** Size of the figure. */
|
|
@@ -15278,7 +15309,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
15278
15309
|
HelixSplitterVueProps,
|
|
15279
15310
|
HelixSplitterVueEvents
|
|
15280
15311
|
>;
|
|
15281
|
-
/** Stats wrap onto a new line when space runs out, and each figure keeps its own width. Figures are read by comparing them, and equal columns would make a four-digit number and a two-digit one look like the same quantity. */
|
|
15312
|
+
/** Stats wrap onto a new line when space runs out, and each figure keeps its own width. Figures are read by comparing them, and equal columns would make a four-digit number and a two-digit one look like the same quantity. Set 'columns' where the stats are a set to be read across, such as three facts about one thing: they then share the row equally, their labels wrap within their own column, and the rule between them follows the rows. */
|
|
15282
15313
|
"helix-stat-group": DefineCustomElement<
|
|
15283
15314
|
HelixStatGroup,
|
|
15284
15315
|
HelixStatGroupVueProps,
|