@fusion.dev/helix 0.36.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +107 -83
- package/dist/color-input/root/color-input-root.d.ts +2 -2
- package/dist/combobox/root/combobox-root.d.ts +2 -2
- package/dist/date-input/root/date-input-root.d.ts +1 -1
- package/dist/drawer/root/drawer-root.css.js +1 -1
- package/dist/drawer/root/drawer-root.d.ts +5 -5
- package/dist/drilldown/item/drilldown-item.d.ts +1 -1
- package/dist/drilldown/root/drilldown-root.d.ts +1 -1
- package/dist/element-events.generated.js +1 -1
- package/dist/input/root/input-root.d.ts +6 -3
- package/dist/listbox/root/listbox-root.d.ts +1 -1
- package/dist/megamenu/root/megamenu-root.css.js +4 -4
- package/dist/megamenu/root/megamenu-root.d.ts +3 -2
- package/dist/number-input/root/number-input-root.d.ts +1 -1
- package/dist/outline/root/outline-root.d.ts +5 -3
- package/dist/rating/root/rating-root.d.ts +1 -1
- package/dist/select/root/select-root.d.ts +1 -1
- package/dist/time-input/root/time-input-root.d.ts +1 -1
- package/dist/tooltip/root/tooltip-root.d.ts +2 -2
- package/package.json +6 -6
- package/types/jsx.d.ts +168 -102
- package/types/vue.d.ts +53 -38
package/custom-elements.json
CHANGED
|
@@ -22305,7 +22305,7 @@
|
|
|
22305
22305
|
"name": "--color-input-swatch-radius"
|
|
22306
22306
|
},
|
|
22307
22307
|
{
|
|
22308
|
-
"description": "Edge length of the block in `
|
|
22308
|
+
"description": "Edge length of the block in `variant=\"swatch\"`.",
|
|
22309
22309
|
"name": "--color-input-swatch-size"
|
|
22310
22310
|
},
|
|
22311
22311
|
{
|
|
@@ -23686,7 +23686,7 @@
|
|
|
23686
23686
|
"helix": {
|
|
23687
23687
|
"category": "forms",
|
|
23688
23688
|
"since": "0.1.0",
|
|
23689
|
-
"status": "
|
|
23689
|
+
"status": "stable",
|
|
23690
23690
|
"documentation": "https://fusion.dev/helix/components/color-input",
|
|
23691
23691
|
"aliases": [
|
|
23692
23692
|
"ColorField",
|
|
@@ -26164,7 +26164,7 @@
|
|
|
26164
26164
|
"name": "--combobox-border-width"
|
|
26165
26165
|
},
|
|
26166
26166
|
{
|
|
26167
|
-
"description": "Smallest the text field shrinks to",
|
|
26167
|
+
"description": "Smallest the text field shrinks to once tags share its line.",
|
|
26168
26168
|
"name": "--combobox-control-size"
|
|
26169
26169
|
},
|
|
26170
26170
|
{
|
|
@@ -26986,7 +26986,7 @@
|
|
|
26986
26986
|
"text": "boolean"
|
|
26987
26987
|
},
|
|
26988
26988
|
"default": "false",
|
|
26989
|
-
"description": "Whether more than one option can be chosen.\n\nThe list already does the work: `value` comes apart on commas, a press\ntoggles rather than replaces, and the arrows move without choosing. What\nthis adds is the tags, and keeping the panel open between picks.\n\nA comma is therefore not available inside an option's value, which is the\nlistbox's contract and not this element's to change.",
|
|
26989
|
+
"description": "Whether more than one option can be chosen.\n\nThe list already does the work: `value` comes apart on commas, a press\ntoggles rather than replaces, and the arrows move without choosing. What\nthis adds is the tags, and keeping the panel open between picks.\n\nA comma is therefore not available inside an option's value, which is the\nlistbox's contract and not this element's to change.\n\n**The list is told, and the field is not.** `aria-multiselectable` belongs\nto `listbox`, `grid`, `tree` and `tablist`, and `combobox` dropped it in\nARIA 1.2; the list sets it on itself through `ElementInternals`, where a\nreader on the field hears it through `aria-controls`. This element wrote it\nonto its own `role=\"combobox\"` input as well, which an audit reports as a\nproperty the role does not support and no spec here ever asserted: the one\nthat covers this says in as many words that telling the list is what this\nelement is responsible for.",
|
|
26990
26990
|
"attribute": "multiple",
|
|
26991
26991
|
"inheritedFrom": {
|
|
26992
26992
|
"name": "HelixHeadlessCombobox",
|
|
@@ -27882,7 +27882,7 @@
|
|
|
27882
27882
|
"helix": {
|
|
27883
27883
|
"category": "forms",
|
|
27884
27884
|
"since": "0.1.0",
|
|
27885
|
-
"status": "
|
|
27885
|
+
"status": "stable",
|
|
27886
27886
|
"documentation": "https://fusion.dev/helix/components/combobox",
|
|
27887
27887
|
"aliases": [
|
|
27888
27888
|
"Autocomplete",
|
|
@@ -28194,7 +28194,7 @@
|
|
|
28194
28194
|
"text": "boolean"
|
|
28195
28195
|
},
|
|
28196
28196
|
"default": "false",
|
|
28197
|
-
"description": "Whether more than one option can be chosen.\n\nThe list already does the work: `value` comes apart on commas, a press\ntoggles rather than replaces, and the arrows move without choosing. What\nthis adds is the tags, and keeping the panel open between picks.\n\nA comma is therefore not available inside an option's value, which is the\nlistbox's contract and not this element's to change.",
|
|
28197
|
+
"description": "Whether more than one option can be chosen.\n\nThe list already does the work: `value` comes apart on commas, a press\ntoggles rather than replaces, and the arrows move without choosing. What\nthis adds is the tags, and keeping the panel open between picks.\n\nA comma is therefore not available inside an option's value, which is the\nlistbox's contract and not this element's to change.\n\n**The list is told, and the field is not.** `aria-multiselectable` belongs\nto `listbox`, `grid`, `tree` and `tablist`, and `combobox` dropped it in\nARIA 1.2; the list sets it on itself through `ElementInternals`, where a\nreader on the field hears it through `aria-controls`. This element wrote it\nonto its own `role=\"combobox\"` input as well, which an audit reports as a\nproperty the role does not support and no spec here ever asserted: the one\nthat covers this says in as many words that telling the list is what this\nelement is responsible for.",
|
|
28198
28198
|
"fieldName": "multiple",
|
|
28199
28199
|
"inheritedFrom": {
|
|
28200
28200
|
"name": "HelixHeadlessCombobox",
|
|
@@ -35765,7 +35765,7 @@
|
|
|
35765
35765
|
"helix": {
|
|
35766
35766
|
"category": "forms",
|
|
35767
35767
|
"since": "0.1.0",
|
|
35768
|
-
"status": "
|
|
35768
|
+
"status": "stable",
|
|
35769
35769
|
"documentation": "https://fusion.dev/helix/components/date-input",
|
|
35770
35770
|
"aliases": [
|
|
35771
35771
|
"DatePicker",
|
|
@@ -42247,7 +42247,7 @@
|
|
|
42247
42247
|
"name": "HelixDrawer",
|
|
42248
42248
|
"cssProperties": [
|
|
42249
42249
|
{
|
|
42250
|
-
"description": "Filter applied behind a `
|
|
42250
|
+
"description": "Filter applied behind a `frosted` or `glass` drawer. Follows the theme's material policy; set it to override the strength on one drawer.",
|
|
42251
42251
|
"name": "--drawer-backdrop"
|
|
42252
42252
|
},
|
|
42253
42253
|
{
|
|
@@ -42267,7 +42267,7 @@
|
|
|
42267
42267
|
"name": "--drawer-padding"
|
|
42268
42268
|
},
|
|
42269
42269
|
{
|
|
42270
|
-
"description": "Padding above the
|
|
42270
|
+
"description": "Padding above the header, which is a step deeper than the other three so the first line clears the window's own edge. Falls back to `--drawer-padding`, so setting that alone governs all four sides.",
|
|
42271
42271
|
"name": "--drawer-padding-block-start"
|
|
42272
42272
|
},
|
|
42273
42273
|
{
|
|
@@ -42913,56 +42913,6 @@
|
|
|
42913
42913
|
}
|
|
42914
42914
|
}
|
|
42915
42915
|
],
|
|
42916
|
-
"events": [
|
|
42917
|
-
{
|
|
42918
|
-
"type": {
|
|
42919
|
-
"text": "HelixBeforeOpenEvent"
|
|
42920
|
-
},
|
|
42921
|
-
"description": "Fired before the drawer opens or closes. Cancelable: refusing it takes the decision and nothing moves.",
|
|
42922
|
-
"name": "helix-before-open",
|
|
42923
|
-
"reactProp": "onhelix-before-open",
|
|
42924
|
-
"inheritedFrom": {
|
|
42925
|
-
"name": "HelixHeadlessDrawer",
|
|
42926
|
-
"module": "src/drawer/root/drawer-root.ts"
|
|
42927
|
-
}
|
|
42928
|
-
},
|
|
42929
|
-
{
|
|
42930
|
-
"type": {
|
|
42931
|
-
"text": "Event"
|
|
42932
|
-
},
|
|
42933
|
-
"description": "Relayed, because the platform's own does not escape.",
|
|
42934
|
-
"name": "close",
|
|
42935
|
-
"reactProp": "onclose",
|
|
42936
|
-
"inheritedFrom": {
|
|
42937
|
-
"name": "HelixHeadlessDrawer",
|
|
42938
|
-
"module": "src/drawer/root/drawer-root.ts"
|
|
42939
|
-
}
|
|
42940
|
-
},
|
|
42941
|
-
{
|
|
42942
|
-
"type": {
|
|
42943
|
-
"text": "HelixBeforeCloseEvent"
|
|
42944
|
-
},
|
|
42945
|
-
"description": "Fired before the panel closes, and cancelable.",
|
|
42946
|
-
"name": "helix-before-close",
|
|
42947
|
-
"reactProp": "onhelix-before-close",
|
|
42948
|
-
"inheritedFrom": {
|
|
42949
|
-
"name": "HelixHeadlessDrawer",
|
|
42950
|
-
"module": "src/drawer/root/drawer-root.ts"
|
|
42951
|
-
}
|
|
42952
|
-
},
|
|
42953
|
-
{
|
|
42954
|
-
"type": {
|
|
42955
|
-
"text": "Event"
|
|
42956
|
-
},
|
|
42957
|
-
"description": "Says the state moved, carrying `newState` and `oldState`.",
|
|
42958
|
-
"name": "toggle",
|
|
42959
|
-
"reactProp": "ontoggle",
|
|
42960
|
-
"inheritedFrom": {
|
|
42961
|
-
"name": "HelixHeadlessDrawer",
|
|
42962
|
-
"module": "src/drawer/root/drawer-root.ts"
|
|
42963
|
-
}
|
|
42964
|
-
}
|
|
42965
|
-
],
|
|
42966
42916
|
"attributes": [
|
|
42967
42917
|
{
|
|
42968
42918
|
"name": "material",
|
|
@@ -43056,7 +43006,7 @@
|
|
|
43056
43006
|
"helix": {
|
|
43057
43007
|
"category": "overlays",
|
|
43058
43008
|
"since": "0.1.0",
|
|
43059
|
-
"status": "
|
|
43009
|
+
"status": "stable",
|
|
43060
43010
|
"documentation": "https://fusion.dev/helix/components/drawer",
|
|
43061
43011
|
"aliases": [
|
|
43062
43012
|
"Sheet",
|
|
@@ -43091,6 +43041,56 @@
|
|
|
43091
43041
|
},
|
|
43092
43042
|
"tagName": "helix-drawer",
|
|
43093
43043
|
"customElement": true,
|
|
43044
|
+
"events": [
|
|
43045
|
+
{
|
|
43046
|
+
"type": {
|
|
43047
|
+
"text": "Event"
|
|
43048
|
+
},
|
|
43049
|
+
"description": "Relayed, because the platform's own does not escape.",
|
|
43050
|
+
"name": "close",
|
|
43051
|
+
"reactProp": "onclose",
|
|
43052
|
+
"inheritedFrom": {
|
|
43053
|
+
"name": "HelixHeadlessDrawer",
|
|
43054
|
+
"module": "src/drawer/root/drawer-root.ts"
|
|
43055
|
+
}
|
|
43056
|
+
},
|
|
43057
|
+
{
|
|
43058
|
+
"type": {
|
|
43059
|
+
"text": "HelixBeforeCloseEvent"
|
|
43060
|
+
},
|
|
43061
|
+
"description": "Fired before the panel closes, and cancelable.",
|
|
43062
|
+
"name": "helix-before-close",
|
|
43063
|
+
"reactProp": "onhelix-before-close",
|
|
43064
|
+
"inheritedFrom": {
|
|
43065
|
+
"name": "HelixHeadlessDrawer",
|
|
43066
|
+
"module": "src/drawer/root/drawer-root.ts"
|
|
43067
|
+
}
|
|
43068
|
+
},
|
|
43069
|
+
{
|
|
43070
|
+
"type": {
|
|
43071
|
+
"text": "HelixBeforeOpenEvent"
|
|
43072
|
+
},
|
|
43073
|
+
"description": "Fired before the panel opens. Cancelable: refusing it takes the decision and nothing moves.",
|
|
43074
|
+
"name": "helix-before-open",
|
|
43075
|
+
"reactProp": "onhelix-before-open",
|
|
43076
|
+
"inheritedFrom": {
|
|
43077
|
+
"name": "HelixHeadlessDrawer",
|
|
43078
|
+
"module": "src/drawer/root/drawer-root.ts"
|
|
43079
|
+
}
|
|
43080
|
+
},
|
|
43081
|
+
{
|
|
43082
|
+
"type": {
|
|
43083
|
+
"text": "Event"
|
|
43084
|
+
},
|
|
43085
|
+
"description": "Says the state moved, carrying `newState` and `oldState`.",
|
|
43086
|
+
"name": "toggle",
|
|
43087
|
+
"reactProp": "ontoggle",
|
|
43088
|
+
"inheritedFrom": {
|
|
43089
|
+
"name": "HelixHeadlessDrawer",
|
|
43090
|
+
"module": "src/drawer/root/drawer-root.ts"
|
|
43091
|
+
}
|
|
43092
|
+
}
|
|
43093
|
+
],
|
|
43094
43094
|
"cssStates": [
|
|
43095
43095
|
{
|
|
43096
43096
|
"description": "While the drawer is open.",
|
|
@@ -43649,7 +43649,7 @@
|
|
|
43649
43649
|
"summary": "One row of a drill-down, which may hold a page of its own.",
|
|
43650
43650
|
"helix": {
|
|
43651
43651
|
"since": "0.1.0",
|
|
43652
|
-
"status": "
|
|
43652
|
+
"status": "stable",
|
|
43653
43653
|
"documentation": "https://fusion.dev/helix/components/drilldown",
|
|
43654
43654
|
"aliases": [
|
|
43655
43655
|
"Panel item",
|
|
@@ -44498,7 +44498,7 @@
|
|
|
44498
44498
|
"helix": {
|
|
44499
44499
|
"category": "navigation",
|
|
44500
44500
|
"since": "0.1.0",
|
|
44501
|
-
"status": "
|
|
44501
|
+
"status": "stable",
|
|
44502
44502
|
"documentation": "https://fusion.dev/helix/components/drilldown",
|
|
44503
44503
|
"aliases": [
|
|
44504
44504
|
"Panel",
|
|
@@ -44672,6 +44672,14 @@
|
|
|
44672
44672
|
}
|
|
44673
44673
|
],
|
|
44674
44674
|
"cssStates": [
|
|
44675
|
+
{
|
|
44676
|
+
"description": "While a row's page is showing rather than the top one, so a frame around this can answer the depth it is at.",
|
|
44677
|
+
"name": "drilled",
|
|
44678
|
+
"inheritedFrom": {
|
|
44679
|
+
"name": "HelixHeadlessDrilldown",
|
|
44680
|
+
"module": "src/drilldown/root/drilldown-root.ts"
|
|
44681
|
+
}
|
|
44682
|
+
},
|
|
44675
44683
|
{
|
|
44676
44684
|
"description": "Set a frame after the first render. Transitions are held off until it is, so an element never animates its own arrival.",
|
|
44677
44685
|
"name": "settled",
|
|
@@ -58602,7 +58610,7 @@
|
|
|
58602
58610
|
"declarations": [
|
|
58603
58611
|
{
|
|
58604
58612
|
"kind": "class",
|
|
58605
|
-
"description": "The frame is the field rather than the input, so anything slotted at either\nend sits inside the same box as the text and the focus ring is drawn once,\naround the whole control, instead of around a smaller box within it.\n\nThe input itself is the native one, stripped rather than replaced, so the\ncaret, the selection, the autofill, and the keyboard a phone chooses are all\nthe platform's.\n\nHeight comes from the region, like every other control: `data-density` on\nwhatever holds it, not a `size` here. Invalid styling waits for
|
|
58613
|
+
"description": "The frame is the field rather than the input, so anything slotted at either\nend sits inside the same box as the text and the focus ring is drawn once,\naround the whole control, instead of around a smaller box within it.\n\nThe input itself is the native one, stripped rather than replaced, so the\ncaret, the selection, the autofill, and the keyboard a phone chooses are all\nthe platform's.\n\nHeight comes from the region, like every other control: `data-density` on\nwhatever holds it, not a `size` here. Invalid styling waits for the `invalid`\ncustom state, because a field is not wrong before anyone has filled it in and\n`:user-invalid` cannot answer that here: it tracks the control the reader is\nin, which is inside this shadow root, so it never reaches the host the rule\nselects on.",
|
|
58606
58614
|
"name": "HelixInput",
|
|
58607
58615
|
"cssProperties": [
|
|
58608
58616
|
{
|
|
@@ -59091,7 +59099,7 @@
|
|
|
59091
59099
|
"text": "boolean"
|
|
59092
59100
|
},
|
|
59093
59101
|
"default": "false",
|
|
59094
|
-
"description": "Whether the field refuses input while still submitting its value.\n\n**The attribute is `readonly`, which is the platform's spelling.** A\ncamelCase property needs an explicit `attribute`, and dash-casing a word\nHTML writes as one costs what an attribute always costs here: nothing\nwarns. `<helix-input readonly>` is what anybody who has written HTML types;\nagainst `read-only` it parses to no property at all, and the field stays\neditable with no error anywhere. Measured on the dash-cased form, `readOnly`\ncame back `false
|
|
59102
|
+
"description": "Whether the field refuses input while still submitting its value.\n\n**The attribute is `readonly`, which is the platform's spelling.** A\ncamelCase property needs an explicit `attribute`, and dash-casing a word\nHTML writes as one costs what an attribute always costs here: nothing\nwarns. `<helix-input readonly>` is what anybody who has written HTML types;\nagainst `read-only` it parses to no property at all, and the field stays\neditable with no error anywhere. Measured on the dash-cased form, `readOnly`\ncame back `false`.",
|
|
59095
59103
|
"attribute": "readonly",
|
|
59096
59104
|
"reflects": true,
|
|
59097
59105
|
"inheritedFrom": {
|
|
@@ -59877,7 +59885,7 @@
|
|
|
59877
59885
|
"helix": {
|
|
59878
59886
|
"category": "forms",
|
|
59879
59887
|
"since": "0.1.0",
|
|
59880
|
-
"status": "
|
|
59888
|
+
"status": "stable",
|
|
59881
59889
|
"documentation": "https://fusion.dev/helix/components/input",
|
|
59882
59890
|
"aliases": [
|
|
59883
59891
|
"TextField",
|
|
@@ -60102,7 +60110,7 @@
|
|
|
60102
60110
|
"text": "boolean"
|
|
60103
60111
|
},
|
|
60104
60112
|
"default": "false",
|
|
60105
|
-
"description": "Whether the field refuses input while still submitting its value.\n\n**The attribute is `readonly`, which is the platform's spelling.** A\ncamelCase property needs an explicit `attribute`, and dash-casing a word\nHTML writes as one costs what an attribute always costs here: nothing\nwarns. `<helix-input readonly>` is what anybody who has written HTML types;\nagainst `read-only` it parses to no property at all, and the field stays\neditable with no error anywhere. Measured on the dash-cased form, `readOnly`\ncame back `false
|
|
60113
|
+
"description": "Whether the field refuses input while still submitting its value.\n\n**The attribute is `readonly`, which is the platform's spelling.** A\ncamelCase property needs an explicit `attribute`, and dash-casing a word\nHTML writes as one costs what an attribute always costs here: nothing\nwarns. `<helix-input readonly>` is what anybody who has written HTML types;\nagainst `read-only` it parses to no property at all, and the field stays\neditable with no error anywhere. Measured on the dash-cased form, `readOnly`\ncame back `false`.",
|
|
60106
60114
|
"fieldName": "readOnly",
|
|
60107
60115
|
"inheritedFrom": {
|
|
60108
60116
|
"name": "HelixHeadlessInput",
|
|
@@ -65737,7 +65745,7 @@
|
|
|
65737
65745
|
"helix": {
|
|
65738
65746
|
"category": "forms",
|
|
65739
65747
|
"since": "0.1.0",
|
|
65740
|
-
"status": "
|
|
65748
|
+
"status": "stable",
|
|
65741
65749
|
"documentation": "https://fusion.dev/helix/components/listbox",
|
|
65742
65750
|
"aliases": [
|
|
65743
65751
|
"Options",
|
|
@@ -66016,6 +66024,14 @@
|
|
|
66016
66024
|
"module": "src/listbox/root/listbox-root.ts"
|
|
66017
66025
|
}
|
|
66018
66026
|
},
|
|
66027
|
+
{
|
|
66028
|
+
"description": "The mark in the filter's field. Left empty, a magnifier is drawn.",
|
|
66029
|
+
"name": "filter-icon",
|
|
66030
|
+
"inheritedFrom": {
|
|
66031
|
+
"name": "HelixHeadlessListbox",
|
|
66032
|
+
"module": "src/listbox/root/listbox-root.ts"
|
|
66033
|
+
}
|
|
66034
|
+
},
|
|
66019
66035
|
{
|
|
66020
66036
|
"description": "Richer than a string.",
|
|
66021
66037
|
"name": "hint",
|
|
@@ -66816,7 +66832,7 @@
|
|
|
66816
66832
|
"name": "HelixMegamenu",
|
|
66817
66833
|
"cssProperties": [
|
|
66818
66834
|
{
|
|
66819
|
-
"description": "A filter behind the panel, for
|
|
66835
|
+
"description": "A filter behind the panel, which is `none` until one is asked for: this family carries no `material`, so the pair is two hooks rather than a word.",
|
|
66820
66836
|
"name": "--megamenu-backdrop"
|
|
66821
66837
|
},
|
|
66822
66838
|
{
|
|
@@ -66966,7 +66982,7 @@
|
|
|
66966
66982
|
"text": "number"
|
|
66967
66983
|
},
|
|
66968
66984
|
"default": "640",
|
|
66969
|
-
"description": "The width, in pixels, under which a card becomes a band. Zero never does.\n\nA card is a panel hung off one word, and there is no room to hang anything\noff a word on a phone: the columns do not shrink past\n`--megamenu-column-size`, so four of them stay four of them and the panel\nruns off the side of the screen rather than reflowing. Below this it takes\nthe whole width and its columns stack, which is the only arrangement that\nfits.\n\n**In script rather than a media query, and only once.** Whether the panel is\na band is not a question of paint: a band is not placed against the trigger,\nso the controller has to be told not to measure, and that decision is here\nwhatever the stylesheet says. Writing the width in both places would be one\nnumber in two languages, drifting the first time either moved. This
|
|
66985
|
+
"description": "The width, in pixels, under which a card becomes a band. Zero never does.\n\nA card is a panel hung off one word, and there is no room to hang anything\noff a word on a phone: the columns do not shrink past\n`--megamenu-column-size`, so four of them stay four of them and the panel\nruns off the side of the screen rather than reflowing. Below this it takes\nthe whole width and its columns stack, which is the only arrangement that\nfits.\n\n**In script rather than a media query, and only once.** Whether the panel is\na band is not a question of paint: a band is not placed against the trigger,\nso the controller has to be told not to measure, and that decision is here\nwhatever the stylesheet says. Writing the width in both places would be one\nnumber in two languages, drifting the first time either moved. This records\n`:state(narrow)` on the host and the stylesheet arranges itself off that.\n\n**A custom state and never `data-narrow`, which is what it was.** The width\nis read in `connectedCallback`, so on a phone this is true on the very first\nupdate: an attribute written there is markup a consumer's server never sent,\nwhich React reports as a mismatch and answers by rebuilding the subtree. The\nnarrow exception the server specs describe covers a mirror that can only\nbecome true long after hydration, and a viewport measured before the first\npaint is the opposite case. See `MixinControllerOpen` on `open`.",
|
|
66970
66986
|
"attribute": "full-below",
|
|
66971
66987
|
"inheritedFrom": {
|
|
66972
66988
|
"name": "HelixHeadlessMegamenu",
|
|
@@ -67684,7 +67700,7 @@
|
|
|
67684
67700
|
"helix": {
|
|
67685
67701
|
"category": "navigation",
|
|
67686
67702
|
"since": "0.1.0",
|
|
67687
|
-
"status": "
|
|
67703
|
+
"status": "stable",
|
|
67688
67704
|
"documentation": "https://fusion.dev/helix/components/megamenu",
|
|
67689
67705
|
"aliases": [
|
|
67690
67706
|
"Mega menu",
|
|
@@ -67757,7 +67773,7 @@
|
|
|
67757
67773
|
"text": "number"
|
|
67758
67774
|
},
|
|
67759
67775
|
"default": "640",
|
|
67760
|
-
"description": "The width, in pixels, under which a card becomes a band. Zero never does.\n\nA card is a panel hung off one word, and there is no room to hang anything\noff a word on a phone: the columns do not shrink past\n`--megamenu-column-size`, so four of them stay four of them and the panel\nruns off the side of the screen rather than reflowing. Below this it takes\nthe whole width and its columns stack, which is the only arrangement that\nfits.\n\n**In script rather than a media query, and only once.** Whether the panel is\na band is not a question of paint: a band is not placed against the trigger,\nso the controller has to be told not to measure, and that decision is here\nwhatever the stylesheet says. Writing the width in both places would be one\nnumber in two languages, drifting the first time either moved. This
|
|
67776
|
+
"description": "The width, in pixels, under which a card becomes a band. Zero never does.\n\nA card is a panel hung off one word, and there is no room to hang anything\noff a word on a phone: the columns do not shrink past\n`--megamenu-column-size`, so four of them stay four of them and the panel\nruns off the side of the screen rather than reflowing. Below this it takes\nthe whole width and its columns stack, which is the only arrangement that\nfits.\n\n**In script rather than a media query, and only once.** Whether the panel is\na band is not a question of paint: a band is not placed against the trigger,\nso the controller has to be told not to measure, and that decision is here\nwhatever the stylesheet says. Writing the width in both places would be one\nnumber in two languages, drifting the first time either moved. This records\n`:state(narrow)` on the host and the stylesheet arranges itself off that.\n\n**A custom state and never `data-narrow`, which is what it was.** The width\nis read in `connectedCallback`, so on a phone this is true on the very first\nupdate: an attribute written there is markup a consumer's server never sent,\nwhich React reports as a mismatch and answers by rebuilding the subtree. The\nnarrow exception the server specs describe covers a mirror that can only\nbecome true long after hydration, and a viewport measured before the first\npaint is the opposite case. See `MixinControllerOpen` on `open`.",
|
|
67761
67777
|
"fieldName": "fullBelow",
|
|
67762
67778
|
"inheritedFrom": {
|
|
67763
67779
|
"name": "HelixHeadlessMegamenu",
|
|
@@ -67878,6 +67894,14 @@
|
|
|
67878
67894
|
}
|
|
67879
67895
|
],
|
|
67880
67896
|
"cssStates": [
|
|
67897
|
+
{
|
|
67898
|
+
"description": "While the page is under `full-below`, so the panel is a band whether or not one was asked for.",
|
|
67899
|
+
"name": "narrow",
|
|
67900
|
+
"inheritedFrom": {
|
|
67901
|
+
"name": "HelixHeadlessMegamenu",
|
|
67902
|
+
"module": "src/megamenu/root/megamenu-root.ts"
|
|
67903
|
+
}
|
|
67904
|
+
},
|
|
67881
67905
|
{
|
|
67882
67906
|
"description": "While the panel is open, which is when the trigger reads as current.",
|
|
67883
67907
|
"name": "open",
|
|
@@ -76055,7 +76079,7 @@
|
|
|
76055
76079
|
"helix": {
|
|
76056
76080
|
"category": "forms",
|
|
76057
76081
|
"since": "0.1.0",
|
|
76058
|
-
"status": "
|
|
76082
|
+
"status": "stable",
|
|
76059
76083
|
"documentation": "https://fusion.dev/helix/components/number-input",
|
|
76060
76084
|
"aliases": [
|
|
76061
76085
|
"NumberField",
|
|
@@ -80235,7 +80259,7 @@
|
|
|
80235
80259
|
"declarations": [
|
|
80236
80260
|
{
|
|
80237
80261
|
"kind": "class",
|
|
80238
|
-
"description": "A rule down the leading edge with the current section lit along it, which is\nthe shape a table of contents has taken since printed marginalia: the line\nsays the list is one thing, and the lit segment says where in it you are.\n\nNesting is the consumer's, expressed as `data-level` on a link. An
|
|
80262
|
+
"description": "A rule down the leading edge with the current section lit along it, which is\nthe shape a table of contents has taken since printed marginalia: the line\nsays the list is one thing, and the lit segment says where in it you are.\n\nNesting is the consumer's, expressed as `data-level` on a link, and the\nlevels are the heading levels: `2` through `6` each take one more step of\n`--outline-indent`, and a link with no `data-level` is the top one. An\noutline that read heading levels itself would have to look at the document,\nand the document is not always where the headings are.",
|
|
80239
80263
|
"name": "HelixOutline",
|
|
80240
80264
|
"cssProperties": [
|
|
80241
80265
|
{
|
|
@@ -80984,11 +81008,11 @@
|
|
|
80984
81008
|
"events": [
|
|
80985
81009
|
{
|
|
80986
81010
|
"type": {
|
|
80987
|
-
"text": "
|
|
81011
|
+
"text": "HelixActivateEvent"
|
|
80988
81012
|
},
|
|
80989
|
-
"description": "The section being read has changed, carrying its id as the value.
|
|
80990
|
-
"name": "helix-
|
|
80991
|
-
"reactProp": "onhelix-
|
|
81013
|
+
"description": "The section being read has changed, carrying its id as the value. An announcement: it is read off where the page is scrolled to, so there is no decision here to take.",
|
|
81014
|
+
"name": "helix-activate",
|
|
81015
|
+
"reactProp": "onhelix-activate",
|
|
80992
81016
|
"inheritedFrom": {
|
|
80993
81017
|
"name": "HelixHeadlessOutline",
|
|
80994
81018
|
"module": "src/outline/root/outline-root.ts"
|
|
@@ -90465,7 +90489,7 @@
|
|
|
90465
90489
|
"type": {
|
|
90466
90490
|
"text": "'dots' | 'marks' | undefined"
|
|
90467
90491
|
},
|
|
90468
|
-
"description": "Which mark the row is drawn with.\n\n`marks` is the star, and is what a rating means to most readers. `dots`\ndrops the glyph for a plain circle, which says how much rather than how\ngood: a star carries a judgment that a level of spice, a difficulty or a\nconfidence has not earned.\n\nBoth are one shape repeated and clipped to the score, so halves work in\neither, and both are only a choice of drawing. A scale whose marks are\n*different* drawings is a set of choices rather than a quantity: that is\n`Radio.Group`, whose options already carry a value and a name each.\n\n**Undefaulted, because it reflects.** A default of `marks` writes\n`
|
|
90492
|
+
"description": "Which mark the row is drawn with.\n\n`marks` is the star, and is what a rating means to most readers. `dots`\ndrops the glyph for a plain circle, which says how much rather than how\ngood: a star carries a judgment that a level of spice, a difficulty or a\nconfidence has not earned.\n\nBoth are one shape repeated and clipped to the score, so halves work in\neither, and both are only a choice of drawing. A scale whose marks are\n*different* drawings is a set of choices rather than a quantity: that is\n`Radio.Group`, whose options already carry a value and a name each.\n\n**Undefaulted, because it reflects.** A default of `marks` writes\n`variant=\"marks\"` onto every server-rendered rating, which React holds no\nprop for and reports as a hydration mismatch. The stylesheet names only\n`dots`, so an unset one draws marks anyway.",
|
|
90469
90493
|
"attribute": "variant",
|
|
90470
90494
|
"reflects": true
|
|
90471
90495
|
},
|
|
@@ -91684,7 +91708,7 @@
|
|
|
91684
91708
|
"type": {
|
|
91685
91709
|
"text": "'dots' | 'marks' | undefined"
|
|
91686
91710
|
},
|
|
91687
|
-
"description": "Which mark the row is drawn with.\n\n`marks` is the star, and is what a rating means to most readers. `dots`\ndrops the glyph for a plain circle, which says how much rather than how\ngood: a star carries a judgment that a level of spice, a difficulty or a\nconfidence has not earned.\n\nBoth are one shape repeated and clipped to the score, so halves work in\neither, and both are only a choice of drawing. A scale whose marks are\n*different* drawings is a set of choices rather than a quantity: that is\n`Radio.Group`, whose options already carry a value and a name each.\n\n**Undefaulted, because it reflects.** A default of `marks` writes\n`
|
|
91711
|
+
"description": "Which mark the row is drawn with.\n\n`marks` is the star, and is what a rating means to most readers. `dots`\ndrops the glyph for a plain circle, which says how much rather than how\ngood: a star carries a judgment that a level of spice, a difficulty or a\nconfidence has not earned.\n\nBoth are one shape repeated and clipped to the score, so halves work in\neither, and both are only a choice of drawing. A scale whose marks are\n*different* drawings is a set of choices rather than a quantity: that is\n`Radio.Group`, whose options already carry a value and a name each.\n\n**Undefaulted, because it reflects.** A default of `marks` writes\n`variant=\"marks\"` onto every server-rendered rating, which React holds no\nprop for and reports as a hydration mismatch. The stylesheet names only\n`dots`, so an unset one draws marks anyway.",
|
|
91688
91712
|
"fieldName": "variant"
|
|
91689
91713
|
},
|
|
91690
91714
|
{
|
|
@@ -98998,7 +99022,7 @@
|
|
|
98998
99022
|
"helix": {
|
|
98999
99023
|
"category": "forms",
|
|
99000
99024
|
"since": "0.1.0",
|
|
99001
|
-
"status": "
|
|
99025
|
+
"status": "stable",
|
|
99002
99026
|
"documentation": "https://fusion.dev/helix/components/select",
|
|
99003
99027
|
"aliases": [
|
|
99004
99028
|
"Dropdown",
|
|
@@ -119333,7 +119357,7 @@
|
|
|
119333
119357
|
"helix": {
|
|
119334
119358
|
"category": "forms",
|
|
119335
119359
|
"since": "0.1.0",
|
|
119336
|
-
"status": "
|
|
119360
|
+
"status": "stable",
|
|
119337
119361
|
"documentation": "https://fusion.dev/helix/components/time-input",
|
|
119338
119362
|
"aliases": [
|
|
119339
119363
|
"TimeField",
|
|
@@ -127160,7 +127184,7 @@
|
|
|
127160
127184
|
"name": "--tooltip-arrow-size"
|
|
127161
127185
|
},
|
|
127162
127186
|
{
|
|
127163
|
-
"description": "Blur behind a `glass` bubble.",
|
|
127187
|
+
"description": "Blur behind a `frosted` or `glass` bubble.",
|
|
127164
127188
|
"name": "--tooltip-backdrop"
|
|
127165
127189
|
},
|
|
127166
127190
|
{
|
|
@@ -128235,7 +128259,7 @@
|
|
|
128235
128259
|
"helix": {
|
|
128236
128260
|
"category": "overlays",
|
|
128237
128261
|
"since": "0.1.0",
|
|
128238
|
-
"status": "
|
|
128262
|
+
"status": "stable",
|
|
128239
128263
|
"documentation": "https://fusion.dev/helix/components/tooltip",
|
|
128240
128264
|
"aliases": [
|
|
128241
128265
|
"Hint",
|
|
@@ -22,7 +22,7 @@ import '../../color-picker/index.js';
|
|
|
22
22
|
* pads its own lower rows.
|
|
23
23
|
*
|
|
24
24
|
* @since 0.1.0
|
|
25
|
-
* @status
|
|
25
|
+
* @status stable
|
|
26
26
|
* @category forms
|
|
27
27
|
* @aliases ColorField, ColourInput, InputColor
|
|
28
28
|
* @documentation https://fusion.dev/helix/components/color-input
|
|
@@ -37,7 +37,7 @@ import '../../color-picker/index.js';
|
|
|
37
37
|
* `--helix-shadow-floating`: a floating surface sits over content nobody can predict, so it
|
|
38
38
|
* keeps a lift by default.
|
|
39
39
|
* @cssproperty --color-input-swatch-radius - Corner radius of that block.
|
|
40
|
-
* @cssproperty --color-input-swatch-size - Edge length of the block in `
|
|
40
|
+
* @cssproperty --color-input-swatch-size - Edge length of the block in `variant="swatch"`.
|
|
41
41
|
*/
|
|
42
42
|
export declare class HelixColorInput extends HelixHeadlessColorInput {
|
|
43
43
|
static tier: string;
|
|
@@ -11,7 +11,7 @@ import '../../tag/index.js';
|
|
|
11
11
|
* Input, Color Input and Date Input all take.
|
|
12
12
|
*
|
|
13
13
|
* @since 0.1.0
|
|
14
|
-
* @status
|
|
14
|
+
* @status stable
|
|
15
15
|
* @category forms
|
|
16
16
|
* @aliases Autocomplete, Typeahead, Search select
|
|
17
17
|
* @documentation https://fusion.dev/helix/components/combobox
|
|
@@ -21,7 +21,7 @@ import '../../tag/index.js';
|
|
|
21
21
|
* @cssproperty --combobox-border-width - Width of the panel's edge. Follows
|
|
22
22
|
* `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a
|
|
23
23
|
* theme says otherwise.
|
|
24
|
-
* @cssproperty --combobox-control-size - Smallest the text field shrinks to
|
|
24
|
+
* @cssproperty --combobox-control-size - Smallest the text field shrinks to once tags share its line.
|
|
25
25
|
* @cssproperty --combobox-panel-size - Width of the panel. Follows the field by default.
|
|
26
26
|
* @cssproperty --combobox-shadow - Lift under the panel. Follows `--helix-shadow-floating`: a
|
|
27
27
|
* floating surface sits over content nobody can predict, so it keeps a lift by default.
|
|
@@ -42,7 +42,7 @@ inset: auto;
|
|
|
42
42
|
inline-size: auto;
|
|
43
43
|
block-size: auto;
|
|
44
44
|
|
|
45
|
-
background-color: var(--helix-color-surface-overlay);
|
|
45
|
+
background-color: var(--drawer-background-color, var(--helix-color-surface-overlay));
|
|
46
46
|
|
|
47
47
|
padding: var(--drawer-padding, var(--helix-space-lg));
|
|
48
48
|
|
|
@@ -9,7 +9,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
9
9
|
* rest is flat and the movement is what says something happened.
|
|
10
10
|
*
|
|
11
11
|
* @since 0.1.0
|
|
12
|
-
* @status
|
|
12
|
+
* @status stable
|
|
13
13
|
* @category overlays
|
|
14
14
|
* @aliases Sheet, Sidebar, Panel, Off-canvas
|
|
15
15
|
* @documentation https://fusion.dev/helix/components/drawer
|
|
@@ -17,13 +17,11 @@ import type { CSSResultGroup } from 'lit';
|
|
|
17
17
|
* @slot - The drawer's content.
|
|
18
18
|
* @slot header - Content pinned above the scrolling area.
|
|
19
19
|
*
|
|
20
|
-
* @event {HelixBeforeOpenEvent} helix-before-open - Fired before the drawer opens or closes. Cancelable: refusing it takes the decision and nothing moves.
|
|
21
|
-
*
|
|
22
20
|
* @csspart content - The scrolling content region.
|
|
23
21
|
* @csspart header - The header region.
|
|
24
22
|
* @csspart panel - The sliding panel.
|
|
25
23
|
*
|
|
26
|
-
* @cssproperty --drawer-backdrop - Filter applied behind a `
|
|
24
|
+
* @cssproperty --drawer-backdrop - Filter applied behind a `frosted` or `glass` drawer.
|
|
27
25
|
* Follows the theme's material policy; set it to override the strength on one drawer.
|
|
28
26
|
* @cssproperty --drawer-background-color - Surface behind the panel.
|
|
29
27
|
* @cssproperty --drawer-border-color - Color of the panel's edge.
|
|
@@ -31,7 +29,9 @@ import type { CSSResultGroup } from 'lit';
|
|
|
31
29
|
* `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a
|
|
32
30
|
* theme says otherwise.
|
|
33
31
|
* @cssproperty --drawer-padding - Padding inside the panel.
|
|
34
|
-
* @cssproperty --drawer-padding-block-start - Padding above the
|
|
32
|
+
* @cssproperty --drawer-padding-block-start - Padding above the header, which is a step deeper than
|
|
33
|
+
* the other three so the first line clears the window's own edge. Falls back to
|
|
34
|
+
* `--drawer-padding`, so setting that alone governs all four sides.
|
|
35
35
|
* @cssproperty --drawer-radius - Corner radius on the edges that face the page.
|
|
36
36
|
* @cssproperty --drawer-scrim - The wash over the page behind the drawer. Set on the host, where a token still resolves: a `var()` written inside `::backdrop` cannot see one.
|
|
37
37
|
* @cssproperty --drawer-shadow - Lift under the panel. Follows `--helix-shadow-floating`: a
|
|
@@ -9,7 +9,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
9
9
|
* lines up with the edge the eye is already following down the list.
|
|
10
10
|
*
|
|
11
11
|
* @since 0.1.0
|
|
12
|
-
* @status
|
|
12
|
+
* @status stable
|
|
13
13
|
* @aliases Panel item, Drill row
|
|
14
14
|
* @documentation https://fusion.dev/helix/components/drilldown
|
|
15
15
|
*
|
|
@@ -15,7 +15,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
15
15
|
* `prefers-reduced-motion` it becomes the instant swap `Menu` does.
|
|
16
16
|
*
|
|
17
17
|
* @since 0.1.0
|
|
18
|
-
* @status
|
|
18
|
+
* @status stable
|
|
19
19
|
* @category navigation
|
|
20
20
|
* @aliases Panel, Nested list, Drill-in
|
|
21
21
|
* @documentation https://fusion.dev/helix/components/drilldown
|
|
@@ -86,7 +86,7 @@ registerElementEvents({
|
|
|
86
86
|
'helix-number-input': ['change', 'helix-before-change', 'input'],
|
|
87
87
|
'helix-object-inspector': ['helix-copy'],
|
|
88
88
|
'helix-option': ['helix-select'],
|
|
89
|
-
'helix-outline': ['helix-
|
|
89
|
+
'helix-outline': ['helix-activate'],
|
|
90
90
|
'helix-pagination': ['helix-navigate'],
|
|
91
91
|
'helix-pagination-size': ['helix-before-change'],
|
|
92
92
|
'helix-pin-input': ['change', 'helix-before-change', 'helix-complete', 'input'],
|
|
@@ -14,11 +14,14 @@ import '../../icon/index.js';
|
|
|
14
14
|
* the platform's.
|
|
15
15
|
*
|
|
16
16
|
* Height comes from the region, like every other control: `data-density` on
|
|
17
|
-
* whatever holds it, not a `size` here. Invalid styling waits for
|
|
18
|
-
*
|
|
17
|
+
* whatever holds it, not a `size` here. Invalid styling waits for the `invalid`
|
|
18
|
+
* custom state, because a field is not wrong before anyone has filled it in and
|
|
19
|
+
* `:user-invalid` cannot answer that here: it tracks the control the reader is
|
|
20
|
+
* in, which is inside this shadow root, so it never reaches the host the rule
|
|
21
|
+
* selects on.
|
|
19
22
|
*
|
|
20
23
|
* @since 0.1.0
|
|
21
|
-
* @status
|
|
24
|
+
* @status stable
|
|
22
25
|
* @category forms
|
|
23
26
|
* @aliases TextField, Field, TextInput
|
|
24
27
|
* @documentation https://fusion.dev/helix/components/input
|
|
@@ -13,7 +13,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
13
13
|
* list moves under the reader rather than the reader moving to find it.
|
|
14
14
|
*
|
|
15
15
|
* @since 0.1.0
|
|
16
|
-
* @status
|
|
16
|
+
* @status stable
|
|
17
17
|
* @category forms
|
|
18
18
|
* @aliases Options, Select list
|
|
19
19
|
* @documentation https://fusion.dev/helix/components/listbox
|
|
@@ -99,7 +99,7 @@ clip-path: inset(0 100% 100% calc(var(--helix-space-xl) * -1));
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
:host([variant="full"]) [part="surface"],
|
|
102
|
-
:host(
|
|
102
|
+
:host(:state(narrow)) [part="surface"] {
|
|
103
103
|
|
|
104
104
|
backdrop-filter: var(--megamenu-backdrop, none);
|
|
105
105
|
background-color: var(--megamenu-background-color, var(--helix-color-background));
|
|
@@ -125,18 +125,18 @@ position: fixed;
|
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
:host([variant="full"]) [part="surface"]:popover-open,
|
|
128
|
-
:host(
|
|
128
|
+
:host(:state(narrow)) [part="surface"]:popover-open {
|
|
129
129
|
clip-path: inset(0 0 calc(var(--helix-space-xl) * -1) 0);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
@starting-style {
|
|
133
133
|
:host([variant="full"]) [part="surface"]:popover-open,
|
|
134
|
-
:host(
|
|
134
|
+
:host(:state(narrow)) [part="surface"]:popover-open {
|
|
135
135
|
clip-path: inset(0 0 100% 0);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
:host(
|
|
139
|
+
:host(:state(narrow)) [part="surface"] {
|
|
140
140
|
grid-auto-flow: row;
|
|
141
141
|
grid-template-columns: 1fr;
|
|
142
142
|
|