@fusion.dev/helix 0.151.0 → 0.153.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.
@@ -2895,6 +2895,14 @@
2895
2895
  "name": "HelixHeadlessAppHeader",
2896
2896
  "module": "src/app-header/root/app-header-root.ts"
2897
2897
  }
2898
+ },
2899
+ {
2900
+ "description": "Replaces the glyph inside the toggle that opens a folded middle region.",
2901
+ "name": "menu-icon",
2902
+ "inheritedFrom": {
2903
+ "name": "HelixHeadlessAppHeader",
2904
+ "module": "src/app-header/root/app-header-root.ts"
2905
+ }
2898
2906
  }
2899
2907
  ],
2900
2908
  "members": [
@@ -2919,6 +2927,20 @@
2919
2927
  "attribute": "sticky",
2920
2928
  "reflects": true
2921
2929
  },
2930
+ {
2931
+ "kind": "field",
2932
+ "name": "words",
2933
+ "type": {
2934
+ "text": "string"
2935
+ },
2936
+ "static": true,
2937
+ "default": "'helix-app-header'",
2938
+ "description": "The key this family's words are registered under, its styled tag:\n`registerWords('de', { 'helix-app-header': { menuLabel: 'Menü' } })`.",
2939
+ "inheritedFrom": {
2940
+ "name": "HelixHeadlessAppHeader",
2941
+ "module": "src/app-header/root/app-header-root.ts"
2942
+ }
2943
+ },
2922
2944
  {
2923
2945
  "kind": "field",
2924
2946
  "name": "contentAlign",
@@ -2933,6 +2955,236 @@
2933
2955
  "module": "src/app-header/root/app-header-root.ts"
2934
2956
  }
2935
2957
  },
2958
+ {
2959
+ "kind": "field",
2960
+ "name": "foldBelow",
2961
+ "type": {
2962
+ "text": "number | undefined"
2963
+ },
2964
+ "description": "The width of the bar, in pixels, below which the middle region folds behind\na toggle. Unset, it never folds.",
2965
+ "attribute": "fold-below",
2966
+ "inheritedFrom": {
2967
+ "name": "HelixHeadlessAppHeader",
2968
+ "module": "src/app-header/root/app-header-root.ts"
2969
+ }
2970
+ },
2971
+ {
2972
+ "kind": "field",
2973
+ "name": "hideOnScroll",
2974
+ "type": {
2975
+ "text": "boolean"
2976
+ },
2977
+ "default": "false",
2978
+ "description": "Hides the bar as the page scrolls down past it, and shows it again as the\npage scrolls up.",
2979
+ "attribute": "hide-on-scroll",
2980
+ "inheritedFrom": {
2981
+ "name": "HelixHeadlessAppHeader",
2982
+ "module": "src/app-header/root/app-header-root.ts"
2983
+ }
2984
+ },
2985
+ {
2986
+ "kind": "field",
2987
+ "name": "folded",
2988
+ "type": {
2989
+ "text": "boolean"
2990
+ },
2991
+ "privacy": "private",
2992
+ "default": "false",
2993
+ "description": "Whether the bar is narrower than `fold-below`, which only the observer sets.",
2994
+ "inheritedFrom": {
2995
+ "name": "HelixHeadlessAppHeader",
2996
+ "module": "src/app-header/root/app-header-root.ts"
2997
+ }
2998
+ },
2999
+ {
3000
+ "kind": "field",
3001
+ "name": "unfolded",
3002
+ "type": {
3003
+ "text": "boolean"
3004
+ },
3005
+ "privacy": "private",
3006
+ "default": "false",
3007
+ "description": "Whether the folded middle region is open.",
3008
+ "inheritedFrom": {
3009
+ "name": "HelixHeadlessAppHeader",
3010
+ "module": "src/app-header/root/app-header-root.ts"
3011
+ }
3012
+ },
3013
+ {
3014
+ "kind": "field",
3015
+ "name": "widths",
3016
+ "type": {
3017
+ "text": "ResizeObserver | undefined"
3018
+ },
3019
+ "privacy": "private",
3020
+ "description": "Watches the bar's own width while `fold-below` is set.",
3021
+ "inheritedFrom": {
3022
+ "name": "HelixHeadlessAppHeader",
3023
+ "module": "src/app-header/root/app-header-root.ts"
3024
+ }
3025
+ },
3026
+ {
3027
+ "kind": "method",
3028
+ "name": "watchWidth",
3029
+ "privacy": "private",
3030
+ "return": {
3031
+ "type": {
3032
+ "text": "void"
3033
+ }
3034
+ },
3035
+ "description": "Starts or stops watching the width, according to `fold-below`.",
3036
+ "inheritedFrom": {
3037
+ "name": "HelixHeadlessAppHeader",
3038
+ "module": "src/app-header/root/app-header-root.ts"
3039
+ }
3040
+ },
3041
+ {
3042
+ "kind": "method",
3043
+ "name": "fold",
3044
+ "privacy": "private",
3045
+ "return": {
3046
+ "type": {
3047
+ "text": "void"
3048
+ }
3049
+ },
3050
+ "parameters": [
3051
+ {
3052
+ "name": "width",
3053
+ "type": {
3054
+ "text": "number"
3055
+ }
3056
+ }
3057
+ ],
3058
+ "description": "Folds the middle region where the bar is narrower than `fold-below`.",
3059
+ "inheritedFrom": {
3060
+ "name": "HelixHeadlessAppHeader",
3061
+ "module": "src/app-header/root/app-header-root.ts"
3062
+ }
3063
+ },
3064
+ {
3065
+ "kind": "field",
3066
+ "name": "handleToggle",
3067
+ "privacy": "private",
3068
+ "readonly": true,
3069
+ "description": "Opens or closes the folded middle region.",
3070
+ "inheritedFrom": {
3071
+ "name": "HelixHeadlessAppHeader",
3072
+ "module": "src/app-header/root/app-header-root.ts"
3073
+ }
3074
+ },
3075
+ {
3076
+ "kind": "field",
3077
+ "name": "handleKeydown",
3078
+ "privacy": "private",
3079
+ "readonly": true,
3080
+ "description": "Escape in the open region closes it and puts focus back on the toggle.",
3081
+ "inheritedFrom": {
3082
+ "name": "HelixHeadlessAppHeader",
3083
+ "module": "src/app-header/root/app-header-root.ts"
3084
+ }
3085
+ },
3086
+ {
3087
+ "kind": "field",
3088
+ "name": "away",
3089
+ "type": {
3090
+ "text": "boolean"
3091
+ },
3092
+ "privacy": "private",
3093
+ "default": "false",
3094
+ "description": "Whether the bar is out of the way, under `hide-on-scroll`.",
3095
+ "inheritedFrom": {
3096
+ "name": "HelixHeadlessAppHeader",
3097
+ "module": "src/app-header/root/app-header-root.ts"
3098
+ }
3099
+ },
3100
+ {
3101
+ "kind": "field",
3102
+ "name": "lastY",
3103
+ "type": {
3104
+ "text": "number"
3105
+ },
3106
+ "privacy": "private",
3107
+ "default": "0",
3108
+ "description": "Where the page was last scrolled to, to tell down from up.",
3109
+ "inheritedFrom": {
3110
+ "name": "HelixHeadlessAppHeader",
3111
+ "module": "src/app-header/root/app-header-root.ts"
3112
+ }
3113
+ },
3114
+ {
3115
+ "kind": "field",
3116
+ "name": "handleFocusIn",
3117
+ "privacy": "private",
3118
+ "readonly": true,
3119
+ "description": "Shows a hidden bar again when focus moves into it.",
3120
+ "inheritedFrom": {
3121
+ "name": "HelixHeadlessAppHeader",
3122
+ "module": "src/app-header/root/app-header-root.ts"
3123
+ }
3124
+ },
3125
+ {
3126
+ "kind": "method",
3127
+ "name": "hide",
3128
+ "privacy": "private",
3129
+ "return": {
3130
+ "type": {
3131
+ "text": "void"
3132
+ }
3133
+ },
3134
+ "parameters": [
3135
+ {
3136
+ "name": "away",
3137
+ "type": {
3138
+ "text": "boolean"
3139
+ }
3140
+ }
3141
+ ],
3142
+ "description": "Hides the bar or shows it again, under `hide-on-scroll`.",
3143
+ "inheritedFrom": {
3144
+ "name": "HelixHeadlessAppHeader",
3145
+ "module": "src/app-header/root/app-header-root.ts"
3146
+ }
3147
+ },
3148
+ {
3149
+ "kind": "method",
3150
+ "name": "follow",
3151
+ "privacy": "private",
3152
+ "return": {
3153
+ "type": {
3154
+ "text": "void"
3155
+ }
3156
+ },
3157
+ "parameters": [
3158
+ {
3159
+ "name": "y",
3160
+ "type": {
3161
+ "text": "number"
3162
+ }
3163
+ }
3164
+ ],
3165
+ "description": "Hides the bar on a scroll down past its own height, and shows it on a\nscroll up. A few pixels either way are not a direction, so a bar does not\nflicker under a hand resting on a trackpad. Not while focus is in the bar\nor its folded region is open, which a reader is using.",
3166
+ "inheritedFrom": {
3167
+ "name": "HelixHeadlessAppHeader",
3168
+ "module": "src/app-header/root/app-header-root.ts"
3169
+ }
3170
+ },
3171
+ {
3172
+ "kind": "field",
3173
+ "name": "menuLabel",
3174
+ "type": {
3175
+ "text": "string"
3176
+ },
3177
+ "default": "'Menu'",
3178
+ "description": "The name of the toggle that opens a folded middle region.",
3179
+ "attribute": "menu-label",
3180
+ "helix": {
3181
+ "words": true
3182
+ },
3183
+ "inheritedFrom": {
3184
+ "name": "HelixHeadlessAppHeader",
3185
+ "module": "src/app-header/root/app-header-root.ts"
3186
+ }
3187
+ },
2936
3188
  {
2937
3189
  "kind": "field",
2938
3190
  "name": "scroller",
@@ -3041,6 +3293,34 @@
3041
3293
  "module": "src/app-header/root/app-header-root.ts"
3042
3294
  }
3043
3295
  },
3296
+ {
3297
+ "kind": "field",
3298
+ "name": "watchedFor",
3299
+ "type": {
3300
+ "text": "number | undefined"
3301
+ },
3302
+ "privacy": "private",
3303
+ "description": "The `fold-below` the width watch was started for, so a change is measured at once.",
3304
+ "inheritedFrom": {
3305
+ "name": "HelixHeadlessAppHeader",
3306
+ "module": "src/app-header/root/app-header-root.ts"
3307
+ }
3308
+ },
3309
+ {
3310
+ "kind": "method",
3311
+ "name": "renderMenuIcon",
3312
+ "privacy": "protected",
3313
+ "return": {
3314
+ "type": {
3315
+ "text": "TemplateResult"
3316
+ }
3317
+ },
3318
+ "description": "The glyph on the toggle that opens a folded middle region, behind a seam:\nslot fallback, so a consumer replaces it by slotting, and a method, so a\ntier above replaces it by overriding.",
3319
+ "inheritedFrom": {
3320
+ "name": "HelixHeadlessAppHeader",
3321
+ "module": "src/app-header/root/app-header-root.ts"
3322
+ }
3323
+ },
3044
3324
  {
3045
3325
  "kind": "field",
3046
3326
  "name": "tier",
@@ -3411,6 +3691,44 @@
3411
3691
  "module": "src/app-header/root/app-header-root.ts"
3412
3692
  }
3413
3693
  },
3694
+ {
3695
+ "name": "fold-below",
3696
+ "type": {
3697
+ "text": "number | undefined"
3698
+ },
3699
+ "description": "The width of the bar, in pixels, below which the middle region folds behind\na toggle. Unset, it never folds.",
3700
+ "fieldName": "foldBelow",
3701
+ "inheritedFrom": {
3702
+ "name": "HelixHeadlessAppHeader",
3703
+ "module": "src/app-header/root/app-header-root.ts"
3704
+ }
3705
+ },
3706
+ {
3707
+ "name": "hide-on-scroll",
3708
+ "type": {
3709
+ "text": "boolean"
3710
+ },
3711
+ "default": "false",
3712
+ "description": "Hides the bar as the page scrolls down past it, and shows it again as the\npage scrolls up.",
3713
+ "fieldName": "hideOnScroll",
3714
+ "inheritedFrom": {
3715
+ "name": "HelixHeadlessAppHeader",
3716
+ "module": "src/app-header/root/app-header-root.ts"
3717
+ }
3718
+ },
3719
+ {
3720
+ "name": "menu-label",
3721
+ "type": {
3722
+ "text": "string"
3723
+ },
3724
+ "default": "'Menu'",
3725
+ "description": "The name of the toggle that opens a folded middle region.",
3726
+ "fieldName": "menuLabel",
3727
+ "inheritedFrom": {
3728
+ "name": "HelixHeadlessAppHeader",
3729
+ "module": "src/app-header/root/app-header-root.ts"
3730
+ }
3731
+ },
3414
3732
  {
3415
3733
  "name": "scroller",
3416
3734
  "type": {
@@ -3504,6 +3822,22 @@
3504
3822
  "name": "HelixHeadlessAppHeader",
3505
3823
  "module": "src/app-header/root/app-header-root.ts"
3506
3824
  }
3825
+ },
3826
+ {
3827
+ "description": "The control that opens and closes the folded middle region, drawn while the bar is narrower than `fold-below`.",
3828
+ "name": "toggle",
3829
+ "inheritedFrom": {
3830
+ "name": "HelixHeadlessAppHeader",
3831
+ "module": "src/app-header/root/app-header-root.ts"
3832
+ }
3833
+ },
3834
+ {
3835
+ "description": "The glyph on the toggle, where none is slotted.",
3836
+ "name": "toggle-mark",
3837
+ "inheritedFrom": {
3838
+ "name": "HelixHeadlessAppHeader",
3839
+ "module": "src/app-header/root/app-header-root.ts"
3840
+ }
3507
3841
  }
3508
3842
  ],
3509
3843
  "events": [
@@ -3521,6 +3855,30 @@
3521
3855
  }
3522
3856
  ],
3523
3857
  "cssStates": [
3858
+ {
3859
+ "description": "While the bar is narrower than `fold-below`, and the middle region is behind the toggle.",
3860
+ "name": "folded",
3861
+ "inheritedFrom": {
3862
+ "name": "HelixHeadlessAppHeader",
3863
+ "module": "src/app-header/root/app-header-root.ts"
3864
+ }
3865
+ },
3866
+ {
3867
+ "description": "While `hide-on-scroll` has the bar out of the way, after a scroll down.",
3868
+ "name": "hidden",
3869
+ "inheritedFrom": {
3870
+ "name": "HelixHeadlessAppHeader",
3871
+ "module": "src/app-header/root/app-header-root.ts"
3872
+ }
3873
+ },
3874
+ {
3875
+ "description": "While the folded middle region is open.",
3876
+ "name": "open",
3877
+ "inheritedFrom": {
3878
+ "name": "HelixHeadlessAppHeader",
3879
+ "module": "src/app-header/root/app-header-root.ts"
3880
+ }
3881
+ },
3524
3882
  {
3525
3883
  "description": "While the page is scrolled down from the top, which is when the bar lifts off it.",
3526
3884
  "name": "scrolled",
@@ -3665,12 +4023,76 @@
3665
4023
  },
3666
4024
  "static": true,
3667
4025
  "default": "''",
3668
- "description": "The key `position-label` is registered under: the host's own, which\neach chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
4026
+ "description": "The key the empty and loading words are registered under: the host's\nown, which each chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
3669
4027
  "inheritedFrom": {
3670
4028
  "name": "MixinChartSource",
3671
4029
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
3672
4030
  }
3673
4031
  },
4032
+ {
4033
+ "kind": "field",
4034
+ "name": "emptyText",
4035
+ "type": {
4036
+ "text": "string"
4037
+ },
4038
+ "default": "'No readings'",
4039
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
4040
+ "attribute": "empty-text",
4041
+ "helix": {
4042
+ "words": true
4043
+ },
4044
+ "inheritedFrom": {
4045
+ "name": "MixinChartStatus",
4046
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
4047
+ }
4048
+ },
4049
+ {
4050
+ "kind": "field",
4051
+ "name": "loading",
4052
+ "type": {
4053
+ "text": "boolean"
4054
+ },
4055
+ "default": "false",
4056
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
4057
+ "attribute": "loading",
4058
+ "reflects": true,
4059
+ "inheritedFrom": {
4060
+ "name": "MixinChartStatus",
4061
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
4062
+ }
4063
+ },
4064
+ {
4065
+ "kind": "field",
4066
+ "name": "loadingText",
4067
+ "type": {
4068
+ "text": "string"
4069
+ },
4070
+ "default": "'Loading readings'",
4071
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
4072
+ "attribute": "loading-text",
4073
+ "helix": {
4074
+ "words": true
4075
+ },
4076
+ "inheritedFrom": {
4077
+ "name": "MixinChartStatus",
4078
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
4079
+ }
4080
+ },
4081
+ {
4082
+ "kind": "method",
4083
+ "name": "renderStatus",
4084
+ "privacy": "protected",
4085
+ "return": {
4086
+ "type": {
4087
+ "text": "TemplateResult | typeof nothing"
4088
+ }
4089
+ },
4090
+ "description": "What stands in the plot while there is nothing to draw: the `loading`\nline, the `empty` line, or nothing while the table cannot be read yet.\n\n`dir=\"auto\"`, so words in a right-to-left script read their own way in\na plot that holds itself left to right, as Scatter Chart's does.",
4091
+ "inheritedFrom": {
4092
+ "name": "MixinChartStatus",
4093
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
4094
+ }
4095
+ },
3674
4096
  {
3675
4097
  "kind": "field",
3676
4098
  "name": "source",
@@ -3694,6 +4116,19 @@
3694
4116
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
3695
4117
  }
3696
4118
  },
4119
+ {
4120
+ "kind": "field",
4121
+ "name": "data",
4122
+ "type": {
4123
+ "text": "ChartData | undefined"
4124
+ },
4125
+ "default": "undefined",
4126
+ "description": "The readings as data, in the shape of a table, where the page has no\ntable to point `for` at. `for` wins where both are set.\n\n```js\nchart.data = {\n caption: 'Sessions by channel',\n columns: ['Month', 'Direct', 'Referral'],\n rows: [['Jan', 10, 4], ['Feb', 20, 8]],\n}\n```\n\nThe first column holds each row's label and every column after it a\nseries, as in a table. A cell is a number, words, `null` for a blank,\nor `{ value, text }` for a number shown as words, such as `$128k`. A\nnumber is shown in `locale`.\n\n**A table is still the better source where the page can show one**:\nit reads with no script and before hydration, and a reader can sort and\ncopy it. Data is drawn on the client only, so a server serves the\nframe, and the summary, the keys and the readout are then the whole of\nwhat a screen reader is given. Set a new object to redraw: the chart\ndoes not look inside the one it has.",
4127
+ "inheritedFrom": {
4128
+ "name": "MixinChartSource",
4129
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
4130
+ }
4131
+ },
3697
4132
  {
3698
4133
  "kind": "field",
3699
4134
  "name": "for",
@@ -3830,6 +4265,19 @@
3830
4265
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
3831
4266
  }
3832
4267
  },
4268
+ {
4269
+ "kind": "field",
4270
+ "name": "readingsKnown",
4271
+ "type": {
4272
+ "text": "boolean"
4273
+ },
4274
+ "description": "Whether the readings have been looked for: false on the server and\nwhile hydrating, where no table is resolved and no data is read. A\nchart says it has no readings only once this is true.",
4275
+ "readonly": true,
4276
+ "inheritedFrom": {
4277
+ "name": "MixinChartSource",
4278
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
4279
+ }
4280
+ },
3833
4281
  {
3834
4282
  "kind": "field",
3835
4283
  "name": "sourceRows",
@@ -4829,6 +5277,45 @@
4829
5277
  "tagName": "helix-area-chart",
4830
5278
  "customElement": true,
4831
5279
  "attributes": [
5280
+ {
5281
+ "name": "empty-text",
5282
+ "type": {
5283
+ "text": "string"
5284
+ },
5285
+ "default": "'No readings'",
5286
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
5287
+ "fieldName": "emptyText",
5288
+ "inheritedFrom": {
5289
+ "name": "MixinChartStatus",
5290
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
5291
+ }
5292
+ },
5293
+ {
5294
+ "name": "loading",
5295
+ "type": {
5296
+ "text": "boolean"
5297
+ },
5298
+ "default": "false",
5299
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
5300
+ "fieldName": "loading",
5301
+ "inheritedFrom": {
5302
+ "name": "MixinChartStatus",
5303
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
5304
+ }
5305
+ },
5306
+ {
5307
+ "name": "loading-text",
5308
+ "type": {
5309
+ "text": "string"
5310
+ },
5311
+ "default": "'Loading readings'",
5312
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
5313
+ "fieldName": "loadingText",
5314
+ "inheritedFrom": {
5315
+ "name": "MixinChartStatus",
5316
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
5317
+ }
5318
+ },
4832
5319
  {
4833
5320
  "name": "for",
4834
5321
  "type": {
@@ -4971,6 +5458,24 @@
4971
5458
  }
4972
5459
  }
4973
5460
  ],
5461
+ "slots": [
5462
+ {
5463
+ "description": "Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.",
5464
+ "name": "empty",
5465
+ "inheritedFrom": {
5466
+ "name": "HelixHeadlessAreaChart",
5467
+ "module": "src/area-chart/root/area-chart-root.ts"
5468
+ }
5469
+ },
5470
+ {
5471
+ "description": "Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
5472
+ "name": "loading",
5473
+ "inheritedFrom": {
5474
+ "name": "HelixHeadlessAreaChart",
5475
+ "module": "src/area-chart/root/area-chart-root.ts"
5476
+ }
5477
+ }
5478
+ ],
4974
5479
  "cssParts": [
4975
5480
  {
4976
5481
  "description": "One part's band.",
@@ -4996,6 +5501,14 @@
4996
5501
  "module": "src/area-chart/root/area-chart-root.ts"
4997
5502
  }
4998
5503
  },
5504
+ {
5505
+ "description": "The words in place of the drawing when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration.",
5506
+ "name": "empty",
5507
+ "inheritedFrom": {
5508
+ "name": "HelixHeadlessAreaChart",
5509
+ "module": "src/area-chart/root/area-chart-root.ts"
5510
+ }
5511
+ },
4999
5512
  {
5000
5513
  "description": "One rule across the plot, under `gridlines`.",
5001
5514
  "name": "gridline",
@@ -5044,6 +5557,14 @@
5044
5557
  "module": "src/area-chart/root/area-chart-root.ts"
5045
5558
  }
5046
5559
  },
5560
+ {
5561
+ "description": "The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.",
5562
+ "name": "loading",
5563
+ "inheritedFrom": {
5564
+ "name": "HelixHeadlessAreaChart",
5565
+ "module": "src/area-chart/root/area-chart-root.ts"
5566
+ }
5567
+ },
5047
5568
  {
5048
5569
  "description": "The invisible point the tooltip is anchored to.",
5049
5570
  "name": "mark",
@@ -9320,12 +9841,76 @@
9320
9841
  },
9321
9842
  "static": true,
9322
9843
  "default": "''",
9323
- "description": "The key `position-label` is registered under: the host's own, which\neach chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
9844
+ "description": "The key the empty and loading words are registered under: the host's\nown, which each chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
9324
9845
  "inheritedFrom": {
9325
9846
  "name": "MixinChartSource",
9326
9847
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
9327
9848
  }
9328
9849
  },
9850
+ {
9851
+ "kind": "field",
9852
+ "name": "emptyText",
9853
+ "type": {
9854
+ "text": "string"
9855
+ },
9856
+ "default": "'No readings'",
9857
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
9858
+ "attribute": "empty-text",
9859
+ "helix": {
9860
+ "words": true
9861
+ },
9862
+ "inheritedFrom": {
9863
+ "name": "MixinChartStatus",
9864
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9865
+ }
9866
+ },
9867
+ {
9868
+ "kind": "field",
9869
+ "name": "loading",
9870
+ "type": {
9871
+ "text": "boolean"
9872
+ },
9873
+ "default": "false",
9874
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
9875
+ "attribute": "loading",
9876
+ "reflects": true,
9877
+ "inheritedFrom": {
9878
+ "name": "MixinChartStatus",
9879
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9880
+ }
9881
+ },
9882
+ {
9883
+ "kind": "field",
9884
+ "name": "loadingText",
9885
+ "type": {
9886
+ "text": "string"
9887
+ },
9888
+ "default": "'Loading readings'",
9889
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
9890
+ "attribute": "loading-text",
9891
+ "helix": {
9892
+ "words": true
9893
+ },
9894
+ "inheritedFrom": {
9895
+ "name": "MixinChartStatus",
9896
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9897
+ }
9898
+ },
9899
+ {
9900
+ "kind": "method",
9901
+ "name": "renderStatus",
9902
+ "privacy": "protected",
9903
+ "return": {
9904
+ "type": {
9905
+ "text": "TemplateResult | typeof nothing"
9906
+ }
9907
+ },
9908
+ "description": "What stands in the plot while there is nothing to draw: the `loading`\nline, the `empty` line, or nothing while the table cannot be read yet.\n\n`dir=\"auto\"`, so words in a right-to-left script read their own way in\na plot that holds itself left to right, as Scatter Chart's does.",
9909
+ "inheritedFrom": {
9910
+ "name": "MixinChartStatus",
9911
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9912
+ }
9913
+ },
9329
9914
  {
9330
9915
  "kind": "field",
9331
9916
  "name": "source",
@@ -9349,6 +9934,19 @@
9349
9934
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
9350
9935
  }
9351
9936
  },
9937
+ {
9938
+ "kind": "field",
9939
+ "name": "data",
9940
+ "type": {
9941
+ "text": "ChartData | undefined"
9942
+ },
9943
+ "default": "undefined",
9944
+ "description": "The readings as data, in the shape of a table, where the page has no\ntable to point `for` at. `for` wins where both are set.\n\n```js\nchart.data = {\n caption: 'Sessions by channel',\n columns: ['Month', 'Direct', 'Referral'],\n rows: [['Jan', 10, 4], ['Feb', 20, 8]],\n}\n```\n\nThe first column holds each row's label and every column after it a\nseries, as in a table. A cell is a number, words, `null` for a blank,\nor `{ value, text }` for a number shown as words, such as `$128k`. A\nnumber is shown in `locale`.\n\n**A table is still the better source where the page can show one**:\nit reads with no script and before hydration, and a reader can sort and\ncopy it. Data is drawn on the client only, so a server serves the\nframe, and the summary, the keys and the readout are then the whole of\nwhat a screen reader is given. Set a new object to redraw: the chart\ndoes not look inside the one it has.",
9945
+ "inheritedFrom": {
9946
+ "name": "MixinChartSource",
9947
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
9948
+ }
9949
+ },
9352
9950
  {
9353
9951
  "kind": "field",
9354
9952
  "name": "for",
@@ -9485,6 +10083,19 @@
9485
10083
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
9486
10084
  }
9487
10085
  },
10086
+ {
10087
+ "kind": "field",
10088
+ "name": "readingsKnown",
10089
+ "type": {
10090
+ "text": "boolean"
10091
+ },
10092
+ "description": "Whether the readings have been looked for: false on the server and\nwhile hydrating, where no table is resolved and no data is read. A\nchart says it has no readings only once this is true.",
10093
+ "readonly": true,
10094
+ "inheritedFrom": {
10095
+ "name": "MixinChartSource",
10096
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
10097
+ }
10098
+ },
9488
10099
  {
9489
10100
  "kind": "field",
9490
10101
  "name": "sourceRows",
@@ -10499,6 +11110,45 @@
10499
11110
  "description": "How a column's fill is distributed across it.\n\n`gradient` fades each column toward its base, into the wash the headless\ntier draws whether or not anything points at it.\n\n**A chart-domain axis and deliberately not a library one.** It lives on this\nfamily alone, and here it is a way of encoding data rather than a way of\nexpressing a theme: promoted to the registry it would put an attribute on\nevery component in the library and mean something on one. `wash` because\nthat is what the tier below already calls it, in `--chart-bar-wash` and in\nthe `bar-wash-start` and `bar-wash-end` stops.",
10500
11111
  "fieldName": "wash"
10501
11112
  },
11113
+ {
11114
+ "name": "empty-text",
11115
+ "type": {
11116
+ "text": "string"
11117
+ },
11118
+ "default": "'No readings'",
11119
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
11120
+ "fieldName": "emptyText",
11121
+ "inheritedFrom": {
11122
+ "name": "MixinChartStatus",
11123
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
11124
+ }
11125
+ },
11126
+ {
11127
+ "name": "loading",
11128
+ "type": {
11129
+ "text": "boolean"
11130
+ },
11131
+ "default": "false",
11132
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
11133
+ "fieldName": "loading",
11134
+ "inheritedFrom": {
11135
+ "name": "MixinChartStatus",
11136
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
11137
+ }
11138
+ },
11139
+ {
11140
+ "name": "loading-text",
11141
+ "type": {
11142
+ "text": "string"
11143
+ },
11144
+ "default": "'Loading readings'",
11145
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
11146
+ "fieldName": "loadingText",
11147
+ "inheritedFrom": {
11148
+ "name": "MixinChartStatus",
11149
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
11150
+ }
11151
+ },
10502
11152
  {
10503
11153
  "name": "for",
10504
11154
  "type": {
@@ -10726,6 +11376,24 @@
10726
11376
  },
10727
11377
  "tagName": "helix-bar-chart",
10728
11378
  "customElement": true,
11379
+ "slots": [
11380
+ {
11381
+ "description": "Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.",
11382
+ "name": "empty",
11383
+ "inheritedFrom": {
11384
+ "name": "HelixHeadlessBarChart",
11385
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11386
+ }
11387
+ },
11388
+ {
11389
+ "description": "Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
11390
+ "name": "loading",
11391
+ "inheritedFrom": {
11392
+ "name": "HelixHeadlessBarChart",
11393
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11394
+ }
11395
+ }
11396
+ ],
10729
11397
  "cssParts": [
10730
11398
  {
10731
11399
  "description": "The numbers of one scale: the primary under `value-axis`, and both when `secondary` splits the chart into two scales.",
@@ -10775,6 +11443,14 @@
10775
11443
  "module": "src/bar-chart/root/bar-chart-root.ts"
10776
11444
  }
10777
11445
  },
11446
+ {
11447
+ "description": "The words in place of the drawing when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration.",
11448
+ "name": "empty",
11449
+ "inheritedFrom": {
11450
+ "name": "HelixHeadlessBarChart",
11451
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11452
+ }
11453
+ },
10778
11454
  {
10779
11455
  "description": "One gridline across the plot, drawn when `gridlines` is set.",
10780
11456
  "name": "gridline",
@@ -10831,6 +11507,14 @@
10831
11507
  "module": "src/bar-chart/root/bar-chart-root.ts"
10832
11508
  }
10833
11509
  },
11510
+ {
11511
+ "description": "The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.",
11512
+ "name": "loading",
11513
+ "inheritedFrom": {
11514
+ "name": "HelixHeadlessBarChart",
11515
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11516
+ }
11517
+ },
10834
11518
  {
10835
11519
  "description": "The invisible point the tooltip is anchored to.",
10836
11520
  "name": "mark",
@@ -11100,7 +11784,7 @@
11100
11784
  "declarations": [
11101
11785
  {
11102
11786
  "kind": "class",
11103
- "description": "Set in the display face, larger than body text, to mark a change of voice. No\nquotation marks are drawn by default, because the size and spacing already\nset the passage apart. `marks` draws one large opening mark over the passage,\nas a pull quote sets it, in the element's language.",
11787
+ "description": "Set in the display face, larger than body text, to mark a change of voice. No\nquotation marks are drawn by default, because the size and spacing already\nset the passage apart. `marks` draws one large opening mark over the passage,\nas a pull quote sets it, in the element's language.\n\n`text-align` sets the passage and its attribution in the middle of the\ncolumn or against its far edge, as a pull quote often stands. There, the\nmark `marks` draws stands over the passage rather than beside it.\n`text-wrap=\"balance\"` evens out a short passage's lines.",
11104
11788
  "name": "HelixBlockquote",
11105
11789
  "cssProperties": [
11106
11790
  {
@@ -11157,6 +11841,26 @@
11157
11841
  }
11158
11842
  ],
11159
11843
  "members": [
11844
+ {
11845
+ "kind": "field",
11846
+ "name": "textAlign",
11847
+ "type": {
11848
+ "text": "'start' | 'center' | 'end' | undefined"
11849
+ },
11850
+ "description": "How the passage and its attribution align, set as `text-align`.\n\n`center` for a pull quote in the middle of a column and `end` for one\nagainst its far edge. Under either, the mark `marks` draws stands over\nthe first line. Absent aligns as the prose around it does.\n\nNamed for the CSS property it sets, as `Text.textAlign` is: `align` alone\nis a legacy HTML attribute the browser maps to `text-align` by itself,\nand it has no `start` or `end`.",
11851
+ "attribute": "text-align",
11852
+ "reflects": true
11853
+ },
11854
+ {
11855
+ "kind": "field",
11856
+ "name": "textWrap",
11857
+ "type": {
11858
+ "text": "'balance' | 'pretty' | undefined"
11859
+ },
11860
+ "description": "How the passage's lines break, set as `text-wrap`.\n\n`balance` evens out the length of every line, which suits a pull quote of\na few lines in display type. `pretty` avoids a last line of one short\nword, for a longer passage. Absent, the lines break as the browser breaks\nthem. The same name and values `Text` takes, but `nowrap`, a passage being\nmore than one line.",
11861
+ "attribute": "text-wrap",
11862
+ "reflects": true
11863
+ },
11160
11864
  {
11161
11865
  "kind": "field",
11162
11866
  "name": "attribution",
@@ -11624,6 +12328,63 @@
11624
12328
  }
11625
12329
  }
11626
12330
  ],
12331
+ "attributes": [
12332
+ {
12333
+ "name": "text-align",
12334
+ "type": {
12335
+ "text": "'start' | 'center' | 'end' | undefined"
12336
+ },
12337
+ "description": "How the passage and its attribution align, set as `text-align`.\n\n`center` for a pull quote in the middle of a column and `end` for one\nagainst its far edge. Under either, the mark `marks` draws stands over\nthe first line. Absent aligns as the prose around it does.\n\nNamed for the CSS property it sets, as `Text.textAlign` is: `align` alone\nis a legacy HTML attribute the browser maps to `text-align` by itself,\nand it has no `start` or `end`.",
12338
+ "fieldName": "textAlign"
12339
+ },
12340
+ {
12341
+ "name": "text-wrap",
12342
+ "type": {
12343
+ "text": "'balance' | 'pretty' | undefined"
12344
+ },
12345
+ "description": "How the passage's lines break, set as `text-wrap`.\n\n`balance` evens out the length of every line, which suits a pull quote of\na few lines in display type. `pretty` avoids a last line of one short\nword, for a longer passage. Absent, the lines break as the browser breaks\nthem. The same name and values `Text` takes, but `nowrap`, a passage being\nmore than one line.",
12346
+ "fieldName": "textWrap"
12347
+ },
12348
+ {
12349
+ "name": "attribution",
12350
+ "type": {
12351
+ "text": "string"
12352
+ },
12353
+ "default": "''",
12354
+ "description": "Who said it, and where, as words, such as \"Maria Lopez, operations\nmanager\". The `attribution` slot replaces them, for markup such as a link.\n\nWords are served with the figure they name, where a server cannot see a\nslotted attribution.",
12355
+ "fieldName": "attribution",
12356
+ "inheritedFrom": {
12357
+ "name": "HelixHeadlessBlockquote",
12358
+ "module": "src/blockquote/root/blockquote-root.ts"
12359
+ }
12360
+ },
12361
+ {
12362
+ "name": "cite",
12363
+ "type": {
12364
+ "text": "string"
12365
+ },
12366
+ "default": "''",
12367
+ "description": "The URL of the source the passage came from. Who said it goes in\n`attribution`: a `cite` with words in it warns once, with the runtime kind\n`cite-not-url`.",
12368
+ "fieldName": "cite",
12369
+ "inheritedFrom": {
12370
+ "name": "HelixHeadlessBlockquote",
12371
+ "module": "src/blockquote/root/blockquote-root.ts"
12372
+ }
12373
+ },
12374
+ {
12375
+ "name": "marks",
12376
+ "type": {
12377
+ "text": "boolean"
12378
+ },
12379
+ "default": "false",
12380
+ "description": "Whether to draw an opening quotation mark before the passage, in the\nelement's language. Leave the marks out of the text.",
12381
+ "fieldName": "marks",
12382
+ "inheritedFrom": {
12383
+ "name": "HelixHeadlessBlockquote",
12384
+ "module": "src/blockquote/root/blockquote-root.ts"
12385
+ }
12386
+ }
12387
+ ],
11627
12388
  "superclass": {
11628
12389
  "name": "HelixHeadlessBlockquote",
11629
12390
  "package": "@fusion.dev/helix-headless/blockquote"
@@ -11647,6 +12408,10 @@
11647
12408
  "description": "A quotation with its source cited.",
11648
12409
  "slug": "preview"
11649
12410
  },
12411
+ {
12412
+ "description": "A pull quote set in the middle of its column with `text-align` and its lines balanced with `text-wrap`, its mark standing over the passage.",
12413
+ "slug": "centered"
12414
+ },
11650
12415
  {
11651
12416
  "description": "A pull quote: one large mark over each passage, in the language written on the element, and the attribution given as words.",
11652
12417
  "slug": "pull-quote"
@@ -11700,47 +12465,6 @@
11700
12465
  }
11701
12466
  }
11702
12467
  ],
11703
- "attributes": [
11704
- {
11705
- "name": "attribution",
11706
- "type": {
11707
- "text": "string"
11708
- },
11709
- "default": "''",
11710
- "description": "Who said it, and where, as words, such as \"Maria Lopez, operations\nmanager\". The `attribution` slot replaces them, for markup such as a link.\n\nWords are served with the figure they name, where a server cannot see a\nslotted attribution.",
11711
- "fieldName": "attribution",
11712
- "inheritedFrom": {
11713
- "name": "HelixHeadlessBlockquote",
11714
- "module": "src/blockquote/root/blockquote-root.ts"
11715
- }
11716
- },
11717
- {
11718
- "name": "cite",
11719
- "type": {
11720
- "text": "string"
11721
- },
11722
- "default": "''",
11723
- "description": "The URL of the source the passage came from. Who said it goes in\n`attribution`: a `cite` with words in it warns once, with the runtime kind\n`cite-not-url`.",
11724
- "fieldName": "cite",
11725
- "inheritedFrom": {
11726
- "name": "HelixHeadlessBlockquote",
11727
- "module": "src/blockquote/root/blockquote-root.ts"
11728
- }
11729
- },
11730
- {
11731
- "name": "marks",
11732
- "type": {
11733
- "text": "boolean"
11734
- },
11735
- "default": "false",
11736
- "description": "Whether to draw an opening quotation mark before the passage, in the\nelement's language. Leave the marks out of the text.",
11737
- "fieldName": "marks",
11738
- "inheritedFrom": {
11739
- "name": "HelixHeadlessBlockquote",
11740
- "module": "src/blockquote/root/blockquote-root.ts"
11741
- }
11742
- }
11743
- ],
11744
12468
  "cssStates": [
11745
12469
  {
11746
12470
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
@@ -12729,6 +13453,17 @@
12729
13453
  "module": "src/breadcrumbs/root/breadcrumbs-root.ts"
12730
13454
  }
12731
13455
  },
13456
+ {
13457
+ "kind": "field",
13458
+ "name": "markLast",
13459
+ "privacy": "private",
13460
+ "readonly": true,
13461
+ "description": "Says the last slotted crumb is the current page where none is marked\n`current`, as React Aria's trail does. Through a property the crumb does\nnot reflect, so nothing is written onto your markup.",
13462
+ "inheritedFrom": {
13463
+ "name": "HelixHeadlessBreadcrumbs",
13464
+ "module": "src/breadcrumbs/root/breadcrumbs-root.ts"
13465
+ }
13466
+ },
12732
13467
  {
12733
13468
  "kind": "method",
12734
13469
  "name": "renderItems",
@@ -66484,7 +67219,7 @@
66484
67219
  "type": {
66485
67220
  "text": "'any' | 'closerequest' | 'none' | undefined"
66486
67221
  },
66487
- "description": "Which close requests the browser handles on its own.\n\n`<dialog closedby>`, forwarded, and safe to forward because every path it\nopens still comes back through this element: a close request fires `cancel`\nfirst, `handleCancel` prevents it, and `requestOpen` decides. So\n`closedby=\"any\"` gains light dismiss without giving up the refusal, which is\nthe property this component exists to keep.\n\nAbsent by default, which is the platform's `auto` and this library's rule\nthat a resting value is an attribute's absence.",
67222
+ "description": "Which close requests the browser handles on its own.\n\n`<dialog closedby>`, forwarded, and safe to forward because every path it\nopens still comes back through this element: a close request fires `cancel`\nfirst, `handleCancel` prevents it, and `requestOpen` decides. So\n`closedby=\"any\"` gains light dismiss without giving up the refusal, which is\nthe property this component exists to keep.\n\nThe press on the backdrop that this element handles itself follows it too:\n`closerequest` and `none` leave the dialog open on that press, as the\nplatform does, and `none` also keeps it open on Escape in a browser without\n`closedby`.\n\nAbsent by default, which is the platform's `auto` and this library's rule\nthat a resting value is an attribute's absence. Absent, a press on the\nbackdrop closes the dialog.",
66488
67223
  "attribute": "closedby",
66489
67224
  "reflects": true,
66490
67225
  "inheritedFrom": {
@@ -67265,7 +68000,7 @@
67265
68000
  "type": {
67266
68001
  "text": "'any' | 'closerequest' | 'none' | undefined"
67267
68002
  },
67268
- "description": "Which close requests the browser handles on its own.\n\n`<dialog closedby>`, forwarded, and safe to forward because every path it\nopens still comes back through this element: a close request fires `cancel`\nfirst, `handleCancel` prevents it, and `requestOpen` decides. So\n`closedby=\"any\"` gains light dismiss without giving up the refusal, which is\nthe property this component exists to keep.\n\nAbsent by default, which is the platform's `auto` and this library's rule\nthat a resting value is an attribute's absence.",
68003
+ "description": "Which close requests the browser handles on its own.\n\n`<dialog closedby>`, forwarded, and safe to forward because every path it\nopens still comes back through this element: a close request fires `cancel`\nfirst, `handleCancel` prevents it, and `requestOpen` decides. So\n`closedby=\"any\"` gains light dismiss without giving up the refusal, which is\nthe property this component exists to keep.\n\nThe press on the backdrop that this element handles itself follows it too:\n`closerequest` and `none` leave the dialog open on that press, as the\nplatform does, and `none` also keeps it open on Escape in a browser without\n`closedby`.\n\nAbsent by default, which is the platform's `auto` and this library's rule\nthat a resting value is an attribute's absence. Absent, a press on the\nbackdrop closes the dialog.",
67269
68004
  "fieldName": "closedBy",
67270
68005
  "inheritedFrom": {
67271
68006
  "name": "HelixHeadlessDialog",
@@ -68424,6 +69159,19 @@
68424
69159
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
68425
69160
  }
68426
69161
  },
69162
+ {
69163
+ "kind": "field",
69164
+ "name": "data",
69165
+ "type": {
69166
+ "text": "ChartData | undefined"
69167
+ },
69168
+ "default": "undefined",
69169
+ "description": "The readings as data, in the shape of a table, where the page has no\ntable to point `for` at. `for` wins where both are set.\n\n```js\nchart.data = {\n caption: 'Sessions by channel',\n columns: ['Month', 'Direct', 'Referral'],\n rows: [['Jan', 10, 4], ['Feb', 20, 8]],\n}\n```\n\nThe first column holds each row's label and every column after it a\nseries, as in a table. A cell is a number, words, `null` for a blank,\nor `{ value, text }` for a number shown as words, such as `$128k`. A\nnumber is shown in `locale`.\n\n**A table is still the better source where the page can show one**:\nit reads with no script and before hydration, and a reader can sort and\ncopy it. Data is drawn on the client only, so a server serves the\nframe, and the summary, the keys and the readout are then the whole of\nwhat a screen reader is given. Set a new object to redraw: the chart\ndoes not look inside the one it has.",
69170
+ "inheritedFrom": {
69171
+ "name": "MixinChartSource",
69172
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
69173
+ }
69174
+ },
68427
69175
  {
68428
69176
  "kind": "field",
68429
69177
  "name": "for",
@@ -68560,6 +69308,19 @@
68560
69308
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
68561
69309
  }
68562
69310
  },
69311
+ {
69312
+ "kind": "field",
69313
+ "name": "readingsKnown",
69314
+ "type": {
69315
+ "text": "boolean"
69316
+ },
69317
+ "description": "Whether the readings have been looked for: false on the server and\nwhile hydrating, where no table is resolved and no data is read. A\nchart says it has no readings only once this is true.",
69318
+ "readonly": true,
69319
+ "inheritedFrom": {
69320
+ "name": "MixinChartSource",
69321
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
69322
+ }
69323
+ },
68563
69324
  {
68564
69325
  "kind": "field",
68565
69326
  "name": "sourceRows",
@@ -70136,6 +70897,20 @@
70136
70897
  "module": "src/drawer/root/drawer-root.ts"
70137
70898
  }
70138
70899
  },
70900
+ {
70901
+ "kind": "field",
70902
+ "name": "refusesDismissal",
70903
+ "type": {
70904
+ "text": "boolean"
70905
+ },
70906
+ "privacy": "private",
70907
+ "description": "Whether a request to dismiss the drawer, by Escape or a swipe, is refused.",
70908
+ "readonly": true,
70909
+ "inheritedFrom": {
70910
+ "name": "HelixHeadlessDrawer",
70911
+ "module": "src/drawer/root/drawer-root.ts"
70912
+ }
70913
+ },
70139
70914
  {
70140
70915
  "kind": "field",
70141
70916
  "name": "dismissLabel",
@@ -70184,6 +70959,20 @@
70184
70959
  "module": "src/drawer/root/drawer-root.ts"
70185
70960
  }
70186
70961
  },
70962
+ {
70963
+ "kind": "field",
70964
+ "name": "modal",
70965
+ "type": {
70966
+ "text": "boolean"
70967
+ },
70968
+ "default": "true",
70969
+ "description": "Whether the drawer blocks the page behind it.\n\nTurning this off removes the focus trap and the scrim together, because\nthey are one decision: a panel that traps focus without covering the page\nstrands the reader, and one that covers without trapping lets them tab\nbehind the cover.\n\nNot reflected. It stays `true` by default, since a drawer that silently\nlost its focus trap because a consumer forgot a word would be worse than an\nattribute on the host, and nothing selects on it: the scrim is rendered or\nnot, rather than shown or hidden by CSS.",
70970
+ "attribute": "modal",
70971
+ "inheritedFrom": {
70972
+ "name": "HelixHeadlessDrawer",
70973
+ "module": "src/drawer/root/drawer-root.ts"
70974
+ }
70975
+ },
70187
70976
  {
70188
70977
  "kind": "field",
70189
70978
  "name": "aria",
@@ -70197,13 +70986,14 @@
70197
70986
  },
70198
70987
  {
70199
70988
  "kind": "field",
70200
- "name": "modal",
70989
+ "name": "persistent",
70201
70990
  "type": {
70202
70991
  "text": "boolean"
70203
70992
  },
70204
- "default": "true",
70205
- "description": "Whether the drawer blocks the page behind it.\n\nTurning this off removes the focus trap and the scrim together, because\nthey are one decision: a panel that traps focus without covering the page\nstrands the reader, and one that covers without trapping lets them tab\nbehind the cover.\n\nNot reflected. It stays `true` by default, since a drawer that silently\nlost its focus trap because a consumer forgot a word would be worse than an\nattribute on the host, and nothing selects on it: the scrim is rendered or\nnot, rather than shown or hidden by CSS.",
70206
- "attribute": "modal",
70993
+ "default": "false",
70994
+ "description": "Stops Escape, a press outside, and a swipe from closing the drawer, for a\ndrawer that has to be answered.\n\nThe close control and `close()` still close it, as on `Dialog`: a panel\nwith no way out at all is a trap.",
70995
+ "attribute": "persistent",
70996
+ "reflects": true,
70207
70997
  "inheritedFrom": {
70208
70998
  "name": "HelixHeadlessDrawer",
70209
70999
  "module": "src/drawer/root/drawer-root.ts"
@@ -70647,6 +71437,35 @@
70647
71437
  "module": "src/drawer/root/drawer-root.ts"
70648
71438
  }
70649
71439
  },
71440
+ {
71441
+ "kind": "field",
71442
+ "name": "describedByBody",
71443
+ "type": {
71444
+ "text": "boolean"
71445
+ },
71446
+ "privacy": "private",
71447
+ "default": "false",
71448
+ "description": "Whether the body's words are what currently describe the panel.",
71449
+ "inheritedFrom": {
71450
+ "name": "HelixHeadlessDrawer",
71451
+ "module": "src/drawer/root/drawer-root.ts"
71452
+ }
71453
+ },
71454
+ {
71455
+ "kind": "method",
71456
+ "name": "describeByBody",
71457
+ "privacy": "private",
71458
+ "return": {
71459
+ "type": {
71460
+ "text": "void"
71461
+ }
71462
+ },
71463
+ "description": "Describes the panel by the words at the start of its body, where nothing\nelse describes it, as `Dialog` does. An `aria-describedby` on the host\ncomes first.",
71464
+ "inheritedFrom": {
71465
+ "name": "HelixHeadlessDrawer",
71466
+ "module": "src/drawer/root/drawer-root.ts"
71467
+ }
71468
+ },
70650
71469
  {
70651
71470
  "kind": "method",
70652
71471
  "name": "renderDismissIcon",
@@ -71113,6 +71932,19 @@
71113
71932
  "module": "src/drawer/root/drawer-root.ts"
71114
71933
  }
71115
71934
  },
71935
+ {
71936
+ "name": "persistent",
71937
+ "type": {
71938
+ "text": "boolean"
71939
+ },
71940
+ "default": "false",
71941
+ "description": "Stops Escape, a press outside, and a swipe from closing the drawer, for a\ndrawer that has to be answered.\n\nThe close control and `close()` still close it, as on `Dialog`: a panel\nwith no way out at all is a trap.",
71942
+ "fieldName": "persistent",
71943
+ "inheritedFrom": {
71944
+ "name": "HelixHeadlessDrawer",
71945
+ "module": "src/drawer/root/drawer-root.ts"
71946
+ }
71947
+ },
71116
71948
  {
71117
71949
  "name": "placement",
71118
71950
  "type": {
@@ -89375,6 +90207,19 @@
89375
90207
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
89376
90208
  }
89377
90209
  },
90210
+ {
90211
+ "kind": "field",
90212
+ "name": "data",
90213
+ "type": {
90214
+ "text": "ChartData | undefined"
90215
+ },
90216
+ "default": "undefined",
90217
+ "description": "The readings as data, in the shape of a table, where the page has no\ntable to point `for` at. `for` wins where both are set.\n\n```js\nchart.data = {\n caption: 'Sessions by channel',\n columns: ['Month', 'Direct', 'Referral'],\n rows: [['Jan', 10, 4], ['Feb', 20, 8]],\n}\n```\n\nThe first column holds each row's label and every column after it a\nseries, as in a table. A cell is a number, words, `null` for a blank,\nor `{ value, text }` for a number shown as words, such as `$128k`. A\nnumber is shown in `locale`.\n\n**A table is still the better source where the page can show one**:\nit reads with no script and before hydration, and a reader can sort and\ncopy it. Data is drawn on the client only, so a server serves the\nframe, and the summary, the keys and the readout are then the whole of\nwhat a screen reader is given. Set a new object to redraw: the chart\ndoes not look inside the one it has.",
90218
+ "inheritedFrom": {
90219
+ "name": "MixinChartSource",
90220
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
90221
+ }
90222
+ },
89378
90223
  {
89379
90224
  "kind": "field",
89380
90225
  "name": "for",
@@ -89511,6 +90356,19 @@
89511
90356
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
89512
90357
  }
89513
90358
  },
90359
+ {
90360
+ "kind": "field",
90361
+ "name": "readingsKnown",
90362
+ "type": {
90363
+ "text": "boolean"
90364
+ },
90365
+ "description": "Whether the readings have been looked for: false on the server and\nwhile hydrating, where no table is resolved and no data is read. A\nchart says it has no readings only once this is true.",
90366
+ "readonly": true,
90367
+ "inheritedFrom": {
90368
+ "name": "MixinChartSource",
90369
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
90370
+ }
90371
+ },
89514
90372
  {
89515
90373
  "kind": "field",
89516
90374
  "name": "sourceRows",
@@ -90055,7 +90913,7 @@
90055
90913
  "text": "boolean"
90056
90914
  },
90057
90915
  "privacy": "private",
90058
- "description": "Whether this render can tell a table with no readings from one it has not\nresolved yet.\n\n**Unknown is not empty, which is what an empty state must never say.**\n`for` names an id and resolving an id wants a document, so a server has\nnone and a hydrating render must not look either. Without this the server\ndrew \"No readings\" over a table holding ninety days of them, a crawler read\nthat sentence, and the strip flipped to a full one on hydration: the fault\n`MixinCollection` names for a slotted collection, arriving through the one\nchannel that mixin cannot see.\n\nThe same shape as `childrenKnown`, asked of a tree that can answer about\nids rather than of one that holds children. An id that resolves to nothing\nin a browser is still known, and still empty: a `for` naming no table\nshould say so rather than sit blank, which is why this asks\n`searchableById` and not `elementById`.",
90916
+ "description": "Whether this render can tell a table with no readings from one it has not\nresolved yet.\n\n**Unknown is not empty, which is what an empty state must never say.**\n`for` names an id and resolving an id wants a document, so a server has\nnone and a hydrating render must not look either. Without this the server\ndrew \"No readings\" over a table holding ninety days of them, a crawler read\nthat sentence, and the strip flipped to a full one on hydration: the fault\n`MixinCollection` names for a slotted collection, arriving through the one\nchannel that mixin cannot see.\n\nThe same shape as `childrenKnown`, asked of a tree that can answer about\nids rather than of one that holds children. An id that resolves to nothing\nin a browser is still known, and still empty: a `for` naming no table\nshould say so rather than sit blank, which is why this asks\n`searchableById` and not `elementById`.\n\n`readingsKnown` asks it for every chart, and for `data` too, which a\nserver does not draw.",
90059
90917
  "readonly": true,
90060
90918
  "inheritedFrom": {
90061
90919
  "name": "HelixHeadlessHeatmap",
@@ -101327,6 +102185,17 @@
101327
102185
  "module": "src/lightbox/root/lightbox-root.ts"
101328
102186
  }
101329
102187
  },
102188
+ {
102189
+ "kind": "field",
102190
+ "name": "scope",
102191
+ "privacy": "protected",
102192
+ "readonly": true,
102193
+ "default": "new FocusScopeController(this, { contain: () => this.open, contents: () => [ ...['header', '', 'footer'].flatMap( (name) => this.renderRoot ?.querySelector<HTMLSlotElement>(name ? `slot[name=\"${name}\"]` : 'slot:not([name])') ?.assignedElements({ flatten: true }) ?? [], ), /* And the controls the viewer draws itself. */ ...[...(this.dialog?.children ?? [])].filter((one) => one.localName === 'button'), ], surface: () => this.dialog, })",
102194
+ "inheritedFrom": {
102195
+ "name": "HelixHeadlessLightbox",
102196
+ "module": "src/lightbox/root/lightbox-root.ts"
102197
+ }
102198
+ },
101330
102199
  {
101331
102200
  "kind": "field",
101332
102201
  "name": "zoomer",
@@ -101647,6 +102516,29 @@
101647
102516
  "module": "src/lightbox/root/lightbox-root.ts"
101648
102517
  }
101649
102518
  },
102519
+ {
102520
+ "kind": "method",
102521
+ "name": "panKey",
102522
+ "privacy": "private",
102523
+ "return": {
102524
+ "type": {
102525
+ "text": "boolean"
102526
+ }
102527
+ },
102528
+ "parameters": [
102529
+ {
102530
+ "name": "key",
102531
+ "type": {
102532
+ "text": "string"
102533
+ }
102534
+ }
102535
+ ],
102536
+ "description": "The arrow keys on a zoomed item, which move about it rather than to\nanother item. Returns whether it was one.",
102537
+ "inheritedFrom": {
102538
+ "name": "HelixHeadlessLightbox",
102539
+ "module": "src/lightbox/root/lightbox-root.ts"
102540
+ }
102541
+ },
101650
102542
  {
101651
102543
  "kind": "method",
101652
102544
  "name": "zoomIn",
@@ -101716,7 +102608,76 @@
101716
102608
  "name": "handleBackdrop",
101717
102609
  "privacy": "private",
101718
102610
  "readonly": true,
101719
- "description": "A press on the backdrop, which lands on the dialog element itself.\n\nThe point is compared against the panel's box rather than trusting the\ntarget alone, for the reason `Dialog` gives: a modal `<dialog>` attributes\nbackdrop presses to itself, so any padding the styled tier gives the panel\nis a strip where a press on the panel looks like a press outside it.",
102611
+ "description": "A press on the backdrop or on the empty area around the item.\n\nA modal `<dialog>` attributes backdrop presses to itself, and the styled\ntier draws the viewer over the whole screen, so a press beside the item\nlands on the dialog, the viewport, or the item's own box. Any of those is\na reader done with the viewer, as a press on a dark room around a picture\nis. Not a press that dragged, which was a swipe or a pan.",
102612
+ "inheritedFrom": {
102613
+ "name": "HelixHeadlessLightbox",
102614
+ "module": "src/lightbox/root/lightbox-root.ts"
102615
+ }
102616
+ },
102617
+ {
102618
+ "kind": "field",
102619
+ "name": "pressedAt",
102620
+ "type": {
102621
+ "text": "{ x: number; y: number } | undefined"
102622
+ },
102623
+ "privacy": "private",
102624
+ "description": "Where the last press began, so a press that dragged closes nothing.",
102625
+ "inheritedFrom": {
102626
+ "name": "HelixHeadlessLightbox",
102627
+ "module": "src/lightbox/root/lightbox-root.ts"
102628
+ }
102629
+ },
102630
+ {
102631
+ "kind": "field",
102632
+ "name": "handlePointerDown",
102633
+ "privacy": "private",
102634
+ "readonly": true,
102635
+ "inheritedFrom": {
102636
+ "name": "HelixHeadlessLightbox",
102637
+ "module": "src/lightbox/root/lightbox-root.ts"
102638
+ }
102639
+ },
102640
+ {
102641
+ "kind": "method",
102642
+ "name": "dragged",
102643
+ "privacy": "private",
102644
+ "return": {
102645
+ "type": {
102646
+ "text": "boolean"
102647
+ }
102648
+ },
102649
+ "parameters": [
102650
+ {
102651
+ "name": "event",
102652
+ "type": {
102653
+ "text": "MouseEvent"
102654
+ }
102655
+ }
102656
+ ],
102657
+ "description": "Whether the press moved further than a click does, as a swipe or a pan does.",
102658
+ "inheritedFrom": {
102659
+ "name": "HelixHeadlessLightbox",
102660
+ "module": "src/lightbox/root/lightbox-root.ts"
102661
+ }
102662
+ },
102663
+ {
102664
+ "kind": "method",
102665
+ "name": "onEmptyArea",
102666
+ "privacy": "private",
102667
+ "return": {
102668
+ "type": {
102669
+ "text": "boolean"
102670
+ }
102671
+ },
102672
+ "parameters": [
102673
+ {
102674
+ "name": "event",
102675
+ "type": {
102676
+ "text": "MouseEvent"
102677
+ }
102678
+ }
102679
+ ],
102680
+ "description": "Whether a press landed on the empty area around the item: the viewer's\nown surface, the viewport, or an item's box beside what it holds. The\nlast two not where `max-zoom` lets a reader zoom, since a double press\nthere zooms.",
101720
102681
  "inheritedFrom": {
101721
102682
  "name": "HelixHeadlessLightbox",
101722
102683
  "module": "src/lightbox/root/lightbox-root.ts"
@@ -102964,12 +103925,76 @@
102964
103925
  },
102965
103926
  "static": true,
102966
103927
  "default": "''",
102967
- "description": "The key `position-label` is registered under: the host's own, which\neach chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
103928
+ "description": "The key the empty and loading words are registered under: the host's\nown, which each chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
102968
103929
  "inheritedFrom": {
102969
103930
  "name": "MixinChartSource",
102970
103931
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
102971
103932
  }
102972
103933
  },
103934
+ {
103935
+ "kind": "field",
103936
+ "name": "emptyText",
103937
+ "type": {
103938
+ "text": "string"
103939
+ },
103940
+ "default": "'No readings'",
103941
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
103942
+ "attribute": "empty-text",
103943
+ "helix": {
103944
+ "words": true
103945
+ },
103946
+ "inheritedFrom": {
103947
+ "name": "MixinChartStatus",
103948
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
103949
+ }
103950
+ },
103951
+ {
103952
+ "kind": "field",
103953
+ "name": "loading",
103954
+ "type": {
103955
+ "text": "boolean"
103956
+ },
103957
+ "default": "false",
103958
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
103959
+ "attribute": "loading",
103960
+ "reflects": true,
103961
+ "inheritedFrom": {
103962
+ "name": "MixinChartStatus",
103963
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
103964
+ }
103965
+ },
103966
+ {
103967
+ "kind": "field",
103968
+ "name": "loadingText",
103969
+ "type": {
103970
+ "text": "string"
103971
+ },
103972
+ "default": "'Loading readings'",
103973
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
103974
+ "attribute": "loading-text",
103975
+ "helix": {
103976
+ "words": true
103977
+ },
103978
+ "inheritedFrom": {
103979
+ "name": "MixinChartStatus",
103980
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
103981
+ }
103982
+ },
103983
+ {
103984
+ "kind": "method",
103985
+ "name": "renderStatus",
103986
+ "privacy": "protected",
103987
+ "return": {
103988
+ "type": {
103989
+ "text": "TemplateResult | typeof nothing"
103990
+ }
103991
+ },
103992
+ "description": "What stands in the plot while there is nothing to draw: the `loading`\nline, the `empty` line, or nothing while the table cannot be read yet.\n\n`dir=\"auto\"`, so words in a right-to-left script read their own way in\na plot that holds itself left to right, as Scatter Chart's does.",
103993
+ "inheritedFrom": {
103994
+ "name": "MixinChartStatus",
103995
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
103996
+ }
103997
+ },
102973
103998
  {
102974
103999
  "kind": "field",
102975
104000
  "name": "source",
@@ -102993,6 +104018,19 @@
102993
104018
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
102994
104019
  }
102995
104020
  },
104021
+ {
104022
+ "kind": "field",
104023
+ "name": "data",
104024
+ "type": {
104025
+ "text": "ChartData | undefined"
104026
+ },
104027
+ "default": "undefined",
104028
+ "description": "The readings as data, in the shape of a table, where the page has no\ntable to point `for` at. `for` wins where both are set.\n\n```js\nchart.data = {\n caption: 'Sessions by channel',\n columns: ['Month', 'Direct', 'Referral'],\n rows: [['Jan', 10, 4], ['Feb', 20, 8]],\n}\n```\n\nThe first column holds each row's label and every column after it a\nseries, as in a table. A cell is a number, words, `null` for a blank,\nor `{ value, text }` for a number shown as words, such as `$128k`. A\nnumber is shown in `locale`.\n\n**A table is still the better source where the page can show one**:\nit reads with no script and before hydration, and a reader can sort and\ncopy it. Data is drawn on the client only, so a server serves the\nframe, and the summary, the keys and the readout are then the whole of\nwhat a screen reader is given. Set a new object to redraw: the chart\ndoes not look inside the one it has.",
104029
+ "inheritedFrom": {
104030
+ "name": "MixinChartSource",
104031
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
104032
+ }
104033
+ },
102996
104034
  {
102997
104035
  "kind": "field",
102998
104036
  "name": "for",
@@ -103129,6 +104167,19 @@
103129
104167
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
103130
104168
  }
103131
104169
  },
104170
+ {
104171
+ "kind": "field",
104172
+ "name": "readingsKnown",
104173
+ "type": {
104174
+ "text": "boolean"
104175
+ },
104176
+ "description": "Whether the readings have been looked for: false on the server and\nwhile hydrating, where no table is resolved and no data is read. A\nchart says it has no readings only once this is true.",
104177
+ "readonly": true,
104178
+ "inheritedFrom": {
104179
+ "name": "MixinChartSource",
104180
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
104181
+ }
104182
+ },
103132
104183
  {
103133
104184
  "kind": "field",
103134
104185
  "name": "sourceRows",
@@ -104152,6 +105203,45 @@
104152
105203
  "description": "How translucent the lines are, as a material: `glass` or `frosted`.\n\n`glass` lets the gridlines read through them, which is what translucency is\nfor on a chart rather than decoration.\n\nOn the lines and not the wash: the wash is already scaled by\n`--helix-material-opacity` whatever this says, being a wash by nature, and\nscaling it twice would compound the policy against itself.\n\n**This paints a mark rather than a ground, and the axis still reads the\nsame way.** On a surface the points are how much of the page shows through;\non a series they are how much ink the mark has, and the order is the same:\n`glass` admits most, `frosted` admits less, absent is opaque. The two\nfactors, 0.62 and 0.88, carry the relationship the surface tokens carry\nbetween `material-translucent` and `material-translucent-strong`, so a\nchart and a card mean the same thing by the word.\n\n**`transparent` is where this one stops.** A mark with no ink is not a\nmaterial choice, it is an absent series, and a chart says that by not\nhaving the datum rather than by painting it invisibly.",
104153
105204
  "fieldName": "material"
104154
105205
  },
105206
+ {
105207
+ "name": "empty-text",
105208
+ "type": {
105209
+ "text": "string"
105210
+ },
105211
+ "default": "'No readings'",
105212
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
105213
+ "fieldName": "emptyText",
105214
+ "inheritedFrom": {
105215
+ "name": "MixinChartStatus",
105216
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
105217
+ }
105218
+ },
105219
+ {
105220
+ "name": "loading",
105221
+ "type": {
105222
+ "text": "boolean"
105223
+ },
105224
+ "default": "false",
105225
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
105226
+ "fieldName": "loading",
105227
+ "inheritedFrom": {
105228
+ "name": "MixinChartStatus",
105229
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
105230
+ }
105231
+ },
105232
+ {
105233
+ "name": "loading-text",
105234
+ "type": {
105235
+ "text": "string"
105236
+ },
105237
+ "default": "'Loading readings'",
105238
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
105239
+ "fieldName": "loadingText",
105240
+ "inheritedFrom": {
105241
+ "name": "MixinChartStatus",
105242
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
105243
+ }
105244
+ },
104155
105245
  {
104156
105246
  "name": "for",
104157
105247
  "type": {
@@ -104392,6 +105482,24 @@
104392
105482
  },
104393
105483
  "tagName": "helix-line-chart",
104394
105484
  "customElement": true,
105485
+ "slots": [
105486
+ {
105487
+ "description": "Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.",
105488
+ "name": "empty",
105489
+ "inheritedFrom": {
105490
+ "name": "HelixHeadlessLineChart",
105491
+ "module": "src/line-chart/root/line-chart-root.ts"
105492
+ }
105493
+ },
105494
+ {
105495
+ "description": "Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
105496
+ "name": "loading",
105497
+ "inheritedFrom": {
105498
+ "name": "HelixHeadlessLineChart",
105499
+ "module": "src/line-chart/root/line-chart-root.ts"
105500
+ }
105501
+ }
105502
+ ],
104395
105503
  "cssParts": [
104396
105504
  {
104397
105505
  "description": "The wash under one line, where `area` is set.",
@@ -104425,6 +105533,14 @@
104425
105533
  "module": "src/line-chart/root/line-chart-root.ts"
104426
105534
  }
104427
105535
  },
105536
+ {
105537
+ "description": "The words in place of the drawing when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration.",
105538
+ "name": "empty",
105539
+ "inheritedFrom": {
105540
+ "name": "HelixHeadlessLineChart",
105541
+ "module": "src/line-chart/root/line-chart-root.ts"
105542
+ }
105543
+ },
104428
105544
  {
104429
105545
  "description": "One rule across the plot, under `gridlines`.",
104430
105546
  "name": "gridline",
@@ -104481,6 +105597,14 @@
104481
105597
  "module": "src/line-chart/root/line-chart-root.ts"
104482
105598
  }
104483
105599
  },
105600
+ {
105601
+ "description": "The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.",
105602
+ "name": "loading",
105603
+ "inheritedFrom": {
105604
+ "name": "HelixHeadlessLineChart",
105605
+ "module": "src/line-chart/root/line-chart-root.ts"
105606
+ }
105607
+ },
104484
105608
  {
104485
105609
  "description": "The invisible point the tooltip is anchored to.",
104486
105610
  "name": "mark",
@@ -128947,7 +130071,7 @@
128947
130071
  "name": "indicator",
128948
130072
  "privacy": "private",
128949
130073
  "readonly": true,
128950
- "default": "new IndicatorController(this, { active: () => { const items = this.items const marked = (item: HTMLElement): boolean => { const current = item.getAttribute('aria-current') return current !== null && current !== 'false' } return ( items.find((item) => item.getAttribute('aria-current') === 'page') ?? items.find(marked) ) }, indicator: () => this.partNamed('indicator'), observe: () => this.items, surface: () => this.partNamed('nav'), })",
130074
+ "default": "new IndicatorController(this, { active: () => { const items = this.items const marked = (item: HTMLElement): boolean => { const current = markOf(item)?.getAttribute('aria-current') return current !== null && current !== undefined && current !== 'false' } return ( items.find((item) => markOf(item)?.getAttribute('aria-current') === 'page') ?? items.find(marked) ) }, indicator: () => this.partNamed('indicator'), observe: () => this.items, surface: () => this.partNamed('nav'), })",
128951
130075
  "inheritedFrom": {
128952
130076
  "name": "HelixHeadlessNavigation",
128953
130077
  "module": "src/navigation/root/navigation-root.ts"
@@ -129040,7 +130164,7 @@
129040
130164
  "text": "HTMLElement[]"
129041
130165
  },
129042
130166
  "privacy": "private",
129043
- "description": "The destinations the consumer slotted.",
130167
+ "description": "The destinations the consumer slotted, and the items of a slotted list in\nplace of the list.",
129044
130168
  "readonly": true,
129045
130169
  "inheritedFrom": {
129046
130170
  "name": "HelixHeadlessNavigation",
@@ -132460,6 +133584,29 @@
132460
133584
  "module": "src/notifications/root/notifications-root.ts"
132461
133585
  }
132462
133586
  },
133587
+ {
133588
+ "kind": "method",
133589
+ "name": "leave",
133590
+ "privacy": "private",
133591
+ "return": {
133592
+ "type": {
133593
+ "text": "void"
133594
+ }
133595
+ },
133596
+ "parameters": [
133597
+ {
133598
+ "name": "event",
133599
+ "type": {
133600
+ "text": "KeyboardEvent"
133601
+ }
133602
+ }
133603
+ ],
133604
+ "description": "`Control+End` and `Control+Home`, which leave the feed for the first\ncontrol after it or the nearest one before it, as the APG feed pattern\ndoes. A feed of many rows is otherwise a long walk to get past.",
133605
+ "inheritedFrom": {
133606
+ "name": "HelixHeadlessNotifications",
133607
+ "module": "src/notifications/root/notifications-root.ts"
133608
+ }
133609
+ },
132463
133610
  {
132464
133611
  "kind": "method",
132465
133612
  "name": "rove",
@@ -140199,7 +141346,7 @@
140199
141346
  "text": "boolean"
140200
141347
  },
140201
141348
  "default": "false",
140202
- "description": "Says each new state politely, such as \"Working\" and then \"Done\".\n\n**The orb becomes the live region**: its role is `status` rather than\n`progressbar` or `img`, and it holds the state's word. A region inside a\nprogress bar or an image may never be heard, because assistive technology\ntreats what those two hold as presentation. The name is still `label` or\nthe state's word.\n\nOff by default, because the name and the busy state already change with\nthe state, and an orb beside a stream of messages would otherwise talk\nover them. Set it on an orb that is the only sign of progress on the page.",
141349
+ "description": "Says each new state politely, such as \"Working\" and then \"Done\".\n\n**The orb becomes the live region**: its role is `status` rather than\n`progressbar` or `img`, and it holds the state's word. A region inside a\nprogress bar or an image may never be heard, because assistive technology\ntreats what those two hold as presentation. The name is still `label` or\nthe state's word.\n\nOff by default, because the name and the busy state already change with\nthe state, and an orb beside a stream of messages would otherwise talk\nover them. Set it on an orb that is the only sign of progress on the page.\n\n**Without it, finishing is silent.** `done` turns the orb into an image\nnamed \"Done\" that is no longer busy, which a screen reader reports when it\nnext reaches the orb and does not say as it happens. A page whose own\nresult arrives in a live region, such as a chat reply, already says the\nwork is done; one that shows nothing else sets `announce`.",
140203
141350
  "attribute": "announce"
140204
141351
  },
140205
141352
  {
@@ -140790,7 +141937,7 @@
140790
141937
  "text": "boolean"
140791
141938
  },
140792
141939
  "default": "false",
140793
- "description": "Says each new state politely, such as \"Working\" and then \"Done\".\n\n**The orb becomes the live region**: its role is `status` rather than\n`progressbar` or `img`, and it holds the state's word. A region inside a\nprogress bar or an image may never be heard, because assistive technology\ntreats what those two hold as presentation. The name is still `label` or\nthe state's word.\n\nOff by default, because the name and the busy state already change with\nthe state, and an orb beside a stream of messages would otherwise talk\nover them. Set it on an orb that is the only sign of progress on the page.",
141940
+ "description": "Says each new state politely, such as \"Working\" and then \"Done\".\n\n**The orb becomes the live region**: its role is `status` rather than\n`progressbar` or `img`, and it holds the state's word. A region inside a\nprogress bar or an image may never be heard, because assistive technology\ntreats what those two hold as presentation. The name is still `label` or\nthe state's word.\n\nOff by default, because the name and the busy state already change with\nthe state, and an orb beside a stream of messages would otherwise talk\nover them. Set it on an orb that is the only sign of progress on the page.\n\n**Without it, finishing is silent.** `done` turns the orb into an image\nnamed \"Done\" that is no longer busy, which a screen reader reports when it\nnext reaches the orb and does not say as it happens. A page whose own\nresult arrives in a live region, such as a chat reply, already says the\nwork is done; one that shows nothing else sets `announce`.",
140794
141941
  "fieldName": "announce"
140795
141942
  },
140796
141943
  {
@@ -149170,7 +150317,7 @@
149170
150317
  },
149171
150318
  "privacy": "private",
149172
150319
  "default": "false",
149173
- "description": "Whether a reader has pressed the trigger, which is after any hydration.",
150320
+ "description": "Whether the trigger may be told, from a frame after the first render or a reader's press.",
149174
150321
  "inheritedFrom": {
149175
150322
  "name": "HelixHeadlessPopover",
149176
150323
  "module": "src/popover/root/popover-root.ts"
@@ -149198,7 +150345,7 @@
149198
150345
  "text": "void"
149199
150346
  }
149200
150347
  },
149201
- "description": "Tells a slotted trigger the disclosure state.\n\nA Helix trigger by property, through `tellDisclosure`. A plain element,\nwhich has no shadow root to keep the state out of the markup, by\n`aria-expanded`, and only from a reader's first press on: by then a server\nor a framework has long finished writing the element, so the write cannot\nbe a hydration mismatch. One that already carries `aria-expanded` is the\nconsumer's to keep, and is left alone.",
150348
+ "description": "Tells a slotted trigger the disclosure state.\n\nA Helix trigger by property, through `tellDisclosure`. A plain element,\nwhich has no shadow root to keep the state out of the markup, by\n`aria-expanded`, from a frame after the first render or a reader's first\npress on, so a closed panel is said to be closed before anyone presses. One that already carries `aria-expanded` is the\nconsumer's to keep, and is left alone.",
149202
150349
  "inheritedFrom": {
149203
150350
  "name": "HelixHeadlessPopover",
149204
150351
  "module": "src/popover/root/popover-root.ts"
@@ -150000,6 +151147,18 @@
150000
151147
  "description": "Fill of the part that is done.",
150001
151148
  "name": "--progress-color"
150002
151149
  },
151150
+ {
151151
+ "description": "The color of the words of the default slot where they are over the track, and in a ring.",
151152
+ "name": "--progress-content-color"
151153
+ },
151154
+ {
151155
+ "description": "The color of the words of the default slot where they are over the fill.",
151156
+ "name": "--progress-content-fill-color"
151157
+ },
151158
+ {
151159
+ "description": "The type size of the words of the default slot.",
151160
+ "name": "--progress-content-size"
151161
+ },
150003
151162
  {
150004
151163
  "description": "Color of a slotted label.",
150005
151164
  "name": "--progress-label-color"
@@ -150058,6 +151217,14 @@
150058
151217
  }
150059
151218
  ],
150060
151219
  "slots": [
151220
+ {
151221
+ "description": "Words drawn on the bar, or in the middle of a ring, such as the reading. The bar grows to their height, and over the fill they take the fill's own ink.",
151222
+ "name": "",
151223
+ "inheritedFrom": {
151224
+ "name": "HelixHeadlessProgress",
151225
+ "module": "src/progress/root/progress-root.ts"
151226
+ }
151227
+ },
150061
151228
  {
150062
151229
  "description": "A visible label, above a bar and under a ring. Its words name it in place of `label`.",
150063
151230
  "name": "label",
@@ -150115,7 +151282,7 @@
150115
151282
  "type": {
150116
151283
  "text": "Intl.NumberFormatOptions | undefined"
150117
151284
  },
150118
- "description": "`Intl.NumberFormat` options the reading is written with, as React Aria's\nMeter and ProgressBar take them: a unit, a currency, or a number of\ndecimals. Written as JSON in the attribute.\n\n```html\n<helix-progress value=\"18\" max=\"32\" format-options='{\"style\":\"unit\",\"unit\":\"gigabyte\"}'></helix-progress>\n```\n\nA `percent` style writes the share of the range, and any other the value\nitself, so the example says \"18 GB\". Absent is a whole percentage. The\nwords are announced as well as shown. `value-text` still wins.",
151285
+ "description": "`Intl.NumberFormat` options the reading is written with, as React Aria's\nMeter and ProgressBar take them: a unit, a currency, or a number of\ndecimals. Written as JSON in the attribute.\n\n```html\n<helix-progress value=\"18\" max=\"32\" format-options='{\"style\":\"unit\",\"unit\":\"gigabyte\"}'></helix-progress>\n```\n\nA `percent` style writes the share of the range, and any other the value\nitself, so the example says \"18 GB\". Absent is a whole percentage. The\nwords are announced whether or not `show-value` shows them. `value-text`\nstill wins.",
150119
151286
  "attribute": "format-options",
150120
151287
  "inheritedFrom": {
150121
151288
  "name": "HelixHeadlessProgress",
@@ -150344,6 +151511,17 @@
150344
151511
  "module": "src/progress/root/progress-root.ts"
150345
151512
  }
150346
151513
  },
151514
+ {
151515
+ "kind": "field",
151516
+ "name": "reworded",
151517
+ "privacy": "private",
151518
+ "readonly": true,
151519
+ "description": "The words on the bar changed, so the reading is said again and the state set.",
151520
+ "inheritedFrom": {
151521
+ "name": "HelixHeadlessProgress",
151522
+ "module": "src/progress/root/progress-root.ts"
151523
+ }
151524
+ },
150347
151525
  {
150348
151526
  "kind": "field",
150349
151527
  "name": "tier",
@@ -150711,7 +151889,7 @@
150711
151889
  "type": {
150712
151890
  "text": "Intl.NumberFormatOptions | undefined"
150713
151891
  },
150714
- "description": "`Intl.NumberFormat` options the reading is written with, as React Aria's\nMeter and ProgressBar take them: a unit, a currency, or a number of\ndecimals. Written as JSON in the attribute.\n\n```html\n<helix-progress value=\"18\" max=\"32\" format-options='{\"style\":\"unit\",\"unit\":\"gigabyte\"}'></helix-progress>\n```\n\nA `percent` style writes the share of the range, and any other the value\nitself, so the example says \"18 GB\". Absent is a whole percentage. The\nwords are announced as well as shown. `value-text` still wins.",
151892
+ "description": "`Intl.NumberFormat` options the reading is written with, as React Aria's\nMeter and ProgressBar take them: a unit, a currency, or a number of\ndecimals. Written as JSON in the attribute.\n\n```html\n<helix-progress value=\"18\" max=\"32\" format-options='{\"style\":\"unit\",\"unit\":\"gigabyte\"}'></helix-progress>\n```\n\nA `percent` style writes the share of the range, and any other the value\nitself, so the example says \"18 GB\". Absent is a whole percentage. The\nwords are announced whether or not `show-value` shows them. `value-text`\nstill wins.",
150715
151893
  "fieldName": "formatOptions",
150716
151894
  "inheritedFrom": {
150717
151895
  "name": "HelixHeadlessProgress",
@@ -150876,6 +152054,10 @@
150876
152054
  "description": "A visible label above the bar, whose words also name it.",
150877
152055
  "slug": "label"
150878
152056
  },
152057
+ {
152058
+ "description": "The reading drawn on the bar, from words in its default slot, which are also what it says.",
152059
+ "slug": "on-the-bar"
152060
+ },
150879
152061
  {
150880
152062
  "description": "The same progress drawn as a ring.",
150881
152063
  "slug": "ring"
@@ -150890,6 +152072,14 @@
150890
152072
  "tagName": "helix-progress",
150891
152073
  "customElement": true,
150892
152074
  "cssParts": [
152075
+ {
152076
+ "description": "The box holding the words of the default slot, over the track or in the middle of the ring. Carries `--progress-fraction`.",
152077
+ "name": "content",
152078
+ "inheritedFrom": {
152079
+ "name": "HelixHeadlessProgress",
152080
+ "module": "src/progress/root/progress-root.ts"
152081
+ }
152082
+ },
150893
152083
  {
150894
152084
  "description": "The unfilled circle under the ring's filled arc.",
150895
152085
  "name": "groove",
@@ -150954,6 +152144,14 @@
150954
152144
  "module": "src/progress/root/progress-root.ts"
150955
152145
  }
150956
152146
  },
152147
+ {
152148
+ "description": "Words are set in the default slot.",
152149
+ "name": "content",
152150
+ "inheritedFrom": {
152151
+ "name": "HelixHeadlessProgress",
152152
+ "module": "src/progress/root/progress-root.ts"
152153
+ }
152154
+ },
150957
152155
  {
150958
152156
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
150959
152157
  "name": "settled",
@@ -162536,12 +163734,76 @@
162536
163734
  },
162537
163735
  "static": true,
162538
163736
  "default": "''",
162539
- "description": "The key `position-label` is registered under: the host's own, which\neach chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
163737
+ "description": "The key the empty and loading words are registered under: the host's\nown, which each chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
162540
163738
  "inheritedFrom": {
162541
163739
  "name": "MixinChartSource",
162542
163740
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
162543
163741
  }
162544
163742
  },
163743
+ {
163744
+ "kind": "field",
163745
+ "name": "emptyText",
163746
+ "type": {
163747
+ "text": "string"
163748
+ },
163749
+ "default": "'No readings'",
163750
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
163751
+ "attribute": "empty-text",
163752
+ "helix": {
163753
+ "words": true
163754
+ },
163755
+ "inheritedFrom": {
163756
+ "name": "MixinChartStatus",
163757
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
163758
+ }
163759
+ },
163760
+ {
163761
+ "kind": "field",
163762
+ "name": "loading",
163763
+ "type": {
163764
+ "text": "boolean"
163765
+ },
163766
+ "default": "false",
163767
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
163768
+ "attribute": "loading",
163769
+ "reflects": true,
163770
+ "inheritedFrom": {
163771
+ "name": "MixinChartStatus",
163772
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
163773
+ }
163774
+ },
163775
+ {
163776
+ "kind": "field",
163777
+ "name": "loadingText",
163778
+ "type": {
163779
+ "text": "string"
163780
+ },
163781
+ "default": "'Loading readings'",
163782
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
163783
+ "attribute": "loading-text",
163784
+ "helix": {
163785
+ "words": true
163786
+ },
163787
+ "inheritedFrom": {
163788
+ "name": "MixinChartStatus",
163789
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
163790
+ }
163791
+ },
163792
+ {
163793
+ "kind": "method",
163794
+ "name": "renderStatus",
163795
+ "privacy": "protected",
163796
+ "return": {
163797
+ "type": {
163798
+ "text": "TemplateResult | typeof nothing"
163799
+ }
163800
+ },
163801
+ "description": "What stands in the plot while there is nothing to draw: the `loading`\nline, the `empty` line, or nothing while the table cannot be read yet.\n\n`dir=\"auto\"`, so words in a right-to-left script read their own way in\na plot that holds itself left to right, as Scatter Chart's does.",
163802
+ "inheritedFrom": {
163803
+ "name": "MixinChartStatus",
163804
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
163805
+ }
163806
+ },
162545
163807
  {
162546
163808
  "kind": "field",
162547
163809
  "name": "source",
@@ -162565,6 +163827,19 @@
162565
163827
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
162566
163828
  }
162567
163829
  },
163830
+ {
163831
+ "kind": "field",
163832
+ "name": "data",
163833
+ "type": {
163834
+ "text": "ChartData | undefined"
163835
+ },
163836
+ "default": "undefined",
163837
+ "description": "The readings as data, in the shape of a table, where the page has no\ntable to point `for` at. `for` wins where both are set.\n\n```js\nchart.data = {\n caption: 'Sessions by channel',\n columns: ['Month', 'Direct', 'Referral'],\n rows: [['Jan', 10, 4], ['Feb', 20, 8]],\n}\n```\n\nThe first column holds each row's label and every column after it a\nseries, as in a table. A cell is a number, words, `null` for a blank,\nor `{ value, text }` for a number shown as words, such as `$128k`. A\nnumber is shown in `locale`.\n\n**A table is still the better source where the page can show one**:\nit reads with no script and before hydration, and a reader can sort and\ncopy it. Data is drawn on the client only, so a server serves the\nframe, and the summary, the keys and the readout are then the whole of\nwhat a screen reader is given. Set a new object to redraw: the chart\ndoes not look inside the one it has.",
163838
+ "inheritedFrom": {
163839
+ "name": "MixinChartSource",
163840
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
163841
+ }
163842
+ },
162568
163843
  {
162569
163844
  "kind": "field",
162570
163845
  "name": "for",
@@ -162701,6 +163976,19 @@
162701
163976
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
162702
163977
  }
162703
163978
  },
163979
+ {
163980
+ "kind": "field",
163981
+ "name": "readingsKnown",
163982
+ "type": {
163983
+ "text": "boolean"
163984
+ },
163985
+ "description": "Whether the readings have been looked for: false on the server and\nwhile hydrating, where no table is resolved and no data is read. A\nchart says it has no readings only once this is true.",
163986
+ "readonly": true,
163987
+ "inheritedFrom": {
163988
+ "name": "MixinChartSource",
163989
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
163990
+ }
163991
+ },
162704
163992
  {
162705
163993
  "kind": "field",
162706
163994
  "name": "sourceRows",
@@ -163566,6 +164854,45 @@
163566
164854
  "tagName": "helix-scatter-chart",
163567
164855
  "customElement": true,
163568
164856
  "attributes": [
164857
+ {
164858
+ "name": "empty-text",
164859
+ "type": {
164860
+ "text": "string"
164861
+ },
164862
+ "default": "'No readings'",
164863
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
164864
+ "fieldName": "emptyText",
164865
+ "inheritedFrom": {
164866
+ "name": "MixinChartStatus",
164867
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
164868
+ }
164869
+ },
164870
+ {
164871
+ "name": "loading",
164872
+ "type": {
164873
+ "text": "boolean"
164874
+ },
164875
+ "default": "false",
164876
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
164877
+ "fieldName": "loading",
164878
+ "inheritedFrom": {
164879
+ "name": "MixinChartStatus",
164880
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
164881
+ }
164882
+ },
164883
+ {
164884
+ "name": "loading-text",
164885
+ "type": {
164886
+ "text": "string"
164887
+ },
164888
+ "default": "'Loading readings'",
164889
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
164890
+ "fieldName": "loadingText",
164891
+ "inheritedFrom": {
164892
+ "name": "MixinChartStatus",
164893
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
164894
+ }
164895
+ },
163569
164896
  {
163570
164897
  "name": "for",
163571
164898
  "type": {
@@ -163696,7 +165023,33 @@
163696
165023
  }
163697
165024
  }
163698
165025
  ],
165026
+ "slots": [
165027
+ {
165028
+ "description": "Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.",
165029
+ "name": "empty",
165030
+ "inheritedFrom": {
165031
+ "name": "HelixHeadlessScatterChart",
165032
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165033
+ }
165034
+ },
165035
+ {
165036
+ "description": "Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
165037
+ "name": "loading",
165038
+ "inheritedFrom": {
165039
+ "name": "HelixHeadlessScatterChart",
165040
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165041
+ }
165042
+ }
165043
+ ],
163699
165044
  "cssParts": [
165045
+ {
165046
+ "description": "The words in place of the drawing when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration.",
165047
+ "name": "empty",
165048
+ "inheritedFrom": {
165049
+ "name": "HelixHeadlessScatterChart",
165050
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165051
+ }
165052
+ },
163700
165053
  {
163701
165054
  "description": "One line across the plot, drawn when `gridlines` is set.",
163702
165055
  "name": "gridline",
@@ -163713,6 +165066,14 @@
163713
165066
  "module": "src/scatter-chart/root/scatter-chart-root.ts"
163714
165067
  }
163715
165068
  },
165069
+ {
165070
+ "description": "The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.",
165071
+ "name": "loading",
165072
+ "inheritedFrom": {
165073
+ "name": "HelixHeadlessScatterChart",
165074
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165075
+ }
165076
+ },
163716
165077
  {
163717
165078
  "description": "The invisible point the tooltip is anchored to.",
163718
165079
  "name": "mark",
@@ -167767,6 +169128,26 @@
167767
169128
  }
167768
169129
  ]
167769
169130
  },
169131
+ {
169132
+ "kind": "javascript-module",
169133
+ "path": "src/shared/chart/status.css.ts",
169134
+ "declarations": [
169135
+ {
169136
+ "kind": "variable",
169137
+ "name": "styles"
169138
+ }
169139
+ ],
169140
+ "exports": [
169141
+ {
169142
+ "kind": "js",
169143
+ "name": "styles",
169144
+ "declaration": {
169145
+ "name": "styles",
169146
+ "module": "src/shared/chart/status.css.ts"
169147
+ }
169148
+ }
169149
+ ]
169150
+ },
167770
169151
  {
167771
169152
  "kind": "javascript-module",
167772
169153
  "path": "src/shared/chart/terminus.css.ts",
@@ -176298,6 +177679,95 @@
176298
177679
  "module": "src/splitter/root/splitter-root.ts"
176299
177680
  }
176300
177681
  },
177682
+ {
177683
+ "kind": "field",
177684
+ "name": "primary",
177685
+ "type": {
177686
+ "text": "'end' | 'start' | undefined"
177687
+ },
177688
+ "description": "The pane that keeps its size when the splitter's own size changes. The\nother pane takes all of the change. Unset, both keep their share.",
177689
+ "attribute": "primary",
177690
+ "inheritedFrom": {
177691
+ "name": "HelixHeadlessSplitter",
177692
+ "module": "src/splitter/root/splitter-root.ts"
177693
+ }
177694
+ },
177695
+ {
177696
+ "kind": "field",
177697
+ "name": "lengths",
177698
+ "type": {
177699
+ "text": "ResizeObserver | undefined"
177700
+ },
177701
+ "privacy": "private",
177702
+ "description": "Watches this element's length along its axis while `primary` is set.",
177703
+ "inheritedFrom": {
177704
+ "name": "HelixHeadlessSplitter",
177705
+ "module": "src/splitter/root/splitter-root.ts"
177706
+ }
177707
+ },
177708
+ {
177709
+ "kind": "field",
177710
+ "name": "length",
177711
+ "type": {
177712
+ "text": "number"
177713
+ },
177714
+ "privacy": "private",
177715
+ "default": "0",
177716
+ "description": "The length along the axis last seen, in pixels.",
177717
+ "inheritedFrom": {
177718
+ "name": "HelixHeadlessSplitter",
177719
+ "module": "src/splitter/root/splitter-root.ts"
177720
+ }
177721
+ },
177722
+ {
177723
+ "kind": "method",
177724
+ "name": "watchLength",
177725
+ "privacy": "private",
177726
+ "return": {
177727
+ "type": {
177728
+ "text": "void"
177729
+ }
177730
+ },
177731
+ "description": "Starts or stops watching the length, according to `primary`, and holds\nthe primary pane's size in pixels as the length changes.",
177732
+ "inheritedFrom": {
177733
+ "name": "HelixHeadlessSplitter",
177734
+ "module": "src/splitter/root/splitter-root.ts"
177735
+ }
177736
+ },
177737
+ {
177738
+ "kind": "method",
177739
+ "name": "holdPrimary",
177740
+ "privacy": "private",
177741
+ "return": {
177742
+ "type": {
177743
+ "text": "void"
177744
+ }
177745
+ },
177746
+ "parameters": [
177747
+ {
177748
+ "name": "length",
177749
+ "type": {
177750
+ "text": "number"
177751
+ }
177752
+ }
177753
+ ],
177754
+ "description": "Moves the divider so the primary pane keeps the pixels it had, as the\nsplitter's length goes from the one last seen to `length`. Not while a\npane is shut or a drag holds the divider.",
177755
+ "inheritedFrom": {
177756
+ "name": "HelixHeadlessSplitter",
177757
+ "module": "src/splitter/root/splitter-root.ts"
177758
+ }
177759
+ },
177760
+ {
177761
+ "kind": "field",
177762
+ "name": "handlePaneKeys",
177763
+ "privacy": "private",
177764
+ "readonly": true,
177765
+ "description": "F6, which moves focus between the panes, as the window splitter pattern\nallows: from the start pane to the end pane, and from the end pane or the\ndivider to the start pane. Only a pane that holds a control takes focus.",
177766
+ "inheritedFrom": {
177767
+ "name": "HelixHeadlessSplitter",
177768
+ "module": "src/splitter/root/splitter-root.ts"
177769
+ }
177770
+ },
176301
177771
  {
176302
177772
  "kind": "field",
176303
177773
  "name": "snap",
@@ -177424,6 +178894,18 @@
177424
178894
  "module": "src/splitter/root/splitter-root.ts"
177425
178895
  }
177426
178896
  },
178897
+ {
178898
+ "name": "primary",
178899
+ "type": {
178900
+ "text": "'end' | 'start' | undefined"
178901
+ },
178902
+ "description": "The pane that keeps its size when the splitter's own size changes. The\nother pane takes all of the change. Unset, both keep their share.",
178903
+ "fieldName": "primary",
178904
+ "inheritedFrom": {
178905
+ "name": "HelixHeadlessSplitter",
178906
+ "module": "src/splitter/root/splitter-root.ts"
178907
+ }
178908
+ },
177427
178909
  {
177428
178910
  "name": "snap",
177429
178911
  "type": {
@@ -179897,7 +181379,7 @@
179897
181379
  "declarations": [
179898
181380
  {
179899
181381
  "kind": "class",
179900
- "description": "",
181382
+ "description": "A step draws its mark, its name as a `helix-button`, and the line that joins\nit to the steps either side. The mark is a tick on a finished step, a dot\non the current one, and an empty ring on one nobody has reached. Where the\nlist sets `variant=\"numeric\"`, it is the step's number.\n\nDown a column, the current step opens to show what is in its `content` slot,\nand the others collapse it. A collapsed stage's content is hidden, so Tab and\na screen reader pass over it as well.",
179901
181383
  "name": "HelixStep",
179902
181384
  "members": [
179903
181385
  {
@@ -188460,6 +189942,20 @@
188460
189942
  "module": "src/tabs/root/tabs-root.ts"
188461
189943
  }
188462
189944
  },
189945
+ {
189946
+ "kind": "field",
189947
+ "name": "held",
189948
+ "type": {
189949
+ "text": "string[]"
189950
+ },
189951
+ "privacy": "private",
189952
+ "default": "[]",
189953
+ "description": "The values of the tabs the last pairing read, to tell a removed tab from one not yet here.",
189954
+ "inheritedFrom": {
189955
+ "name": "HelixHeadlessTabs",
189956
+ "module": "src/tabs/root/tabs-root.ts"
189957
+ }
189958
+ },
188463
189959
  {
188464
189960
  "kind": "method",
188465
189961
  "name": "sync",
@@ -188475,6 +189971,44 @@
188475
189971
  "module": "src/tabs/root/tabs-root.ts"
188476
189972
  }
188477
189973
  },
189974
+ {
189975
+ "kind": "field",
189976
+ "name": "focused",
189977
+ "type": {
189978
+ "text": "HelixHeadlessTab | undefined"
189979
+ },
189980
+ "privacy": "private",
189981
+ "description": "The tab that last had focus, so its removal can hand focus on.",
189982
+ "inheritedFrom": {
189983
+ "name": "HelixHeadlessTabs",
189984
+ "module": "src/tabs/root/tabs-root.ts"
189985
+ }
189986
+ },
189987
+ {
189988
+ "kind": "field",
189989
+ "name": "handleFocusIn",
189990
+ "privacy": "private",
189991
+ "readonly": true,
189992
+ "inheritedFrom": {
189993
+ "name": "HelixHeadlessTabs",
189994
+ "module": "src/tabs/root/tabs-root.ts"
189995
+ }
189996
+ },
189997
+ {
189998
+ "kind": "method",
189999
+ "name": "refocus",
190000
+ "privacy": "private",
190001
+ "return": {
190002
+ "type": {
190003
+ "text": "void"
190004
+ }
190005
+ },
190006
+ "description": "Puts focus on the selected tab where the tab that had it was removed and\nfocus fell to the page, which is where removing a focused element leaves\nit.",
190007
+ "inheritedFrom": {
190008
+ "name": "HelixHeadlessTabs",
190009
+ "module": "src/tabs/root/tabs-root.ts"
190010
+ }
190011
+ },
188478
190012
  {
188479
190013
  "kind": "field",
188480
190014
  "name": "handleSlotChange",
@@ -211602,6 +213136,34 @@
211602
213136
  "module": "src/tour/root/tour-root.ts"
211603
213137
  }
211604
213138
  },
213139
+ {
213140
+ "kind": "field",
213141
+ "name": "revealed",
213142
+ "type": {
213143
+ "text": "HTMLElement | undefined"
213144
+ },
213145
+ "privacy": "private",
213146
+ "description": "The target last scrolled into view, so a render that moved nothing scrolls nothing.",
213147
+ "inheritedFrom": {
213148
+ "name": "HelixHeadlessTour",
213149
+ "module": "src/tour/root/tour-root.ts"
213150
+ }
213151
+ },
213152
+ {
213153
+ "kind": "method",
213154
+ "name": "reveal",
213155
+ "privacy": "private",
213156
+ "return": {
213157
+ "type": {
213158
+ "text": "void"
213159
+ }
213160
+ },
213161
+ "description": "Scrolls the current target into view, by the least distance that brings\nit on screen, before its stop is shown beside it. Zag's tour does the same.\nA target already on screen does not move.",
213162
+ "inheritedFrom": {
213163
+ "name": "HelixHeadlessTour",
213164
+ "module": "src/tour/root/tour-root.ts"
213165
+ }
213166
+ },
211605
213167
  {
211606
213168
  "kind": "field",
211607
213169
  "name": "returnFocus",
@@ -215837,6 +217399,52 @@
215837
217399
  "module": "src/tree/root/tree-root.ts"
215838
217400
  }
215839
217401
  },
217402
+ {
217403
+ "kind": "field",
217404
+ "name": "focused",
217405
+ "type": {
217406
+ "text": "HelixHeadlessTreeItem | undefined"
217407
+ },
217408
+ "privacy": "private",
217409
+ "description": "The item that last had focus, so its removal can hand focus on.",
217410
+ "inheritedFrom": {
217411
+ "name": "HelixHeadlessTree",
217412
+ "module": "src/tree/root/tree-root.ts"
217413
+ }
217414
+ },
217415
+ {
217416
+ "kind": "field",
217417
+ "name": "handleFocusIn",
217418
+ "privacy": "private",
217419
+ "readonly": true,
217420
+ "inheritedFrom": {
217421
+ "name": "HelixHeadlessTree",
217422
+ "module": "src/tree/root/tree-root.ts"
217423
+ }
217424
+ },
217425
+ {
217426
+ "kind": "method",
217427
+ "name": "refocus",
217428
+ "privacy": "private",
217429
+ "return": {
217430
+ "type": {
217431
+ "text": "void"
217432
+ }
217433
+ },
217434
+ "parameters": [
217435
+ {
217436
+ "name": "records",
217437
+ "type": {
217438
+ "text": "MutationRecord[]"
217439
+ }
217440
+ }
217441
+ ],
217442
+ "description": "Puts focus back in the tree where the item that had it was removed and\nfocus fell to the page: on the item after it among its siblings, or the\none before, or its parent. Read from the removal itself, which knows where\nthe item stood.",
217443
+ "inheritedFrom": {
217444
+ "name": "HelixHeadlessTree",
217445
+ "module": "src/tree/root/tree-root.ts"
217446
+ }
217447
+ },
215840
217448
  {
215841
217449
  "kind": "field",
215842
217450
  "name": "items",
@@ -225901,6 +227509,6 @@
225901
227509
  ],
225902
227510
  "helix": {
225903
227511
  "package": "@fusion.dev/helix",
225904
- "version": "0.151.0"
227512
+ "version": "0.153.0"
225905
227513
  }
225906
227514
  }