@fusion.dev/helix 0.42.0 → 0.44.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 +81 -85
- package/dist/chat/composer/chat-composer.d.ts +1 -1
- package/dist/chat/message/chat-message.d.ts +1 -1
- package/dist/chat/root/chat-root.d.ts +1 -1
- package/dist/date-picker/root/date-picker-root.css.js +4 -0
- package/dist/date-picker/root/date-picker-root.d.ts +7 -4
- package/dist/element-events.generated.js +1 -7
- package/dist/format-date/root/format-date-root.d.ts +1 -1
- package/dist/notifications/group/notification-group.d.ts +1 -1
- package/dist/notifications/notification/notification.d.ts +1 -1
- package/dist/notifications/root/notifications-root.d.ts +1 -1
- package/dist/slider/root/slider-root.d.ts +1 -1
- package/dist/speed-dial/item/speed-dial-item.css.js +1 -5
- package/dist/speed-dial/item/speed-dial-item.d.ts +1 -1
- package/dist/speed-dial/root/speed-dial-root.css.js +4 -0
- package/dist/speed-dial/root/speed-dial-root.d.ts +1 -1
- package/dist/toast/item/toast-item.d.ts +1 -1
- package/dist/toast/root/toast-root.d.ts +2 -2
- package/dist/toggle/group/toggle-group.d.ts +3 -1
- package/dist/toggle/root/toggle-root.d.ts +2 -2
- package/package.json +6 -6
- package/types/jsx.d.ts +246 -88
- package/types/vue.d.ts +58 -22
package/custom-elements.json
CHANGED
|
@@ -15216,7 +15216,7 @@
|
|
|
15216
15216
|
"helix": {
|
|
15217
15217
|
"category": "forms",
|
|
15218
15218
|
"since": "0.1.0",
|
|
15219
|
-
"status": "
|
|
15219
|
+
"status": "stable",
|
|
15220
15220
|
"documentation": "https://fusion.dev/helix/components/chat",
|
|
15221
15221
|
"tier": "styled",
|
|
15222
15222
|
"group": "Chat",
|
|
@@ -16246,7 +16246,7 @@
|
|
|
16246
16246
|
"helix": {
|
|
16247
16247
|
"category": "feedback",
|
|
16248
16248
|
"since": "0.1.0",
|
|
16249
|
-
"status": "
|
|
16249
|
+
"status": "stable",
|
|
16250
16250
|
"documentation": "https://fusion.dev/helix/components/chat",
|
|
16251
16251
|
"tier": "styled",
|
|
16252
16252
|
"group": "Chat",
|
|
@@ -17943,7 +17943,7 @@
|
|
|
17943
17943
|
"helix": {
|
|
17944
17944
|
"category": "feedback",
|
|
17945
17945
|
"since": "0.1.0",
|
|
17946
|
-
"status": "
|
|
17946
|
+
"status": "stable",
|
|
17947
17947
|
"documentation": "https://fusion.dev/helix/components/chat",
|
|
17948
17948
|
"tier": "styled",
|
|
17949
17949
|
"group": "Chat",
|
|
@@ -36776,7 +36776,7 @@
|
|
|
36776
36776
|
"declarations": [
|
|
36777
36777
|
{
|
|
36778
36778
|
"kind": "class",
|
|
36779
|
-
"description": "Six week rows always, so the grid keeps one height and a month change does\nnot move whatever sits beneath it.\n\nThe column track is wider than the day, and the day is centered in it. The\ndifference is the space between days, which belongs to the track rather than\nto a `gap`, so a range can paint across the whole track and stay continuous.\n\nDays from the neighboring months stay in place
|
|
36779
|
+
"description": "Six week rows always, so the grid keeps one height and a month change does\nnot move whatever sits beneath it.\n\nThe column track is wider than the day, and the day is centered in it. The\ndifference is the space between days, which belongs to the track rather than\nto a `gap`, so a range can paint across the whole track and stay continuous.\n\nDays from the neighboring months stay in place, marked quieter rather than\nhidden, so the first and last weeks are whole rows rather than ragged ones.\nThey are filler and take no click, which the pointer says: no hover, and the\ncursor a box that does nothing has. At `months=\"2\"` the same date is a\ntrailing cell in one grid and a real one in the next, so a filler day that\ncould be chosen would put one answer on the page twice.",
|
|
36780
36780
|
"name": "HelixDatePicker",
|
|
36781
36781
|
"cssProperties": [
|
|
36782
36782
|
{
|
|
@@ -38075,7 +38075,7 @@
|
|
|
38075
38075
|
"helix": {
|
|
38076
38076
|
"category": "forms",
|
|
38077
38077
|
"since": "0.1.0",
|
|
38078
|
-
"status": "
|
|
38078
|
+
"status": "stable",
|
|
38079
38079
|
"documentation": "https://fusion.dev/helix/components/date-picker",
|
|
38080
38080
|
"aliases": [
|
|
38081
38081
|
"Calendar",
|
|
@@ -53069,7 +53069,7 @@
|
|
|
53069
53069
|
"helix": {
|
|
53070
53070
|
"category": "typography",
|
|
53071
53071
|
"since": "0.1.0",
|
|
53072
|
-
"status": "
|
|
53072
|
+
"status": "stable",
|
|
53073
53073
|
"documentation": "https://fusion.dev/helix/components/format-date",
|
|
53074
53074
|
"tier": "styled",
|
|
53075
53075
|
"group": "FormatDate",
|
|
@@ -72243,6 +72243,20 @@
|
|
|
72243
72243
|
"module": "src/notifications/group/notification-group.ts"
|
|
72244
72244
|
}
|
|
72245
72245
|
},
|
|
72246
|
+
{
|
|
72247
|
+
"kind": "field",
|
|
72248
|
+
"name": "counted",
|
|
72249
|
+
"type": {
|
|
72250
|
+
"text": "number | undefined"
|
|
72251
|
+
},
|
|
72252
|
+
"privacy": "private",
|
|
72253
|
+
"description": "The same number where anything can know it, and nothing where nothing can.\n\n**A server has no rows to count and must not say zero.** `items` reads\n`knownChildren`, which is empty on a server and while hydrating what one\nsent, so a group written around three notifications with no `count` of its\nown served `<span part=\"count\">0</span>`: a crawler, and a reader before the\npage has run, given a group that says it holds nothing over the three rows\nunderneath it. Not knowing is not zero, which is the rule `MixinCollection`\nalready states about an empty list.\n\nA declared `count` is a fact about the group rather than about its children,\nso it serves whole, which is the shape a feed trimmed by a server already\nwants: it is the number the rows were cut from.",
|
|
72254
|
+
"readonly": true,
|
|
72255
|
+
"inheritedFrom": {
|
|
72256
|
+
"name": "HelixHeadlessNotificationGroup",
|
|
72257
|
+
"module": "src/notifications/group/notification-group.ts"
|
|
72258
|
+
}
|
|
72259
|
+
},
|
|
72246
72260
|
{
|
|
72247
72261
|
"kind": "method",
|
|
72248
72262
|
"name": "assign",
|
|
@@ -72268,20 +72282,6 @@
|
|
|
72268
72282
|
"module": "src/notifications/group/notification-group.ts"
|
|
72269
72283
|
}
|
|
72270
72284
|
},
|
|
72271
|
-
{
|
|
72272
|
-
"kind": "field",
|
|
72273
|
-
"name": "folded",
|
|
72274
|
-
"type": {
|
|
72275
|
-
"text": "number"
|
|
72276
|
-
},
|
|
72277
|
-
"privacy": "private",
|
|
72278
|
-
"description": "How many rows the collapse is hiding, for the control to say so.",
|
|
72279
|
-
"readonly": true,
|
|
72280
|
-
"inheritedFrom": {
|
|
72281
|
-
"name": "HelixHeadlessNotificationGroup",
|
|
72282
|
-
"module": "src/notifications/group/notification-group.ts"
|
|
72283
|
-
}
|
|
72284
|
-
},
|
|
72285
72285
|
{
|
|
72286
72286
|
"kind": "field",
|
|
72287
72287
|
"name": "tier",
|
|
@@ -72641,7 +72641,7 @@
|
|
|
72641
72641
|
"helix": {
|
|
72642
72642
|
"category": "feedback",
|
|
72643
72643
|
"since": "0.24.0",
|
|
72644
|
-
"status": "
|
|
72644
|
+
"status": "stable",
|
|
72645
72645
|
"documentation": "https://fusion.dev/helix/components/notifications",
|
|
72646
72646
|
"aliases": [
|
|
72647
72647
|
"NotificationSection",
|
|
@@ -73078,6 +73078,14 @@
|
|
|
73078
73078
|
"name": "HelixHeadlessNotification",
|
|
73079
73079
|
"module": "src/notifications/notification/notification.ts"
|
|
73080
73080
|
}
|
|
73081
|
+
},
|
|
73082
|
+
{
|
|
73083
|
+
"description": "Replaces the glyph inside the dismiss control, which is drawn only where the row is `dismissible`.",
|
|
73084
|
+
"name": "dismiss",
|
|
73085
|
+
"inheritedFrom": {
|
|
73086
|
+
"name": "HelixHeadlessNotification",
|
|
73087
|
+
"module": "src/notifications/notification/notification.ts"
|
|
73088
|
+
}
|
|
73081
73089
|
}
|
|
73082
73090
|
],
|
|
73083
73091
|
"members": [
|
|
@@ -73710,7 +73718,7 @@
|
|
|
73710
73718
|
"helix": {
|
|
73711
73719
|
"category": "feedback",
|
|
73712
73720
|
"since": "0.1.0",
|
|
73713
|
-
"status": "
|
|
73721
|
+
"status": "stable",
|
|
73714
73722
|
"documentation": "https://fusion.dev/helix/components/notifications",
|
|
73715
73723
|
"tier": "styled",
|
|
73716
73724
|
"group": "Notifications",
|
|
@@ -74275,7 +74283,7 @@
|
|
|
74275
74283
|
"text": "void"
|
|
74276
74284
|
}
|
|
74277
74285
|
},
|
|
74278
|
-
"description": "Says whether anything in the feed has media, so every item can hold the\ncolumn open whether or not it has one of its own.\n\n**A fact no item can answer for itself**, which is why it is here. An item\nknows about its own media slot and nothing about its neighbors, so a feed\nwhere some rows have an avatar and some do not draws two different left\nedges for its text: measured on a four item feed, the rows without media\nstarted their text 32 pixels to the left of the rows with it. The styled\ntier turns this into a width; this tier ships no stylesheet and is\nunaffected.\n\
|
|
74286
|
+
"description": "Says whether anything in the feed has media, so every item can hold the\ncolumn open whether or not it has one of its own.\n\n**A fact no item can answer for itself**, which is why it is here. An item\nknows about its own media slot and nothing about its neighbors, so a feed\nwhere some rows have an avatar and some do not draws two different left\nedges for its text: measured on a four item feed, the rows without media\nstarted their text 32 pixels to the left of the rows with it. The styled\ntier turns this into a width; this tier ships no stylesheet and is\nunaffected.\n\n**What is asked of each row is its light DOM, not the row.** A notification\npublishes no property for this, and asking one would make the answer depend\non the row having drawn itself; a `[slot=\"media\"]` child is there from the\nmoment the markup is parsed. The rows themselves come from `items`, which\ndoes need them upgraded, and that is the honest limit rather than a claim\nthis had made the other way: a row that upgrades late is counted on the next\nupdate, which its own `slotchange` asks for.",
|
|
74279
74287
|
"inheritedFrom": {
|
|
74280
74288
|
"name": "HelixHeadlessNotifications",
|
|
74281
74289
|
"module": "src/notifications/root/notifications-root.ts"
|
|
@@ -74661,7 +74669,7 @@
|
|
|
74661
74669
|
"helix": {
|
|
74662
74670
|
"category": "feedback",
|
|
74663
74671
|
"since": "0.1.0",
|
|
74664
|
-
"status": "
|
|
74672
|
+
"status": "stable",
|
|
74665
74673
|
"documentation": "https://fusion.dev/helix/components/notifications",
|
|
74666
74674
|
"tier": "styled",
|
|
74667
74675
|
"group": "Notifications",
|
|
@@ -78526,17 +78534,7 @@
|
|
|
78526
78534
|
"type": {
|
|
78527
78535
|
"text": "boolean"
|
|
78528
78536
|
},
|
|
78529
|
-
"description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so
|
|
78530
|
-
"inheritedFrom": {
|
|
78531
|
-
"name": "HelixHeadlessOption",
|
|
78532
|
-
"module": "src/option/root/option-root.ts"
|
|
78533
|
-
}
|
|
78534
|
-
},
|
|
78535
|
-
{
|
|
78536
|
-
"kind": "field",
|
|
78537
|
-
"name": "seeded",
|
|
78538
|
-
"privacy": "private",
|
|
78539
|
-
"description": "What the markup said, read once at construction for the reason above.",
|
|
78537
|
+
"description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so the declaration is the\nattribute and the state is the property.\n\n**The attribute, read when it is asked for, and never a snapshot taken in\nthe constructor.** A field initializer runs there, and an element the HTML\nparser created has none of its attributes yet at that moment: measured on\nthis element, on `Radio` and on `Toggle`, `<helix-option value=\"a\"\nselected>` reported `defaultSelected` as `false` both from parsed markup\nand from `createElement` followed by `setAttribute`, which is every way a\nconsumer writes one. The snapshot could only ever be true for an element\nalready in the document when `customElements.define` ran.\n\nNothing overwrites it either, which is what makes reading it late correct\nrather than merely later: `selected` does not reflect, for the reason\n`willUpdate` records, so the listbox's writes never reach the attribute and\nwhat it says is what the markup said.\n\n**The deeper half is not this.** State reflecting under the declaration's\nname is the fault `TreeItem` avoids by mirroring to `data-selected`.\nSplitting them means moving what every stylesheet selects on, which is a\nchange of its own rather than a property being added.",
|
|
78540
78538
|
"inheritedFrom": {
|
|
78541
78539
|
"name": "HelixHeadlessOption",
|
|
78542
78540
|
"module": "src/option/root/option-root.ts"
|
|
@@ -90017,17 +90015,7 @@
|
|
|
90017
90015
|
"type": {
|
|
90018
90016
|
"text": "boolean"
|
|
90019
90017
|
},
|
|
90020
|
-
"description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so
|
|
90021
|
-
"inheritedFrom": {
|
|
90022
|
-
"name": "HelixHeadlessRadio",
|
|
90023
|
-
"module": "src/radio/root/radio-root.ts"
|
|
90024
|
-
}
|
|
90025
|
-
},
|
|
90026
|
-
{
|
|
90027
|
-
"kind": "field",
|
|
90028
|
-
"name": "seeded",
|
|
90029
|
-
"privacy": "private",
|
|
90030
|
-
"description": "What the markup said, read once at construction for the reason above.",
|
|
90018
|
+
"description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so the declaration is the\nattribute and the state is the property.\n\n**The attribute, read when it is asked for, and never a snapshot taken in\nthe constructor.** A field initializer runs there, and an element the HTML\nparser created has none of its attributes yet at that moment: measured on\nthis element, on `Option` and on `Toggle`, `<helix-radio value=\"a\"\nselected>` reported `defaultSelected` as `false` both from parsed markup\nand from `createElement` followed by `setAttribute`, which is every way a\nconsumer writes one. The snapshot could only ever be true for an element\nalready in the document when `customElements.define` ran.\n\nNothing overwrites it either, which is what makes reading it late correct\nrather than merely later: `selected` does not reflect, for the reason\n`willUpdate` records, so the group's writes never reach the attribute and\nwhat it says is what the markup said.\n\n**The deeper half is not this.** State reflecting under the declaration's\nname is the fault `TreeItem` avoids by mirroring to `data-selected`.\nSplitting them means moving what every stylesheet selects on, which is a\nchange of its own rather than a property being added.",
|
|
90031
90019
|
"inheritedFrom": {
|
|
90032
90020
|
"name": "HelixHeadlessRadio",
|
|
90033
90021
|
"module": "src/radio/root/radio-root.ts"
|
|
@@ -101167,7 +101155,7 @@
|
|
|
101167
101155
|
}
|
|
101168
101156
|
},
|
|
101169
101157
|
{
|
|
101170
|
-
"description": "Where
|
|
101158
|
+
"description": "Where a range's filled span starts, as a fraction of the track, 0 to 1.",
|
|
101171
101159
|
"name": "--slider-from",
|
|
101172
101160
|
"inheritedFrom": {
|
|
101173
101161
|
"name": "HelixHeadlessSlider",
|
|
@@ -101183,7 +101171,7 @@
|
|
|
101183
101171
|
}
|
|
101184
101172
|
},
|
|
101185
101173
|
{
|
|
101186
|
-
"description": "Where
|
|
101174
|
+
"description": "Where a range's filled span ends, as a fraction of the track, 0 to 1.",
|
|
101187
101175
|
"name": "--slider-to",
|
|
101188
101176
|
"inheritedFrom": {
|
|
101189
101177
|
"name": "HelixHeadlessSlider",
|
|
@@ -102356,7 +102344,7 @@
|
|
|
102356
102344
|
"helix": {
|
|
102357
102345
|
"category": "forms",
|
|
102358
102346
|
"since": "0.1.0",
|
|
102359
|
-
"status": "
|
|
102347
|
+
"status": "stable",
|
|
102360
102348
|
"documentation": "https://fusion.dev/helix/components/slider",
|
|
102361
102349
|
"aliases": [
|
|
102362
102350
|
"Range",
|
|
@@ -104062,7 +104050,7 @@
|
|
|
104062
104050
|
"helix": {
|
|
104063
104051
|
"category": "actions",
|
|
104064
104052
|
"since": "0.1.0",
|
|
104065
|
-
"status": "
|
|
104053
|
+
"status": "stable",
|
|
104066
104054
|
"documentation": "https://fusion.dev/helix/components/speed-dial",
|
|
104067
104055
|
"aliases": [
|
|
104068
104056
|
"Speed dial action",
|
|
@@ -104835,7 +104823,7 @@
|
|
|
104835
104823
|
"helix": {
|
|
104836
104824
|
"category": "actions",
|
|
104837
104825
|
"since": "0.1.0",
|
|
104838
|
-
"status": "
|
|
104826
|
+
"status": "stable",
|
|
104839
104827
|
"documentation": "https://fusion.dev/helix/components/speed-dial",
|
|
104840
104828
|
"aliases": [
|
|
104841
104829
|
"FAB",
|
|
@@ -105728,7 +105716,7 @@
|
|
|
105728
105716
|
}
|
|
105729
105717
|
}
|
|
105730
105718
|
],
|
|
105731
|
-
"description": "
|
|
105719
|
+
"description": "Moves the divider under a gesture that is still happening.\n\nNot announced per step: `helix-before-resize` is the settling, below. A drag that\nannounced every position would be asking a consumer to record a hundred\ndecisions to keep one.\n\n**A drag only, which is the whole of why applying before announcing is\nright here.** The divider has to follow the hand, and the one number worth\na decision is where the hand let go. Nothing discrete calls this: a key and\na double click go straight to `settle`, so their announcement comes before\ntheir change and refusing one takes the decision, and the corner's arrows\nalready did.",
|
|
105732
105720
|
"inheritedFrom": {
|
|
105733
105721
|
"name": "HelixHeadlessSplitter",
|
|
105734
105722
|
"module": "src/splitter/root/splitter-root.ts"
|
|
@@ -105751,7 +105739,7 @@
|
|
|
105751
105739
|
}
|
|
105752
105740
|
}
|
|
105753
105741
|
],
|
|
105754
|
-
"description": "Says the arrangement has settled, so a consumer can keep it.\n\nThrough the audited path, so a consumer who owns `position` is told what was\nasked for and decides, and one who does not has already had it applied.",
|
|
105742
|
+
"description": "Says the arrangement has settled, so a consumer can keep it.\n\nThrough the audited path, so a consumer who owns `position` is told what was\nasked for and decides, and one who does not has already had it applied.\n\n**The second announcement is conditional on the first, because it is derived\nfrom it.** `shutAt` reads the position the gesture ended on, so a refused\n`helix-before-resize` leaves a collapse computed from a number that was\nrefused. Announced anyway, the refusal produced the outcome it was refusing:\nmeasured on a divider at 40 with a listener calling `preventDefault`, Home\nleft `position` reporting 0 and `collapsed` reporting `start`, because the\ncollapse applied and `position` reads the sliver once a pane is shut. The\nreturn of the first request is what says so, and it was being dropped: a\ncancelable event dispatched as a bare statement with nothing reading the\nanswer, which is the shape the navigation cohort named on `Outline` and left.\n\nRefusing the collapse alone still leaves the resize, which is the other way\nround and is coherent: the divider goes where the drag put it and the pane\nis not declared shut. What a consumer cannot have is a pane that collapses\nout from under a position they said no to.",
|
|
105755
105743
|
"inheritedFrom": {
|
|
105756
105744
|
"name": "HelixHeadlessSplitter",
|
|
105757
105745
|
"module": "src/splitter/root/splitter-root.ts"
|
|
@@ -106554,7 +106542,7 @@
|
|
|
106554
106542
|
"type": {
|
|
106555
106543
|
"text": "HelixBeforeCollapseEvent"
|
|
106556
106544
|
},
|
|
106557
|
-
"description": "Fired before a pane shuts or reopens, and
|
|
106545
|
+
"description": "Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it.",
|
|
106558
106546
|
"name": "helix-before-collapse",
|
|
106559
106547
|
"reactProp": "onhelix-before-collapse",
|
|
106560
106548
|
"inheritedFrom": {
|
|
@@ -106566,7 +106554,7 @@
|
|
|
106566
106554
|
"type": {
|
|
106567
106555
|
"text": "HelixBeforeResizeEvent"
|
|
106568
106556
|
},
|
|
106569
|
-
"description": "Fired before the divider settles, and
|
|
106557
|
+
"description": "Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.",
|
|
106570
106558
|
"name": "helix-before-resize",
|
|
106571
106559
|
"reactProp": "onhelix-before-resize",
|
|
106572
106560
|
"inheritedFrom": {
|
|
@@ -124112,7 +124100,7 @@
|
|
|
124112
124100
|
"summary": "One message in the toast region.",
|
|
124113
124101
|
"helix": {
|
|
124114
124102
|
"since": "0.1.0",
|
|
124115
|
-
"status": "
|
|
124103
|
+
"status": "stable",
|
|
124116
124104
|
"documentation": "https://fusion.dev/helix/components/toast",
|
|
124117
124105
|
"tier": "styled",
|
|
124118
124106
|
"group": "Toast",
|
|
@@ -124735,12 +124723,11 @@
|
|
|
124735
124723
|
"helix": {
|
|
124736
124724
|
"category": "overlays",
|
|
124737
124725
|
"since": "0.1.0",
|
|
124738
|
-
"status": "
|
|
124726
|
+
"status": "stable",
|
|
124739
124727
|
"documentation": "https://fusion.dev/helix/components/toast",
|
|
124740
124728
|
"aliases": [
|
|
124741
124729
|
"Toaster",
|
|
124742
|
-
"Snackbar"
|
|
124743
|
-
"Notifications"
|
|
124730
|
+
"Snackbar"
|
|
124744
124731
|
],
|
|
124745
124732
|
"tier": "styled",
|
|
124746
124733
|
"group": "Toast",
|
|
@@ -124969,6 +124956,22 @@
|
|
|
124969
124956
|
"name": "HelixHeadlessToggleGroup",
|
|
124970
124957
|
"module": "src/toggle/group/toggle-group.ts"
|
|
124971
124958
|
}
|
|
124959
|
+
},
|
|
124960
|
+
{
|
|
124961
|
+
"description": "Whatever sits after the track on its own line, such as a count or a reset.",
|
|
124962
|
+
"name": "end",
|
|
124963
|
+
"inheritedFrom": {
|
|
124964
|
+
"name": "HelixHeadlessToggleGroup",
|
|
124965
|
+
"module": "src/toggle/group/toggle-group.ts"
|
|
124966
|
+
}
|
|
124967
|
+
},
|
|
124968
|
+
{
|
|
124969
|
+
"description": "Whatever sits before the track on its own line, such as an icon or a caption.",
|
|
124970
|
+
"name": "start",
|
|
124971
|
+
"inheritedFrom": {
|
|
124972
|
+
"name": "HelixHeadlessToggleGroup",
|
|
124973
|
+
"module": "src/toggle/group/toggle-group.ts"
|
|
124974
|
+
}
|
|
124972
124975
|
}
|
|
124973
124976
|
],
|
|
124974
124977
|
"members": [
|
|
@@ -125344,6 +125347,21 @@
|
|
|
125344
125347
|
"module": "src/mixins/mixin-field/mixin-field.ts"
|
|
125345
125348
|
}
|
|
125346
125349
|
},
|
|
125350
|
+
{
|
|
125351
|
+
"kind": "method",
|
|
125352
|
+
"name": "adopt",
|
|
125353
|
+
"privacy": "private",
|
|
125354
|
+
"return": {
|
|
125355
|
+
"type": {
|
|
125356
|
+
"text": "void"
|
|
125357
|
+
}
|
|
125358
|
+
},
|
|
125359
|
+
"description": "Takes the markup's own answer where nothing has set a value.\n\n**The case a server renders**, and `Tabs` records the same fault from the\nother side. This element cannot choose on the server, having no children to\ncount, so a consumer whose first paint is right wrote `selected` on the\nitem: that serves `aria-checked=\"true\"`, and `sync` then cleared it one\nframe later, because `value` is `''` and nothing matches it. The shipped\n`disabled` example is exactly that markup, and drew both of its groups with\nnothing chosen.\n\n**Onto `defaultValue`, never onto `value`**, which is the same call\n`Slider` makes about the midpoint it seeds: what the markup declared is a\nfact about the markup, so it is where a reset returns to rather than\nsomething the reader chose. It also makes the group report the answer it is\nshowing, which marking the item alone would not: a `required` group would\notherwise tell a reader a value is missing while they are looking at one.\n\nA written `value` still wins, a declared property being a seed and a\ncorrection, and a group with neither still marks nothing at all.\n\n**The property and never `defaultSelected`, which is the attribute.** React\nassigns a JSX prop as a property where the custom element has one, and\nwrites no attribute at all, so keying on the attribute answers for markup\nand not for JSX. Measured by the parity check on the shipped `disabled`\nexample, whose two syntaxes are the same tree: 192 pixels apart, the HTML\nmarking `List` and the TSX marking nothing. The attribute seeds the\nproperty at upgrade, so reading the property covers both.\n\nRead before `sync` writes to it, which is the only moment it still holds\nwhat the consumer declared: after that it holds this group's answer, and\n`value` is no longer empty, so this returns above.\n\n**Called from `willUpdate` and from the slot, never from `sync`**, which\nruns in `updated`: a reactive property set there schedules a second update,\nand Lit's development build warns about exactly that once per group. From\n`willUpdate` the first render already carries the value, which is the pass\nthat has to be right. `children` is undefined on the server, whose element\nshim carries attributes and no tree, and that is the same guard\n`MixinCollection` records for the same reason.",
|
|
125360
|
+
"inheritedFrom": {
|
|
125361
|
+
"name": "HelixHeadlessToggleGroup",
|
|
125362
|
+
"module": "src/toggle/group/toggle-group.ts"
|
|
125363
|
+
}
|
|
125364
|
+
},
|
|
125347
125365
|
{
|
|
125348
125366
|
"kind": "method",
|
|
125349
125367
|
"name": "sync",
|
|
@@ -126057,7 +126075,7 @@
|
|
|
126057
126075
|
"summary": "A row of options with the selection marked by a moving indicator.",
|
|
126058
126076
|
"helix": {
|
|
126059
126077
|
"since": "0.1.0",
|
|
126060
|
-
"status": "
|
|
126078
|
+
"status": "stable",
|
|
126061
126079
|
"documentation": "https://fusion.dev/helix/components/toggle",
|
|
126062
126080
|
"aliases": [
|
|
126063
126081
|
"SegmentedControl",
|
|
@@ -126215,7 +126233,7 @@
|
|
|
126215
126233
|
"name": "HelixToggle",
|
|
126216
126234
|
"cssParts": [
|
|
126217
126235
|
{
|
|
126218
|
-
"description": "The button
|
|
126236
|
+
"description": "The radio button.",
|
|
126219
126237
|
"name": "item",
|
|
126220
126238
|
"inheritedFrom": {
|
|
126221
126239
|
"name": "HelixHeadlessToggle",
|
|
@@ -126255,17 +126273,7 @@
|
|
|
126255
126273
|
"type": {
|
|
126256
126274
|
"text": "boolean"
|
|
126257
126275
|
},
|
|
126258
|
-
"description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so
|
|
126259
|
-
"inheritedFrom": {
|
|
126260
|
-
"name": "HelixHeadlessToggle",
|
|
126261
|
-
"module": "src/toggle/root/toggle-root.ts"
|
|
126262
|
-
}
|
|
126263
|
-
},
|
|
126264
|
-
{
|
|
126265
|
-
"kind": "field",
|
|
126266
|
-
"name": "seeded",
|
|
126267
|
-
"privacy": "private",
|
|
126268
|
-
"description": "What the markup said, read once at construction for the reason above.",
|
|
126276
|
+
"description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so the declaration is the\nattribute and the state is the property.\n\n**The attribute, read when it is asked for, and never a snapshot taken in\nthe constructor.** A field initializer runs there, and an element the HTML\nparser created has none of its attributes yet at that moment: measured on\nthis element, on `Option` and on `Radio`, `<helix-toggle value=\"light\"\nselected>` reported `defaultSelected` as `false` both from parsed markup\nand from `createElement` followed by `setAttribute`, which is every way a\nconsumer writes one. The snapshot could only ever be true for an element\nalready in the document when `customElements.define` ran.\n\nNothing overwrites it either, which is what makes reading it late correct\nrather than merely later: `selected` does not reflect, for the reason\n`willUpdate` records, so the group's writes never reach the attribute and\nwhat it says is what the markup said.\n\n**The deeper half is not this.** State reflecting under the declaration's\nname is the fault `TreeItem` avoids by mirroring to `data-selected`.\nSplitting them means moving what every stylesheet selects on, which is a\nchange of its own rather than a property being added.",
|
|
126269
126277
|
"inheritedFrom": {
|
|
126270
126278
|
"name": "HelixHeadlessToggle",
|
|
126271
126279
|
"module": "src/toggle/root/toggle-root.ts"
|
|
@@ -126679,7 +126687,7 @@
|
|
|
126679
126687
|
"helix": {
|
|
126680
126688
|
"category": "actions",
|
|
126681
126689
|
"since": "0.1.0",
|
|
126682
|
-
"status": "
|
|
126690
|
+
"status": "stable",
|
|
126683
126691
|
"documentation": "https://fusion.dev/helix/components/toggle",
|
|
126684
126692
|
"aliases": [
|
|
126685
126693
|
"Segment",
|
|
@@ -129852,18 +129860,6 @@
|
|
|
129852
129860
|
"name": "HelixHeadlessTour",
|
|
129853
129861
|
"module": "src/tour/root/tour-root.ts"
|
|
129854
129862
|
}
|
|
129855
|
-
},
|
|
129856
|
-
{
|
|
129857
|
-
"type": {
|
|
129858
|
-
"text": "Event"
|
|
129859
|
-
},
|
|
129860
|
-
"description": "Says the state moved, carrying `newState` and `oldState`.",
|
|
129861
|
-
"name": "toggle",
|
|
129862
|
-
"reactProp": "ontoggle",
|
|
129863
|
-
"inheritedFrom": {
|
|
129864
|
-
"name": "HelixHeadlessTour",
|
|
129865
|
-
"module": "src/tour/root/tour-root.ts"
|
|
129866
|
-
}
|
|
129867
129863
|
}
|
|
129868
129864
|
],
|
|
129869
129865
|
"cssStates": [
|
|
@@ -13,7 +13,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
13
13
|
* is the signal, and decorating it competes with the thing it is decorating.
|
|
14
14
|
*
|
|
15
15
|
* @since 0.1.0
|
|
16
|
-
* @status
|
|
16
|
+
* @status stable
|
|
17
17
|
* @category feedback
|
|
18
18
|
* @documentation https://fusion.dev/helix/components/chat
|
|
19
19
|
*
|
|
@@ -116,6 +116,10 @@ box-shadow: inset 0 0 0 var(--helix-border-thin) var(--helix-color-border);
|
|
|
116
116
|
color: var(--helix-color-foreground-subtle);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
[part~="cell"][data-outside] {
|
|
120
|
+
cursor: default;
|
|
121
|
+
}
|
|
122
|
+
|
|
119
123
|
[part~="cell"]:hover:not([aria-disabled], [data-outside]) [part~="day"] {
|
|
120
124
|
background-color: var(--helix-color-surface-sunken);
|
|
121
125
|
}
|
|
@@ -11,12 +11,15 @@ import type { CSSResultGroup } from 'lit';
|
|
|
11
11
|
* difference is the space between days, which belongs to the track rather than
|
|
12
12
|
* to a `gap`, so a range can paint across the whole track and stay continuous.
|
|
13
13
|
*
|
|
14
|
-
* Days from the neighboring months stay in place
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* Days from the neighboring months stay in place, marked quieter rather than
|
|
15
|
+
* hidden, so the first and last weeks are whole rows rather than ragged ones.
|
|
16
|
+
* They are filler and take no click, which the pointer says: no hover, and the
|
|
17
|
+
* cursor a box that does nothing has. At `months="2"` the same date is a
|
|
18
|
+
* trailing cell in one grid and a real one in the next, so a filler day that
|
|
19
|
+
* could be chosen would put one answer on the page twice.
|
|
17
20
|
*
|
|
18
21
|
* @since 0.1.0
|
|
19
|
-
* @status
|
|
22
|
+
* @status stable
|
|
20
23
|
* @category forms
|
|
21
24
|
* @aliases Calendar, Date grid, Month view
|
|
22
25
|
* @documentation https://fusion.dev/helix/components/date-picker
|
|
@@ -138,13 +138,7 @@ registerElementEvents({
|
|
|
138
138
|
'helix-toggle': ['helix-select'],
|
|
139
139
|
'helix-toggle-group': ['change', 'helix-before-change', 'helix-select', 'input'],
|
|
140
140
|
'helix-tooltip': ['helix-before-close', 'helix-before-open', 'toggle'],
|
|
141
|
-
'helix-tour': [
|
|
142
|
-
'helix-before-activate',
|
|
143
|
-
'helix-before-close',
|
|
144
|
-
'helix-complete',
|
|
145
|
-
'helix-tour-ask',
|
|
146
|
-
'toggle',
|
|
147
|
-
],
|
|
141
|
+
'helix-tour': ['helix-before-activate', 'helix-before-close', 'helix-complete', 'helix-tour-ask'],
|
|
148
142
|
'helix-tour-stop': ['helix-tour-ask'],
|
|
149
143
|
'helix-tree': ['helix-activate', 'helix-before-activate', 'helix-select'],
|
|
150
144
|
'helix-tree-item': ['helix-before-close', 'helix-before-open', 'helix-select', 'toggle'],
|
|
@@ -13,7 +13,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
13
13
|
* date is written once and should sit in the text like the text.
|
|
14
14
|
*
|
|
15
15
|
* @since 0.1.0
|
|
16
|
-
* @status
|
|
16
|
+
* @status stable
|
|
17
17
|
* @category typography
|
|
18
18
|
* @documentation https://fusion.dev/helix/components/format-date
|
|
19
19
|
*/
|
|
@@ -19,7 +19,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
19
19
|
* that says there is something back there.
|
|
20
20
|
*
|
|
21
21
|
* @since 0.24.0
|
|
22
|
-
* @status
|
|
22
|
+
* @status stable
|
|
23
23
|
* @category feedback
|
|
24
24
|
* @aliases NotificationSection, FeedGroup
|
|
25
25
|
* @documentation https://fusion.dev/helix/components/notifications
|
|
@@ -16,7 +16,7 @@ import '../notification/notification.js';
|
|
|
16
16
|
* holds thousands wants `helix-data-table` with a custom cell.
|
|
17
17
|
*
|
|
18
18
|
* @since 0.1.0
|
|
19
|
-
* @status
|
|
19
|
+
* @status stable
|
|
20
20
|
* @category feedback
|
|
21
21
|
* @documentation https://fusion.dev/helix/components/notifications
|
|
22
22
|
*
|
|
@@ -10,16 +10,12 @@ border: none;
|
|
|
10
10
|
color: inherit;
|
|
11
11
|
cursor: pointer;
|
|
12
12
|
display: inline-flex;
|
|
13
|
-
flex-direction: row-reverse;
|
|
13
|
+
flex-direction: var(--_speed-dial-row, row-reverse);
|
|
14
14
|
font: inherit;
|
|
15
15
|
gap: var(--helix-space-sm);
|
|
16
16
|
padding: var(--helix-space-none);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
:host-context([data-placement$="-start"]) [part="item"] {
|
|
20
|
-
flex-direction: row;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
19
|
[part="item"]:disabled {
|
|
24
20
|
cursor: not-allowed;
|
|
25
21
|
opacity: 0.5;
|
|
@@ -9,7 +9,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
9
9
|
* over. Everything about choosing it is the base class.
|
|
10
10
|
*
|
|
11
11
|
* @since 0.1.0
|
|
12
|
-
* @status
|
|
12
|
+
* @status stable
|
|
13
13
|
* @category actions
|
|
14
14
|
* @aliases Speed dial action, FAB action, Quick action
|
|
15
15
|
* @documentation https://fusion.dev/helix/components/speed-dial
|
|
@@ -15,10 +15,14 @@ padding: var(--helix-space-none);
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
[part="actions"] {
|
|
18
|
+
--_speed-dial-row: row-reverse;
|
|
19
|
+
|
|
18
20
|
align-items: flex-end;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
[part="actions"][data-placement$="-start"] {
|
|
24
|
+
--_speed-dial-row: row;
|
|
25
|
+
|
|
22
26
|
align-items: flex-start;
|
|
23
27
|
}
|
|
24
28
|
|
|
@@ -10,7 +10,7 @@ import '../../icon/index.js';
|
|
|
10
10
|
* moves through it is the base class.
|
|
11
11
|
*
|
|
12
12
|
* @since 0.1.0
|
|
13
|
-
* @status
|
|
13
|
+
* @status stable
|
|
14
14
|
* @category actions
|
|
15
15
|
* @aliases FAB, Floating action button, Action button, Quick actions
|
|
16
16
|
* @documentation https://fusion.dev/helix/components/speed-dial
|
|
@@ -10,7 +10,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
10
10
|
* costs contrast for something the mark already says.
|
|
11
11
|
*
|
|
12
12
|
* @since 0.1.0
|
|
13
|
-
* @status
|
|
13
|
+
* @status stable
|
|
14
14
|
* @documentation https://fusion.dev/helix/components/toast
|
|
15
15
|
*
|
|
16
16
|
* @cssproperty --toast-border-color - Color of the panel's edge.
|
|
@@ -18,9 +18,9 @@ import type { CSSResultGroup } from 'lit';
|
|
|
18
18
|
* into the top layer.
|
|
19
19
|
*
|
|
20
20
|
* @since 0.1.0
|
|
21
|
-
* @status
|
|
21
|
+
* @status stable
|
|
22
22
|
* @category overlays
|
|
23
|
-
* @aliases Toaster, Snackbar
|
|
23
|
+
* @aliases Toaster, Snackbar
|
|
24
24
|
* @documentation https://fusion.dev/helix/components/toast
|
|
25
25
|
*
|
|
26
26
|
* @cssproperty --toast-gap - Space between one message and the next.
|
|
@@ -15,11 +15,13 @@ import type { CSSResultGroup } from 'lit';
|
|
|
15
15
|
* corner radius, which is worse than the exception.
|
|
16
16
|
*
|
|
17
17
|
* @since 0.1.0
|
|
18
|
-
* @status
|
|
18
|
+
* @status stable
|
|
19
19
|
* @aliases SegmentedControl, Segmented, Navigation, Switcher
|
|
20
20
|
* @documentation https://fusion.dev/helix/components/toggle
|
|
21
21
|
*
|
|
22
22
|
* @slot - The group's items.
|
|
23
|
+
* @slot end - Whatever sits after the track on its own line, such as a count or a reset.
|
|
24
|
+
* @slot start - Whatever sits before the track on its own line, such as an icon or a caption.
|
|
23
25
|
*
|
|
24
26
|
* @csspart indicator - The moving marker behind the selected item.
|
|
25
27
|
*
|