@fusion.dev/helix 0.172.0 → 0.173.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 +1963 -69
- package/dist/copy-button/root/copy-button-root.css.js +1 -1
- package/dist/element-events.generated.js +8 -1
- package/dist/graph/root/graph-root.css.js +2 -1
- package/dist/orb/root/orb-root.css.js +1 -1
- package/dist/orb/root/orb-root.d.ts +24 -5
- package/dist/orb/root/orb-root.js +24 -6
- package/dist/sandbox/index.d.ts +1 -0
- package/dist/sandbox/index.js +1 -0
- package/dist/sandbox/preview/sandbox-preview.d.ts +39 -2
- package/dist/sandbox/preview/sandbox-preview.js +37 -5
- package/dist/sandbox/root/sandbox-root.css.js +1 -1
- package/dist/sandbox/root/sandbox-root.d.ts +44 -4
- package/dist/sandbox/root/sandbox-root.js +92 -17
- package/dist/sandbox/source/editing.d.ts +111 -0
- package/dist/sandbox/source/editing.js +185 -0
- package/dist/sandbox/source/sandbox-source.css.js +2 -1
- package/dist/sandbox/source/sandbox-source.d.ts +131 -6
- package/dist/sandbox/source/sandbox-source.js +301 -17
- package/dist/timeline/root/timeline-root.css.js +1 -1
- package/dist/virtual-list/reorder/index.d.ts +1 -0
- package/dist/virtual-list/reorder/index.js +5 -0
- package/dist/virtual-list/reorder/virtual-list-reorder.css.d.ts +1 -0
- package/dist/virtual-list/reorder/virtual-list-reorder.css.js +12 -0
- package/dist/virtual-list/root/virtual-list-root.d.ts +9 -0
- package/lint.json +1 -1
- package/package.json +6 -6
- package/types/jsx.d.ts +802 -34
- package/types/vue.d.ts +184 -5
- package/types/words.d.ts +27 -0
package/custom-elements.json
CHANGED
|
@@ -14536,6 +14536,21 @@
|
|
|
14536
14536
|
"module": "src/button-group/root/button-group-root.ts"
|
|
14537
14537
|
}
|
|
14538
14538
|
},
|
|
14539
|
+
{
|
|
14540
|
+
"kind": "field",
|
|
14541
|
+
"name": "disabled",
|
|
14542
|
+
"type": {
|
|
14543
|
+
"text": "boolean"
|
|
14544
|
+
},
|
|
14545
|
+
"default": "false",
|
|
14546
|
+
"description": "Disables every button in the group, and says so on the group with\n`aria-disabled`. Reflected, so a stylesheet can select on it.",
|
|
14547
|
+
"attribute": "disabled",
|
|
14548
|
+
"reflects": true,
|
|
14549
|
+
"inheritedFrom": {
|
|
14550
|
+
"name": "HelixHeadlessButtonGroup",
|
|
14551
|
+
"module": "src/button-group/root/button-group-root.ts"
|
|
14552
|
+
}
|
|
14553
|
+
},
|
|
14539
14554
|
{
|
|
14540
14555
|
"kind": "field",
|
|
14541
14556
|
"name": "disallowEmptySelection",
|
|
@@ -14606,6 +14621,18 @@
|
|
|
14606
14621
|
"module": "src/button-group/root/button-group-root.ts"
|
|
14607
14622
|
}
|
|
14608
14623
|
},
|
|
14624
|
+
{
|
|
14625
|
+
"kind": "field",
|
|
14626
|
+
"name": "values",
|
|
14627
|
+
"type": {
|
|
14628
|
+
"text": "string[]"
|
|
14629
|
+
},
|
|
14630
|
+
"description": "The pressed values as a list, in a selection mode, and an empty list\notherwise. Written, it presses exactly those buttons.",
|
|
14631
|
+
"inheritedFrom": {
|
|
14632
|
+
"name": "HelixHeadlessButtonGroup",
|
|
14633
|
+
"module": "src/button-group/root/button-group-root.ts"
|
|
14634
|
+
}
|
|
14635
|
+
},
|
|
14609
14636
|
{
|
|
14610
14637
|
"kind": "field",
|
|
14611
14638
|
"name": "buttons",
|
|
@@ -14695,6 +14722,47 @@
|
|
|
14695
14722
|
"module": "src/button-group/root/button-group-root.ts"
|
|
14696
14723
|
}
|
|
14697
14724
|
},
|
|
14725
|
+
{
|
|
14726
|
+
"kind": "field",
|
|
14727
|
+
"name": "members",
|
|
14728
|
+
"type": {
|
|
14729
|
+
"text": "DisableableItem[]"
|
|
14730
|
+
},
|
|
14731
|
+
"privacy": "private",
|
|
14732
|
+
"description": "The children that can be disabled: Helix buttons and native ones alike. Empty on a server.",
|
|
14733
|
+
"readonly": true,
|
|
14734
|
+
"inheritedFrom": {
|
|
14735
|
+
"name": "HelixHeadlessButtonGroup",
|
|
14736
|
+
"module": "src/button-group/root/button-group-root.ts"
|
|
14737
|
+
}
|
|
14738
|
+
},
|
|
14739
|
+
{
|
|
14740
|
+
"kind": "field",
|
|
14741
|
+
"name": "held",
|
|
14742
|
+
"privacy": "private",
|
|
14743
|
+
"readonly": true,
|
|
14744
|
+
"default": "new Set<DisableableItem>()",
|
|
14745
|
+
"description": "The members this group has disabled, so one that leaves is given back its own answer.",
|
|
14746
|
+
"inheritedFrom": {
|
|
14747
|
+
"name": "HelixHeadlessButtonGroup",
|
|
14748
|
+
"module": "src/button-group/root/button-group-root.ts"
|
|
14749
|
+
}
|
|
14750
|
+
},
|
|
14751
|
+
{
|
|
14752
|
+
"kind": "method",
|
|
14753
|
+
"name": "cascade",
|
|
14754
|
+
"privacy": "private",
|
|
14755
|
+
"return": {
|
|
14756
|
+
"type": {
|
|
14757
|
+
"text": "void"
|
|
14758
|
+
}
|
|
14759
|
+
},
|
|
14760
|
+
"description": "Passes `disabled` down to the members, and gives a member that left\nwhat it said for itself.\n\nA member already disabled is not written to again: the watcher hears\nevery write to a native button's `disabled`, changed or not, and would\nanswer it with this.",
|
|
14761
|
+
"inheritedFrom": {
|
|
14762
|
+
"name": "HelixHeadlessButtonGroup",
|
|
14763
|
+
"module": "src/button-group/root/button-group-root.ts"
|
|
14764
|
+
}
|
|
14765
|
+
},
|
|
14698
14766
|
{
|
|
14699
14767
|
"kind": "method",
|
|
14700
14768
|
"name": "sync",
|
|
@@ -15160,6 +15228,19 @@
|
|
|
15160
15228
|
"description": "Whether the buttons are one bar or a spaced row.\n\nJoined by default: one control made of parts, sharing borders, reading as a\nsegmented bar.\n\n`spaced` is the same set with air between them, for a row of related but\nseparate actions. The semantics and the joining are separate questions:\n`role=\"group\"` and a shared name are what make a set of buttons a set, and\n`helix-flex` gives the spacing without the group.",
|
|
15161
15229
|
"fieldName": "variant"
|
|
15162
15230
|
},
|
|
15231
|
+
{
|
|
15232
|
+
"name": "disabled",
|
|
15233
|
+
"type": {
|
|
15234
|
+
"text": "boolean"
|
|
15235
|
+
},
|
|
15236
|
+
"default": "false",
|
|
15237
|
+
"description": "Disables every button in the group, and says so on the group with\n`aria-disabled`. Reflected, so a stylesheet can select on it.",
|
|
15238
|
+
"fieldName": "disabled",
|
|
15239
|
+
"inheritedFrom": {
|
|
15240
|
+
"name": "HelixHeadlessButtonGroup",
|
|
15241
|
+
"module": "src/button-group/root/button-group-root.ts"
|
|
15242
|
+
}
|
|
15243
|
+
},
|
|
15163
15244
|
{
|
|
15164
15245
|
"name": "disallow-empty-selection",
|
|
15165
15246
|
"type": {
|
|
@@ -15247,6 +15328,10 @@
|
|
|
15247
15328
|
"description": "Buttons joined into one control, sharing their edges.",
|
|
15248
15329
|
"slug": "preview"
|
|
15249
15330
|
},
|
|
15331
|
+
{
|
|
15332
|
+
"description": "A group switched off as a whole with `disabled`, which disables every button in it.",
|
|
15333
|
+
"slug": "disabled"
|
|
15334
|
+
},
|
|
15250
15335
|
{
|
|
15251
15336
|
"description": "Text styles that stay pressed, any number at once, set with `selection-mode`.",
|
|
15252
15337
|
"slug": "selection"
|
|
@@ -21409,6 +21494,21 @@
|
|
|
21409
21494
|
"module": "src/canvas/root/canvas-root.ts"
|
|
21410
21495
|
}
|
|
21411
21496
|
},
|
|
21497
|
+
{
|
|
21498
|
+
"kind": "field",
|
|
21499
|
+
"name": "loading",
|
|
21500
|
+
"type": {
|
|
21501
|
+
"text": "boolean"
|
|
21502
|
+
},
|
|
21503
|
+
"default": "false",
|
|
21504
|
+
"description": "Marks the board as busy while its document arrives: the board is\n`aria-busy`, and the `loading` slot is shown.",
|
|
21505
|
+
"attribute": "loading",
|
|
21506
|
+
"reflects": true,
|
|
21507
|
+
"inheritedFrom": {
|
|
21508
|
+
"name": "HelixHeadlessCanvas",
|
|
21509
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
21510
|
+
}
|
|
21511
|
+
},
|
|
21412
21512
|
{
|
|
21413
21513
|
"kind": "field",
|
|
21414
21514
|
"name": "movedLabel",
|
|
@@ -25197,6 +25297,19 @@
|
|
|
25197
25297
|
"module": "src/canvas/root/canvas-root.ts"
|
|
25198
25298
|
}
|
|
25199
25299
|
},
|
|
25300
|
+
{
|
|
25301
|
+
"name": "loading",
|
|
25302
|
+
"type": {
|
|
25303
|
+
"text": "boolean"
|
|
25304
|
+
},
|
|
25305
|
+
"default": "false",
|
|
25306
|
+
"description": "Marks the board as busy while its document arrives: the board is\n`aria-busy`, and the `loading` slot is shown.",
|
|
25307
|
+
"fieldName": "loading",
|
|
25308
|
+
"inheritedFrom": {
|
|
25309
|
+
"name": "HelixHeadlessCanvas",
|
|
25310
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
25311
|
+
}
|
|
25312
|
+
},
|
|
25200
25313
|
{
|
|
25201
25314
|
"name": "moved-label",
|
|
25202
25315
|
"type": {
|
|
@@ -25565,6 +25678,14 @@
|
|
|
25565
25678
|
"module": "src/canvas/root/canvas-root.ts"
|
|
25566
25679
|
}
|
|
25567
25680
|
},
|
|
25681
|
+
{
|
|
25682
|
+
"description": "Content shown while `loading` is set, such as a progress bar while the document arrives.",
|
|
25683
|
+
"name": "loading",
|
|
25684
|
+
"inheritedFrom": {
|
|
25685
|
+
"name": "HelixHeadlessCanvas",
|
|
25686
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
25687
|
+
}
|
|
25688
|
+
},
|
|
25568
25689
|
{
|
|
25569
25690
|
"description": "Replaces the glyph inside the pan down button.",
|
|
25570
25691
|
"name": "pan-down-icon",
|
|
@@ -26071,6 +26192,14 @@
|
|
|
26071
26192
|
"module": "src/canvas/root/canvas-root.ts"
|
|
26072
26193
|
}
|
|
26073
26194
|
},
|
|
26195
|
+
{
|
|
26196
|
+
"description": "While `loading` is set.",
|
|
26197
|
+
"name": "loading",
|
|
26198
|
+
"inheritedFrom": {
|
|
26199
|
+
"name": "HelixHeadlessCanvas",
|
|
26200
|
+
"module": "src/canvas/root/canvas-root.ts"
|
|
26201
|
+
}
|
|
26202
|
+
},
|
|
26074
26203
|
{
|
|
26075
26204
|
"description": "While a press on the board, its cards or its connections is under way.",
|
|
26076
26205
|
"name": "pressing",
|
|
@@ -54741,6 +54870,48 @@
|
|
|
54741
54870
|
"module": "src/button/root/button-root.ts"
|
|
54742
54871
|
}
|
|
54743
54872
|
},
|
|
54873
|
+
{
|
|
54874
|
+
"kind": "field",
|
|
54875
|
+
"name": "showLabel",
|
|
54876
|
+
"type": {
|
|
54877
|
+
"text": "boolean"
|
|
54878
|
+
},
|
|
54879
|
+
"default": "false",
|
|
54880
|
+
"description": "Draws the name as words beside the icon, and the result in their place\nafter a press. The button stays as wide as the longest of them.",
|
|
54881
|
+
"attribute": "show-label",
|
|
54882
|
+
"reflects": true,
|
|
54883
|
+
"inheritedFrom": {
|
|
54884
|
+
"name": "HelixHeadlessCopyButton",
|
|
54885
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
54886
|
+
}
|
|
54887
|
+
},
|
|
54888
|
+
{
|
|
54889
|
+
"kind": "field",
|
|
54890
|
+
"name": "tooltip",
|
|
54891
|
+
"type": {
|
|
54892
|
+
"text": "'copy' | 'full' | 'none' | undefined"
|
|
54893
|
+
},
|
|
54894
|
+
"description": "When the tooltip shows: `full` on hover and focus and after a press,\n`copy` only after a press, to show the result, and `none` never, for a\nbutton whose result shows another way, such as under `show-label`.\n\nUnset is `full`, and the attribute stays absent until you write it.",
|
|
54895
|
+
"attribute": "tooltip",
|
|
54896
|
+
"inheritedFrom": {
|
|
54897
|
+
"name": "HelixHeadlessCopyButton",
|
|
54898
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
54899
|
+
}
|
|
54900
|
+
},
|
|
54901
|
+
{
|
|
54902
|
+
"kind": "field",
|
|
54903
|
+
"name": "tooltipPlacement",
|
|
54904
|
+
"type": {
|
|
54905
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
54906
|
+
},
|
|
54907
|
+
"default": "'top'",
|
|
54908
|
+
"description": "The side the tooltip prefers. It moves to another side where this one\ndoes not fit.",
|
|
54909
|
+
"attribute": "tooltip-placement",
|
|
54910
|
+
"inheritedFrom": {
|
|
54911
|
+
"name": "HelixHeadlessCopyButton",
|
|
54912
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
54913
|
+
}
|
|
54914
|
+
},
|
|
54744
54915
|
{
|
|
54745
54916
|
"kind": "field",
|
|
54746
54917
|
"name": "value",
|
|
@@ -54769,6 +54940,20 @@
|
|
|
54769
54940
|
"module": "src/copy-button/root/copy-button-root.ts"
|
|
54770
54941
|
}
|
|
54771
54942
|
},
|
|
54943
|
+
{
|
|
54944
|
+
"kind": "field",
|
|
54945
|
+
"name": "showedResult",
|
|
54946
|
+
"type": {
|
|
54947
|
+
"text": "boolean"
|
|
54948
|
+
},
|
|
54949
|
+
"privacy": "private",
|
|
54950
|
+
"default": "false",
|
|
54951
|
+
"description": "Whether the last render showed a result, so `tooltip=\"copy\"` opens and closes on the change.",
|
|
54952
|
+
"inheritedFrom": {
|
|
54953
|
+
"name": "HelixHeadlessCopyButton",
|
|
54954
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
54955
|
+
}
|
|
54956
|
+
},
|
|
54772
54957
|
{
|
|
54773
54958
|
"kind": "field",
|
|
54774
54959
|
"name": "clipboard",
|
|
@@ -54900,6 +55085,21 @@
|
|
|
54900
55085
|
"module": "src/copy-button/root/copy-button-root.ts"
|
|
54901
55086
|
}
|
|
54902
55087
|
},
|
|
55088
|
+
{
|
|
55089
|
+
"kind": "method",
|
|
55090
|
+
"name": "renderText",
|
|
55091
|
+
"privacy": "protected",
|
|
55092
|
+
"return": {
|
|
55093
|
+
"type": {
|
|
55094
|
+
"text": "TemplateResult | typeof nothing"
|
|
55095
|
+
}
|
|
55096
|
+
},
|
|
55097
|
+
"description": "The words beside the icon, under `show-label`, behind a seam of its own.\n\nAll three are drawn and only the current one shows, so the button is as\nwide as the longest of them and a press does not resize it. Hidden from a\nscreen reader, which hears the same words as the button's name.",
|
|
55098
|
+
"inheritedFrom": {
|
|
55099
|
+
"name": "HelixHeadlessCopyButton",
|
|
55100
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
55101
|
+
}
|
|
55102
|
+
},
|
|
54903
55103
|
{
|
|
54904
55104
|
"kind": "method",
|
|
54905
55105
|
"name": "renderTooltip",
|
|
@@ -56086,6 +56286,10 @@
|
|
|
56086
56286
|
{
|
|
56087
56287
|
"description": "The `helix-copy` event, sent after the text is on the clipboard.",
|
|
56088
56288
|
"slug": "events"
|
|
56289
|
+
},
|
|
56290
|
+
{
|
|
56291
|
+
"description": "The name as words beside the icon with `show-label`, and a tooltip that shows only the result of a copy.",
|
|
56292
|
+
"slug": "label"
|
|
56089
56293
|
}
|
|
56090
56294
|
],
|
|
56091
56295
|
"source": "helix/styled/src/copy-button"
|
|
@@ -56182,6 +56386,44 @@
|
|
|
56182
56386
|
"module": "src/button/root/button-root.ts"
|
|
56183
56387
|
}
|
|
56184
56388
|
},
|
|
56389
|
+
{
|
|
56390
|
+
"name": "show-label",
|
|
56391
|
+
"type": {
|
|
56392
|
+
"text": "boolean"
|
|
56393
|
+
},
|
|
56394
|
+
"default": "false",
|
|
56395
|
+
"description": "Draws the name as words beside the icon, and the result in their place\nafter a press. The button stays as wide as the longest of them.",
|
|
56396
|
+
"fieldName": "showLabel",
|
|
56397
|
+
"inheritedFrom": {
|
|
56398
|
+
"name": "HelixHeadlessCopyButton",
|
|
56399
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
56400
|
+
}
|
|
56401
|
+
},
|
|
56402
|
+
{
|
|
56403
|
+
"name": "tooltip",
|
|
56404
|
+
"type": {
|
|
56405
|
+
"text": "'copy' | 'full' | 'none' | undefined"
|
|
56406
|
+
},
|
|
56407
|
+
"description": "When the tooltip shows: `full` on hover and focus and after a press,\n`copy` only after a press, to show the result, and `none` never, for a\nbutton whose result shows another way, such as under `show-label`.\n\nUnset is `full`, and the attribute stays absent until you write it.",
|
|
56408
|
+
"fieldName": "tooltip",
|
|
56409
|
+
"inheritedFrom": {
|
|
56410
|
+
"name": "HelixHeadlessCopyButton",
|
|
56411
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
56412
|
+
}
|
|
56413
|
+
},
|
|
56414
|
+
{
|
|
56415
|
+
"name": "tooltip-placement",
|
|
56416
|
+
"type": {
|
|
56417
|
+
"text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
|
|
56418
|
+
},
|
|
56419
|
+
"default": "'top'",
|
|
56420
|
+
"description": "The side the tooltip prefers. It moves to another side where this one\ndoes not fit.",
|
|
56421
|
+
"fieldName": "tooltipPlacement",
|
|
56422
|
+
"inheritedFrom": {
|
|
56423
|
+
"name": "HelixHeadlessCopyButton",
|
|
56424
|
+
"module": "src/copy-button/root/copy-button-root.ts"
|
|
56425
|
+
}
|
|
56426
|
+
},
|
|
56185
56427
|
{
|
|
56186
56428
|
"name": "value",
|
|
56187
56429
|
"type": {
|
|
@@ -56318,6 +56560,14 @@
|
|
|
56318
56560
|
"module": "src/button/root/button-root.ts"
|
|
56319
56561
|
}
|
|
56320
56562
|
},
|
|
56563
|
+
{
|
|
56564
|
+
"description": "The words beside the icon, under `show-label`. It holds all three, `label`, `copied-label` and `error-label`, with all but the current one hidden.",
|
|
56565
|
+
"name": "text",
|
|
56566
|
+
"inheritedFrom": {
|
|
56567
|
+
"name": "HelixHeadlessButton",
|
|
56568
|
+
"module": "src/button/root/button-root.ts"
|
|
56569
|
+
}
|
|
56570
|
+
},
|
|
56321
56571
|
{
|
|
56322
56572
|
"description": "The tooltip bubble, forwarded from the tooltip inside the button.",
|
|
56323
56573
|
"name": "tooltip",
|
|
@@ -92804,6 +93054,38 @@
|
|
|
92804
93054
|
"module": "src/graph/root/graph-root.ts"
|
|
92805
93055
|
}
|
|
92806
93056
|
},
|
|
93057
|
+
{
|
|
93058
|
+
"kind": "field",
|
|
93059
|
+
"name": "loading",
|
|
93060
|
+
"type": {
|
|
93061
|
+
"text": "boolean"
|
|
93062
|
+
},
|
|
93063
|
+
"default": "false",
|
|
93064
|
+
"description": "Marks the graph as busy while its notes arrive: the list is `aria-busy`,\nand the panel says so where it holds no notes yet.",
|
|
93065
|
+
"attribute": "loading",
|
|
93066
|
+
"reflects": true,
|
|
93067
|
+
"inheritedFrom": {
|
|
93068
|
+
"name": "HelixHeadlessGraph",
|
|
93069
|
+
"module": "src/graph/root/graph-root.ts"
|
|
93070
|
+
}
|
|
93071
|
+
},
|
|
93072
|
+
{
|
|
93073
|
+
"kind": "field",
|
|
93074
|
+
"name": "loadingLabel",
|
|
93075
|
+
"type": {
|
|
93076
|
+
"text": "string"
|
|
93077
|
+
},
|
|
93078
|
+
"default": "'Loading notes'",
|
|
93079
|
+
"description": "What the panel says while `loading` is set and the list holds no notes.",
|
|
93080
|
+
"attribute": "loading-label",
|
|
93081
|
+
"helix": {
|
|
93082
|
+
"words": true
|
|
93083
|
+
},
|
|
93084
|
+
"inheritedFrom": {
|
|
93085
|
+
"name": "HelixHeadlessGraph",
|
|
93086
|
+
"module": "src/graph/root/graph-root.ts"
|
|
93087
|
+
}
|
|
93088
|
+
},
|
|
92807
93089
|
{
|
|
92808
93090
|
"kind": "field",
|
|
92809
93091
|
"name": "movedDownLabel",
|
|
@@ -92900,6 +93182,18 @@
|
|
|
92900
93182
|
"module": "src/graph/root/graph-root.ts"
|
|
92901
93183
|
}
|
|
92902
93184
|
},
|
|
93185
|
+
{
|
|
93186
|
+
"kind": "field",
|
|
93187
|
+
"name": "noteContent",
|
|
93188
|
+
"type": {
|
|
93189
|
+
"text": "((node: GraphNode) => unknown) | undefined | undefined"
|
|
93190
|
+
},
|
|
93191
|
+
"description": "What each note's row in the list shows in place of its name: a function\ngiven the note that returns text, an element or a Lit template.\n\nFor an icon by its kind, or a date under its name, as React Aria's\n`ListBoxItem` takes children. The row is still named by the note's name,\nwhich typeahead and the search find it by, and described by how it stands\nto the selected note. Return the name with your content where it should\nstill show. A property only, there being no way to write a function in\nmarkup.",
|
|
93192
|
+
"inheritedFrom": {
|
|
93193
|
+
"name": "HelixHeadlessGraph",
|
|
93194
|
+
"module": "src/graph/root/graph-root.ts"
|
|
93195
|
+
}
|
|
93196
|
+
},
|
|
92903
93197
|
{
|
|
92904
93198
|
"kind": "field",
|
|
92905
93199
|
"name": "notesLabel",
|
|
@@ -94341,6 +94635,32 @@
|
|
|
94341
94635
|
"module": "src/graph/root/graph-root.ts"
|
|
94342
94636
|
}
|
|
94343
94637
|
},
|
|
94638
|
+
{
|
|
94639
|
+
"name": "loading",
|
|
94640
|
+
"type": {
|
|
94641
|
+
"text": "boolean"
|
|
94642
|
+
},
|
|
94643
|
+
"default": "false",
|
|
94644
|
+
"description": "Marks the graph as busy while its notes arrive: the list is `aria-busy`,\nand the panel says so where it holds no notes yet.",
|
|
94645
|
+
"fieldName": "loading",
|
|
94646
|
+
"inheritedFrom": {
|
|
94647
|
+
"name": "HelixHeadlessGraph",
|
|
94648
|
+
"module": "src/graph/root/graph-root.ts"
|
|
94649
|
+
}
|
|
94650
|
+
},
|
|
94651
|
+
{
|
|
94652
|
+
"name": "loading-label",
|
|
94653
|
+
"type": {
|
|
94654
|
+
"text": "string"
|
|
94655
|
+
},
|
|
94656
|
+
"default": "'Loading notes'",
|
|
94657
|
+
"description": "What the panel says while `loading` is set and the list holds no notes.",
|
|
94658
|
+
"fieldName": "loadingLabel",
|
|
94659
|
+
"inheritedFrom": {
|
|
94660
|
+
"name": "HelixHeadlessGraph",
|
|
94661
|
+
"module": "src/graph/root/graph-root.ts"
|
|
94662
|
+
}
|
|
94663
|
+
},
|
|
94344
94664
|
{
|
|
94345
94665
|
"name": "moved-down-label",
|
|
94346
94666
|
"type": {
|
|
@@ -94683,6 +95003,14 @@
|
|
|
94683
95003
|
"module": "src/graph/root/graph-root.ts"
|
|
94684
95004
|
}
|
|
94685
95005
|
},
|
|
95006
|
+
{
|
|
95007
|
+
"description": "What the panel shows while `loading` is set and the list holds no notes. Defaults to `loading-label`.",
|
|
95008
|
+
"name": "loading",
|
|
95009
|
+
"inheritedFrom": {
|
|
95010
|
+
"name": "HelixHeadlessGraph",
|
|
95011
|
+
"module": "src/graph/root/graph-root.ts"
|
|
95012
|
+
}
|
|
95013
|
+
},
|
|
94686
95014
|
{
|
|
94687
95015
|
"description": "Replaces the glyph inside the pan down button.",
|
|
94688
95016
|
"name": "pan-down-icon",
|
|
@@ -94885,6 +95213,14 @@
|
|
|
94885
95213
|
"module": "src/graph/root/graph-root.ts"
|
|
94886
95214
|
}
|
|
94887
95215
|
},
|
|
95216
|
+
{
|
|
95217
|
+
"description": "The box in place of the list while `loading` is set and it holds no notes, holding the `loading` slot.",
|
|
95218
|
+
"name": "loading",
|
|
95219
|
+
"inheritedFrom": {
|
|
95220
|
+
"name": "HelixHeadlessGraph",
|
|
95221
|
+
"module": "src/graph/root/graph-root.ts"
|
|
95222
|
+
}
|
|
95223
|
+
},
|
|
94888
95224
|
{
|
|
94889
95225
|
"description": "One note in the list.",
|
|
94890
95226
|
"name": "note",
|
|
@@ -95063,6 +95399,14 @@
|
|
|
95063
95399
|
"module": "src/graph/root/graph-root.ts"
|
|
95064
95400
|
}
|
|
95065
95401
|
},
|
|
95402
|
+
{
|
|
95403
|
+
"description": "While `loading` is set.",
|
|
95404
|
+
"name": "loading",
|
|
95405
|
+
"inheritedFrom": {
|
|
95406
|
+
"name": "HelixHeadlessGraph",
|
|
95407
|
+
"module": "src/graph/root/graph-root.ts"
|
|
95408
|
+
}
|
|
95409
|
+
},
|
|
95066
95410
|
{
|
|
95067
95411
|
"description": "The drawing shows the selected note's local graph, with `depth`.",
|
|
95068
95412
|
"name": "local",
|
|
@@ -113750,7 +114094,7 @@
|
|
|
113750
114094
|
"text": "string"
|
|
113751
114095
|
},
|
|
113752
114096
|
"default": "''",
|
|
113753
|
-
"description": "The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.\n\
|
|
114097
|
+
"description": "The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.\n\nA press or a key writes it in row order, as Data Table does, whatever\norder the rows were chosen in. Set it to start with rows selected. A row's value is its `value`, or its\nwords where it has none.",
|
|
113754
114098
|
"attribute": "value",
|
|
113755
114099
|
"inheritedFrom": {
|
|
113756
114100
|
"name": "HelixHeadlessList",
|
|
@@ -114114,7 +114458,7 @@
|
|
|
114114
114458
|
}
|
|
114115
114459
|
}
|
|
114116
114460
|
],
|
|
114117
|
-
"description": "Selects what a press or a key leaves, asking first. `helix-before-change`\ncarries the `value` it would leave, and `change` follows once it has moved
|
|
114461
|
+
"description": "Selects what a press or a key leaves, asking first. `helix-before-change`\ncarries the `value` it would leave, and `change` follows once it has moved.\n\nIn row order, as Data Table and Table write theirs, whatever order the\nrows were chosen in: a press on the fourth row and then the first is\n`a,d`.",
|
|
114118
114462
|
"inheritedFrom": {
|
|
114119
114463
|
"name": "HelixHeadlessList",
|
|
114120
114464
|
"module": "src/list/root/list-root.ts"
|
|
@@ -115095,7 +115439,7 @@
|
|
|
115095
115439
|
"text": "string"
|
|
115096
115440
|
},
|
|
115097
115441
|
"default": "''",
|
|
115098
|
-
"description": "The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.\n\
|
|
115442
|
+
"description": "The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.\n\nA press or a key writes it in row order, as Data Table does, whatever\norder the rows were chosen in. Set it to start with rows selected. A row's value is its `value`, or its\nwords where it has none.",
|
|
115099
115443
|
"fieldName": "value",
|
|
115100
115444
|
"inheritedFrom": {
|
|
115101
115445
|
"name": "HelixHeadlessList",
|
|
@@ -150588,7 +150932,7 @@
|
|
|
150588
150932
|
"declarations": [
|
|
150589
150933
|
{
|
|
150590
150934
|
"kind": "class",
|
|
150591
|
-
"description": "A cloud of dots drawn to a canvas, with one shape per state:\n\n- `connecting` and `thinking`: the same leaning sash, differing in how\n agitated it is.\n- `waiting` and `done`: the same settled ball at different tempos.\n- `fetching`: a globe with a light moving around it.\n- `listening`: a closed sphere with a ripple crossing it.\n- `working`: a ring.\n\nEvery state is the same banded grid with different parameters. Changing state\ninterpolates the parameters, so every frame in between is a complete shape. A\nsmall change gets less time than a large one, such as a sash becoming a ring.\nThe outline changes first, so the light starts orbiting only after the shape\nis round.\n\nThe cloud does not rotate, and all movement happens inside it. The exception\nis the light, which travels because a ring of evenly spaced dots looks the\nsame when rotated, so a turning state needs something fixed passing over it.\n\nColors come from `--orb-color` and `--orb-ground`. Each dot's color is mixed\ntoward the ground color by its depth, so depth holds when the theme changes.\n\nThe animation stops when the orb is off screen or in a background tab. With\n`prefers-reduced-motion`, it draws one still frame.\n\nThe orb is styled only and has behavior, which the tier split does not\notherwise allow. Its role, name and busy state follow `state`, unless\n`announce` makes it a status region, and the rest
|
|
150935
|
+
"description": "A cloud of dots drawn to a canvas, with one shape per state:\n\n- `connecting` and `thinking`: the same leaning sash, differing in how\n agitated it is.\n- `waiting` and `done`: the same settled ball at different tempos.\n- `fetching`: a globe with a light moving around it.\n- `listening`: a closed sphere with a ripple crossing it.\n- `working`: a ring.\n\nEvery state is the same banded grid with different parameters. Changing state\ninterpolates the parameters, so every frame in between is a complete shape. A\nsmall change gets less time than a large one, such as a sash becoming a ring.\nThe outline changes first, so the light starts orbiting only after the shape\nis round.\n\nThe cloud does not rotate, and all movement happens inside it. The exception\nis the light, which travels because a ring of evenly spaced dots looks the\nsame when rotated, so a turning state needs something fixed passing over it.\n\nColors come from `--orb-color` and `--orb-ground`. Each dot's color is mixed\ntoward the ground color by its depth, so depth holds when the theme changes.\n\nThe animation stops when the orb is off screen or in a background tab. With\n`prefers-reduced-motion`, it draws one still frame.\n\nThe orb is styled only and has behavior, which the tier split does not\notherwise allow. Its role, name and busy state follow `state`, unless\n`announce` makes it a status region, and the rest is drawing dots to a\ncanvas.\n\n**A shape of your own goes in the default slot**, such as an SVG, an\nimage, or an animation. The orb draws it over its box in place of the dots\nand stops drawing them, and keeps its role, name, busy state and custom\nstates, so your stylesheet can change what you slotted by state, such as\n`helix-orb:state(working) svg { animation-duration: 1s }`. What you slot is\nfor the eye: a screen reader hears the orb's name.\n\n`--orb-speed` scales how fast the dots move, so `0.5` is a calmer orb at\nhalf the tempo.\n\nEach state is also a custom state, such as `:state(thinking)` or\n`:state(done)`, so a page can style what sits around an orb by what it shows,\nwhether the state was written as an attribute or set from script.",
|
|
150592
150936
|
"name": "HelixOrb",
|
|
150593
150937
|
"cssProperties": [
|
|
150594
150938
|
{
|
|
@@ -150602,11 +150946,15 @@
|
|
|
150602
150946
|
{
|
|
150603
150947
|
"description": "The diameter. Overrides `size`.",
|
|
150604
150948
|
"name": "--orb-size"
|
|
150949
|
+
},
|
|
150950
|
+
{
|
|
150951
|
+
"description": "How fast the dots move, as a multiple of each state's own tempo. Defaults to `1`.",
|
|
150952
|
+
"name": "--orb-speed"
|
|
150605
150953
|
}
|
|
150606
150954
|
],
|
|
150607
150955
|
"cssParts": [
|
|
150608
150956
|
{
|
|
150609
|
-
"description": "The canvas the dots are drawn on.",
|
|
150957
|
+
"description": "The canvas the dots are drawn on. Hidden while the default slot holds a shape.",
|
|
150610
150958
|
"name": "canvas"
|
|
150611
150959
|
},
|
|
150612
150960
|
{
|
|
@@ -150614,6 +150962,12 @@
|
|
|
150614
150962
|
"name": "live"
|
|
150615
150963
|
}
|
|
150616
150964
|
],
|
|
150965
|
+
"slots": [
|
|
150966
|
+
{
|
|
150967
|
+
"description": "A shape of your own, drawn over the orb's box in place of the dots.",
|
|
150968
|
+
"name": ""
|
|
150969
|
+
}
|
|
150970
|
+
],
|
|
150617
150971
|
"members": [
|
|
150618
150972
|
{
|
|
150619
150973
|
"kind": "field",
|
|
@@ -150695,12 +151049,22 @@
|
|
|
150695
151049
|
"privacy": "private",
|
|
150696
151050
|
"default": "null"
|
|
150697
151051
|
},
|
|
151052
|
+
{
|
|
151053
|
+
"kind": "field",
|
|
151054
|
+
"name": "own",
|
|
151055
|
+
"type": {
|
|
151056
|
+
"text": "boolean"
|
|
151057
|
+
},
|
|
151058
|
+
"privacy": "private",
|
|
151059
|
+
"default": "false",
|
|
151060
|
+
"description": "Whether the default slot holds a shape of the page's, which the dots give\nway to. A plain field, written to the canvas by hand as a lost context is,\nso finding a shape on the first update asks for no second one."
|
|
151061
|
+
},
|
|
150698
151062
|
{
|
|
150699
151063
|
"kind": "field",
|
|
150700
151064
|
"name": "gate",
|
|
150701
151065
|
"privacy": "private",
|
|
150702
151066
|
"readonly": true,
|
|
150703
|
-
"default": "new PaintGateController(this, { canRun: () => !!this.context && !this.lost, onFrame: (delta) => { this.paint(delta) }, onMotion: (reduced) => { if (reduced) { this.phase = STILL_PHASE this.morphAt = 0 this.paint(0) } }, onResize: () => { this.measure() this.paint(0) }, })",
|
|
151067
|
+
"default": "new PaintGateController(this, { canRun: () => !!this.context && !this.lost && !this.own, onFrame: (delta) => { this.paint(delta) }, onMotion: (reduced) => { if (reduced) { this.phase = STILL_PHASE this.morphAt = 0 this.paint(0) } }, onResize: () => { this.measure() this.paint(0) }, })",
|
|
150704
151068
|
"description": "Whether anybody is looking, and the loop that draws for them.\n\nA context it has not been given and one the browser has taken are both\nreasons to draw nothing that the gate cannot see, so they are said here.\n\nEvery frame paints: a settled orb has movement of its own in every state,\nand only the gate's own three answers stop it."
|
|
150705
151069
|
},
|
|
150706
151070
|
{
|
|
@@ -150781,6 +151145,13 @@
|
|
|
150781
151145
|
"description": "The word for the state drawn, in the page's words where it gave them.",
|
|
150782
151146
|
"readonly": true
|
|
150783
151147
|
},
|
|
151148
|
+
{
|
|
151149
|
+
"kind": "field",
|
|
151150
|
+
"name": "handleSlotChange",
|
|
151151
|
+
"privacy": "private",
|
|
151152
|
+
"readonly": true,
|
|
151153
|
+
"description": "Stops the dots for a shape the page slotted, and starts them again once it is gone."
|
|
151154
|
+
},
|
|
150784
151155
|
{
|
|
150785
151156
|
"kind": "method",
|
|
150786
151157
|
"name": "start",
|
|
@@ -151911,7 +152282,7 @@
|
|
|
151911
152282
|
"name": "indicator",
|
|
151912
152283
|
"privacy": "private",
|
|
151913
152284
|
"readonly": true,
|
|
151914
|
-
"default": "new IndicatorController(this, { active: () => this.links.find((link) => link.hasAttribute('aria-current')), indicator: () => this.partNamed('indicator'), surface: () => this.partNamed('nav'), })",
|
|
152285
|
+
"default": "new IndicatorController(this, { active: () => this.links.find((link) => link.hasAttribute('aria-current')), indicator: () => this.partNamed('indicator'), surface: () => this.partNamed('nav'), through: () => this.links.findLast((link) => link.hasAttribute('aria-current')), })",
|
|
151915
152286
|
"inheritedFrom": {
|
|
151916
152287
|
"name": "HelixHeadlessOutline",
|
|
151917
152288
|
"module": "src/outline/root/outline-root.ts"
|
|
@@ -151962,6 +152333,20 @@
|
|
|
151962
152333
|
"module": "src/outline/root/outline-root.ts"
|
|
151963
152334
|
}
|
|
151964
152335
|
},
|
|
152336
|
+
{
|
|
152337
|
+
"kind": "field",
|
|
152338
|
+
"name": "marks",
|
|
152339
|
+
"type": {
|
|
152340
|
+
"text": "'reading' | 'visible'"
|
|
152341
|
+
},
|
|
152342
|
+
"default": "'reading'",
|
|
152343
|
+
"description": "Which links are marked. `reading` marks the one section being read, the\nlast whose heading has passed the reading line. `visible` marks every\nsection with part of it on screen, and the mark runs across their links.",
|
|
152344
|
+
"attribute": "marks",
|
|
152345
|
+
"inheritedFrom": {
|
|
152346
|
+
"name": "HelixHeadlessOutline",
|
|
152347
|
+
"module": "src/outline/root/outline-root.ts"
|
|
152348
|
+
}
|
|
152349
|
+
},
|
|
151965
152350
|
{
|
|
151966
152351
|
"kind": "field",
|
|
151967
152352
|
"name": "offset",
|
|
@@ -151989,6 +152374,33 @@
|
|
|
151989
152374
|
"module": "src/outline/root/outline-root.ts"
|
|
151990
152375
|
}
|
|
151991
152376
|
},
|
|
152377
|
+
{
|
|
152378
|
+
"kind": "field",
|
|
152379
|
+
"name": "marked",
|
|
152380
|
+
"type": {
|
|
152381
|
+
"text": "string[]"
|
|
152382
|
+
},
|
|
152383
|
+
"description": "The ids of the sections whose links are marked, in page order: the one\n`current` names, or under `marks=\"visible\"` every section on screen.\nRead-only, for the reason `current` gives.",
|
|
152384
|
+
"readonly": true,
|
|
152385
|
+
"inheritedFrom": {
|
|
152386
|
+
"name": "HelixHeadlessOutline",
|
|
152387
|
+
"module": "src/outline/root/outline-root.ts"
|
|
152388
|
+
}
|
|
152389
|
+
},
|
|
152390
|
+
{
|
|
152391
|
+
"kind": "field",
|
|
152392
|
+
"name": "markedIds",
|
|
152393
|
+
"type": {
|
|
152394
|
+
"text": "string[]"
|
|
152395
|
+
},
|
|
152396
|
+
"privacy": "private",
|
|
152397
|
+
"default": "[]",
|
|
152398
|
+
"description": "What `marked` reports, which only `markTo` writes.",
|
|
152399
|
+
"inheritedFrom": {
|
|
152400
|
+
"name": "HelixHeadlessOutline",
|
|
152401
|
+
"module": "src/outline/root/outline-root.ts"
|
|
152402
|
+
}
|
|
152403
|
+
},
|
|
151992
152404
|
{
|
|
151993
152405
|
"kind": "field",
|
|
151994
152406
|
"name": "reading",
|
|
@@ -152099,6 +152511,41 @@
|
|
|
152099
152511
|
"module": "src/outline/root/outline-root.ts"
|
|
152100
152512
|
}
|
|
152101
152513
|
},
|
|
152514
|
+
{
|
|
152515
|
+
"kind": "method",
|
|
152516
|
+
"name": "onScreen",
|
|
152517
|
+
"privacy": "private",
|
|
152518
|
+
"return": {
|
|
152519
|
+
"type": {
|
|
152520
|
+
"text": "{ link: HTMLAnchorElement; target: Element }[]"
|
|
152521
|
+
}
|
|
152522
|
+
},
|
|
152523
|
+
"parameters": [
|
|
152524
|
+
{
|
|
152525
|
+
"name": "sections",
|
|
152526
|
+
"type": {
|
|
152527
|
+
"text": "{ link: HTMLAnchorElement; target: Element }[]"
|
|
152528
|
+
}
|
|
152529
|
+
},
|
|
152530
|
+
{
|
|
152531
|
+
"name": "origin",
|
|
152532
|
+
"type": {
|
|
152533
|
+
"text": "number"
|
|
152534
|
+
}
|
|
152535
|
+
},
|
|
152536
|
+
{
|
|
152537
|
+
"name": "scroller",
|
|
152538
|
+
"type": {
|
|
152539
|
+
"text": "Element"
|
|
152540
|
+
}
|
|
152541
|
+
}
|
|
152542
|
+
],
|
|
152543
|
+
"description": "The sections with part of them on screen, under `marks=\"visible\"`: each\nruns from its own target to the next one's, and the last to the end of the\npage.",
|
|
152544
|
+
"inheritedFrom": {
|
|
152545
|
+
"name": "HelixHeadlessOutline",
|
|
152546
|
+
"module": "src/outline/root/outline-root.ts"
|
|
152547
|
+
}
|
|
152548
|
+
},
|
|
152102
152549
|
{
|
|
152103
152550
|
"kind": "method",
|
|
152104
152551
|
"name": "markTo",
|
|
@@ -152110,9 +152557,9 @@
|
|
|
152110
152557
|
},
|
|
152111
152558
|
"parameters": [
|
|
152112
152559
|
{
|
|
152113
|
-
"name": "
|
|
152560
|
+
"name": "marked",
|
|
152114
152561
|
"type": {
|
|
152115
|
-
"text": "{ link: HTMLAnchorElement; target: Element }
|
|
152562
|
+
"text": "{ link: HTMLAnchorElement; target: Element }[]"
|
|
152116
152563
|
}
|
|
152117
152564
|
}
|
|
152118
152565
|
],
|
|
@@ -152277,6 +152724,60 @@
|
|
|
152277
152724
|
"module": "src/outline/root/outline-root.ts"
|
|
152278
152725
|
}
|
|
152279
152726
|
},
|
|
152727
|
+
{
|
|
152728
|
+
"kind": "method",
|
|
152729
|
+
"name": "scrollToSection",
|
|
152730
|
+
"return": {
|
|
152731
|
+
"type": {
|
|
152732
|
+
"text": "boolean"
|
|
152733
|
+
}
|
|
152734
|
+
},
|
|
152735
|
+
"parameters": [
|
|
152736
|
+
{
|
|
152737
|
+
"name": "id",
|
|
152738
|
+
"type": {
|
|
152739
|
+
"text": "string"
|
|
152740
|
+
}
|
|
152741
|
+
}
|
|
152742
|
+
],
|
|
152743
|
+
"description": "Scrolls to the section with this id, as a press on its link does, with\n`behavior`, and marks its link at once. The address and focus stay where\nthey are. Returns whether the outline has a link to that section.",
|
|
152744
|
+
"type": {
|
|
152745
|
+
"text": "scrollToSection(id: string) => boolean"
|
|
152746
|
+
},
|
|
152747
|
+
"inheritedFrom": {
|
|
152748
|
+
"name": "HelixHeadlessOutline",
|
|
152749
|
+
"module": "src/outline/root/outline-root.ts"
|
|
152750
|
+
}
|
|
152751
|
+
},
|
|
152752
|
+
{
|
|
152753
|
+
"kind": "method",
|
|
152754
|
+
"name": "travel",
|
|
152755
|
+
"privacy": "private",
|
|
152756
|
+
"return": {
|
|
152757
|
+
"type": {
|
|
152758
|
+
"text": "boolean"
|
|
152759
|
+
}
|
|
152760
|
+
},
|
|
152761
|
+
"parameters": [
|
|
152762
|
+
{
|
|
152763
|
+
"name": "section",
|
|
152764
|
+
"type": {
|
|
152765
|
+
"text": "{ link: HTMLAnchorElement; target: Element }"
|
|
152766
|
+
}
|
|
152767
|
+
},
|
|
152768
|
+
{
|
|
152769
|
+
"name": "scroll",
|
|
152770
|
+
"type": {
|
|
152771
|
+
"text": "boolean"
|
|
152772
|
+
}
|
|
152773
|
+
}
|
|
152774
|
+
],
|
|
152775
|
+
"description": "Marks the section a reader asked for, and holds the mark there until the\npage stops moving. Scrolls to it where `scroll` says this element does\nthe scrolling, and returns whether it did.",
|
|
152776
|
+
"inheritedFrom": {
|
|
152777
|
+
"name": "HelixHeadlessOutline",
|
|
152778
|
+
"module": "src/outline/root/outline-root.ts"
|
|
152779
|
+
}
|
|
152780
|
+
},
|
|
152280
152781
|
{
|
|
152281
152782
|
"kind": "method",
|
|
152282
152783
|
"name": "watch",
|
|
@@ -152303,6 +152804,21 @@
|
|
|
152303
152804
|
"module": "src/outline/root/outline-root.ts"
|
|
152304
152805
|
}
|
|
152305
152806
|
},
|
|
152807
|
+
{
|
|
152808
|
+
"kind": "method",
|
|
152809
|
+
"name": "writeDepths",
|
|
152810
|
+
"privacy": "private",
|
|
152811
|
+
"return": {
|
|
152812
|
+
"type": {
|
|
152813
|
+
"text": "void"
|
|
152814
|
+
}
|
|
152815
|
+
},
|
|
152816
|
+
"description": "Writes each link's depth in the outline, from 1, as `data-depth`: the\nlist items around it inside the outline, or for a flat run, its place in\nthe lists `data-level` makes of it.\n\nOn the consumer's links, as `aria-current` is, and only after the first\nrender, where a framework has hydrated them.",
|
|
152817
|
+
"inheritedFrom": {
|
|
152818
|
+
"name": "HelixHeadlessOutline",
|
|
152819
|
+
"module": "src/outline/root/outline-root.ts"
|
|
152820
|
+
}
|
|
152821
|
+
},
|
|
152306
152822
|
{
|
|
152307
152823
|
"kind": "method",
|
|
152308
152824
|
"name": "unland",
|
|
@@ -152849,6 +153365,19 @@
|
|
|
152849
153365
|
"module": "src/outline/root/outline-root.ts"
|
|
152850
153366
|
}
|
|
152851
153367
|
},
|
|
153368
|
+
{
|
|
153369
|
+
"name": "marks",
|
|
153370
|
+
"type": {
|
|
153371
|
+
"text": "'reading' | 'visible'"
|
|
153372
|
+
},
|
|
153373
|
+
"default": "'reading'",
|
|
153374
|
+
"description": "Which links are marked. `reading` marks the one section being read, the\nlast whose heading has passed the reading line. `visible` marks every\nsection with part of it on screen, and the mark runs across their links.",
|
|
153375
|
+
"fieldName": "marks",
|
|
153376
|
+
"inheritedFrom": {
|
|
153377
|
+
"name": "HelixHeadlessOutline",
|
|
153378
|
+
"module": "src/outline/root/outline-root.ts"
|
|
153379
|
+
}
|
|
153380
|
+
},
|
|
152852
153381
|
{
|
|
152853
153382
|
"name": "offset",
|
|
152854
153383
|
"type": {
|
|
@@ -168899,6 +169428,22 @@
|
|
|
168899
169428
|
"module": "src/sandbox/root/sandbox-root.js"
|
|
168900
169429
|
}
|
|
168901
169430
|
},
|
|
169431
|
+
{
|
|
169432
|
+
"kind": "js",
|
|
169433
|
+
"name": "ManifestLike",
|
|
169434
|
+
"declaration": {
|
|
169435
|
+
"name": "ManifestLike",
|
|
169436
|
+
"module": "./source/editing.js"
|
|
169437
|
+
}
|
|
169438
|
+
},
|
|
169439
|
+
{
|
|
169440
|
+
"kind": "js",
|
|
169441
|
+
"name": "manifestWords",
|
|
169442
|
+
"declaration": {
|
|
169443
|
+
"name": "manifestWords",
|
|
169444
|
+
"module": "./source/editing.js"
|
|
169445
|
+
}
|
|
169446
|
+
},
|
|
168902
169447
|
{
|
|
168903
169448
|
"kind": "js",
|
|
168904
169449
|
"name": "*",
|
|
@@ -169032,7 +169577,7 @@
|
|
|
169032
169577
|
"declarations": [
|
|
169033
169578
|
{
|
|
169034
169579
|
"kind": "class",
|
|
169035
|
-
"description": "A sandboxed `<iframe>` that loads `src`, a document you provide. That\ndocument imports what the examples need, listens for a render message, and\nwrites the markup into itself.\n\n**Without `src`, the frame loads a built-in document**, so a sandbox renders\nwith nothing to host. It runs HTML, CSS, and scripts, and reports the\nconsole, uncaught errors, its height, and presses as a frame on\n`servePreview` does. It defines no element, so an example that uses Helix\ncomponents needs a `src` that imports them.\n\n**`imports` lets an example import packages by name** in the built-in\ndocument, as an import map: each name maps to the address of an ES module,\nsuch as `{\"canvas-confetti\": \"https://esm.sh/canvas-confetti@1.9.3\"}`, and\n`import confetti from 'canvas-confetti'` in the `js` pane then loads it. A\nCDN that serves npm packages as modules, such as esm.sh or jsDelivr's\n`+esm`, gives every package an address. A new map loads the document again,\nsince a browser reads one only as a document starts. A `src` document\ndeclares its own.\n\n**Examples render in a frame**, so an example's styles and scripts do not\naffect the page around the sandbox, and `position: fixed` stays inside the\npane. The frame starts empty, with its own stylesheets and its own custom\nelement registry, so `src` must load the styles and components the examples\nuse.\n\n**The source is untrusted, and the frame keeps it isolated.** The frame uses\n`sandbox=\"allow-scripts\"` and never `allow-same-origin`. Together, the two\nlet a document on the same origin remove its own sandbox, which is the same\nas having none.\n\n**A preview says where it is.** It is `:state(loading)` from the moment it\nhas a `src` until that document can take the example, and again through\n`reload()`. It is `:state(failed)` once the example throws an error it does\nnot catch, until the next source is sent, which a frame on `servePreview`\nreports. A page draws its own spinner or message from either, such as a\nsibling shown by `helix-sandbox-preview:state(failed) + .message`.\n\n**A failed preview shows the error over the example**, in the `error` part,\nuntil the next source is sent. The terminal says it too, so the part is not\nannounced. Hide it with `::part(error) { display: none }
|
|
169580
|
+
"description": "A sandboxed `<iframe>` that loads `src`, a document you provide. That\ndocument imports what the examples need, listens for a render message, and\nwrites the markup into itself.\n\n**Without `src`, the frame loads a built-in document**, so a sandbox renders\nwith nothing to host. It runs HTML, CSS, and scripts, and reports the\nconsole, uncaught errors, its height, and presses as a frame on\n`servePreview` does. It defines no element, so an example that uses Helix\ncomponents needs a `src` that imports them.\n\n**`imports` lets an example import packages by name** in the built-in\ndocument, as an import map: each name maps to the address of an ES module,\nsuch as `{\"canvas-confetti\": \"https://esm.sh/canvas-confetti@1.9.3\"}`, and\n`import confetti from 'canvas-confetti'` in the `js` pane then loads it. A\nCDN that serves npm packages as modules, such as esm.sh or jsDelivr's\n`+esm`, gives every package an address. A new map loads the document again,\nsince a browser reads one only as a document starts. A `src` document\ndeclares its own.\n\n**`dependencies` names packages by version instead**, as a `package.json`\ndoes: `{\"canvas-confetti\": \"^1.9\"}` loads `canvas-confetti` and the paths\nunder it from `cdn`, `https://esm.sh/` by default, at the version or range\ngiven. An address in `imports` wins over a package of the same name.\n\n**`modules` holds files the example imports by a relative path**: each path,\nsuch as `utils.js`, to its source, and `import { add } from './utils.js'`\nin the `js` pane or in another module loads it. A sandbox writes each pane\nnamed for a module file here.\n\n**Examples render in a frame**, so an example's styles and scripts do not\naffect the page around the sandbox, and `position: fixed` stays inside the\npane. The frame starts empty, with its own stylesheets and its own custom\nelement registry, so `src` must load the styles and components the examples\nuse.\n\n**The source is untrusted, and the frame keeps it isolated.** The frame uses\n`sandbox=\"allow-scripts\"` and never `allow-same-origin`. Together, the two\nlet a document on the same origin remove its own sandbox, which is the same\nas having none.\n\n**A preview says where it is.** It is `:state(loading)` from the moment it\nhas a `src` until that document can take the example, and again through\n`reload()`. It is `:state(failed)` once the example throws an error it does\nnot catch, until the next source is sent, which a frame on `servePreview`\nreports. A page draws its own spinner or message from either, such as a\nsibling shown by `helix-sandbox-preview:state(failed) + .message`.\n\n**A failed preview shows the error over the example**, in the `error` part,\nuntil the next source is sent. The terminal says it too, so the part is not\nannounced, and it is the frame's description while it shows, so a screen\nreader reads it with the frame. Hide it with `::part(error) { display: none }`\nwhere the page draws its own.\n\n**`controls` draws two buttons in the preview's corner**: one reloads the\nframe's document, as `reload()` does, and one opens the example in a new\ntab, as `open()` does. The tab runs it in a frame sandboxed as this one is.",
|
|
169036
169581
|
"name": "HelixSandboxPreview",
|
|
169037
169582
|
"cssParts": [
|
|
169038
169583
|
{
|
|
@@ -169067,6 +169612,16 @@
|
|
|
169067
169612
|
"default": "'helix-sandbox-preview'",
|
|
169068
169613
|
"description": "The key this part's words are registered under, its tag:\n`registerWords('de', { 'helix-sandbox-preview': { label: 'Vorschau' } })`."
|
|
169069
169614
|
},
|
|
169615
|
+
{
|
|
169616
|
+
"kind": "field",
|
|
169617
|
+
"name": "cdn",
|
|
169618
|
+
"type": {
|
|
169619
|
+
"text": "string"
|
|
169620
|
+
},
|
|
169621
|
+
"default": "'https://esm.sh/'",
|
|
169622
|
+
"description": "The address the packages in `dependencies` load from, which the name, an\n`@` and the version follow.",
|
|
169623
|
+
"attribute": "cdn"
|
|
169624
|
+
},
|
|
169070
169625
|
{
|
|
169071
169626
|
"kind": "field",
|
|
169072
169627
|
"name": "colorMode",
|
|
@@ -169087,6 +169642,15 @@
|
|
|
169087
169642
|
"attribute": "controls",
|
|
169088
169643
|
"reflects": true
|
|
169089
169644
|
},
|
|
169645
|
+
{
|
|
169646
|
+
"kind": "field",
|
|
169647
|
+
"name": "dependencies",
|
|
169648
|
+
"type": {
|
|
169649
|
+
"text": "Record<string, string> | undefined"
|
|
169650
|
+
},
|
|
169651
|
+
"description": "The npm packages an example can import by name in the built-in document,\neach name to a version or a range, as a `package.json` lists them. Each\nloads from `cdn`. Set it as JSON in the attribute or as an object. Not\nread where `src` is set.",
|
|
169652
|
+
"attribute": "dependencies"
|
|
169653
|
+
},
|
|
169090
169654
|
{
|
|
169091
169655
|
"kind": "field",
|
|
169092
169656
|
"name": "direction",
|
|
@@ -169127,6 +169691,15 @@
|
|
|
169127
169691
|
"description": "How the example is placed in the frame.\n\n`padded` insets it and leaves it at the top, which is the resting case and\nwhat an absent value sends. `centered` gives it a measure and centers that\nbox in the frame. `hug` shrinks the example to its own content and centers\nwhat is left, which is the difference that matters for a component whose\nroot is a full-width block. `fullscreen` is the whole frame with no inset.\n\nNot reflected, for `direction`'s reason: the placement is applied by the\ndocument inside the frame, against its own root, so no rule on this side\ncould read it.",
|
|
169128
169692
|
"attribute": "layout"
|
|
169129
169693
|
},
|
|
169694
|
+
{
|
|
169695
|
+
"kind": "field",
|
|
169696
|
+
"name": "modules",
|
|
169697
|
+
"type": {
|
|
169698
|
+
"text": "Record<string, string> | undefined"
|
|
169699
|
+
},
|
|
169700
|
+
"description": "Module files an example imports by a relative path in the built-in\ndocument, each path, such as `utils.js`, to its source. Not read where\n`src` is set.",
|
|
169701
|
+
"attribute": "modules"
|
|
169702
|
+
},
|
|
169130
169703
|
{
|
|
169131
169704
|
"kind": "field",
|
|
169132
169705
|
"name": "openLabel",
|
|
@@ -169259,6 +169832,16 @@
|
|
|
169259
169832
|
"privacy": "private",
|
|
169260
169833
|
"readonly": true
|
|
169261
169834
|
},
|
|
169835
|
+
{
|
|
169836
|
+
"kind": "field",
|
|
169837
|
+
"name": "importMap",
|
|
169838
|
+
"type": {
|
|
169839
|
+
"text": "Record<string, string>"
|
|
169840
|
+
},
|
|
169841
|
+
"privacy": "private",
|
|
169842
|
+
"description": "The import map of the built-in document: each module file, by its path\nand by the address its neighbors import it at, each package in\n`dependencies` and the paths under it, and `imports` over all of them.",
|
|
169843
|
+
"readonly": true
|
|
169844
|
+
},
|
|
169262
169845
|
{
|
|
169263
169846
|
"kind": "field",
|
|
169264
169847
|
"name": "handleFrameLoad",
|
|
@@ -169351,6 +169934,16 @@
|
|
|
169351
169934
|
"text": "reload() => void"
|
|
169352
169935
|
}
|
|
169353
169936
|
},
|
|
169937
|
+
{
|
|
169938
|
+
"kind": "field",
|
|
169939
|
+
"name": "loadedMap",
|
|
169940
|
+
"type": {
|
|
169941
|
+
"text": "string"
|
|
169942
|
+
},
|
|
169943
|
+
"privacy": "private",
|
|
169944
|
+
"default": "''",
|
|
169945
|
+
"description": "The import map the built-in document was last loaded with, as JSON."
|
|
169946
|
+
},
|
|
169354
169947
|
{
|
|
169355
169948
|
"kind": "method",
|
|
169356
169949
|
"name": "unready",
|
|
@@ -169732,6 +170325,15 @@
|
|
|
169732
170325
|
}
|
|
169733
170326
|
],
|
|
169734
170327
|
"attributes": [
|
|
170328
|
+
{
|
|
170329
|
+
"name": "cdn",
|
|
170330
|
+
"type": {
|
|
170331
|
+
"text": "string"
|
|
170332
|
+
},
|
|
170333
|
+
"default": "'https://esm.sh/'",
|
|
170334
|
+
"description": "The address the packages in `dependencies` load from, which the name, an\n`@` and the version follow.",
|
|
170335
|
+
"fieldName": "cdn"
|
|
170336
|
+
},
|
|
169735
170337
|
{
|
|
169736
170338
|
"name": "color-mode",
|
|
169737
170339
|
"type": {
|
|
@@ -169749,6 +170351,14 @@
|
|
|
169749
170351
|
"description": "Whether the preview draws a reload button and a button that opens the\nexample in a new tab, in its corner.",
|
|
169750
170352
|
"fieldName": "controls"
|
|
169751
170353
|
},
|
|
170354
|
+
{
|
|
170355
|
+
"name": "dependencies",
|
|
170356
|
+
"type": {
|
|
170357
|
+
"text": "Record<string, string> | undefined"
|
|
170358
|
+
},
|
|
170359
|
+
"description": "The npm packages an example can import by name in the built-in document,\neach name to a version or a range, as a `package.json` lists them. Each\nloads from `cdn`. Set it as JSON in the attribute or as an object. Not\nread where `src` is set.",
|
|
170360
|
+
"fieldName": "dependencies"
|
|
170361
|
+
},
|
|
169752
170362
|
{
|
|
169753
170363
|
"name": "direction",
|
|
169754
170364
|
"type": {
|
|
@@ -169782,6 +170392,14 @@
|
|
|
169782
170392
|
"description": "How the example is placed in the frame.\n\n`padded` insets it and leaves it at the top, which is the resting case and\nwhat an absent value sends. `centered` gives it a measure and centers that\nbox in the frame. `hug` shrinks the example to its own content and centers\nwhat is left, which is the difference that matters for a component whose\nroot is a full-width block. `fullscreen` is the whole frame with no inset.\n\nNot reflected, for `direction`'s reason: the placement is applied by the\ndocument inside the frame, against its own root, so no rule on this side\ncould read it.",
|
|
169783
170393
|
"fieldName": "layout"
|
|
169784
170394
|
},
|
|
170395
|
+
{
|
|
170396
|
+
"name": "modules",
|
|
170397
|
+
"type": {
|
|
170398
|
+
"text": "Record<string, string> | undefined"
|
|
170399
|
+
},
|
|
170400
|
+
"description": "Module files an example imports by a relative path in the built-in\ndocument, each path, such as `utils.js`, to its source. Not read where\n`src` is set.",
|
|
170401
|
+
"fieldName": "modules"
|
|
170402
|
+
},
|
|
169785
170403
|
{
|
|
169786
170404
|
"name": "open-label",
|
|
169787
170405
|
"type": {
|
|
@@ -169923,7 +170541,7 @@
|
|
|
169923
170541
|
"declarations": [
|
|
169924
170542
|
{
|
|
169925
170543
|
"kind": "class",
|
|
169926
|
-
"description": "A source pane dispatches `helix-before-edit`, which bubbles, and the sandbox\npasses the value to the preview slotted into it. The source pane and the\npreview do not reference each other, so you can replace either one or use it\nalone.\n\nThe preview runs an edit once typing has rested for `preview-delay`, 300\nmilliseconds by default, so a word typed reloads it once. A pane's text when the sandbox starts reaches it at once.\n\nThe event carries the pane's `name`, so one sandbox can hold several panes.\n`html` sets the preview's markup
|
|
170544
|
+
"description": "A source pane dispatches `helix-before-edit`, which bubbles, and the sandbox\npasses the value to the preview slotted into it. The source pane and the\npreview do not reference each other, so you can replace either one or use it\nalone.\n\nThe preview runs an edit once typing has rested for `preview-delay`, 300\nmilliseconds by default, so a word typed reloads it once. A pane's text when the sandbox starts reaches it at once.\n\nThe event carries the pane's `name`, so one sandbox can hold several panes.\nThe names the sandbox writes into its previews:\n\n- `html` sets the preview's markup.\n- `css` sets its stylesheet.\n- `js` sets a script that runs as a module after the markup.\n- A module file name ending in `.js` or `.mjs`, such as `utils.js`, is a\n module the other scripts import by its path, `./utils.js`.\n- `package.json` sets the npm packages the scripts import by name, from its\n `dependencies`, which load from the preview's `cdn`.\n\nThe sandbox ignores a pane with any other name, so that pane can show\ncontent without changing the preview.\n\n**The sandbox is `:state(modified)` while a source pane holds an edit**, and\nthat pane's file tab is also `file-modified` and described as modified to\na screen reader. `reset()` puts every pane back to the source it was given.\n\n**The dividers are two nested `helix-splitter` elements**, which handle the\npointer, the keyboard, and the corner. The inner splitter holds the panes and\nthe outer one holds the panel, so the panel spans the full width.\n\n**Several source panes are files**, one shown at a time under a row of\ntabs, each named by the pane's `label` or, without one, its `name`. `file`\nholds the `name` of the pane shown. The tabs are a tab list: the arrow keys\nmove between them and show each pane, and `Home` and `End` go to the first\nand the last. Choosing one sends `helix-before-change` with the pane's\n`name`, which you can cancel, and `change` once `file` holds it. The panes\nnot shown carry `hidden`. One pane draws no tabs.\n\n**Any editor can be the source pane**: an element in the `source` slot with\na `name` that dispatches `helix-before-edit` with its text, which bubbles.\nA wrapper around CodeMirror or Monaco sends one on each change and is a pane\nlike `helix-sandbox-source`, and the sandbox reads its `value` to seed the\npreview. Dispatch `helix-caret` from it too for the status bar's position.\n\nSandbox is styled only and has behavior, as `Aura` is. Its behavior is the\nhand-off from a source pane to a preview frame, which works with any pane\nthat sends `helix-before-edit`, and what it draws is the layout around them:\ndividers, file tabs, and a panel. A page that wants another look slots its\nown panes and keeps the hand-off, so there is nothing for a headless version\nto hold.\n\nA development build warns about a source pane with no `label` and no `name`,\nwhose file tab would have no words.\n\nOn a focused divider, the arrow keys move it, and `Home` and `End` move it\nto its ends. `Enter` on the panes divider shuts the lead pane, and pressed\nagain it opens the pane where it was. `Enter` on the panel divider shuts the\npanel to `panel-collapsed-size`, and pressed again it opens the panel to its\nlast height.",
|
|
169927
170545
|
"name": "HelixSandbox",
|
|
169928
170546
|
"cssProperties": [
|
|
169929
170547
|
{
|
|
@@ -169952,6 +170570,10 @@
|
|
|
169952
170570
|
"description": "One file tab, `aria-selected` while its pane is shown.",
|
|
169953
170571
|
"name": "file"
|
|
169954
170572
|
},
|
|
170573
|
+
{
|
|
170574
|
+
"description": "A file tab whose pane holds an edit.",
|
|
170575
|
+
"name": "file-modified"
|
|
170576
|
+
},
|
|
169955
170577
|
{
|
|
169956
170578
|
"description": "The file tabs over the source panes, where there are several.",
|
|
169957
170579
|
"name": "files"
|
|
@@ -170071,6 +170693,19 @@
|
|
|
170071
170693
|
"description": "Which pane comes first, before the divider.\n\nA sandbox is read in one of two directions and the two are not a\npreference. A workbench is a place to write, so the source leads and the\npreview answers it. A reference page is a place to look, so the preview\nleads and the source is what a reader opens if they want to know how it was\ndone. Same component, opposite reading order, and no consumer should have\nto slot a preview into a hole named `source` to get it.\n\nNot reflected, because no rule selects on it: the panes already carry\n`data-pane`, which is what the stylesheet reaches for, and swapping the\nnames below keeps that true whichever way round they sit.\n\n`split` follows the lead pane rather than the source, so `split=\"30\"` means\nthe same thing in both directions: thirty percent to whatever comes first.",
|
|
170072
170694
|
"attribute": "lead"
|
|
170073
170695
|
},
|
|
170696
|
+
{
|
|
170697
|
+
"kind": "field",
|
|
170698
|
+
"name": "modifiedLabel",
|
|
170699
|
+
"type": {
|
|
170700
|
+
"text": "string"
|
|
170701
|
+
},
|
|
170702
|
+
"default": "'Modified'",
|
|
170703
|
+
"description": "The description of a file tab whose pane holds an edit, read by screen\nreaders after the file's name.",
|
|
170704
|
+
"attribute": "modified-label",
|
|
170705
|
+
"helix": {
|
|
170706
|
+
"words": true
|
|
170707
|
+
}
|
|
170708
|
+
},
|
|
170074
170709
|
{
|
|
170075
170710
|
"kind": "field",
|
|
170076
170711
|
"name": "orientation",
|
|
@@ -170128,9 +170763,75 @@
|
|
|
170128
170763
|
"name": "edits",
|
|
170129
170764
|
"privacy": "private",
|
|
170130
170765
|
"readonly": true,
|
|
170131
|
-
"default": "new Map<
|
|
170766
|
+
"default": "new Map<string, string>()",
|
|
170132
170767
|
"description": "The edits waiting out `previewDelay`, the last text of each pane."
|
|
170133
170768
|
},
|
|
170769
|
+
{
|
|
170770
|
+
"kind": "field",
|
|
170771
|
+
"name": "given",
|
|
170772
|
+
"privacy": "private",
|
|
170773
|
+
"readonly": true,
|
|
170774
|
+
"default": "new Map<Element, string>()",
|
|
170775
|
+
"description": "The source each pane was given, for a pane that does not say whether it is modified."
|
|
170776
|
+
},
|
|
170777
|
+
{
|
|
170778
|
+
"kind": "field",
|
|
170779
|
+
"name": "texts",
|
|
170780
|
+
"privacy": "private",
|
|
170781
|
+
"readonly": true,
|
|
170782
|
+
"default": "new Map<Element, string>()",
|
|
170783
|
+
"description": "The source each pane holds since its last edit."
|
|
170784
|
+
},
|
|
170785
|
+
{
|
|
170786
|
+
"kind": "field",
|
|
170787
|
+
"name": "drawnModified",
|
|
170788
|
+
"privacy": "private",
|
|
170789
|
+
"readonly": true,
|
|
170790
|
+
"default": "new Map<Element, boolean>()",
|
|
170791
|
+
"description": "Whether each pane held an edit when the file tabs were last drawn."
|
|
170792
|
+
},
|
|
170793
|
+
{
|
|
170794
|
+
"kind": "field",
|
|
170795
|
+
"name": "sources",
|
|
170796
|
+
"type": {
|
|
170797
|
+
"text": "Element[]"
|
|
170798
|
+
},
|
|
170799
|
+
"privacy": "private",
|
|
170800
|
+
"description": "The source panes slotted here.",
|
|
170801
|
+
"readonly": true
|
|
170802
|
+
},
|
|
170803
|
+
{
|
|
170804
|
+
"kind": "method",
|
|
170805
|
+
"name": "modifiedOf",
|
|
170806
|
+
"privacy": "private",
|
|
170807
|
+
"return": {
|
|
170808
|
+
"type": {
|
|
170809
|
+
"text": "boolean"
|
|
170810
|
+
}
|
|
170811
|
+
},
|
|
170812
|
+
"parameters": [
|
|
170813
|
+
{
|
|
170814
|
+
"name": "pane",
|
|
170815
|
+
"type": {
|
|
170816
|
+
"text": "Element"
|
|
170817
|
+
}
|
|
170818
|
+
}
|
|
170819
|
+
],
|
|
170820
|
+
"description": "Whether a pane holds an edit: as the pane says, where it has `modified`,\nas `helix-sandbox-source` has, and otherwise against the text it started\nwith."
|
|
170821
|
+
},
|
|
170822
|
+
{
|
|
170823
|
+
"kind": "method",
|
|
170824
|
+
"name": "reset",
|
|
170825
|
+
"return": {
|
|
170826
|
+
"type": {
|
|
170827
|
+
"text": "void"
|
|
170828
|
+
}
|
|
170829
|
+
},
|
|
170830
|
+
"description": "Puts every source pane back to the source it was given: through the\npane's own `reset()` where it has one, which sends an edit the previews\ntake, and otherwise by setting its `value` and writing it into the\npreviews.",
|
|
170831
|
+
"type": {
|
|
170832
|
+
"text": "reset() => void"
|
|
170833
|
+
}
|
|
170834
|
+
},
|
|
170134
170835
|
{
|
|
170135
170836
|
"kind": "field",
|
|
170136
170837
|
"name": "resting",
|
|
@@ -170381,7 +171082,7 @@
|
|
|
170381
171082
|
{
|
|
170382
171083
|
"name": "name",
|
|
170383
171084
|
"type": {
|
|
170384
|
-
"text": "
|
|
171085
|
+
"text": "string"
|
|
170385
171086
|
}
|
|
170386
171087
|
},
|
|
170387
171088
|
{
|
|
@@ -171168,6 +171869,15 @@
|
|
|
171168
171869
|
"description": "Which pane comes first, before the divider.\n\nA sandbox is read in one of two directions and the two are not a\npreference. A workbench is a place to write, so the source leads and the\npreview answers it. A reference page is a place to look, so the preview\nleads and the source is what a reader opens if they want to know how it was\ndone. Same component, opposite reading order, and no consumer should have\nto slot a preview into a hole named `source` to get it.\n\nNot reflected, because no rule selects on it: the panes already carry\n`data-pane`, which is what the stylesheet reaches for, and swapping the\nnames below keeps that true whichever way round they sit.\n\n`split` follows the lead pane rather than the source, so `split=\"30\"` means\nthe same thing in both directions: thirty percent to whatever comes first.",
|
|
171169
171870
|
"fieldName": "lead"
|
|
171170
171871
|
},
|
|
171872
|
+
{
|
|
171873
|
+
"name": "modified-label",
|
|
171874
|
+
"type": {
|
|
171875
|
+
"text": "string"
|
|
171876
|
+
},
|
|
171877
|
+
"default": "'Modified'",
|
|
171878
|
+
"description": "The description of a file tab whose pane holds an edit, read by screen\nreaders after the file's name.",
|
|
171879
|
+
"fieldName": "modifiedLabel"
|
|
171880
|
+
},
|
|
171171
171881
|
{
|
|
171172
171882
|
"name": "orientation",
|
|
171173
171883
|
"type": {
|
|
@@ -171226,6 +171936,10 @@
|
|
|
171226
171936
|
}
|
|
171227
171937
|
],
|
|
171228
171938
|
"cssStates": [
|
|
171939
|
+
{
|
|
171940
|
+
"description": "While a source pane holds an edit, until `reset()`.",
|
|
171941
|
+
"name": "modified"
|
|
171942
|
+
},
|
|
171229
171943
|
{
|
|
171230
171944
|
"description": "While there is a panel and it is no taller than `panel-collapsed-size`.",
|
|
171231
171945
|
"name": "panel-collapsed"
|
|
@@ -171266,6 +171980,10 @@
|
|
|
171266
171980
|
"description": "The preview frame, which runs its source inside a sandboxed document.",
|
|
171267
171981
|
"slug": "a-live-preview"
|
|
171268
171982
|
},
|
|
171983
|
+
{
|
|
171984
|
+
"description": "A source pane that closes brackets, marks the pair beside the caret, and completes words.",
|
|
171985
|
+
"slug": "editing-aids"
|
|
171986
|
+
},
|
|
171269
171987
|
{
|
|
171270
171988
|
"description": "The events for an edit, a cursor move, two dividers, and a console log.",
|
|
171271
171989
|
"min": 420,
|
|
@@ -171319,6 +172037,392 @@
|
|
|
171319
172037
|
}
|
|
171320
172038
|
]
|
|
171321
172039
|
},
|
|
172040
|
+
{
|
|
172041
|
+
"kind": "javascript-module",
|
|
172042
|
+
"path": "src/sandbox/source/editing.ts",
|
|
172043
|
+
"declarations": [
|
|
172044
|
+
{
|
|
172045
|
+
"kind": "function",
|
|
172046
|
+
"name": "syntaxOf",
|
|
172047
|
+
"return": {
|
|
172048
|
+
"type": {
|
|
172049
|
+
"text": "CommentSyntax | undefined"
|
|
172050
|
+
}
|
|
172051
|
+
},
|
|
172052
|
+
"parameters": [
|
|
172053
|
+
{
|
|
172054
|
+
"name": "name",
|
|
172055
|
+
"type": {
|
|
172056
|
+
"text": "string"
|
|
172057
|
+
}
|
|
172058
|
+
}
|
|
172059
|
+
],
|
|
172060
|
+
"description": "The syntax of a pane, read from its `name`: `html`, `css` and `js`, or the\nextension of a file name such as `utils.js`. `ts`, `jsx`, `tsx`, `mjs` and\n`cjs` are `js`. Anything else has no comments."
|
|
172061
|
+
},
|
|
172062
|
+
{
|
|
172063
|
+
"kind": "function",
|
|
172064
|
+
"name": "indentLines",
|
|
172065
|
+
"return": {
|
|
172066
|
+
"type": {
|
|
172067
|
+
"text": "SourceEdit | undefined"
|
|
172068
|
+
}
|
|
172069
|
+
},
|
|
172070
|
+
"parameters": [
|
|
172071
|
+
{
|
|
172072
|
+
"name": "source",
|
|
172073
|
+
"type": {
|
|
172074
|
+
"text": "string"
|
|
172075
|
+
}
|
|
172076
|
+
},
|
|
172077
|
+
{
|
|
172078
|
+
"name": "from",
|
|
172079
|
+
"type": {
|
|
172080
|
+
"text": "number"
|
|
172081
|
+
}
|
|
172082
|
+
},
|
|
172083
|
+
{
|
|
172084
|
+
"name": "to",
|
|
172085
|
+
"type": {
|
|
172086
|
+
"text": "number"
|
|
172087
|
+
}
|
|
172088
|
+
},
|
|
172089
|
+
{
|
|
172090
|
+
"name": "unit",
|
|
172091
|
+
"default": "' '"
|
|
172092
|
+
}
|
|
172093
|
+
],
|
|
172094
|
+
"description": "Indents each line a selection touches by `unit`, leaving blank lines as they are."
|
|
172095
|
+
},
|
|
172096
|
+
{
|
|
172097
|
+
"kind": "function",
|
|
172098
|
+
"name": "outdentLines",
|
|
172099
|
+
"return": {
|
|
172100
|
+
"type": {
|
|
172101
|
+
"text": "SourceEdit | undefined"
|
|
172102
|
+
}
|
|
172103
|
+
},
|
|
172104
|
+
"parameters": [
|
|
172105
|
+
{
|
|
172106
|
+
"name": "source",
|
|
172107
|
+
"type": {
|
|
172108
|
+
"text": "string"
|
|
172109
|
+
}
|
|
172110
|
+
},
|
|
172111
|
+
{
|
|
172112
|
+
"name": "from",
|
|
172113
|
+
"type": {
|
|
172114
|
+
"text": "number"
|
|
172115
|
+
}
|
|
172116
|
+
},
|
|
172117
|
+
{
|
|
172118
|
+
"name": "to",
|
|
172119
|
+
"type": {
|
|
172120
|
+
"text": "number"
|
|
172121
|
+
}
|
|
172122
|
+
}
|
|
172123
|
+
],
|
|
172124
|
+
"description": "Takes one level of indentation, two spaces or a tab, off each line a selection touches."
|
|
172125
|
+
},
|
|
172126
|
+
{
|
|
172127
|
+
"kind": "function",
|
|
172128
|
+
"name": "breakLine",
|
|
172129
|
+
"return": {
|
|
172130
|
+
"type": {
|
|
172131
|
+
"text": "SourceEdit | undefined"
|
|
172132
|
+
}
|
|
172133
|
+
},
|
|
172134
|
+
"parameters": [
|
|
172135
|
+
{
|
|
172136
|
+
"name": "source",
|
|
172137
|
+
"type": {
|
|
172138
|
+
"text": "string"
|
|
172139
|
+
}
|
|
172140
|
+
},
|
|
172141
|
+
{
|
|
172142
|
+
"name": "from",
|
|
172143
|
+
"type": {
|
|
172144
|
+
"text": "number"
|
|
172145
|
+
}
|
|
172146
|
+
},
|
|
172147
|
+
{
|
|
172148
|
+
"name": "to",
|
|
172149
|
+
"type": {
|
|
172150
|
+
"text": "number"
|
|
172151
|
+
}
|
|
172152
|
+
},
|
|
172153
|
+
{
|
|
172154
|
+
"name": "unit",
|
|
172155
|
+
"default": "' '"
|
|
172156
|
+
}
|
|
172157
|
+
],
|
|
172158
|
+
"description": "What Enter does: a new line with the indentation of the line it breaks, one\nlevel deeper after an opening bracket, and with the closing bracket on a\nline of its own where the caret is between a pair. `undefined` for a line\nat the margin with no bracket before the caret, which takes the platform's\nown Enter."
|
|
172159
|
+
},
|
|
172160
|
+
{
|
|
172161
|
+
"kind": "function",
|
|
172162
|
+
"name": "toggleComment",
|
|
172163
|
+
"return": {
|
|
172164
|
+
"type": {
|
|
172165
|
+
"text": "SourceEdit | undefined"
|
|
172166
|
+
}
|
|
172167
|
+
},
|
|
172168
|
+
"parameters": [
|
|
172169
|
+
{
|
|
172170
|
+
"name": "source",
|
|
172171
|
+
"type": {
|
|
172172
|
+
"text": "string"
|
|
172173
|
+
}
|
|
172174
|
+
},
|
|
172175
|
+
{
|
|
172176
|
+
"name": "from",
|
|
172177
|
+
"type": {
|
|
172178
|
+
"text": "number"
|
|
172179
|
+
}
|
|
172180
|
+
},
|
|
172181
|
+
{
|
|
172182
|
+
"name": "to",
|
|
172183
|
+
"type": {
|
|
172184
|
+
"text": "number"
|
|
172185
|
+
}
|
|
172186
|
+
},
|
|
172187
|
+
{
|
|
172188
|
+
"name": "syntax",
|
|
172189
|
+
"type": {
|
|
172190
|
+
"text": "CommentSyntax"
|
|
172191
|
+
}
|
|
172192
|
+
}
|
|
172193
|
+
],
|
|
172194
|
+
"description": "Comments out the lines a selection touches, or uncomments them where they\nalready are a comment.\n\n`js` comments each line with `//` at the indentation the lines share. `css`\nand `html`, which have no line comment, put one block comment around the\ntext of the lines."
|
|
172195
|
+
},
|
|
172196
|
+
{
|
|
172197
|
+
"kind": "function",
|
|
172198
|
+
"name": "closeBracket",
|
|
172199
|
+
"return": {
|
|
172200
|
+
"type": {
|
|
172201
|
+
"text": "SourceEdit | undefined"
|
|
172202
|
+
}
|
|
172203
|
+
},
|
|
172204
|
+
"parameters": [
|
|
172205
|
+
{
|
|
172206
|
+
"name": "source",
|
|
172207
|
+
"type": {
|
|
172208
|
+
"text": "string"
|
|
172209
|
+
}
|
|
172210
|
+
},
|
|
172211
|
+
{
|
|
172212
|
+
"name": "from",
|
|
172213
|
+
"type": {
|
|
172214
|
+
"text": "number"
|
|
172215
|
+
}
|
|
172216
|
+
},
|
|
172217
|
+
{
|
|
172218
|
+
"name": "to",
|
|
172219
|
+
"type": {
|
|
172220
|
+
"text": "number"
|
|
172221
|
+
}
|
|
172222
|
+
},
|
|
172223
|
+
{
|
|
172224
|
+
"name": "key",
|
|
172225
|
+
"type": {
|
|
172226
|
+
"text": "string"
|
|
172227
|
+
}
|
|
172228
|
+
}
|
|
172229
|
+
],
|
|
172230
|
+
"description": "What typing `key` does where brackets close: a bracket or quote typed with\ntext selected goes around the text, one typed before a space or the end of\nthe line closes as well, and a closing one typed before the same character\nsteps over it. `undefined` where the key types as usual.\n\nA quote after a letter or a digit is an apostrophe and does not close."
|
|
172231
|
+
},
|
|
172232
|
+
{
|
|
172233
|
+
"kind": "function",
|
|
172234
|
+
"name": "deletePair",
|
|
172235
|
+
"return": {
|
|
172236
|
+
"type": {
|
|
172237
|
+
"text": "SourceEdit | undefined"
|
|
172238
|
+
}
|
|
172239
|
+
},
|
|
172240
|
+
"parameters": [
|
|
172241
|
+
{
|
|
172242
|
+
"name": "source",
|
|
172243
|
+
"type": {
|
|
172244
|
+
"text": "string"
|
|
172245
|
+
}
|
|
172246
|
+
},
|
|
172247
|
+
{
|
|
172248
|
+
"name": "from",
|
|
172249
|
+
"type": {
|
|
172250
|
+
"text": "number"
|
|
172251
|
+
}
|
|
172252
|
+
},
|
|
172253
|
+
{
|
|
172254
|
+
"name": "to",
|
|
172255
|
+
"type": {
|
|
172256
|
+
"text": "number"
|
|
172257
|
+
}
|
|
172258
|
+
}
|
|
172259
|
+
],
|
|
172260
|
+
"description": "What Backspace does between a bracket or quote and the character that\ncloses it, where brackets close: it deletes both."
|
|
172261
|
+
},
|
|
172262
|
+
{
|
|
172263
|
+
"kind": "function",
|
|
172264
|
+
"name": "matchBracket",
|
|
172265
|
+
"return": {
|
|
172266
|
+
"type": {
|
|
172267
|
+
"text": "BracketMatch | undefined"
|
|
172268
|
+
}
|
|
172269
|
+
},
|
|
172270
|
+
"parameters": [
|
|
172271
|
+
{
|
|
172272
|
+
"name": "source",
|
|
172273
|
+
"type": {
|
|
172274
|
+
"text": "string"
|
|
172275
|
+
}
|
|
172276
|
+
},
|
|
172277
|
+
{
|
|
172278
|
+
"name": "at",
|
|
172279
|
+
"type": {
|
|
172280
|
+
"text": "number"
|
|
172281
|
+
}
|
|
172282
|
+
},
|
|
172283
|
+
{
|
|
172284
|
+
"name": "skip",
|
|
172285
|
+
"default": "() => false",
|
|
172286
|
+
"type": {
|
|
172287
|
+
"text": "(index: number) => boolean"
|
|
172288
|
+
}
|
|
172289
|
+
}
|
|
172290
|
+
],
|
|
172291
|
+
"description": "The bracket beside the caret and its pair: the one before the caret first,\nthen the one after it. `skip` leaves out positions inside strings and\ncomments, where a highlighter has said which those are."
|
|
172292
|
+
},
|
|
172293
|
+
{
|
|
172294
|
+
"kind": "function",
|
|
172295
|
+
"name": "suggest",
|
|
172296
|
+
"return": {
|
|
172297
|
+
"type": {
|
|
172298
|
+
"text": "Completions | undefined"
|
|
172299
|
+
}
|
|
172300
|
+
},
|
|
172301
|
+
"parameters": [
|
|
172302
|
+
{
|
|
172303
|
+
"name": "source",
|
|
172304
|
+
"type": {
|
|
172305
|
+
"text": "string"
|
|
172306
|
+
}
|
|
172307
|
+
},
|
|
172308
|
+
{
|
|
172309
|
+
"name": "at",
|
|
172310
|
+
"type": {
|
|
172311
|
+
"text": "number"
|
|
172312
|
+
}
|
|
172313
|
+
},
|
|
172314
|
+
{
|
|
172315
|
+
"name": "extra",
|
|
172316
|
+
"default": "[]",
|
|
172317
|
+
"type": {
|
|
172318
|
+
"text": "readonly string[]"
|
|
172319
|
+
}
|
|
172320
|
+
}
|
|
172321
|
+
],
|
|
172322
|
+
"description": "The completions for the word before the caret: every longer word in the\nsource or in `extra` that starts with it, whatever its case. `undefined`\nwhere the caret follows no word or nothing completes it."
|
|
172323
|
+
},
|
|
172324
|
+
{
|
|
172325
|
+
"kind": "function",
|
|
172326
|
+
"name": "manifestWords",
|
|
172327
|
+
"return": {
|
|
172328
|
+
"type": {
|
|
172329
|
+
"text": "string[]"
|
|
172330
|
+
}
|
|
172331
|
+
},
|
|
172332
|
+
"parameters": [
|
|
172333
|
+
{
|
|
172334
|
+
"name": "manifest",
|
|
172335
|
+
"type": {
|
|
172336
|
+
"text": "ManifestLike"
|
|
172337
|
+
}
|
|
172338
|
+
}
|
|
172339
|
+
],
|
|
172340
|
+
"description": "The tag names, attribute names and CSS custom properties a custom elements\nmanifest lists, for a source pane's `completions`. Each name is listed once."
|
|
172341
|
+
}
|
|
172342
|
+
],
|
|
172343
|
+
"exports": [
|
|
172344
|
+
{
|
|
172345
|
+
"kind": "js",
|
|
172346
|
+
"name": "syntaxOf",
|
|
172347
|
+
"declaration": {
|
|
172348
|
+
"name": "syntaxOf",
|
|
172349
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172350
|
+
}
|
|
172351
|
+
},
|
|
172352
|
+
{
|
|
172353
|
+
"kind": "js",
|
|
172354
|
+
"name": "indentLines",
|
|
172355
|
+
"declaration": {
|
|
172356
|
+
"name": "indentLines",
|
|
172357
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172358
|
+
}
|
|
172359
|
+
},
|
|
172360
|
+
{
|
|
172361
|
+
"kind": "js",
|
|
172362
|
+
"name": "outdentLines",
|
|
172363
|
+
"declaration": {
|
|
172364
|
+
"name": "outdentLines",
|
|
172365
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172366
|
+
}
|
|
172367
|
+
},
|
|
172368
|
+
{
|
|
172369
|
+
"kind": "js",
|
|
172370
|
+
"name": "breakLine",
|
|
172371
|
+
"declaration": {
|
|
172372
|
+
"name": "breakLine",
|
|
172373
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172374
|
+
}
|
|
172375
|
+
},
|
|
172376
|
+
{
|
|
172377
|
+
"kind": "js",
|
|
172378
|
+
"name": "toggleComment",
|
|
172379
|
+
"declaration": {
|
|
172380
|
+
"name": "toggleComment",
|
|
172381
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172382
|
+
}
|
|
172383
|
+
},
|
|
172384
|
+
{
|
|
172385
|
+
"kind": "js",
|
|
172386
|
+
"name": "closeBracket",
|
|
172387
|
+
"declaration": {
|
|
172388
|
+
"name": "closeBracket",
|
|
172389
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172390
|
+
}
|
|
172391
|
+
},
|
|
172392
|
+
{
|
|
172393
|
+
"kind": "js",
|
|
172394
|
+
"name": "deletePair",
|
|
172395
|
+
"declaration": {
|
|
172396
|
+
"name": "deletePair",
|
|
172397
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172398
|
+
}
|
|
172399
|
+
},
|
|
172400
|
+
{
|
|
172401
|
+
"kind": "js",
|
|
172402
|
+
"name": "matchBracket",
|
|
172403
|
+
"declaration": {
|
|
172404
|
+
"name": "matchBracket",
|
|
172405
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172406
|
+
}
|
|
172407
|
+
},
|
|
172408
|
+
{
|
|
172409
|
+
"kind": "js",
|
|
172410
|
+
"name": "suggest",
|
|
172411
|
+
"declaration": {
|
|
172412
|
+
"name": "suggest",
|
|
172413
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172414
|
+
}
|
|
172415
|
+
},
|
|
172416
|
+
{
|
|
172417
|
+
"kind": "js",
|
|
172418
|
+
"name": "manifestWords",
|
|
172419
|
+
"declaration": {
|
|
172420
|
+
"name": "manifestWords",
|
|
172421
|
+
"module": "src/sandbox/source/editing.ts"
|
|
172422
|
+
}
|
|
172423
|
+
}
|
|
172424
|
+
]
|
|
172425
|
+
},
|
|
171322
172426
|
{
|
|
171323
172427
|
"kind": "javascript-module",
|
|
171324
172428
|
"path": "src/sandbox/source/sandbox-source.css.ts",
|
|
@@ -171345,13 +172449,17 @@
|
|
|
171345
172449
|
"declarations": [
|
|
171346
172450
|
{
|
|
171347
172451
|
"kind": "class",
|
|
171348
|
-
"description": "A real `<textarea>`, so undo, selection, spellcheck suppression, mobile\nkeyboards, and screen reader support come from the platform.\n\nTab inserts two spaces, so you can indent code. To move focus out of the\nfield, press Escape and then Tab. Shift+Tab moves focus back as it does\nanywhere else. The field's description says so to a screen reader.\n\n**`tokenize` colors the source** with a highlighter you bring, such as one\nbuilt on Lezer, Prism or Shiki. It is a function from the source to runs of\ntext, each with an optional kind, and the pane draws the runs under a\ntransparent field, so typing, selection and undo stay the textarea's. The\nkinds are `callable`, `comment`, `constant`, `invalid`, `keyword`, `name`,\n`string` and `tag`, each colored by the `--helix-color-syntax-*` token of\nits name and a hook of its own, such as `--sandbox-source-keyword-color`.\nA run of any other kind is drawn in the field's own color. Every run with a\nkind is a `token` part, and carries its kind as `data-kind`. A `tokenize`\nthat throws leaves the source drawn plain and the field editable, and the\nerror is reported to the page as an uncaught one.\n\n**`line-numbers` numbers each line** in a gutter beside the source. A line\nthat wraps keeps one number. The numbers are drawn, and hidden from screen\nreaders, which read the field.\n\nEnter keeps the indentation of the line it breaks, and the new line is
|
|
172452
|
+
"description": "A real `<textarea>`, so undo, selection, spellcheck suppression, mobile\nkeyboards, and screen reader support come from the platform.\n\nTab inserts two spaces, so you can indent code. To move focus out of the\nfield, press Escape and then Tab. Shift+Tab moves focus back as it does\nanywhere else. The field's description says so to a screen reader.\n\n**`tokenize` colors the source** with a highlighter you bring, such as one\nbuilt on Lezer, Prism or Shiki. It is a function from the source to runs of\ntext, each with an optional kind, and the pane draws the runs under a\ntransparent field, so typing, selection and undo stay the textarea's. The\nkinds are `callable`, `comment`, `constant`, `invalid`, `keyword`, `name`,\n`string` and `tag`, each colored by the `--helix-color-syntax-*` token of\nits name and a hook of its own, such as `--sandbox-source-keyword-color`.\nA run of any other kind is drawn in the field's own color. Every run with a\nkind is a `token` part, and carries its kind as `data-kind`. A `tokenize`\nthat throws leaves the source drawn plain and the field editable, and the\nerror is reported to the page as an uncaught one.\n\n**`line-numbers` numbers each line** in a gutter beside the source. A line\nthat wraps keeps one number. The numbers are drawn, and hidden from screen\nreaders, which read the field.\n\nEnter keeps the indentation of the line it breaks, one level deeper after\nan opening bracket, and puts the closing bracket of an empty pair on a line\nof its own. The new line is undone with the next undo as typing is.\n\n**The editing keys are CodeMirror's.** Tab with text selected indents every\nline the selection touches. `Mod+]` indents the lines and `Mod+[` outdents\nthem, and `Mod+/` comments them out or back in: `//` in a `js` pane, and one\nblock comment in an `html` or `css` pane. `Mod` is Command on a Mac and\nControl elsewhere. Each is one step of undo.\n\n**`close-brackets` closes brackets and quotes** as you type them: `(`, `[`,\n`{` and the three quotes. A closing character typed before the same one\nsteps over it, Backspace between an empty pair deletes both, and a bracket\ntyped with text selected goes around the text. **`match-brackets` marks\nthe bracket beside the caret and its pair** while the field has focus, each\na `bracket` part, and a bracket with no pair is also `bracket-unmatched`.\nA bracket in a string or a comment is not matched, where `tokenize` says\nwhich runs those are.\n\n**`complete` offers completions as you type**: the words of the source and\nof `completions` that start with the word before the caret. They open in a\nlist under the word. The arrow keys move through it, Enter or Tab takes the\nword, and Escape closes it. `Ctrl+Space` opens it where it is closed. The\nfield is `aria-autocomplete=\"list\"` and points at the word chosen with\n`aria-activedescendant`, so a screen reader reads each one. Give\n`completions` the names a page uses, such as the tag and attribute names of\na custom elements manifest through `manifestWords`.\n\n**The pane is `:state(modified)` while its source differs from the source it\nwas given**, the first `value` or the last one set from outside. `reset()`\nputs that source back, as an edit the sandbox passes on to its preview.\n\n**The source can be written inside the pane** where `value` is not set: its\ntext, or the markup of a `<template>` it holds, without the indentation the\npage gave it. Markup goes in a template so the page does not render it or\nrun its scripts. Text inside the pane is read once, when it connects.",
|
|
171349
172453
|
"name": "HelixSandboxSource",
|
|
171350
172454
|
"cssProperties": [
|
|
171351
172455
|
{
|
|
171352
172456
|
"description": "Fill behind the source.",
|
|
171353
172457
|
"name": "--sandbox-source-background-color"
|
|
171354
172458
|
},
|
|
172459
|
+
{
|
|
172460
|
+
"description": "Fill behind a matched bracket, under `match-brackets`. Defaults to `--helix-color-accent-subtle`.",
|
|
172461
|
+
"name": "--sandbox-source-bracket-color"
|
|
172462
|
+
},
|
|
171355
172463
|
{
|
|
171356
172464
|
"description": "Color of a `callable` run, under `tokenize`. Defaults to `--helix-color-syntax-callable`.",
|
|
171357
172465
|
"name": "--sandbox-source-callable-color"
|
|
@@ -171360,6 +172468,14 @@
|
|
|
171360
172468
|
"description": "Color of a `comment` run, under `tokenize`. Defaults to `--helix-color-syntax-comment`.",
|
|
171361
172469
|
"name": "--sandbox-source-comment-color"
|
|
171362
172470
|
},
|
|
172471
|
+
{
|
|
172472
|
+
"description": "Width of the edge of the list of completions, under `complete`. Defaults to `--helix-border-floating`.",
|
|
172473
|
+
"name": "--sandbox-source-completions-border-width"
|
|
172474
|
+
},
|
|
172475
|
+
{
|
|
172476
|
+
"description": "Shadow under the list of completions, under `complete`. Defaults to `--helix-shadow-floating`.",
|
|
172477
|
+
"name": "--sandbox-source-completions-shadow"
|
|
172478
|
+
},
|
|
171363
172479
|
{
|
|
171364
172480
|
"description": "Color of a `constant` run, under `tokenize`. Defaults to `--helix-color-syntax-constant`.",
|
|
171365
172481
|
"name": "--sandbox-source-constant-color"
|
|
@@ -171395,11 +172511,31 @@
|
|
|
171395
172511
|
],
|
|
171396
172512
|
"cssParts": [
|
|
171397
172513
|
{
|
|
171398
|
-
"description": "The
|
|
172514
|
+
"description": "The bracket beside the caret and its pair, under `match-brackets`.",
|
|
172515
|
+
"name": "bracket"
|
|
172516
|
+
},
|
|
172517
|
+
{
|
|
172518
|
+
"description": "A bracket beside the caret with no pair, under `match-brackets`.",
|
|
172519
|
+
"name": "bracket-unmatched"
|
|
172520
|
+
},
|
|
172521
|
+
{
|
|
172522
|
+
"description": "One word in the list of completions, under `complete`.",
|
|
172523
|
+
"name": "completion"
|
|
172524
|
+
},
|
|
172525
|
+
{
|
|
172526
|
+
"description": "The word chosen in that list, which Enter or Tab takes.",
|
|
172527
|
+
"name": "completion-active"
|
|
172528
|
+
},
|
|
172529
|
+
{
|
|
172530
|
+
"description": "The list of completions under the word being typed, under `complete`.",
|
|
172531
|
+
"name": "completions"
|
|
172532
|
+
},
|
|
172533
|
+
{
|
|
172534
|
+
"description": "The box that scrolls the field and its colors together, under `tokenize`, `line-numbers`, `match-brackets` or `complete`.",
|
|
171399
172535
|
"name": "field"
|
|
171400
172536
|
},
|
|
171401
172537
|
{
|
|
171402
|
-
"description": "The colored copy of the source drawn under the field, under `tokenize` or `
|
|
172538
|
+
"description": "The colored copy of the source drawn under the field, under `tokenize`, `line-numbers`, `match-brackets` or `complete`.",
|
|
171403
172539
|
"name": "highlight"
|
|
171404
172540
|
},
|
|
171405
172541
|
{
|
|
@@ -171426,6 +172562,49 @@
|
|
|
171426
172562
|
"default": "'helix-sandbox-source'",
|
|
171427
172563
|
"description": "The key this part's words are registered under, its tag:\n`registerWords('de', { 'helix-sandbox-source': { fieldLabel: 'Quelltext' } })`."
|
|
171428
172564
|
},
|
|
172565
|
+
{
|
|
172566
|
+
"kind": "field",
|
|
172567
|
+
"name": "closeBrackets",
|
|
172568
|
+
"type": {
|
|
172569
|
+
"text": "boolean"
|
|
172570
|
+
},
|
|
172571
|
+
"default": "false",
|
|
172572
|
+
"description": "Whether typing an opening bracket or quote types its closing one too, and\na bracket typed with text selected goes around it.",
|
|
172573
|
+
"attribute": "close-brackets"
|
|
172574
|
+
},
|
|
172575
|
+
{
|
|
172576
|
+
"kind": "field",
|
|
172577
|
+
"name": "complete",
|
|
172578
|
+
"type": {
|
|
172579
|
+
"text": "boolean"
|
|
172580
|
+
},
|
|
172581
|
+
"default": "false",
|
|
172582
|
+
"description": "Whether the pane offers completions for the word before the caret, from\nthe words of the source and of `completions`.",
|
|
172583
|
+
"attribute": "complete"
|
|
172584
|
+
},
|
|
172585
|
+
{
|
|
172586
|
+
"kind": "field",
|
|
172587
|
+
"name": "completions",
|
|
172588
|
+
"type": {
|
|
172589
|
+
"text": "readonly string[]"
|
|
172590
|
+
},
|
|
172591
|
+
"default": "[]",
|
|
172592
|
+
"description": "Words the pane offers under `complete` beside the words of the source,\nsuch as tag and attribute names. `manifestWords` reads them from a custom\nelements manifest. Set it as JSON in the attribute or as an array.",
|
|
172593
|
+
"attribute": "completions"
|
|
172594
|
+
},
|
|
172595
|
+
{
|
|
172596
|
+
"kind": "field",
|
|
172597
|
+
"name": "completionsLabel",
|
|
172598
|
+
"type": {
|
|
172599
|
+
"text": "string"
|
|
172600
|
+
},
|
|
172601
|
+
"default": "'Completions'",
|
|
172602
|
+
"description": "The name of the list of completions, read by screen readers.",
|
|
172603
|
+
"attribute": "completions-label",
|
|
172604
|
+
"helix": {
|
|
172605
|
+
"words": true
|
|
172606
|
+
}
|
|
172607
|
+
},
|
|
171429
172608
|
{
|
|
171430
172609
|
"kind": "field",
|
|
171431
172610
|
"name": "fieldLabel",
|
|
@@ -171486,6 +172665,16 @@
|
|
|
171486
172665
|
"attribute": "line-numbers",
|
|
171487
172666
|
"reflects": true
|
|
171488
172667
|
},
|
|
172668
|
+
{
|
|
172669
|
+
"kind": "field",
|
|
172670
|
+
"name": "matchBrackets",
|
|
172671
|
+
"type": {
|
|
172672
|
+
"text": "boolean"
|
|
172673
|
+
},
|
|
172674
|
+
"default": "false",
|
|
172675
|
+
"description": "Whether the bracket beside the caret and its pair are marked while the\nfield has focus.",
|
|
172676
|
+
"attribute": "match-brackets"
|
|
172677
|
+
},
|
|
171489
172678
|
{
|
|
171490
172679
|
"kind": "field",
|
|
171491
172680
|
"name": "name",
|
|
@@ -171496,6 +172685,17 @@
|
|
|
171496
172685
|
"description": "Which source this pane holds. Every `helix-before-edit` event includes it.\n\n`html` and `css` are what the sandbox root routes on; any other name is\npassed through untouched for a consumer wiring their own panes.\n\nNot reflected: nothing selects on it, so it keeps a real default instead.",
|
|
171497
172686
|
"attribute": "name"
|
|
171498
172687
|
},
|
|
172688
|
+
{
|
|
172689
|
+
"kind": "field",
|
|
172690
|
+
"name": "readOnly",
|
|
172691
|
+
"type": {
|
|
172692
|
+
"text": "boolean"
|
|
172693
|
+
},
|
|
172694
|
+
"default": "false",
|
|
172695
|
+
"description": "Whether the source is read only: it can be selected and copied, and not\nedited, as Sandpack's `readOnly` file is. Tab moves focus out of a field\nthat is read only.",
|
|
172696
|
+
"attribute": "readonly",
|
|
172697
|
+
"reflects": true
|
|
172698
|
+
},
|
|
171499
172699
|
{
|
|
171500
172700
|
"kind": "field",
|
|
171501
172701
|
"name": "tabIndents",
|
|
@@ -171534,6 +172734,95 @@
|
|
|
171534
172734
|
"default": "false",
|
|
171535
172735
|
"description": "Set by Escape, so the next Tab leaves the field."
|
|
171536
172736
|
},
|
|
172737
|
+
{
|
|
172738
|
+
"kind": "field",
|
|
172739
|
+
"name": "baseline",
|
|
172740
|
+
"type": {
|
|
172741
|
+
"text": "string"
|
|
172742
|
+
},
|
|
172743
|
+
"privacy": "private",
|
|
172744
|
+
"default": "''",
|
|
172745
|
+
"description": "The source the pane was given, which `reset()` puts back."
|
|
172746
|
+
},
|
|
172747
|
+
{
|
|
172748
|
+
"kind": "field",
|
|
172749
|
+
"name": "edited",
|
|
172750
|
+
"type": {
|
|
172751
|
+
"text": "string | undefined"
|
|
172752
|
+
},
|
|
172753
|
+
"privacy": "private",
|
|
172754
|
+
"description": "The source the last edit left, to tell an edit from a `value` set from outside."
|
|
172755
|
+
},
|
|
172756
|
+
{
|
|
172757
|
+
"kind": "field",
|
|
172758
|
+
"name": "caret",
|
|
172759
|
+
"type": {
|
|
172760
|
+
"text": "number"
|
|
172761
|
+
},
|
|
172762
|
+
"privacy": "private",
|
|
172763
|
+
"default": "-1",
|
|
172764
|
+
"description": "Where the caret is, while nothing is selected, for `match-brackets`."
|
|
172765
|
+
},
|
|
172766
|
+
{
|
|
172767
|
+
"kind": "field",
|
|
172768
|
+
"name": "offered",
|
|
172769
|
+
"type": {
|
|
172770
|
+
"text": "Completions | undefined"
|
|
172771
|
+
},
|
|
172772
|
+
"privacy": "private",
|
|
172773
|
+
"description": "The completions open under the word being typed, under `complete`."
|
|
172774
|
+
},
|
|
172775
|
+
{
|
|
172776
|
+
"kind": "field",
|
|
172777
|
+
"name": "chosen",
|
|
172778
|
+
"type": {
|
|
172779
|
+
"text": "number"
|
|
172780
|
+
},
|
|
172781
|
+
"privacy": "private",
|
|
172782
|
+
"default": "0",
|
|
172783
|
+
"description": "Which of the completions Enter or Tab takes."
|
|
172784
|
+
},
|
|
172785
|
+
{
|
|
172786
|
+
"kind": "field",
|
|
172787
|
+
"name": "accepting",
|
|
172788
|
+
"type": {
|
|
172789
|
+
"text": "boolean"
|
|
172790
|
+
},
|
|
172791
|
+
"privacy": "private",
|
|
172792
|
+
"default": "false",
|
|
172793
|
+
"description": "Set while a completion is written, so writing it does not offer more."
|
|
172794
|
+
},
|
|
172795
|
+
{
|
|
172796
|
+
"kind": "field",
|
|
172797
|
+
"name": "modified",
|
|
172798
|
+
"type": {
|
|
172799
|
+
"text": "boolean"
|
|
172800
|
+
},
|
|
172801
|
+
"description": "Whether the source differs from the source the pane was given: its first\n`value`, or the last one set from outside.",
|
|
172802
|
+
"readonly": true
|
|
172803
|
+
},
|
|
172804
|
+
{
|
|
172805
|
+
"kind": "method",
|
|
172806
|
+
"name": "reset",
|
|
172807
|
+
"return": {
|
|
172808
|
+
"type": {
|
|
172809
|
+
"text": "void"
|
|
172810
|
+
}
|
|
172811
|
+
},
|
|
172812
|
+
"description": "Puts back the source the pane was given, as an edit: `helix-before-edit`\nis sent first and can refuse it, and the sandbox passes it to its preview.",
|
|
172813
|
+
"type": {
|
|
172814
|
+
"text": "reset() => void"
|
|
172815
|
+
}
|
|
172816
|
+
},
|
|
172817
|
+
{
|
|
172818
|
+
"kind": "field",
|
|
172819
|
+
"name": "field",
|
|
172820
|
+
"type": {
|
|
172821
|
+
"text": "HTMLTextAreaElement | null"
|
|
172822
|
+
},
|
|
172823
|
+
"privacy": "private",
|
|
172824
|
+
"readonly": true
|
|
172825
|
+
},
|
|
171537
172826
|
{
|
|
171538
172827
|
"kind": "field",
|
|
171539
172828
|
"name": "read",
|
|
@@ -171569,6 +172858,75 @@
|
|
|
171569
172858
|
"readonly": true,
|
|
171570
172859
|
"description": "Announces the edit, then applies it if nobody refused.\n\n**Never the other way round.** Assigning the value and dispatching the\nrequest after it accepts `preventDefault()` and ignores it: a consumer\nrefusing an edit keeps the old value in their handler while the pane holds\nthe new one, and `helix-before-edit` becomes a `before` event that has\nalready happened.\n\n`restoreValue` because the textarea has already taken the character\nwhichever way it goes, so a refusal has to put the text back, and it does so\nwithout sending the caret to the end. Exactly what `Input` does with the\nsame helper for the same reason."
|
|
171571
172860
|
},
|
|
172861
|
+
{
|
|
172862
|
+
"kind": "method",
|
|
172863
|
+
"name": "offer",
|
|
172864
|
+
"privacy": "private",
|
|
172865
|
+
"return": {
|
|
172866
|
+
"type": {
|
|
172867
|
+
"text": "void"
|
|
172868
|
+
}
|
|
172869
|
+
},
|
|
172870
|
+
"parameters": [
|
|
172871
|
+
{
|
|
172872
|
+
"name": "field",
|
|
172873
|
+
"type": {
|
|
172874
|
+
"text": "HTMLTextAreaElement"
|
|
172875
|
+
}
|
|
172876
|
+
}
|
|
172877
|
+
],
|
|
172878
|
+
"description": "Opens the completions for the word before the caret, or closes them where there are none."
|
|
172879
|
+
},
|
|
172880
|
+
{
|
|
172881
|
+
"kind": "method",
|
|
172882
|
+
"name": "accept",
|
|
172883
|
+
"privacy": "private",
|
|
172884
|
+
"return": {
|
|
172885
|
+
"type": {
|
|
172886
|
+
"text": "void"
|
|
172887
|
+
}
|
|
172888
|
+
},
|
|
172889
|
+
"parameters": [
|
|
172890
|
+
{
|
|
172891
|
+
"name": "field",
|
|
172892
|
+
"type": {
|
|
172893
|
+
"text": "HTMLTextAreaElement"
|
|
172894
|
+
}
|
|
172895
|
+
},
|
|
172896
|
+
{
|
|
172897
|
+
"name": "index",
|
|
172898
|
+
"type": {
|
|
172899
|
+
"text": "number"
|
|
172900
|
+
}
|
|
172901
|
+
}
|
|
172902
|
+
],
|
|
172903
|
+
"description": "Writes the chosen completion over the word it completes."
|
|
172904
|
+
},
|
|
172905
|
+
{
|
|
172906
|
+
"kind": "method",
|
|
172907
|
+
"name": "completionKey",
|
|
172908
|
+
"privacy": "private",
|
|
172909
|
+
"return": {
|
|
172910
|
+
"type": {
|
|
172911
|
+
"text": "boolean"
|
|
172912
|
+
}
|
|
172913
|
+
},
|
|
172914
|
+
"parameters": [
|
|
172915
|
+
{
|
|
172916
|
+
"name": "event",
|
|
172917
|
+
"type": {
|
|
172918
|
+
"text": "KeyboardEvent"
|
|
172919
|
+
}
|
|
172920
|
+
},
|
|
172921
|
+
{
|
|
172922
|
+
"name": "field",
|
|
172923
|
+
"type": {
|
|
172924
|
+
"text": "HTMLTextAreaElement"
|
|
172925
|
+
}
|
|
172926
|
+
}
|
|
172927
|
+
],
|
|
172928
|
+
"description": "The keys of the open completions. Returns whether the key was theirs."
|
|
172929
|
+
},
|
|
171572
172930
|
{
|
|
171573
172931
|
"kind": "method",
|
|
171574
172932
|
"name": "edit",
|
|
@@ -171600,6 +172958,56 @@
|
|
|
171600
172958
|
"privacy": "private",
|
|
171601
172959
|
"readonly": true
|
|
171602
172960
|
},
|
|
172961
|
+
{
|
|
172962
|
+
"kind": "method",
|
|
172963
|
+
"name": "command",
|
|
172964
|
+
"privacy": "private",
|
|
172965
|
+
"return": {
|
|
172966
|
+
"type": {
|
|
172967
|
+
"text": "boolean"
|
|
172968
|
+
}
|
|
172969
|
+
},
|
|
172970
|
+
"parameters": [
|
|
172971
|
+
{
|
|
172972
|
+
"name": "event",
|
|
172973
|
+
"type": {
|
|
172974
|
+
"text": "KeyboardEvent"
|
|
172975
|
+
}
|
|
172976
|
+
},
|
|
172977
|
+
{
|
|
172978
|
+
"name": "field",
|
|
172979
|
+
"type": {
|
|
172980
|
+
"text": "HTMLTextAreaElement"
|
|
172981
|
+
}
|
|
172982
|
+
}
|
|
172983
|
+
],
|
|
172984
|
+
"description": "The editing commands: the `Mod` keys for indenting and comments, and, where\nthey are on, closing brackets and opening completions. Returns whether the\nkey was one, so it does nothing else."
|
|
172985
|
+
},
|
|
172986
|
+
{
|
|
172987
|
+
"kind": "method",
|
|
172988
|
+
"name": "apply",
|
|
172989
|
+
"privacy": "private",
|
|
172990
|
+
"return": {
|
|
172991
|
+
"type": {
|
|
172992
|
+
"text": "void"
|
|
172993
|
+
}
|
|
172994
|
+
},
|
|
172995
|
+
"parameters": [
|
|
172996
|
+
{
|
|
172997
|
+
"name": "field",
|
|
172998
|
+
"type": {
|
|
172999
|
+
"text": "HTMLTextAreaElement"
|
|
173000
|
+
}
|
|
173001
|
+
},
|
|
173002
|
+
{
|
|
173003
|
+
"name": "change",
|
|
173004
|
+
"type": {
|
|
173005
|
+
"text": "SourceEdit | undefined"
|
|
173006
|
+
}
|
|
173007
|
+
}
|
|
173008
|
+
],
|
|
173009
|
+
"description": "Makes a change as typing would, through `insert`, and puts the selection\nwhere the change says. A change that refuses nothing and replaces nothing\nonly moves the caret."
|
|
173010
|
+
},
|
|
171603
173011
|
{
|
|
171604
173012
|
"kind": "method",
|
|
171605
173013
|
"name": "breakLine",
|
|
@@ -171617,7 +173025,7 @@
|
|
|
171617
173025
|
}
|
|
171618
173026
|
}
|
|
171619
173027
|
],
|
|
171620
|
-
"description": "Breaks the line with the indentation it has,
|
|
173028
|
+
"description": "Breaks the line with the indentation it has, one level deeper after an\nopening bracket. A line at the margin with no bracket is left to the\nplatform's own Enter."
|
|
171621
173029
|
},
|
|
171622
173030
|
{
|
|
171623
173031
|
"kind": "method",
|
|
@@ -171644,6 +173052,43 @@
|
|
|
171644
173052
|
],
|
|
171645
173053
|
"description": "Writes text at the caret, as typing would: the two spaces Tab inserts,\nand the indentation Enter keeps.\n\n**Through `insertText`, so undo takes the indent back.** Assigning\n`field.value` empties the textarea's undo history: a reader who typed,\npressed Tab and then Cmd+Z or Ctrl+Z lost the indent and everything typed\nbefore it. `insertText` is the edit a keystroke makes, so it joins the\nhistory and sends the `input` event that `handleInput` takes. It writes\ninto whatever has focus, so it is used only while the field has it. Where it\nis not supported, the field is written directly."
|
|
171646
173054
|
},
|
|
173055
|
+
{
|
|
173056
|
+
"kind": "method",
|
|
173057
|
+
"name": "mark",
|
|
173058
|
+
"privacy": "private",
|
|
173059
|
+
"return": {
|
|
173060
|
+
"type": {
|
|
173061
|
+
"text": "Piece[]"
|
|
173062
|
+
}
|
|
173063
|
+
},
|
|
173064
|
+
"parameters": [
|
|
173065
|
+
{
|
|
173066
|
+
"name": "runs",
|
|
173067
|
+
"type": {
|
|
173068
|
+
"text": "readonly SandboxToken[]"
|
|
173069
|
+
}
|
|
173070
|
+
}
|
|
173071
|
+
],
|
|
173072
|
+
"description": "The runs with the brackets beside the caret and the completions' anchor\nmarked, where either is on."
|
|
173073
|
+
},
|
|
173074
|
+
{
|
|
173075
|
+
"kind": "method",
|
|
173076
|
+
"name": "renderCompletions",
|
|
173077
|
+
"privacy": "private",
|
|
173078
|
+
"return": {
|
|
173079
|
+
"type": {
|
|
173080
|
+
"text": "TemplateResult | typeof nothing"
|
|
173081
|
+
}
|
|
173082
|
+
},
|
|
173083
|
+
"description": "The list of completions, while it is open."
|
|
173084
|
+
},
|
|
173085
|
+
{
|
|
173086
|
+
"kind": "field",
|
|
173087
|
+
"name": "close",
|
|
173088
|
+
"privacy": "private",
|
|
173089
|
+
"readonly": true,
|
|
173090
|
+
"description": "Closes the completions, as the field loses focus."
|
|
173091
|
+
},
|
|
171647
173092
|
{
|
|
171648
173093
|
"kind": "method",
|
|
171649
173094
|
"name": "renderField",
|
|
@@ -172022,6 +173467,42 @@
|
|
|
172022
173467
|
}
|
|
172023
173468
|
],
|
|
172024
173469
|
"attributes": [
|
|
173470
|
+
{
|
|
173471
|
+
"name": "close-brackets",
|
|
173472
|
+
"type": {
|
|
173473
|
+
"text": "boolean"
|
|
173474
|
+
},
|
|
173475
|
+
"default": "false",
|
|
173476
|
+
"description": "Whether typing an opening bracket or quote types its closing one too, and\na bracket typed with text selected goes around it.",
|
|
173477
|
+
"fieldName": "closeBrackets"
|
|
173478
|
+
},
|
|
173479
|
+
{
|
|
173480
|
+
"name": "complete",
|
|
173481
|
+
"type": {
|
|
173482
|
+
"text": "boolean"
|
|
173483
|
+
},
|
|
173484
|
+
"default": "false",
|
|
173485
|
+
"description": "Whether the pane offers completions for the word before the caret, from\nthe words of the source and of `completions`.",
|
|
173486
|
+
"fieldName": "complete"
|
|
173487
|
+
},
|
|
173488
|
+
{
|
|
173489
|
+
"name": "completions",
|
|
173490
|
+
"type": {
|
|
173491
|
+
"text": "readonly string[]"
|
|
173492
|
+
},
|
|
173493
|
+
"default": "[]",
|
|
173494
|
+
"description": "Words the pane offers under `complete` beside the words of the source,\nsuch as tag and attribute names. `manifestWords` reads them from a custom\nelements manifest. Set it as JSON in the attribute or as an array.",
|
|
173495
|
+
"fieldName": "completions"
|
|
173496
|
+
},
|
|
173497
|
+
{
|
|
173498
|
+
"name": "completions-label",
|
|
173499
|
+
"type": {
|
|
173500
|
+
"text": "string"
|
|
173501
|
+
},
|
|
173502
|
+
"default": "'Completions'",
|
|
173503
|
+
"description": "The name of the list of completions, read by screen readers.",
|
|
173504
|
+
"fieldName": "completionsLabel"
|
|
173505
|
+
},
|
|
172025
173506
|
{
|
|
172026
173507
|
"name": "field-label",
|
|
172027
173508
|
"type": {
|
|
@@ -172067,6 +173548,15 @@
|
|
|
172067
173548
|
"description": "Whether each line of the source is numbered, in a gutter beside it.",
|
|
172068
173549
|
"fieldName": "lineNumbers"
|
|
172069
173550
|
},
|
|
173551
|
+
{
|
|
173552
|
+
"name": "match-brackets",
|
|
173553
|
+
"type": {
|
|
173554
|
+
"text": "boolean"
|
|
173555
|
+
},
|
|
173556
|
+
"default": "false",
|
|
173557
|
+
"description": "Whether the bracket beside the caret and its pair are marked while the\nfield has focus.",
|
|
173558
|
+
"fieldName": "matchBrackets"
|
|
173559
|
+
},
|
|
172070
173560
|
{
|
|
172071
173561
|
"name": "name",
|
|
172072
173562
|
"type": {
|
|
@@ -172076,6 +173566,15 @@
|
|
|
172076
173566
|
"description": "Which source this pane holds. Every `helix-before-edit` event includes it.\n\n`html` and `css` are what the sandbox root routes on; any other name is\npassed through untouched for a consumer wiring their own panes.\n\nNot reflected: nothing selects on it, so it keeps a real default instead.",
|
|
172077
173567
|
"fieldName": "name"
|
|
172078
173568
|
},
|
|
173569
|
+
{
|
|
173570
|
+
"name": "readonly",
|
|
173571
|
+
"type": {
|
|
173572
|
+
"text": "boolean"
|
|
173573
|
+
},
|
|
173574
|
+
"default": "false",
|
|
173575
|
+
"description": "Whether the source is read only: it can be selected and copied, and not\nedited, as Sandpack's `readOnly` file is. Tab moves focus out of a field\nthat is read only.",
|
|
173576
|
+
"fieldName": "readOnly"
|
|
173577
|
+
},
|
|
172079
173578
|
{
|
|
172080
173579
|
"name": "tab-indents",
|
|
172081
173580
|
"type": {
|
|
@@ -172095,6 +173594,20 @@
|
|
|
172095
173594
|
"fieldName": "value"
|
|
172096
173595
|
}
|
|
172097
173596
|
],
|
|
173597
|
+
"cssStates": [
|
|
173598
|
+
{
|
|
173599
|
+
"description": "While the source differs from the source the pane was given, until `reset()` or a new `value`.",
|
|
173600
|
+
"name": "modified"
|
|
173601
|
+
},
|
|
173602
|
+
{
|
|
173603
|
+
"description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
|
|
173604
|
+
"name": "settled",
|
|
173605
|
+
"inheritedFrom": {
|
|
173606
|
+
"name": "HelixElement",
|
|
173607
|
+
"module": "src/helix-element/helix-element.ts"
|
|
173608
|
+
}
|
|
173609
|
+
}
|
|
173610
|
+
],
|
|
172098
173611
|
"superclass": {
|
|
172099
173612
|
"name": "HelixElement",
|
|
172100
173613
|
"package": "@fusion.dev/helix-core"
|
|
@@ -172114,16 +173627,6 @@
|
|
|
172114
173627
|
},
|
|
172115
173628
|
"tagName": "helix-sandbox-source",
|
|
172116
173629
|
"customElement": true,
|
|
172117
|
-
"cssStates": [
|
|
172118
|
-
{
|
|
172119
|
-
"description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
|
|
172120
|
-
"name": "settled",
|
|
172121
|
-
"inheritedFrom": {
|
|
172122
|
-
"name": "HelixElement",
|
|
172123
|
-
"module": "src/helix-element/helix-element.ts"
|
|
172124
|
-
}
|
|
172125
|
-
}
|
|
172126
|
-
],
|
|
172127
173630
|
"modulePath": "src/sandbox/source/sandbox-source.ts",
|
|
172128
173631
|
"definitionPath": "src/sandbox/source/sandbox-source.ts"
|
|
172129
173632
|
}
|
|
@@ -187722,7 +189225,60 @@
|
|
|
187722
189225
|
"text": "void"
|
|
187723
189226
|
}
|
|
187724
189227
|
},
|
|
187725
|
-
"description": "Tells a slotted trigger what it is doing, since it cannot know.\n\nThe fallback button is rendered by this element and says so in its own\ntemplate. A trigger the consumer slotted is their markup, and the state it\nneeds to announce is state only this element holds: without this, the\narrangement this component recommends, an icon button slotted as the\ntrigger, is a control that opens a menu and never says it has one. A\nconsumer who has to mirror `open` back onto their own trigger is a consumer\nwho will forget, and the failure is silent to everyone who can see the\nscreen.\n\n**Never `setAttribute`.** Writing `aria-expanded` onto the consumer's\nelement is a hydration mismatch React reports and does not patch up,\nmeasured against React 19.2.8. `tellDisclosure` carries the argument and the\nmeasurement: the state travels as a property, into the trigger's own shadow\nroot, where React neither looks nor compares.\n\n`aria-haspopup` goes with it rather than being written separately. An\nattribute the consumer's server never sent is a mismatch whether or not it\nmoves afterwards, measured in both load orders, and a trigger that says it\nis expanded is already saying it has something to expand.",
|
|
189228
|
+
"description": "Tells a slotted trigger what it is doing, since it cannot know.\n\nThe fallback button is rendered by this element and says so in its own\ntemplate. A trigger the consumer slotted is their markup, and the state it\nneeds to announce is state only this element holds: without this, the\narrangement this component recommends, an icon button slotted as the\ntrigger, is a control that opens a menu and never says it has one. A\nconsumer who has to mirror `open` back onto their own trigger is a consumer\nwho will forget, and the failure is silent to everyone who can see the\nscreen.\n\n**Never `setAttribute`.** Writing `aria-expanded` onto the consumer's\nelement is a hydration mismatch React reports and does not patch up,\nmeasured against React 19.2.8. `tellDisclosure` carries the argument and the\nmeasurement: the state travels as a property, into the trigger's own shadow\nroot, where React neither looks nor compares.\n\n`aria-haspopup` goes with it rather than being written separately. An\nattribute the consumer's server never sent is a mismatch whether or not it\nmoves afterwards, measured in both load orders, and a trigger that says it\nis expanded is already saying it has something to expand.\n\n**A plain trigger once a reader has reached it.** A `<button>` of yours has\nno shadow root, so it takes `aria-haspopup=\"menu\"` and `aria-expanded` as\nattributes, written only once focus or a pointer has reached it. That is\nafter hydration, which is the only time React compares them. A trigger\nthat carries either attribute itself is yours to keep up to date.",
|
|
189229
|
+
"inheritedFrom": {
|
|
189230
|
+
"name": "HelixHeadlessSpeedDial",
|
|
189231
|
+
"module": "src/speed-dial/root/speed-dial-root.ts"
|
|
189232
|
+
}
|
|
189233
|
+
},
|
|
189234
|
+
{
|
|
189235
|
+
"kind": "field",
|
|
189236
|
+
"name": "toldPlain",
|
|
189237
|
+
"type": {
|
|
189238
|
+
"text": "Element | undefined"
|
|
189239
|
+
},
|
|
189240
|
+
"privacy": "private",
|
|
189241
|
+
"description": "The plain trigger this dial has written its state on, so it can be taken back.",
|
|
189242
|
+
"inheritedFrom": {
|
|
189243
|
+
"name": "HelixHeadlessSpeedDial",
|
|
189244
|
+
"module": "src/speed-dial/root/speed-dial-root.ts"
|
|
189245
|
+
}
|
|
189246
|
+
},
|
|
189247
|
+
{
|
|
189248
|
+
"kind": "field",
|
|
189249
|
+
"name": "reached",
|
|
189250
|
+
"type": {
|
|
189251
|
+
"text": "boolean"
|
|
189252
|
+
},
|
|
189253
|
+
"privacy": "private",
|
|
189254
|
+
"default": "false",
|
|
189255
|
+
"description": "Whether a reader has reached the trigger, by focus or a pointer, which is after hydration.",
|
|
189256
|
+
"inheritedFrom": {
|
|
189257
|
+
"name": "HelixHeadlessSpeedDial",
|
|
189258
|
+
"module": "src/speed-dial/root/speed-dial-root.ts"
|
|
189259
|
+
}
|
|
189260
|
+
},
|
|
189261
|
+
{
|
|
189262
|
+
"kind": "method",
|
|
189263
|
+
"name": "untellPlain",
|
|
189264
|
+
"privacy": "private",
|
|
189265
|
+
"return": {
|
|
189266
|
+
"type": {
|
|
189267
|
+
"text": "void"
|
|
189268
|
+
}
|
|
189269
|
+
},
|
|
189270
|
+
"description": "Takes the state off a plain trigger that is no longer this dial's.",
|
|
189271
|
+
"inheritedFrom": {
|
|
189272
|
+
"name": "HelixHeadlessSpeedDial",
|
|
189273
|
+
"module": "src/speed-dial/root/speed-dial-root.ts"
|
|
189274
|
+
}
|
|
189275
|
+
},
|
|
189276
|
+
{
|
|
189277
|
+
"kind": "field",
|
|
189278
|
+
"name": "handleReach",
|
|
189279
|
+
"privacy": "private",
|
|
189280
|
+
"readonly": true,
|
|
189281
|
+
"description": "A reader reaching the trigger, which lets a plain one be told its state.",
|
|
187726
189282
|
"inheritedFrom": {
|
|
187727
189283
|
"name": "HelixHeadlessSpeedDial",
|
|
187728
189284
|
"module": "src/speed-dial/root/speed-dial-root.ts"
|
|
@@ -188609,6 +190165,19 @@
|
|
|
188609
190165
|
"module": "src/splitter/root/splitter-root.ts"
|
|
188610
190166
|
}
|
|
188611
190167
|
},
|
|
190168
|
+
{
|
|
190169
|
+
"kind": "field",
|
|
190170
|
+
"name": "collapsible",
|
|
190171
|
+
"type": {
|
|
190172
|
+
"text": "'both' | 'end' | 'none' | 'start' | undefined"
|
|
190173
|
+
},
|
|
190174
|
+
"description": "Which panes can be collapsed, as Zag's panels each take `collapsible`:\n`start`, `end`, `both`, or `none`. A pane that cannot be collapsed stops\nat the edge without shutting. `Enter` collapses the end pane where only\nthe end pane can be collapsed, and the start pane otherwise.\n\nUnset is `both`, and the attribute stays absent until you write it.",
|
|
190175
|
+
"attribute": "collapsible",
|
|
190176
|
+
"inheritedFrom": {
|
|
190177
|
+
"name": "HelixHeadlessSplitter",
|
|
190178
|
+
"module": "src/splitter/root/splitter-root.ts"
|
|
190179
|
+
}
|
|
190180
|
+
},
|
|
188612
190181
|
{
|
|
188613
190182
|
"kind": "field",
|
|
188614
190183
|
"name": "cornerLabel",
|
|
@@ -188670,6 +190239,20 @@
|
|
|
188670
190239
|
"module": "src/splitter/root/splitter-root.ts"
|
|
188671
190240
|
}
|
|
188672
190241
|
},
|
|
190242
|
+
{
|
|
190243
|
+
"kind": "field",
|
|
190244
|
+
"name": "endMin",
|
|
190245
|
+
"type": {
|
|
190246
|
+
"text": "number | string"
|
|
190247
|
+
},
|
|
190248
|
+
"default": "0",
|
|
190249
|
+
"description": "The least the end pane keeps, in the units `min` takes: a percentage, or\na CSS length such as `16rem` resolved against the splitter's box. The\ndivider stops that far from the end, whatever `max` allows, so `min` and\n`end-min` hold a minimum for each pane, as Zag's panels each take\n`minSize`.",
|
|
190250
|
+
"attribute": "end-min",
|
|
190251
|
+
"inheritedFrom": {
|
|
190252
|
+
"name": "HelixHeadlessSplitter",
|
|
190253
|
+
"module": "src/splitter/root/splitter-root.ts"
|
|
190254
|
+
}
|
|
190255
|
+
},
|
|
188673
190256
|
{
|
|
188674
190257
|
"kind": "field",
|
|
188675
190258
|
"name": "label",
|
|
@@ -189247,6 +190830,29 @@
|
|
|
189247
190830
|
"module": "src/splitter/root/splitter-root.ts"
|
|
189248
190831
|
}
|
|
189249
190832
|
},
|
|
190833
|
+
{
|
|
190834
|
+
"kind": "method",
|
|
190835
|
+
"name": "canCollapse",
|
|
190836
|
+
"privacy": "private",
|
|
190837
|
+
"return": {
|
|
190838
|
+
"type": {
|
|
190839
|
+
"text": "boolean"
|
|
190840
|
+
}
|
|
190841
|
+
},
|
|
190842
|
+
"parameters": [
|
|
190843
|
+
{
|
|
190844
|
+
"name": "pane",
|
|
190845
|
+
"type": {
|
|
190846
|
+
"text": "'end' | 'start'"
|
|
190847
|
+
}
|
|
190848
|
+
}
|
|
190849
|
+
],
|
|
190850
|
+
"description": "Whether `collapsible` lets this pane be collapsed.",
|
|
190851
|
+
"inheritedFrom": {
|
|
190852
|
+
"name": "HelixHeadlessSplitter",
|
|
190853
|
+
"module": "src/splitter/root/splitter-root.ts"
|
|
190854
|
+
}
|
|
190855
|
+
},
|
|
189250
190856
|
{
|
|
189251
190857
|
"kind": "method",
|
|
189252
190858
|
"name": "clamp",
|
|
@@ -190011,6 +191617,18 @@
|
|
|
190011
191617
|
"module": "src/splitter/root/splitter-root.ts"
|
|
190012
191618
|
}
|
|
190013
191619
|
},
|
|
191620
|
+
{
|
|
191621
|
+
"name": "collapsible",
|
|
191622
|
+
"type": {
|
|
191623
|
+
"text": "'both' | 'end' | 'none' | 'start' | undefined"
|
|
191624
|
+
},
|
|
191625
|
+
"description": "Which panes can be collapsed, as Zag's panels each take `collapsible`:\n`start`, `end`, `both`, or `none`. A pane that cannot be collapsed stops\nat the edge without shutting. `Enter` collapses the end pane where only\nthe end pane can be collapsed, and the start pane otherwise.\n\nUnset is `both`, and the attribute stays absent until you write it.",
|
|
191626
|
+
"fieldName": "collapsible",
|
|
191627
|
+
"inheritedFrom": {
|
|
191628
|
+
"name": "HelixHeadlessSplitter",
|
|
191629
|
+
"module": "src/splitter/root/splitter-root.ts"
|
|
191630
|
+
}
|
|
191631
|
+
},
|
|
190014
191632
|
{
|
|
190015
191633
|
"name": "corner-label",
|
|
190016
191634
|
"type": {
|
|
@@ -190062,6 +191680,19 @@
|
|
|
190062
191680
|
"module": "src/splitter/root/splitter-root.ts"
|
|
190063
191681
|
}
|
|
190064
191682
|
},
|
|
191683
|
+
{
|
|
191684
|
+
"name": "end-min",
|
|
191685
|
+
"type": {
|
|
191686
|
+
"text": "number | string"
|
|
191687
|
+
},
|
|
191688
|
+
"default": "0",
|
|
191689
|
+
"description": "The least the end pane keeps, in the units `min` takes: a percentage, or\na CSS length such as `16rem` resolved against the splitter's box. The\ndivider stops that far from the end, whatever `max` allows, so `min` and\n`end-min` hold a minimum for each pane, as Zag's panels each take\n`minSize`.",
|
|
191690
|
+
"fieldName": "endMin",
|
|
191691
|
+
"inheritedFrom": {
|
|
191692
|
+
"name": "HelixHeadlessSplitter",
|
|
191693
|
+
"module": "src/splitter/root/splitter-root.ts"
|
|
191694
|
+
}
|
|
191695
|
+
},
|
|
190065
191696
|
{
|
|
190066
191697
|
"name": "label",
|
|
190067
191698
|
"type": {
|
|
@@ -208726,6 +210357,17 @@
|
|
|
208726
210357
|
"module": "src/tag/root/tag-root.ts"
|
|
208727
210358
|
}
|
|
208728
210359
|
},
|
|
210360
|
+
{
|
|
210361
|
+
"kind": "field",
|
|
210362
|
+
"name": "handleCellFocus",
|
|
210363
|
+
"privacy": "private",
|
|
210364
|
+
"readonly": true,
|
|
210365
|
+
"description": "Says whether the cell shows keyboard focus, as `:focus-visible` does, so a\nsheet outside can draw the ring on the tag by the host.",
|
|
210366
|
+
"inheritedFrom": {
|
|
210367
|
+
"name": "HelixHeadlessTag",
|
|
210368
|
+
"module": "src/tag/root/tag-root.ts"
|
|
210369
|
+
}
|
|
210370
|
+
},
|
|
208729
210371
|
{
|
|
208730
210372
|
"kind": "method",
|
|
208731
210373
|
"name": "renderLabel",
|
|
@@ -209254,6 +210896,14 @@
|
|
|
209254
210896
|
"tagName": "helix-tag",
|
|
209255
210897
|
"customElement": true,
|
|
209256
210898
|
"cssStates": [
|
|
210899
|
+
{
|
|
210900
|
+
"description": "The tag's cell has keyboard focus that the browser shows, in a `Tag.Group`.",
|
|
210901
|
+
"name": "focus-visible",
|
|
210902
|
+
"inheritedFrom": {
|
|
210903
|
+
"name": "HelixHeadlessTag",
|
|
210904
|
+
"module": "src/tag/root/tag-root.ts"
|
|
210905
|
+
}
|
|
210906
|
+
},
|
|
209257
210907
|
{
|
|
209258
210908
|
"description": "The tag is selected in a `Tag.Group` that selects.",
|
|
209259
210909
|
"name": "selected",
|
|
@@ -218470,6 +220120,18 @@
|
|
|
218470
220120
|
"module": "src/time-picker/root/time-picker-root.ts"
|
|
218471
220121
|
}
|
|
218472
220122
|
},
|
|
220123
|
+
{
|
|
220124
|
+
"kind": "field",
|
|
220125
|
+
"name": "timeContent",
|
|
220126
|
+
"type": {
|
|
220127
|
+
"text": "((time: string, written: string) => unknown) | undefined | undefined"
|
|
220128
|
+
},
|
|
220129
|
+
"description": "What each time in the list shows: a function given the time as `HH:mm`,\nor `HH:mm:ss` with `seconds`, and the time as the row writes it, that\nreturns text, an element or a Lit template.\n\nFor the seats left at a time, or a caption under it, as React Aria's\n`ListBoxItem` takes children. Content with `slot=\"start\"`, `slot=\"end\"`\nor `slot=\"description\"` goes to that slot of the row, and a description\nis read after the time. The row is still named by the written time, and\ntypeahead still finds it by that. Return the written time with your\ncontent where it should still show. A property only, there being no way\nto write a function in markup. The wheels draw their own figures.",
|
|
220130
|
+
"inheritedFrom": {
|
|
220131
|
+
"name": "HelixHeadlessTimePicker",
|
|
220132
|
+
"module": "src/time-picker/root/time-picker-root.ts"
|
|
220133
|
+
}
|
|
220134
|
+
},
|
|
218473
220135
|
{
|
|
218474
220136
|
"kind": "field",
|
|
218475
220137
|
"name": "unavailableMessage",
|
|
@@ -221269,6 +222931,20 @@
|
|
|
221269
222931
|
"module": "src/timeline/item/timeline-item.ts"
|
|
221270
222932
|
}
|
|
221271
222933
|
},
|
|
222934
|
+
{
|
|
222935
|
+
"kind": "field",
|
|
222936
|
+
"name": "whole",
|
|
222937
|
+
"type": {
|
|
222938
|
+
"text": "string"
|
|
222939
|
+
},
|
|
222940
|
+
"privacy": "private",
|
|
222941
|
+
"default": "''",
|
|
222942
|
+
"description": "The whole date and time `datetime` names, the reading's title under `relative`.",
|
|
222943
|
+
"inheritedFrom": {
|
|
222944
|
+
"name": "HelixHeadlessTimelineItem",
|
|
222945
|
+
"module": "src/timeline/item/timeline-item.ts"
|
|
222946
|
+
}
|
|
222947
|
+
},
|
|
221272
222948
|
{
|
|
221273
222949
|
"kind": "field",
|
|
221274
222950
|
"name": "moment",
|
|
@@ -222024,6 +223700,20 @@
|
|
|
222024
223700
|
"attribute": "orientation",
|
|
222025
223701
|
"reflects": true
|
|
222026
223702
|
},
|
|
223703
|
+
{
|
|
223704
|
+
"kind": "field",
|
|
223705
|
+
"name": "words",
|
|
223706
|
+
"type": {
|
|
223707
|
+
"text": "string"
|
|
223708
|
+
},
|
|
223709
|
+
"static": true,
|
|
223710
|
+
"default": "'helix-timeline'",
|
|
223711
|
+
"description": "The key this family's words are registered under, its styled tag:\n`registerWords('de', { 'helix-timeline': { loadingLabel: 'Wird geladen' } })`.",
|
|
223712
|
+
"inheritedFrom": {
|
|
223713
|
+
"name": "HelixHeadlessTimeline",
|
|
223714
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
223715
|
+
}
|
|
223716
|
+
},
|
|
222027
223717
|
{
|
|
222028
223718
|
"kind": "field",
|
|
222029
223719
|
"name": "label",
|
|
@@ -222038,6 +223728,38 @@
|
|
|
222038
223728
|
"module": "src/timeline/root/timeline-root.ts"
|
|
222039
223729
|
}
|
|
222040
223730
|
},
|
|
223731
|
+
{
|
|
223732
|
+
"kind": "field",
|
|
223733
|
+
"name": "loading",
|
|
223734
|
+
"type": {
|
|
223735
|
+
"text": "boolean"
|
|
223736
|
+
},
|
|
223737
|
+
"default": "false",
|
|
223738
|
+
"description": "Marks the timeline as busy fetching more entries, and draws an entry\nafter the last that says so.",
|
|
223739
|
+
"attribute": "loading",
|
|
223740
|
+
"reflects": true,
|
|
223741
|
+
"inheritedFrom": {
|
|
223742
|
+
"name": "HelixHeadlessTimeline",
|
|
223743
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
223744
|
+
}
|
|
223745
|
+
},
|
|
223746
|
+
{
|
|
223747
|
+
"kind": "field",
|
|
223748
|
+
"name": "loadingLabel",
|
|
223749
|
+
"type": {
|
|
223750
|
+
"text": "string"
|
|
223751
|
+
},
|
|
223752
|
+
"default": "'Loading more'",
|
|
223753
|
+
"description": "The text of the entry drawn while `loading` is set, where the `loading` slot is empty.",
|
|
223754
|
+
"attribute": "loading-label",
|
|
223755
|
+
"helix": {
|
|
223756
|
+
"words": true
|
|
223757
|
+
},
|
|
223758
|
+
"inheritedFrom": {
|
|
223759
|
+
"name": "HelixHeadlessTimeline",
|
|
223760
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
223761
|
+
}
|
|
223762
|
+
},
|
|
222041
223763
|
{
|
|
222042
223764
|
"kind": "field",
|
|
222043
223765
|
"name": "tier",
|
|
@@ -222407,6 +224129,32 @@
|
|
|
222407
224129
|
"name": "HelixHeadlessTimeline",
|
|
222408
224130
|
"module": "src/timeline/root/timeline-root.ts"
|
|
222409
224131
|
}
|
|
224132
|
+
},
|
|
224133
|
+
{
|
|
224134
|
+
"name": "loading",
|
|
224135
|
+
"type": {
|
|
224136
|
+
"text": "boolean"
|
|
224137
|
+
},
|
|
224138
|
+
"default": "false",
|
|
224139
|
+
"description": "Marks the timeline as busy fetching more entries, and draws an entry\nafter the last that says so.",
|
|
224140
|
+
"fieldName": "loading",
|
|
224141
|
+
"inheritedFrom": {
|
|
224142
|
+
"name": "HelixHeadlessTimeline",
|
|
224143
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
224144
|
+
}
|
|
224145
|
+
},
|
|
224146
|
+
{
|
|
224147
|
+
"name": "loading-label",
|
|
224148
|
+
"type": {
|
|
224149
|
+
"text": "string"
|
|
224150
|
+
},
|
|
224151
|
+
"default": "'Loading more'",
|
|
224152
|
+
"description": "The text of the entry drawn while `loading` is set, where the `loading` slot is empty.",
|
|
224153
|
+
"fieldName": "loadingLabel",
|
|
224154
|
+
"inheritedFrom": {
|
|
224155
|
+
"name": "HelixHeadlessTimeline",
|
|
224156
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
224157
|
+
}
|
|
222410
224158
|
}
|
|
222411
224159
|
],
|
|
222412
224160
|
"superclass": {
|
|
@@ -222463,9 +224211,35 @@
|
|
|
222463
224211
|
"name": "HelixHeadlessTimeline",
|
|
222464
224212
|
"module": "src/timeline/root/timeline-root.ts"
|
|
222465
224213
|
}
|
|
224214
|
+
},
|
|
224215
|
+
{
|
|
224216
|
+
"description": "Content for the entry after the last while `loading` is set. Falls back to `loading-label`.",
|
|
224217
|
+
"name": "loading",
|
|
224218
|
+
"inheritedFrom": {
|
|
224219
|
+
"name": "HelixHeadlessTimeline",
|
|
224220
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
224221
|
+
}
|
|
224222
|
+
}
|
|
224223
|
+
],
|
|
224224
|
+
"cssParts": [
|
|
224225
|
+
{
|
|
224226
|
+
"description": "The entry after the last while `loading` is set.",
|
|
224227
|
+
"name": "loading",
|
|
224228
|
+
"inheritedFrom": {
|
|
224229
|
+
"name": "HelixHeadlessTimeline",
|
|
224230
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
224231
|
+
}
|
|
222466
224232
|
}
|
|
222467
224233
|
],
|
|
222468
224234
|
"cssStates": [
|
|
224235
|
+
{
|
|
224236
|
+
"description": "While `loading` is set.",
|
|
224237
|
+
"name": "loading",
|
|
224238
|
+
"inheritedFrom": {
|
|
224239
|
+
"name": "HelixHeadlessTimeline",
|
|
224240
|
+
"module": "src/timeline/root/timeline-root.ts"
|
|
224241
|
+
}
|
|
224242
|
+
},
|
|
222469
224243
|
{
|
|
222470
224244
|
"description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
|
|
222471
224245
|
"name": "settled",
|
|
@@ -229503,6 +231277,20 @@
|
|
|
229503
231277
|
"module": "src/tooltip/root/tooltip-root.ts"
|
|
229504
231278
|
}
|
|
229505
231279
|
},
|
|
231280
|
+
{
|
|
231281
|
+
"kind": "field",
|
|
231282
|
+
"name": "describes",
|
|
231283
|
+
"type": {
|
|
231284
|
+
"text": "boolean"
|
|
231285
|
+
},
|
|
231286
|
+
"privacy": "private",
|
|
231287
|
+
"description": "Whether the bubble's words add anything to the trigger: they are not\nempty, and they are not the trigger's own name, such as an icon button\nnamed Settings under a tooltip reading Settings, which a screen reader\nread as \"Settings, Settings\".",
|
|
231288
|
+
"readonly": true,
|
|
231289
|
+
"inheritedFrom": {
|
|
231290
|
+
"name": "HelixHeadlessTooltip",
|
|
231291
|
+
"module": "src/tooltip/root/tooltip-root.ts"
|
|
231292
|
+
}
|
|
231293
|
+
},
|
|
229506
231294
|
{
|
|
229507
231295
|
"kind": "field",
|
|
229508
231296
|
"name": "linkOnArrival",
|
|
@@ -244913,6 +246701,49 @@
|
|
|
244913
246701
|
}
|
|
244914
246702
|
]
|
|
244915
246703
|
},
|
|
246704
|
+
{
|
|
246705
|
+
"kind": "javascript-module",
|
|
246706
|
+
"path": "src/virtual-list/reorder/index.ts",
|
|
246707
|
+
"declarations": [],
|
|
246708
|
+
"exports": [
|
|
246709
|
+
{
|
|
246710
|
+
"kind": "js",
|
|
246711
|
+
"name": "reorderVirtualList",
|
|
246712
|
+
"declaration": {
|
|
246713
|
+
"name": "reorderVirtualList",
|
|
246714
|
+
"package": "@fusion.dev/helix-headless/virtual-list/reorder"
|
|
246715
|
+
}
|
|
246716
|
+
},
|
|
246717
|
+
{
|
|
246718
|
+
"kind": "js",
|
|
246719
|
+
"name": "VirtualListReorderController",
|
|
246720
|
+
"declaration": {
|
|
246721
|
+
"name": "VirtualListReorderController",
|
|
246722
|
+
"package": "@fusion.dev/helix-headless/virtual-list/reorder"
|
|
246723
|
+
}
|
|
246724
|
+
}
|
|
246725
|
+
]
|
|
246726
|
+
},
|
|
246727
|
+
{
|
|
246728
|
+
"kind": "javascript-module",
|
|
246729
|
+
"path": "src/virtual-list/reorder/virtual-list-reorder.css.ts",
|
|
246730
|
+
"declarations": [
|
|
246731
|
+
{
|
|
246732
|
+
"kind": "variable",
|
|
246733
|
+
"name": "styles"
|
|
246734
|
+
}
|
|
246735
|
+
],
|
|
246736
|
+
"exports": [
|
|
246737
|
+
{
|
|
246738
|
+
"kind": "js",
|
|
246739
|
+
"name": "styles",
|
|
246740
|
+
"declaration": {
|
|
246741
|
+
"name": "styles",
|
|
246742
|
+
"module": "src/virtual-list/reorder/virtual-list-reorder.css.ts"
|
|
246743
|
+
}
|
|
246744
|
+
}
|
|
246745
|
+
]
|
|
246746
|
+
},
|
|
244916
246747
|
{
|
|
244917
246748
|
"kind": "javascript-module",
|
|
244918
246749
|
"path": "src/virtual-list/root/virtual-list-root.css.ts",
|
|
@@ -244950,6 +246781,42 @@
|
|
|
244950
246781
|
"description": "How faint a row `disabled-keys` names is drawn.",
|
|
244951
246782
|
"name": "--virtual-list-disabled-opacity"
|
|
244952
246783
|
},
|
|
246784
|
+
{
|
|
246785
|
+
"description": "The fill behind the copy of a row a pointer drags, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported.",
|
|
246786
|
+
"name": "--virtual-list-drag-preview-background-color"
|
|
246787
|
+
},
|
|
246788
|
+
{
|
|
246789
|
+
"description": "The color of the edge around the copy of a row a pointer drags.",
|
|
246790
|
+
"name": "--virtual-list-drag-preview-border-color"
|
|
246791
|
+
},
|
|
246792
|
+
{
|
|
246793
|
+
"description": "The width of the edge around the copy of a row a pointer drags. None by default, where the shadow lifts it.",
|
|
246794
|
+
"name": "--virtual-list-drag-preview-border-width"
|
|
246795
|
+
},
|
|
246796
|
+
{
|
|
246797
|
+
"description": "The opacity of the copy of a row a pointer drags.",
|
|
246798
|
+
"name": "--virtual-list-drag-preview-opacity"
|
|
246799
|
+
},
|
|
246800
|
+
{
|
|
246801
|
+
"description": "The corner radius of the copy of a row a pointer drags.",
|
|
246802
|
+
"name": "--virtual-list-drag-preview-radius"
|
|
246803
|
+
},
|
|
246804
|
+
{
|
|
246805
|
+
"description": "The shadow that raises the copy of a row a pointer drags over the page.",
|
|
246806
|
+
"name": "--virtual-list-drag-preview-shadow"
|
|
246807
|
+
},
|
|
246808
|
+
{
|
|
246809
|
+
"description": "The opacity of a row being dragged, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported.",
|
|
246810
|
+
"name": "--virtual-list-dragging-opacity"
|
|
246811
|
+
},
|
|
246812
|
+
{
|
|
246813
|
+
"description": "The color of the line where a dragged row would land.",
|
|
246814
|
+
"name": "--virtual-list-drop-indicator-color"
|
|
246815
|
+
},
|
|
246816
|
+
{
|
|
246817
|
+
"description": "The thickness of the line where a dragged row would land.",
|
|
246818
|
+
"name": "--virtual-list-drop-indicator-size"
|
|
246819
|
+
},
|
|
244953
246820
|
{
|
|
244954
246821
|
"description": "The color of the text in the row shown when there are no items.",
|
|
244955
246822
|
"name": "--virtual-list-empty-color"
|
|
@@ -245265,6 +247132,20 @@
|
|
|
245265
247132
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
245266
247133
|
}
|
|
245267
247134
|
},
|
|
247135
|
+
{
|
|
247136
|
+
"kind": "field",
|
|
247137
|
+
"name": "reorderable",
|
|
247138
|
+
"type": {
|
|
247139
|
+
"text": "boolean"
|
|
247140
|
+
},
|
|
247141
|
+
"default": "false",
|
|
247142
|
+
"description": "Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`\n(or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt\nwith an arrow moves the row the keys are on, and a pointer drags a row.\nThe list moves no item itself: you move your `items` on `helix-reorder`.\nWithout that import it does nothing, so a list that never moves items\ncarries none of the code. A list of one column, without sections.",
|
|
247143
|
+
"attribute": "reorderable",
|
|
247144
|
+
"inheritedFrom": {
|
|
247145
|
+
"name": "HelixHeadlessVirtualList",
|
|
247146
|
+
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
247147
|
+
}
|
|
247148
|
+
},
|
|
245268
247149
|
{
|
|
245269
247150
|
"kind": "field",
|
|
245270
247151
|
"name": "sectionField",
|
|
@@ -246042,21 +247923,6 @@
|
|
|
246042
247923
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
246043
247924
|
}
|
|
246044
247925
|
},
|
|
246045
|
-
{
|
|
246046
|
-
"kind": "method",
|
|
246047
|
-
"name": "keys",
|
|
246048
|
-
"privacy": "private",
|
|
246049
|
-
"return": {
|
|
246050
|
-
"type": {
|
|
246051
|
-
"text": "string[]"
|
|
246052
|
-
}
|
|
246053
|
-
},
|
|
246054
|
-
"description": "Every item's key, in the order of the set.",
|
|
246055
|
-
"inheritedFrom": {
|
|
246056
|
-
"name": "HelixHeadlessVirtualList",
|
|
246057
|
-
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
246058
|
-
}
|
|
246059
|
-
},
|
|
246060
247926
|
{
|
|
246061
247927
|
"kind": "field",
|
|
246062
247928
|
"name": "chosen",
|
|
@@ -246159,29 +248025,6 @@
|
|
|
246159
248025
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
246160
248026
|
}
|
|
246161
248027
|
},
|
|
246162
|
-
{
|
|
246163
|
-
"kind": "method",
|
|
246164
|
-
"name": "focusIndex",
|
|
246165
|
-
"privacy": "private",
|
|
246166
|
-
"return": {
|
|
246167
|
-
"type": {
|
|
246168
|
-
"text": "Promise<void>"
|
|
246169
|
-
}
|
|
246170
|
-
},
|
|
246171
|
-
"parameters": [
|
|
246172
|
-
{
|
|
246173
|
-
"name": "index",
|
|
246174
|
-
"type": {
|
|
246175
|
-
"text": "number"
|
|
246176
|
-
}
|
|
246177
|
-
}
|
|
246178
|
-
],
|
|
246179
|
-
"description": "Focuses the row for item `index`, scrolling it into view and drawing it\nfirst when it is not drawn.",
|
|
246180
|
-
"inheritedFrom": {
|
|
246181
|
-
"name": "HelixHeadlessVirtualList",
|
|
246182
|
-
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
246183
|
-
}
|
|
246184
|
-
},
|
|
246185
248028
|
{
|
|
246186
248029
|
"kind": "field",
|
|
246187
248030
|
"name": "handleFocusOut",
|
|
@@ -246232,6 +248075,20 @@
|
|
|
246232
248075
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
246233
248076
|
}
|
|
246234
248077
|
},
|
|
248078
|
+
{
|
|
248079
|
+
"kind": "field",
|
|
248080
|
+
"name": "visited",
|
|
248081
|
+
"type": {
|
|
248082
|
+
"text": "boolean"
|
|
248083
|
+
},
|
|
248084
|
+
"privacy": "private",
|
|
248085
|
+
"default": "false",
|
|
248086
|
+
"description": "Whether a reader has focused a row, after which their row keeps the tab stop.",
|
|
248087
|
+
"inheritedFrom": {
|
|
248088
|
+
"name": "HelixHeadlessVirtualList",
|
|
248089
|
+
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
248090
|
+
}
|
|
248091
|
+
},
|
|
246235
248092
|
{
|
|
246236
248093
|
"kind": "method",
|
|
246237
248094
|
"name": "keptIndex",
|
|
@@ -246241,7 +248098,7 @@
|
|
|
246241
248098
|
"text": "number | undefined"
|
|
246242
248099
|
}
|
|
246243
248100
|
},
|
|
246244
|
-
"description": "The item drawn outside the window to keep focus, or to take
|
|
248101
|
+
"description": "The item drawn outside the window to keep focus, to take it, or to take\nit back: the row a reader last focused stays drawn after focus leaves the\nlist, so Shift+Tab returns to it.",
|
|
246245
248102
|
"inheritedFrom": {
|
|
246246
248103
|
"name": "HelixHeadlessVirtualList",
|
|
246247
248104
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
@@ -246384,7 +248241,7 @@
|
|
|
246384
248241
|
"text": "void"
|
|
246385
248242
|
}
|
|
246386
248243
|
},
|
|
246387
|
-
"description": "Puts the windowed rows into the light DOM, and takes the rest out.\n\n**A row that stays in the window keeps its element.** Clearing and\ncloning every row on every move replaced the node a reader had focused,\nso a link in a row lost focus to the body on any scroll, even with its row\nstill on screen. Rows are keyed by item: the ones leaving go, the ones\narriving are drawn in their place, and the ones staying are not moved.\n\n**The row holding focus is drawn outside the window too**, beside it on the\nside it belongs, and the spacer on that side gives up its room.\n\n**One row holds the tab stop**, the one the reader last focused
|
|
248244
|
+
"description": "Puts the windowed rows into the light DOM, and takes the rest out.\n\n**A row that stays in the window keeps its element.** Clearing and\ncloning every row on every move replaced the node a reader had focused,\nso a link in a row lost focus to the body on any scroll, even with its row\nstill on screen. Rows are keyed by item: the ones leaving go, the ones\narriving are drawn in their place, and the ones staying are not moved.\n\n**The row holding focus is drawn outside the window too**, beside it on the\nside it belongs, and the spacer on that side gives up its room.\n\n**One row holds the tab stop**, the one the reader last focused, which\nstays drawn outside the window, and the first row on screen in a list\nnobody has focused yet. Its own links and buttons are in the tab order,\nand those of every other row wait.",
|
|
246388
248245
|
"inheritedFrom": {
|
|
246389
248246
|
"name": "HelixHeadlessVirtualList",
|
|
246390
248247
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
@@ -247054,6 +248911,19 @@
|
|
|
247054
248911
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
247055
248912
|
}
|
|
247056
248913
|
},
|
|
248914
|
+
{
|
|
248915
|
+
"name": "reorderable",
|
|
248916
|
+
"type": {
|
|
248917
|
+
"text": "boolean"
|
|
248918
|
+
},
|
|
248919
|
+
"default": "false",
|
|
248920
|
+
"description": "Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`\n(or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt\nwith an arrow moves the row the keys are on, and a pointer drags a row.\nThe list moves no item itself: you move your `items` on `helix-reorder`.\nWithout that import it does nothing, so a list that never moves items\ncarries none of the code. A list of one column, without sections.",
|
|
248921
|
+
"fieldName": "reorderable",
|
|
248922
|
+
"inheritedFrom": {
|
|
248923
|
+
"name": "HelixHeadlessVirtualList",
|
|
248924
|
+
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
248925
|
+
}
|
|
248926
|
+
},
|
|
247057
248927
|
{
|
|
247058
248928
|
"name": "section-field",
|
|
247059
248929
|
"type": {
|
|
@@ -247144,6 +249014,18 @@
|
|
|
247144
249014
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
247145
249015
|
}
|
|
247146
249016
|
},
|
|
249017
|
+
{
|
|
249018
|
+
"type": {
|
|
249019
|
+
"text": "HelixBeforeReorderEvent"
|
|
249020
|
+
},
|
|
249021
|
+
"description": "Fired when an item is dropped at a new place, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported, with every key in the new order. Cancelable: cancel it to keep the item where it is.",
|
|
249022
|
+
"name": "helix-before-reorder",
|
|
249023
|
+
"reactProp": "onhelix-before-reorder",
|
|
249024
|
+
"inheritedFrom": {
|
|
249025
|
+
"name": "HelixHeadlessVirtualList",
|
|
249026
|
+
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
249027
|
+
}
|
|
249028
|
+
},
|
|
247147
249029
|
{
|
|
247148
249030
|
"type": {
|
|
247149
249031
|
"text": "HelixLoadMoreEvent"
|
|
@@ -247167,6 +249049,18 @@
|
|
|
247167
249049
|
"name": "HelixHeadlessVirtualList",
|
|
247168
249050
|
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
247169
249051
|
}
|
|
249052
|
+
},
|
|
249053
|
+
{
|
|
249054
|
+
"type": {
|
|
249055
|
+
"text": "HelixReorderEvent"
|
|
249056
|
+
},
|
|
249057
|
+
"description": "Fired after `helix-before-reorder` when nobody canceled it. Set `items` to the order in `keys`. Cancelable: cancel it to say the move did not happen.",
|
|
249058
|
+
"name": "helix-reorder",
|
|
249059
|
+
"reactProp": "onhelix-reorder",
|
|
249060
|
+
"inheritedFrom": {
|
|
249061
|
+
"name": "HelixHeadlessVirtualList",
|
|
249062
|
+
"module": "src/virtual-list/root/virtual-list-root.ts"
|
|
249063
|
+
}
|
|
247170
249064
|
}
|
|
247171
249065
|
],
|
|
247172
249066
|
"cssStates": [
|
|
@@ -247229,6 +249123,6 @@
|
|
|
247229
249123
|
],
|
|
247230
249124
|
"helix": {
|
|
247231
249125
|
"package": "@fusion.dev/helix",
|
|
247232
|
-
"version": "0.
|
|
249126
|
+
"version": "0.173.0"
|
|
247233
249127
|
}
|
|
247234
249128
|
}
|