@fusion.dev/helix 0.152.0 → 0.154.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.
Files changed (33) hide show
  1. package/custom-elements.json +1563 -117
  2. package/dist/area-chart/root/area-chart-root.js +2 -1
  3. package/dist/badge/root/badge-root.css.js +1 -1
  4. package/dist/badge/root/badge-root.d.ts +1 -0
  5. package/dist/bar-chart/root/bar-chart-root.js +2 -1
  6. package/dist/blockquote/root/blockquote-root.css.js +2 -1
  7. package/dist/blockquote/root/blockquote-root.d.ts +27 -0
  8. package/dist/blockquote/root/blockquote-root.js +7 -0
  9. package/dist/card/root/card-root.css.js +3 -1
  10. package/dist/code/root/code-root.css.js +2 -2
  11. package/dist/code/root/code-root.d.ts +1 -0
  12. package/dist/code-block/root/code-block-root.css.js +4 -1
  13. package/dist/code-block/root/code-block-root.d.ts +1 -0
  14. package/dist/icon/root/icon-root.css.js +8 -1
  15. package/dist/icon/root/icon-root.d.ts +38 -1
  16. package/dist/icon/root/icon-root.js +17 -0
  17. package/dist/line-chart/root/line-chart-root.js +8 -1
  18. package/dist/orb/root/orb-root.d.ts +6 -0
  19. package/dist/progress/root/progress-root.css.js +12 -3
  20. package/dist/progress/root/progress-root.d.ts +4 -0
  21. package/dist/quote/root/quote-root.css.js +1 -1
  22. package/dist/scatter-chart/root/scatter-chart-root.js +2 -1
  23. package/dist/shared/chart/status.css.d.ts +1 -0
  24. package/dist/shared/chart/status.css.js +3 -0
  25. package/dist/skeleton/root/skeleton-root.css.js +11 -7
  26. package/dist/skeleton/root/skeleton-root.d.ts +18 -2
  27. package/dist/skeleton/root/skeleton-root.js +11 -0
  28. package/dist/stat/root/stat-root.css.js +1 -1
  29. package/lint.json +1 -1
  30. package/package.json +6 -6
  31. package/types/jsx.d.ts +1463 -45
  32. package/types/vue.d.ts +373 -14
  33. package/types/words.d.ts +19 -4
@@ -4023,12 +4023,76 @@
4023
4023
  },
4024
4024
  "static": true,
4025
4025
  "default": "''",
4026
- "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.",
4027
4027
  "inheritedFrom": {
4028
4028
  "name": "MixinChartSource",
4029
4029
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
4030
4030
  }
4031
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
+ },
4032
4096
  {
4033
4097
  "kind": "field",
4034
4098
  "name": "source",
@@ -4052,6 +4116,19 @@
4052
4116
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
4053
4117
  }
4054
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
+ },
4055
4132
  {
4056
4133
  "kind": "field",
4057
4134
  "name": "for",
@@ -4188,6 +4265,19 @@
4188
4265
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
4189
4266
  }
4190
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
+ },
4191
4281
  {
4192
4282
  "kind": "field",
4193
4283
  "name": "sourceRows",
@@ -5187,6 +5277,45 @@
5187
5277
  "tagName": "helix-area-chart",
5188
5278
  "customElement": true,
5189
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
+ },
5190
5319
  {
5191
5320
  "name": "for",
5192
5321
  "type": {
@@ -5329,6 +5458,24 @@
5329
5458
  }
5330
5459
  }
5331
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
+ ],
5332
5479
  "cssParts": [
5333
5480
  {
5334
5481
  "description": "One part's band.",
@@ -5354,6 +5501,14 @@
5354
5501
  "module": "src/area-chart/root/area-chart-root.ts"
5355
5502
  }
5356
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
+ },
5357
5512
  {
5358
5513
  "description": "One rule across the plot, under `gridlines`.",
5359
5514
  "name": "gridline",
@@ -5402,6 +5557,14 @@
5402
5557
  "module": "src/area-chart/root/area-chart-root.ts"
5403
5558
  }
5404
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
+ },
5405
5568
  {
5406
5569
  "description": "The invisible point the tooltip is anchored to.",
5407
5570
  "name": "mark",
@@ -8667,6 +8830,10 @@
8667
8830
  "description": "The space between the content and the count under `placement=\"inline\"`.",
8668
8831
  "name": "--badge-gap"
8669
8832
  },
8833
+ {
8834
+ "description": "The size of an icon in the `icon` slot. The count's own size by default.",
8835
+ "name": "--badge-icon-size"
8836
+ },
8670
8837
  {
8671
8838
  "description": "Pulls the mark in from the corner, along both axes.",
8672
8839
  "name": "--badge-offset"
@@ -8789,6 +8956,31 @@
8789
8956
  "module": "src/badge/root/badge-root.ts"
8790
8957
  }
8791
8958
  },
8959
+ {
8960
+ "kind": "field",
8961
+ "name": "hasIcon",
8962
+ "type": {
8963
+ "text": "boolean"
8964
+ },
8965
+ "privacy": "private",
8966
+ "default": "false",
8967
+ "description": "Whether something is slotted into `icon`, read from the children.",
8968
+ "inheritedFrom": {
8969
+ "name": "HelixHeadlessBadge",
8970
+ "module": "src/badge/root/badge-root.ts"
8971
+ }
8972
+ },
8973
+ {
8974
+ "kind": "field",
8975
+ "name": "readIcon",
8976
+ "privacy": "private",
8977
+ "readonly": true,
8978
+ "description": "Reads whether an icon is slotted, from the children where they can be known.",
8979
+ "inheritedFrom": {
8980
+ "name": "HelixHeadlessBadge",
8981
+ "module": "src/badge/root/badge-root.ts"
8982
+ }
8983
+ },
8792
8984
  {
8793
8985
  "kind": "field",
8794
8986
  "name": "given",
@@ -9398,6 +9590,10 @@
9398
9590
  "description": "A count drawn solid, outlined and subtle with `emphasis`, and a label that counts with `{count}`.",
9399
9591
  "slug": "emphasis"
9400
9592
  },
9593
+ {
9594
+ "description": "An icon inside the mark, alone on an avatar and before a count on a button.",
9595
+ "slug": "icon"
9596
+ },
9401
9597
  {
9402
9598
  "description": "A count placed inline inside a button, read as part of the button's name.",
9403
9599
  "slug": "inline"
@@ -9424,11 +9620,27 @@
9424
9620
  "name": "HelixHeadlessBadge",
9425
9621
  "module": "src/badge/root/badge-root.ts"
9426
9622
  }
9623
+ },
9624
+ {
9625
+ "description": "An icon inside the mark, before the count, or the whole mark when there is no value. Hidden from screen readers.",
9626
+ "name": "icon",
9627
+ "inheritedFrom": {
9628
+ "name": "HelixHeadlessBadge",
9629
+ "module": "src/badge/root/badge-root.ts"
9630
+ }
9427
9631
  }
9428
9632
  ],
9429
9633
  "cssParts": [
9430
9634
  {
9431
- "description": "The count, or the dot when there is no value.",
9635
+ "description": "The slot the icon arrives through, inside the indicator. A slot draws no box, so it passes inherited properties, such as color, to the icon.",
9636
+ "name": "icon",
9637
+ "inheritedFrom": {
9638
+ "name": "HelixHeadlessBadge",
9639
+ "module": "src/badge/root/badge-root.ts"
9640
+ }
9641
+ },
9642
+ {
9643
+ "description": "The count, or the dot when there is no value. Carries `data-dot` when there is no value, `data-single` when the count is one character, and `data-blank` when the value is zero.",
9432
9644
  "name": "indicator",
9433
9645
  "inheritedFrom": {
9434
9646
  "name": "HelixHeadlessBadge",
@@ -9454,13 +9666,21 @@
9454
9666
  }
9455
9667
  },
9456
9668
  {
9457
- "description": "There is no value, so the mark is a dot.",
9669
+ "description": "There is no value and no icon, so the mark is a dot.",
9458
9670
  "name": "dot",
9459
9671
  "inheritedFrom": {
9460
9672
  "name": "HelixHeadlessBadge",
9461
9673
  "module": "src/badge/root/badge-root.ts"
9462
9674
  }
9463
9675
  },
9676
+ {
9677
+ "description": "Something is slotted into `icon`, so it is drawn inside the mark.",
9678
+ "name": "has-icon",
9679
+ "inheritedFrom": {
9680
+ "name": "HelixHeadlessBadge",
9681
+ "module": "src/badge/root/badge-root.ts"
9682
+ }
9683
+ },
9464
9684
  {
9465
9685
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
9466
9686
  "name": "settled",
@@ -9678,12 +9898,76 @@
9678
9898
  },
9679
9899
  "static": true,
9680
9900
  "default": "''",
9681
- "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.",
9901
+ "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.",
9682
9902
  "inheritedFrom": {
9683
9903
  "name": "MixinChartSource",
9684
9904
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
9685
9905
  }
9686
9906
  },
9907
+ {
9908
+ "kind": "field",
9909
+ "name": "emptyText",
9910
+ "type": {
9911
+ "text": "string"
9912
+ },
9913
+ "default": "'No readings'",
9914
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
9915
+ "attribute": "empty-text",
9916
+ "helix": {
9917
+ "words": true
9918
+ },
9919
+ "inheritedFrom": {
9920
+ "name": "MixinChartStatus",
9921
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9922
+ }
9923
+ },
9924
+ {
9925
+ "kind": "field",
9926
+ "name": "loading",
9927
+ "type": {
9928
+ "text": "boolean"
9929
+ },
9930
+ "default": "false",
9931
+ "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.",
9932
+ "attribute": "loading",
9933
+ "reflects": true,
9934
+ "inheritedFrom": {
9935
+ "name": "MixinChartStatus",
9936
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9937
+ }
9938
+ },
9939
+ {
9940
+ "kind": "field",
9941
+ "name": "loadingText",
9942
+ "type": {
9943
+ "text": "string"
9944
+ },
9945
+ "default": "'Loading readings'",
9946
+ "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.",
9947
+ "attribute": "loading-text",
9948
+ "helix": {
9949
+ "words": true
9950
+ },
9951
+ "inheritedFrom": {
9952
+ "name": "MixinChartStatus",
9953
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9954
+ }
9955
+ },
9956
+ {
9957
+ "kind": "method",
9958
+ "name": "renderStatus",
9959
+ "privacy": "protected",
9960
+ "return": {
9961
+ "type": {
9962
+ "text": "TemplateResult | typeof nothing"
9963
+ }
9964
+ },
9965
+ "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.",
9966
+ "inheritedFrom": {
9967
+ "name": "MixinChartStatus",
9968
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
9969
+ }
9970
+ },
9687
9971
  {
9688
9972
  "kind": "field",
9689
9973
  "name": "source",
@@ -9707,6 +9991,19 @@
9707
9991
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
9708
9992
  }
9709
9993
  },
9994
+ {
9995
+ "kind": "field",
9996
+ "name": "data",
9997
+ "type": {
9998
+ "text": "ChartData | undefined"
9999
+ },
10000
+ "default": "undefined",
10001
+ "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.",
10002
+ "inheritedFrom": {
10003
+ "name": "MixinChartSource",
10004
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
10005
+ }
10006
+ },
9710
10007
  {
9711
10008
  "kind": "field",
9712
10009
  "name": "for",
@@ -9843,6 +10140,19 @@
9843
10140
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
9844
10141
  }
9845
10142
  },
10143
+ {
10144
+ "kind": "field",
10145
+ "name": "readingsKnown",
10146
+ "type": {
10147
+ "text": "boolean"
10148
+ },
10149
+ "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.",
10150
+ "readonly": true,
10151
+ "inheritedFrom": {
10152
+ "name": "MixinChartSource",
10153
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
10154
+ }
10155
+ },
9846
10156
  {
9847
10157
  "kind": "field",
9848
10158
  "name": "sourceRows",
@@ -10857,6 +11167,45 @@
10857
11167
  "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.",
10858
11168
  "fieldName": "wash"
10859
11169
  },
11170
+ {
11171
+ "name": "empty-text",
11172
+ "type": {
11173
+ "text": "string"
11174
+ },
11175
+ "default": "'No readings'",
11176
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
11177
+ "fieldName": "emptyText",
11178
+ "inheritedFrom": {
11179
+ "name": "MixinChartStatus",
11180
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
11181
+ }
11182
+ },
11183
+ {
11184
+ "name": "loading",
11185
+ "type": {
11186
+ "text": "boolean"
11187
+ },
11188
+ "default": "false",
11189
+ "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.",
11190
+ "fieldName": "loading",
11191
+ "inheritedFrom": {
11192
+ "name": "MixinChartStatus",
11193
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
11194
+ }
11195
+ },
11196
+ {
11197
+ "name": "loading-text",
11198
+ "type": {
11199
+ "text": "string"
11200
+ },
11201
+ "default": "'Loading readings'",
11202
+ "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.",
11203
+ "fieldName": "loadingText",
11204
+ "inheritedFrom": {
11205
+ "name": "MixinChartStatus",
11206
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
11207
+ }
11208
+ },
10860
11209
  {
10861
11210
  "name": "for",
10862
11211
  "type": {
@@ -11084,6 +11433,24 @@
11084
11433
  },
11085
11434
  "tagName": "helix-bar-chart",
11086
11435
  "customElement": true,
11436
+ "slots": [
11437
+ {
11438
+ "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`.",
11439
+ "name": "empty",
11440
+ "inheritedFrom": {
11441
+ "name": "HelixHeadlessBarChart",
11442
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11443
+ }
11444
+ },
11445
+ {
11446
+ "description": "Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
11447
+ "name": "loading",
11448
+ "inheritedFrom": {
11449
+ "name": "HelixHeadlessBarChart",
11450
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11451
+ }
11452
+ }
11453
+ ],
11087
11454
  "cssParts": [
11088
11455
  {
11089
11456
  "description": "The numbers of one scale: the primary under `value-axis`, and both when `secondary` splits the chart into two scales.",
@@ -11133,6 +11500,14 @@
11133
11500
  "module": "src/bar-chart/root/bar-chart-root.ts"
11134
11501
  }
11135
11502
  },
11503
+ {
11504
+ "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.",
11505
+ "name": "empty",
11506
+ "inheritedFrom": {
11507
+ "name": "HelixHeadlessBarChart",
11508
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11509
+ }
11510
+ },
11136
11511
  {
11137
11512
  "description": "One gridline across the plot, drawn when `gridlines` is set.",
11138
11513
  "name": "gridline",
@@ -11189,6 +11564,14 @@
11189
11564
  "module": "src/bar-chart/root/bar-chart-root.ts"
11190
11565
  }
11191
11566
  },
11567
+ {
11568
+ "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`.",
11569
+ "name": "loading",
11570
+ "inheritedFrom": {
11571
+ "name": "HelixHeadlessBarChart",
11572
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11573
+ }
11574
+ },
11192
11575
  {
11193
11576
  "description": "The invisible point the tooltip is anchored to.",
11194
11577
  "name": "mark",
@@ -11458,7 +11841,7 @@
11458
11841
  "declarations": [
11459
11842
  {
11460
11843
  "kind": "class",
11461
- "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.",
11844
+ "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.",
11462
11845
  "name": "HelixBlockquote",
11463
11846
  "cssProperties": [
11464
11847
  {
@@ -11515,6 +11898,26 @@
11515
11898
  }
11516
11899
  ],
11517
11900
  "members": [
11901
+ {
11902
+ "kind": "field",
11903
+ "name": "textAlign",
11904
+ "type": {
11905
+ "text": "'start' | 'center' | 'end' | undefined"
11906
+ },
11907
+ "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`.",
11908
+ "attribute": "text-align",
11909
+ "reflects": true
11910
+ },
11911
+ {
11912
+ "kind": "field",
11913
+ "name": "textWrap",
11914
+ "type": {
11915
+ "text": "'balance' | 'pretty' | undefined"
11916
+ },
11917
+ "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.",
11918
+ "attribute": "text-wrap",
11919
+ "reflects": true
11920
+ },
11518
11921
  {
11519
11922
  "kind": "field",
11520
11923
  "name": "attribution",
@@ -11982,6 +12385,63 @@
11982
12385
  }
11983
12386
  }
11984
12387
  ],
12388
+ "attributes": [
12389
+ {
12390
+ "name": "text-align",
12391
+ "type": {
12392
+ "text": "'start' | 'center' | 'end' | undefined"
12393
+ },
12394
+ "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`.",
12395
+ "fieldName": "textAlign"
12396
+ },
12397
+ {
12398
+ "name": "text-wrap",
12399
+ "type": {
12400
+ "text": "'balance' | 'pretty' | undefined"
12401
+ },
12402
+ "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.",
12403
+ "fieldName": "textWrap"
12404
+ },
12405
+ {
12406
+ "name": "attribution",
12407
+ "type": {
12408
+ "text": "string"
12409
+ },
12410
+ "default": "''",
12411
+ "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.",
12412
+ "fieldName": "attribution",
12413
+ "inheritedFrom": {
12414
+ "name": "HelixHeadlessBlockquote",
12415
+ "module": "src/blockquote/root/blockquote-root.ts"
12416
+ }
12417
+ },
12418
+ {
12419
+ "name": "cite",
12420
+ "type": {
12421
+ "text": "string"
12422
+ },
12423
+ "default": "''",
12424
+ "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`.",
12425
+ "fieldName": "cite",
12426
+ "inheritedFrom": {
12427
+ "name": "HelixHeadlessBlockquote",
12428
+ "module": "src/blockquote/root/blockquote-root.ts"
12429
+ }
12430
+ },
12431
+ {
12432
+ "name": "marks",
12433
+ "type": {
12434
+ "text": "boolean"
12435
+ },
12436
+ "default": "false",
12437
+ "description": "Whether to draw an opening quotation mark before the passage, in the\nelement's language. Leave the marks out of the text.",
12438
+ "fieldName": "marks",
12439
+ "inheritedFrom": {
12440
+ "name": "HelixHeadlessBlockquote",
12441
+ "module": "src/blockquote/root/blockquote-root.ts"
12442
+ }
12443
+ }
12444
+ ],
11985
12445
  "superclass": {
11986
12446
  "name": "HelixHeadlessBlockquote",
11987
12447
  "package": "@fusion.dev/helix-headless/blockquote"
@@ -12005,6 +12465,10 @@
12005
12465
  "description": "A quotation with its source cited.",
12006
12466
  "slug": "preview"
12007
12467
  },
12468
+ {
12469
+ "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.",
12470
+ "slug": "centered"
12471
+ },
12008
12472
  {
12009
12473
  "description": "A pull quote: one large mark over each passage, in the language written on the element, and the attribution given as words.",
12010
12474
  "slug": "pull-quote"
@@ -12058,47 +12522,6 @@
12058
12522
  }
12059
12523
  }
12060
12524
  ],
12061
- "attributes": [
12062
- {
12063
- "name": "attribution",
12064
- "type": {
12065
- "text": "string"
12066
- },
12067
- "default": "''",
12068
- "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.",
12069
- "fieldName": "attribution",
12070
- "inheritedFrom": {
12071
- "name": "HelixHeadlessBlockquote",
12072
- "module": "src/blockquote/root/blockquote-root.ts"
12073
- }
12074
- },
12075
- {
12076
- "name": "cite",
12077
- "type": {
12078
- "text": "string"
12079
- },
12080
- "default": "''",
12081
- "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`.",
12082
- "fieldName": "cite",
12083
- "inheritedFrom": {
12084
- "name": "HelixHeadlessBlockquote",
12085
- "module": "src/blockquote/root/blockquote-root.ts"
12086
- }
12087
- },
12088
- {
12089
- "name": "marks",
12090
- "type": {
12091
- "text": "boolean"
12092
- },
12093
- "default": "false",
12094
- "description": "Whether to draw an opening quotation mark before the passage, in the\nelement's language. Leave the marks out of the text.",
12095
- "fieldName": "marks",
12096
- "inheritedFrom": {
12097
- "name": "HelixHeadlessBlockquote",
12098
- "module": "src/blockquote/root/blockquote-root.ts"
12099
- }
12100
- }
12101
- ],
12102
12525
  "cssStates": [
12103
12526
  {
12104
12527
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
@@ -24657,6 +25080,57 @@
24657
25080
  "module": "src/card/root/card-root.ts"
24658
25081
  }
24659
25082
  },
25083
+ {
25084
+ "kind": "field",
25085
+ "name": "observedAttributes",
25086
+ "type": {
25087
+ "text": "string[]"
25088
+ },
25089
+ "static": true,
25090
+ "description": "Hears a name written on the card, which no property mirrors.\n\nLit observes the attributes of its own properties only, and `ariaLabel`\nand `ariaLabelledByElements` belong to the platform. Observed here rather\nthan through a property, so the manifest lists no attribute of the card's\nown for them.",
25091
+ "readonly": true,
25092
+ "inheritedFrom": {
25093
+ "name": "HelixHeadlessCard",
25094
+ "module": "src/card/root/card-root.ts"
25095
+ }
25096
+ },
25097
+ {
25098
+ "kind": "method",
25099
+ "name": "attributeChangedCallback",
25100
+ "return": {
25101
+ "type": {
25102
+ "text": "void"
25103
+ }
25104
+ },
25105
+ "parameters": [
25106
+ {
25107
+ "name": "name",
25108
+ "type": {
25109
+ "text": "string"
25110
+ }
25111
+ },
25112
+ {
25113
+ "name": "old",
25114
+ "type": {
25115
+ "text": "string | null"
25116
+ }
25117
+ },
25118
+ {
25119
+ "name": "value",
25120
+ "type": {
25121
+ "text": "string | null"
25122
+ }
25123
+ }
25124
+ ],
25125
+ "description": "Called by the browser when an observed attribute changes. A name written\nor taken off asks for an update, because it decides whether the card is a\ngroup and whether its heading names it.",
25126
+ "type": {
25127
+ "text": "attributeChangedCallback(name: string, old: string | null, value: string | null) => void"
25128
+ },
25129
+ "inheritedFrom": {
25130
+ "name": "HelixHeadlessCard",
25131
+ "module": "src/card/root/card-root.ts"
25132
+ }
25133
+ },
24660
25134
  {
24661
25135
  "kind": "field",
24662
25136
  "name": "footerActions",
@@ -24685,6 +25159,21 @@
24685
25159
  "module": "src/card/root/card-root.ts"
24686
25160
  }
24687
25161
  },
25162
+ {
25163
+ "kind": "method",
25164
+ "name": "writeName",
25165
+ "privacy": "private",
25166
+ "return": {
25167
+ "type": {
25168
+ "text": "void"
25169
+ }
25170
+ },
25171
+ "description": "Says what the card is and what names it. On the host, since the host is\nthe box, and from `willUpdate`, which the server calls too.\n\n**A heading in `header` is the name only where nothing else is**, and it\nnames the card by reference, so a renamed heading renames the card. An\nengine without element references hears its words.",
25172
+ "inheritedFrom": {
25173
+ "name": "HelixHeadlessCard",
25174
+ "module": "src/card/root/card-root.ts"
25175
+ }
25176
+ },
24688
25177
  {
24689
25178
  "kind": "field",
24690
25179
  "name": "readRegions",
@@ -25084,28 +25573,6 @@
25084
25573
  "name": "HelixHeadlessCard",
25085
25574
  "module": "src/card/root/card-root.ts"
25086
25575
  }
25087
- },
25088
- {
25089
- "name": "aria-labelledby",
25090
- "type": {
25091
- "text": "string | null"
25092
- },
25093
- "default": "null",
25094
- "inheritedFrom": {
25095
- "name": "HelixHeadlessCard",
25096
- "module": "src/card/root/card-root.ts"
25097
- }
25098
- },
25099
- {
25100
- "name": "aria-label",
25101
- "type": {
25102
- "text": "string | null"
25103
- },
25104
- "default": "null",
25105
- "inheritedFrom": {
25106
- "name": "HelixHeadlessCard",
25107
- "module": "src/card/root/card-root.ts"
25108
- }
25109
25576
  }
25110
25577
  ],
25111
25578
  "superclass": {
@@ -36609,6 +37076,40 @@
36609
37076
  "module": "src/code-block/root/code-block-root.ts"
36610
37077
  }
36611
37078
  },
37079
+ {
37080
+ "kind": "field",
37081
+ "name": "codeLabel",
37082
+ "type": {
37083
+ "text": "string"
37084
+ },
37085
+ "default": "'Code'",
37086
+ "description": "The name of a block that scrolls, which is a tab stop while it does.\n\nWhere the block has a name, the scroller says it too, such as \"Code,\napp.ts\", as `code-name-label` puts it.",
37087
+ "attribute": "code-label",
37088
+ "helix": {
37089
+ "words": true
37090
+ },
37091
+ "inheritedFrom": {
37092
+ "name": "HelixHeadlessCodeBlock",
37093
+ "module": "src/code-block/root/code-block-root.ts"
37094
+ }
37095
+ },
37096
+ {
37097
+ "kind": "field",
37098
+ "name": "codeNameLabel",
37099
+ "type": {
37100
+ "text": "string"
37101
+ },
37102
+ "default": "'{code}, {name}'",
37103
+ "description": "The name of a block that scrolls, where the block has a name. `{code}` is\n`code-label` and `{name}` the block's name.",
37104
+ "attribute": "code-name-label",
37105
+ "helix": {
37106
+ "words": true
37107
+ },
37108
+ "inheritedFrom": {
37109
+ "name": "HelixHeadlessCodeBlock",
37110
+ "module": "src/code-block/root/code-block-root.ts"
37111
+ }
37112
+ },
36612
37113
  {
36613
37114
  "kind": "field",
36614
37115
  "name": "collapseLabel",
@@ -36897,7 +37398,7 @@
36897
37398
  "text": "ResizeObserver | undefined"
36898
37399
  },
36899
37400
  "privacy": "private",
36900
- "description": "Watches the block's size, while it is expandable.",
37401
+ "description": "Watches the block's size.",
36901
37402
  "inheritedFrom": {
36902
37403
  "name": "HelixHeadlessCodeBlock",
36903
37404
  "module": "src/code-block/root/code-block-root.ts"
@@ -36914,6 +37415,21 @@
36914
37415
  "module": "src/code-block/root/code-block-root.ts"
36915
37416
  }
36916
37417
  },
37418
+ {
37419
+ "kind": "method",
37420
+ "name": "markScrollers",
37421
+ "privacy": "private",
37422
+ "return": {
37423
+ "type": {
37424
+ "text": "void"
37425
+ }
37426
+ },
37427
+ "description": "Makes each box that scrolls a tab stop and a region named for its block,\nand takes both away from a box that fits.\n\n**A reader on a keyboard scrolls the code from the box itself.** Chromium\nand Firefox make a scrolling box focusable on their own, and Safari does\nnot, so there the arrow keys could not reach the end of a long line. A\nbox counts while its sheet lets it scroll and its content is wider or\ntaller than it is drawn: an unstyled `<pre>` overflows without scrolling,\nand a stop on it would scroll nothing.",
37428
+ "inheritedFrom": {
37429
+ "name": "HelixHeadlessCodeBlock",
37430
+ "module": "src/code-block/root/code-block-root.ts"
37431
+ }
37432
+ },
36917
37433
  {
36918
37434
  "kind": "method",
36919
37435
  "name": "renderExpand",
@@ -37497,6 +38013,32 @@
37497
38013
  "description": "Whether long lines wrap.\n\nOff by default, so long lines scroll, because a line break can be\nsignificant in code and a wrapped line reads as two. For prose-like code, such as a long command or\na log line, a wrap reads better than a scroll. Line numbers keep the lines\nunwrapped, since a wrapped line would take one number and several rows.",
37498
38014
  "fieldName": "wrap"
37499
38015
  },
38016
+ {
38017
+ "name": "code-label",
38018
+ "type": {
38019
+ "text": "string"
38020
+ },
38021
+ "default": "'Code'",
38022
+ "description": "The name of a block that scrolls, which is a tab stop while it does.\n\nWhere the block has a name, the scroller says it too, such as \"Code,\napp.ts\", as `code-name-label` puts it.",
38023
+ "fieldName": "codeLabel",
38024
+ "inheritedFrom": {
38025
+ "name": "HelixHeadlessCodeBlock",
38026
+ "module": "src/code-block/root/code-block-root.ts"
38027
+ }
38028
+ },
38029
+ {
38030
+ "name": "code-name-label",
38031
+ "type": {
38032
+ "text": "string"
38033
+ },
38034
+ "default": "'{code}, {name}'",
38035
+ "description": "The name of a block that scrolls, where the block has a name. `{code}` is\n`code-label` and `{name}` the block's name.",
38036
+ "fieldName": "codeNameLabel",
38037
+ "inheritedFrom": {
38038
+ "name": "HelixHeadlessCodeBlock",
38039
+ "module": "src/code-block/root/code-block-root.ts"
38040
+ }
38041
+ },
37500
38042
  {
37501
38043
  "name": "collapse-label",
37502
38044
  "type": {
@@ -37663,6 +38205,11 @@
37663
38205
  "since": "0.1.0",
37664
38206
  "status": "stable",
37665
38207
  "documentation": "https://fusion.dev/helix/components/code-block",
38208
+ "aliases": [
38209
+ "Code block",
38210
+ "Snippet",
38211
+ "Pre"
38212
+ ],
37666
38213
  "tier": "styled",
37667
38214
  "group": "CodeBlock",
37668
38215
  "part": "Root",
@@ -38453,6 +39000,9 @@
38453
39000
  "since": "0.1.0",
38454
39001
  "status": "stable",
38455
39002
  "documentation": "https://fusion.dev/helix/components/code",
39003
+ "aliases": [
39004
+ "Inline code"
39005
+ ],
38456
39006
  "tier": "styled",
38457
39007
  "group": "Code",
38458
39008
  "part": "Root",
@@ -68793,6 +69343,19 @@
68793
69343
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
68794
69344
  }
68795
69345
  },
69346
+ {
69347
+ "kind": "field",
69348
+ "name": "data",
69349
+ "type": {
69350
+ "text": "ChartData | undefined"
69351
+ },
69352
+ "default": "undefined",
69353
+ "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.",
69354
+ "inheritedFrom": {
69355
+ "name": "MixinChartSource",
69356
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
69357
+ }
69358
+ },
68796
69359
  {
68797
69360
  "kind": "field",
68798
69361
  "name": "for",
@@ -68929,6 +69492,19 @@
68929
69492
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
68930
69493
  }
68931
69494
  },
69495
+ {
69496
+ "kind": "field",
69497
+ "name": "readingsKnown",
69498
+ "type": {
69499
+ "text": "boolean"
69500
+ },
69501
+ "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.",
69502
+ "readonly": true,
69503
+ "inheritedFrom": {
69504
+ "name": "MixinChartSource",
69505
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
69506
+ }
69507
+ },
68932
69508
  {
68933
69509
  "kind": "field",
68934
69510
  "name": "sourceRows",
@@ -73843,6 +74419,17 @@
73843
74419
  "module": "src/empty/root/empty-root.ts"
73844
74420
  }
73845
74421
  },
74422
+ {
74423
+ "kind": "field",
74424
+ "name": "readRegions",
74425
+ "privacy": "private",
74426
+ "readonly": true,
74427
+ "description": "Says which regions hold something, one call apiece so each pairs with its `@cssstate`.",
74428
+ "inheritedFrom": {
74429
+ "name": "HelixHeadlessEmpty",
74430
+ "module": "src/empty/root/empty-root.ts"
74431
+ }
74432
+ },
73846
74433
  {
73847
74434
  "kind": "field",
73848
74435
  "name": "arrival",
@@ -74290,6 +74877,14 @@
74290
74877
  }
74291
74878
  ],
74292
74879
  "cssParts": [
74880
+ {
74881
+ "description": "The slot the actions arrive through. A slot draws no box, so it passes inherited properties to the actions; `display: flex` lays them out in a row.",
74882
+ "name": "actions",
74883
+ "inheritedFrom": {
74884
+ "name": "HelixHeadlessEmpty",
74885
+ "module": "src/empty/root/empty-root.ts"
74886
+ }
74887
+ },
74293
74888
  {
74294
74889
  "description": "The heading at `heading-level`: the one `heading` draws while nothing is slotted into `heading`, or the one around a slotted element that is no heading.",
74295
74890
  "name": "heading",
@@ -74298,6 +74893,14 @@
74298
74893
  "module": "src/empty/root/empty-root.ts"
74299
74894
  }
74300
74895
  },
74896
+ {
74897
+ "description": "The slot the icon arrives through, drawing no box, as `actions` does.",
74898
+ "name": "icon",
74899
+ "inheritedFrom": {
74900
+ "name": "HelixHeadlessEmpty",
74901
+ "module": "src/empty/root/empty-root.ts"
74902
+ }
74903
+ },
74301
74904
  {
74302
74905
  "description": "A copy of the heading and the message, in a live region that screen readers announce when the view appears. Visually hidden in the styled tier.",
74303
74906
  "name": "live",
@@ -74305,6 +74908,14 @@
74305
74908
  "name": "HelixHeadlessEmpty",
74306
74909
  "module": "src/empty/root/empty-root.ts"
74307
74910
  }
74911
+ },
74912
+ {
74913
+ "description": "The slot the message arrives through, drawing no box, as `actions` does.",
74914
+ "name": "message",
74915
+ "inheritedFrom": {
74916
+ "name": "HelixHeadlessEmpty",
74917
+ "module": "src/empty/root/empty-root.ts"
74918
+ }
74308
74919
  }
74309
74920
  ],
74310
74921
  "attributes": [
@@ -74348,6 +74959,22 @@
74348
74959
  }
74349
74960
  ],
74350
74961
  "cssStates": [
74962
+ {
74963
+ "description": "Something is slotted into `actions`.",
74964
+ "name": "has-actions",
74965
+ "inheritedFrom": {
74966
+ "name": "HelixHeadlessEmpty",
74967
+ "module": "src/empty/root/empty-root.ts"
74968
+ }
74969
+ },
74970
+ {
74971
+ "description": "Something is slotted into `icon`.",
74972
+ "name": "has-icon",
74973
+ "inheritedFrom": {
74974
+ "name": "HelixHeadlessEmpty",
74975
+ "module": "src/empty/root/empty-root.ts"
74976
+ }
74977
+ },
74351
74978
  {
74352
74979
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
74353
74980
  "name": "settled",
@@ -89815,6 +90442,19 @@
89815
90442
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
89816
90443
  }
89817
90444
  },
90445
+ {
90446
+ "kind": "field",
90447
+ "name": "data",
90448
+ "type": {
90449
+ "text": "ChartData | undefined"
90450
+ },
90451
+ "default": "undefined",
90452
+ "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.",
90453
+ "inheritedFrom": {
90454
+ "name": "MixinChartSource",
90455
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
90456
+ }
90457
+ },
89818
90458
  {
89819
90459
  "kind": "field",
89820
90460
  "name": "for",
@@ -89951,6 +90591,19 @@
89951
90591
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
89952
90592
  }
89953
90593
  },
90594
+ {
90595
+ "kind": "field",
90596
+ "name": "readingsKnown",
90597
+ "type": {
90598
+ "text": "boolean"
90599
+ },
90600
+ "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.",
90601
+ "readonly": true,
90602
+ "inheritedFrom": {
90603
+ "name": "MixinChartSource",
90604
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
90605
+ }
90606
+ },
89954
90607
  {
89955
90608
  "kind": "field",
89956
90609
  "name": "sourceRows",
@@ -90495,7 +91148,7 @@
90495
91148
  "text": "boolean"
90496
91149
  },
90497
91150
  "privacy": "private",
90498
- "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`.",
91151
+ "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.",
90499
91152
  "readonly": true,
90500
91153
  "inheritedFrom": {
90501
91154
  "name": "HelixHeadlessHeatmap",
@@ -93298,11 +93951,19 @@
93298
93951
  "declarations": [
93299
93952
  {
93300
93953
  "kind": "class",
93301
- "description": "Draws in `currentColor` and sizes from `--icon-size`, so an icon takes the\ncolor of the text around it and a container can resize it without a property.\nInside a button, `--icon-size` is set in `em`, so the icon scales with the\nbutton.",
93954
+ "description": "Draws in `currentColor` and sizes from `--icon-size`, so an icon takes the\ncolor of the text around it and a container can resize it without a property.\nInside a button, `--icon-size` is set in `em`, so the icon scales with the\nbutton.\n\n**The glyph turns, flips and moves inside its own box**, so the line around\nit keeps its place: `rotate` turns it by a quarter, a half or three\nquarters, `--icon-rotate` by any angle, `flip` mirrors it across either\naxis, and `animation` spins, pulses or beats it, as Web Awesome's icon does.\nReduced motion stills every animation. `auto-width` gives the box the\nglyph's own proportions, for a mark wider than it is tall.",
93302
93955
  "name": "HelixIcon",
93303
93956
  "cssProperties": [
93304
93957
  {
93305
- "description": "The width and height of the icon's box.",
93958
+ "description": "How long one turn, pulse or beat of `animation` takes.",
93959
+ "name": "--icon-animation-duration"
93960
+ },
93961
+ {
93962
+ "description": "An angle the glyph is turned by, such as `45deg`. `rotate` wins over it.",
93963
+ "name": "--icon-rotate"
93964
+ },
93965
+ {
93966
+ "description": "The width and height of the icon's box. The height alone under `auto-width`.",
93306
93967
  "name": "--icon-size"
93307
93968
  }
93308
93969
  ],
@@ -93317,6 +93978,47 @@
93317
93978
  }
93318
93979
  ],
93319
93980
  "members": [
93981
+ {
93982
+ "kind": "field",
93983
+ "name": "animation",
93984
+ "type": {
93985
+ "text": "'beat' | 'pulse' | 'spin' | undefined"
93986
+ },
93987
+ "description": "A motion that draws the eye or says work is going on: `spin` turns the\nglyph without end, `pulse` fades it in and out, and `beat` swells it.\n\nAbsent is still. Reduced motion stills every one of them.",
93988
+ "attribute": "animation",
93989
+ "reflects": true
93990
+ },
93991
+ {
93992
+ "kind": "field",
93993
+ "name": "autoWidth",
93994
+ "type": {
93995
+ "text": "boolean"
93996
+ },
93997
+ "default": "false",
93998
+ "description": "Whether the box takes the glyph's own proportions, its height from\n`--icon-size` and its width from the glyph's box.\n\nAbsent is a square, which lines icons up in a column.",
93999
+ "attribute": "auto-width",
94000
+ "reflects": true
94001
+ },
94002
+ {
94003
+ "kind": "field",
94004
+ "name": "flip",
94005
+ "type": {
94006
+ "text": "'both' | 'x' | 'y' | undefined"
94007
+ },
94008
+ "description": "Mirrors the glyph across an axis: `x` left to right, `y` top to bottom,\n`both` across both.\n\nAbsent draws it as it is. On a right-to-left page, `mirror` is the flip\nthat follows the direction.",
94009
+ "attribute": "flip",
94010
+ "reflects": true
94011
+ },
94012
+ {
94013
+ "kind": "field",
94014
+ "name": "rotate",
94015
+ "type": {
94016
+ "text": "90 | 180 | 270 | undefined"
94017
+ },
94018
+ "description": "Turns the glyph clockwise by 90, 180 or 270 degrees.\n\nAbsent draws it upright. `--icon-rotate` turns it by any other angle.",
94019
+ "attribute": "rotate",
94020
+ "reflects": true
94021
+ },
93320
94022
  {
93321
94023
  "kind": "field",
93322
94024
  "name": "icon",
@@ -93371,6 +94073,20 @@
93371
94073
  "module": "src/icon/root/icon-root.ts"
93372
94074
  }
93373
94075
  },
94076
+ {
94077
+ "kind": "field",
94078
+ "name": "src",
94079
+ "type": {
94080
+ "text": "string"
94081
+ },
94082
+ "default": "''",
94083
+ "description": "The URL of an SVG file to draw, fetched once a page and drawn in\n`currentColor` where the file does not color its shapes.\n\nWins over `name`; `icon` wins over both. Absent draws `name`.",
94084
+ "attribute": "src",
94085
+ "inheritedFrom": {
94086
+ "name": "HelixHeadlessIcon",
94087
+ "module": "src/icon/root/icon-root.ts"
94088
+ }
94089
+ },
93374
94090
  {
93375
94091
  "kind": "field",
93376
94092
  "name": "observedAttributes",
@@ -93490,6 +94206,20 @@
93490
94206
  "module": "src/icon/root/icon-root.ts"
93491
94207
  }
93492
94208
  },
94209
+ {
94210
+ "kind": "field",
94211
+ "name": "asked",
94212
+ "type": {
94213
+ "text": "string"
94214
+ },
94215
+ "privacy": "private",
94216
+ "description": "What the glyph is asked for by: `src` where it is set, and `name` otherwise.",
94217
+ "readonly": true,
94218
+ "inheritedFrom": {
94219
+ "name": "HelixHeadlessIcon",
94220
+ "module": "src/icon/root/icon-root.ts"
94221
+ }
94222
+ },
93493
94223
  {
93494
94224
  "kind": "method",
93495
94225
  "name": "lookup",
@@ -93499,7 +94229,7 @@
93499
94229
  "text": "HelixIcon | undefined"
93500
94230
  }
93501
94231
  },
93502
- "description": "What the registry gives for `name` now, starting the wait for a late glyph.",
94232
+ "description": "What `src` or the registry gives now, starting the wait for a late glyph.\nA file is fetched only where the page can be read: a server fetches\nnothing, and a hydrating render draws what the server sent.",
93503
94233
  "inheritedFrom": {
93504
94234
  "name": "HelixHeadlessIcon",
93505
94235
  "module": "src/icon/root/icon-root.ts"
@@ -93904,38 +94634,40 @@
93904
94634
  }
93905
94635
  }
93906
94636
  ],
93907
- "superclass": {
93908
- "name": "HelixHeadlessIcon",
93909
- "package": "@fusion.dev/helix-headless/icon/root"
93910
- },
93911
- "summary": "A named icon from the Helix set.",
93912
- "helix": {
93913
- "category": "media",
93914
- "since": "0.1.0",
93915
- "status": "stable",
93916
- "documentation": "https://fusion.dev/helix/components/icon",
93917
- "aliases": [
93918
- "Glyph",
93919
- "Symbol"
93920
- ],
93921
- "tier": "styled",
93922
- "group": "Icon",
93923
- "part": "Root",
93924
- "examples": [
93925
- {
93926
- "description": "One icon at the default size.",
93927
- "slug": "preview"
93928
- },
93929
- {
93930
- "description": "The same icon at each step of the icon scale.",
93931
- "slug": "sizes"
93932
- }
93933
- ],
93934
- "source": "helix/styled/src/icon"
93935
- },
93936
- "tagName": "helix-icon",
93937
- "customElement": true,
93938
94637
  "attributes": [
94638
+ {
94639
+ "name": "animation",
94640
+ "type": {
94641
+ "text": "'beat' | 'pulse' | 'spin' | undefined"
94642
+ },
94643
+ "description": "A motion that draws the eye or says work is going on: `spin` turns the\nglyph without end, `pulse` fades it in and out, and `beat` swells it.\n\nAbsent is still. Reduced motion stills every one of them.",
94644
+ "fieldName": "animation"
94645
+ },
94646
+ {
94647
+ "name": "auto-width",
94648
+ "type": {
94649
+ "text": "boolean"
94650
+ },
94651
+ "default": "false",
94652
+ "description": "Whether the box takes the glyph's own proportions, its height from\n`--icon-size` and its width from the glyph's box.\n\nAbsent is a square, which lines icons up in a column.",
94653
+ "fieldName": "autoWidth"
94654
+ },
94655
+ {
94656
+ "name": "flip",
94657
+ "type": {
94658
+ "text": "'both' | 'x' | 'y' | undefined"
94659
+ },
94660
+ "description": "Mirrors the glyph across an axis: `x` left to right, `y` top to bottom,\n`both` across both.\n\nAbsent draws it as it is. On a right-to-left page, `mirror` is the flip\nthat follows the direction.",
94661
+ "fieldName": "flip"
94662
+ },
94663
+ {
94664
+ "name": "rotate",
94665
+ "type": {
94666
+ "text": "90 | 180 | 270 | undefined"
94667
+ },
94668
+ "description": "Turns the glyph clockwise by 90, 180 or 270 degrees.\n\nAbsent draws it upright. `--icon-rotate` turns it by any other angle.",
94669
+ "fieldName": "rotate"
94670
+ },
93939
94671
  {
93940
94672
  "name": "label",
93941
94673
  "type": {
@@ -93974,14 +94706,62 @@
93974
94706
  "name": "HelixHeadlessIcon",
93975
94707
  "module": "src/icon/root/icon-root.ts"
93976
94708
  }
94709
+ },
94710
+ {
94711
+ "name": "src",
94712
+ "type": {
94713
+ "text": "string"
94714
+ },
94715
+ "default": "''",
94716
+ "description": "The URL of an SVG file to draw, fetched once a page and drawn in\n`currentColor` where the file does not color its shapes.\n\nWins over `name`; `icon` wins over both. Absent draws `name`.",
94717
+ "fieldName": "src",
94718
+ "inheritedFrom": {
94719
+ "name": "HelixHeadlessIcon",
94720
+ "module": "src/icon/root/icon-root.ts"
94721
+ }
93977
94722
  }
93978
94723
  ],
94724
+ "superclass": {
94725
+ "name": "HelixHeadlessIcon",
94726
+ "package": "@fusion.dev/helix-headless/icon/root"
94727
+ },
94728
+ "summary": "A named icon from the Helix set.",
94729
+ "helix": {
94730
+ "category": "media",
94731
+ "since": "0.1.0",
94732
+ "status": "stable",
94733
+ "documentation": "https://fusion.dev/helix/components/icon",
94734
+ "aliases": [
94735
+ "Glyph",
94736
+ "Symbol"
94737
+ ],
94738
+ "tier": "styled",
94739
+ "group": "Icon",
94740
+ "part": "Root",
94741
+ "examples": [
94742
+ {
94743
+ "description": "One icon at the default size.",
94744
+ "slug": "preview"
94745
+ },
94746
+ {
94747
+ "description": "The same icon at each step of the icon scale.",
94748
+ "slug": "sizes"
94749
+ },
94750
+ {
94751
+ "description": "One arrow turned with `rotate`, flipped with `flip`, and a refresh mark spinning with `animation`.",
94752
+ "slug": "turned"
94753
+ }
94754
+ ],
94755
+ "source": "helix/styled/src/icon"
94756
+ },
94757
+ "tagName": "helix-icon",
94758
+ "customElement": true,
93979
94759
  "events": [
93980
94760
  {
93981
94761
  "type": {
93982
94762
  "text": "Event"
93983
94763
  },
93984
- "description": "`name` matches no registered icon and no library answers it, so nothing is drawn.",
94764
+ "description": "`name` matches no registered icon and no library answers it, or `src` is no SVG, so nothing is drawn.",
93985
94765
  "name": "error",
93986
94766
  "reactProp": "onerror",
93987
94767
  "inheritedFrom": {
@@ -93993,7 +94773,7 @@
93993
94773
  "type": {
93994
94774
  "text": "Event"
93995
94775
  },
93996
- "description": "A glyph a library gave later for `name` is drawn.",
94776
+ "description": "A glyph a library gave later for `name`, or the file at `src`, is drawn.",
93997
94777
  "name": "load",
93998
94778
  "reactProp": "onload",
93999
94779
  "inheritedFrom": {
@@ -103507,12 +104287,76 @@
103507
104287
  },
103508
104288
  "static": true,
103509
104289
  "default": "''",
103510
- "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.",
104290
+ "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.",
103511
104291
  "inheritedFrom": {
103512
104292
  "name": "MixinChartSource",
103513
104293
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
103514
104294
  }
103515
104295
  },
104296
+ {
104297
+ "kind": "field",
104298
+ "name": "emptyText",
104299
+ "type": {
104300
+ "text": "string"
104301
+ },
104302
+ "default": "'No readings'",
104303
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
104304
+ "attribute": "empty-text",
104305
+ "helix": {
104306
+ "words": true
104307
+ },
104308
+ "inheritedFrom": {
104309
+ "name": "MixinChartStatus",
104310
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
104311
+ }
104312
+ },
104313
+ {
104314
+ "kind": "field",
104315
+ "name": "loading",
104316
+ "type": {
104317
+ "text": "boolean"
104318
+ },
104319
+ "default": "false",
104320
+ "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.",
104321
+ "attribute": "loading",
104322
+ "reflects": true,
104323
+ "inheritedFrom": {
104324
+ "name": "MixinChartStatus",
104325
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
104326
+ }
104327
+ },
104328
+ {
104329
+ "kind": "field",
104330
+ "name": "loadingText",
104331
+ "type": {
104332
+ "text": "string"
104333
+ },
104334
+ "default": "'Loading readings'",
104335
+ "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.",
104336
+ "attribute": "loading-text",
104337
+ "helix": {
104338
+ "words": true
104339
+ },
104340
+ "inheritedFrom": {
104341
+ "name": "MixinChartStatus",
104342
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
104343
+ }
104344
+ },
104345
+ {
104346
+ "kind": "method",
104347
+ "name": "renderStatus",
104348
+ "privacy": "protected",
104349
+ "return": {
104350
+ "type": {
104351
+ "text": "TemplateResult | typeof nothing"
104352
+ }
104353
+ },
104354
+ "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.",
104355
+ "inheritedFrom": {
104356
+ "name": "MixinChartStatus",
104357
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
104358
+ }
104359
+ },
103516
104360
  {
103517
104361
  "kind": "field",
103518
104362
  "name": "source",
@@ -103536,6 +104380,19 @@
103536
104380
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
103537
104381
  }
103538
104382
  },
104383
+ {
104384
+ "kind": "field",
104385
+ "name": "data",
104386
+ "type": {
104387
+ "text": "ChartData | undefined"
104388
+ },
104389
+ "default": "undefined",
104390
+ "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.",
104391
+ "inheritedFrom": {
104392
+ "name": "MixinChartSource",
104393
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
104394
+ }
104395
+ },
103539
104396
  {
103540
104397
  "kind": "field",
103541
104398
  "name": "for",
@@ -103672,6 +104529,19 @@
103672
104529
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
103673
104530
  }
103674
104531
  },
104532
+ {
104533
+ "kind": "field",
104534
+ "name": "readingsKnown",
104535
+ "type": {
104536
+ "text": "boolean"
104537
+ },
104538
+ "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.",
104539
+ "readonly": true,
104540
+ "inheritedFrom": {
104541
+ "name": "MixinChartSource",
104542
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
104543
+ }
104544
+ },
103675
104545
  {
103676
104546
  "kind": "field",
103677
104547
  "name": "sourceRows",
@@ -104695,6 +105565,45 @@
104695
105565
  "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.",
104696
105566
  "fieldName": "material"
104697
105567
  },
105568
+ {
105569
+ "name": "empty-text",
105570
+ "type": {
105571
+ "text": "string"
105572
+ },
105573
+ "default": "'No readings'",
105574
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
105575
+ "fieldName": "emptyText",
105576
+ "inheritedFrom": {
105577
+ "name": "MixinChartStatus",
105578
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
105579
+ }
105580
+ },
105581
+ {
105582
+ "name": "loading",
105583
+ "type": {
105584
+ "text": "boolean"
105585
+ },
105586
+ "default": "false",
105587
+ "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.",
105588
+ "fieldName": "loading",
105589
+ "inheritedFrom": {
105590
+ "name": "MixinChartStatus",
105591
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
105592
+ }
105593
+ },
105594
+ {
105595
+ "name": "loading-text",
105596
+ "type": {
105597
+ "text": "string"
105598
+ },
105599
+ "default": "'Loading readings'",
105600
+ "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.",
105601
+ "fieldName": "loadingText",
105602
+ "inheritedFrom": {
105603
+ "name": "MixinChartStatus",
105604
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
105605
+ }
105606
+ },
104698
105607
  {
104699
105608
  "name": "for",
104700
105609
  "type": {
@@ -104935,6 +105844,24 @@
104935
105844
  },
104936
105845
  "tagName": "helix-line-chart",
104937
105846
  "customElement": true,
105847
+ "slots": [
105848
+ {
105849
+ "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`.",
105850
+ "name": "empty",
105851
+ "inheritedFrom": {
105852
+ "name": "HelixHeadlessLineChart",
105853
+ "module": "src/line-chart/root/line-chart-root.ts"
105854
+ }
105855
+ },
105856
+ {
105857
+ "description": "Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
105858
+ "name": "loading",
105859
+ "inheritedFrom": {
105860
+ "name": "HelixHeadlessLineChart",
105861
+ "module": "src/line-chart/root/line-chart-root.ts"
105862
+ }
105863
+ }
105864
+ ],
104938
105865
  "cssParts": [
104939
105866
  {
104940
105867
  "description": "The wash under one line, where `area` is set.",
@@ -104968,6 +105895,14 @@
104968
105895
  "module": "src/line-chart/root/line-chart-root.ts"
104969
105896
  }
104970
105897
  },
105898
+ {
105899
+ "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.",
105900
+ "name": "empty",
105901
+ "inheritedFrom": {
105902
+ "name": "HelixHeadlessLineChart",
105903
+ "module": "src/line-chart/root/line-chart-root.ts"
105904
+ }
105905
+ },
104971
105906
  {
104972
105907
  "description": "One rule across the plot, under `gridlines`.",
104973
105908
  "name": "gridline",
@@ -105024,6 +105959,14 @@
105024
105959
  "module": "src/line-chart/root/line-chart-root.ts"
105025
105960
  }
105026
105961
  },
105962
+ {
105963
+ "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`.",
105964
+ "name": "loading",
105965
+ "inheritedFrom": {
105966
+ "name": "HelixHeadlessLineChart",
105967
+ "module": "src/line-chart/root/line-chart-root.ts"
105968
+ }
105969
+ },
105027
105970
  {
105028
105971
  "description": "The invisible point the tooltip is anchored to.",
105029
105972
  "name": "mark",
@@ -140765,7 +141708,7 @@
140765
141708
  "text": "boolean"
140766
141709
  },
140767
141710
  "default": "false",
140768
- "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.",
141711
+ "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`.",
140769
141712
  "attribute": "announce"
140770
141713
  },
140771
141714
  {
@@ -141356,7 +142299,7 @@
141356
142299
  "text": "boolean"
141357
142300
  },
141358
142301
  "default": "false",
141359
- "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.",
142302
+ "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`.",
141360
142303
  "fieldName": "announce"
141361
142304
  },
141362
142305
  {
@@ -150566,6 +151509,18 @@
150566
151509
  "description": "Fill of the part that is done.",
150567
151510
  "name": "--progress-color"
150568
151511
  },
151512
+ {
151513
+ "description": "The color of the words of the default slot where they are over the track, and in a ring.",
151514
+ "name": "--progress-content-color"
151515
+ },
151516
+ {
151517
+ "description": "The color of the words of the default slot where they are over the fill.",
151518
+ "name": "--progress-content-fill-color"
151519
+ },
151520
+ {
151521
+ "description": "The type size of the words of the default slot.",
151522
+ "name": "--progress-content-size"
151523
+ },
150569
151524
  {
150570
151525
  "description": "Color of a slotted label.",
150571
151526
  "name": "--progress-label-color"
@@ -150624,6 +151579,14 @@
150624
151579
  }
150625
151580
  ],
150626
151581
  "slots": [
151582
+ {
151583
+ "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.",
151584
+ "name": "",
151585
+ "inheritedFrom": {
151586
+ "name": "HelixHeadlessProgress",
151587
+ "module": "src/progress/root/progress-root.ts"
151588
+ }
151589
+ },
150627
151590
  {
150628
151591
  "description": "A visible label, above a bar and under a ring. Its words name it in place of `label`.",
150629
151592
  "name": "label",
@@ -150681,7 +151644,7 @@
150681
151644
  "type": {
150682
151645
  "text": "Intl.NumberFormatOptions | undefined"
150683
151646
  },
150684
- "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.",
151647
+ "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.",
150685
151648
  "attribute": "format-options",
150686
151649
  "inheritedFrom": {
150687
151650
  "name": "HelixHeadlessProgress",
@@ -150910,6 +151873,17 @@
150910
151873
  "module": "src/progress/root/progress-root.ts"
150911
151874
  }
150912
151875
  },
151876
+ {
151877
+ "kind": "field",
151878
+ "name": "reworded",
151879
+ "privacy": "private",
151880
+ "readonly": true,
151881
+ "description": "The words on the bar changed, so the reading is said again and the state set.",
151882
+ "inheritedFrom": {
151883
+ "name": "HelixHeadlessProgress",
151884
+ "module": "src/progress/root/progress-root.ts"
151885
+ }
151886
+ },
150913
151887
  {
150914
151888
  "kind": "field",
150915
151889
  "name": "tier",
@@ -151277,7 +152251,7 @@
151277
152251
  "type": {
151278
152252
  "text": "Intl.NumberFormatOptions | undefined"
151279
152253
  },
151280
- "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.",
152254
+ "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.",
151281
152255
  "fieldName": "formatOptions",
151282
152256
  "inheritedFrom": {
151283
152257
  "name": "HelixHeadlessProgress",
@@ -151442,6 +152416,10 @@
151442
152416
  "description": "A visible label above the bar, whose words also name it.",
151443
152417
  "slug": "label"
151444
152418
  },
152419
+ {
152420
+ "description": "The reading drawn on the bar, from words in its default slot, which are also what it says.",
152421
+ "slug": "on-the-bar"
152422
+ },
151445
152423
  {
151446
152424
  "description": "The same progress drawn as a ring.",
151447
152425
  "slug": "ring"
@@ -151456,6 +152434,14 @@
151456
152434
  "tagName": "helix-progress",
151457
152435
  "customElement": true,
151458
152436
  "cssParts": [
152437
+ {
152438
+ "description": "The box holding the words of the default slot, over the track or in the middle of the ring. Carries `--progress-fraction`.",
152439
+ "name": "content",
152440
+ "inheritedFrom": {
152441
+ "name": "HelixHeadlessProgress",
152442
+ "module": "src/progress/root/progress-root.ts"
152443
+ }
152444
+ },
151459
152445
  {
151460
152446
  "description": "The unfilled circle under the ring's filled arc.",
151461
152447
  "name": "groove",
@@ -151520,6 +152506,14 @@
151520
152506
  "module": "src/progress/root/progress-root.ts"
151521
152507
  }
151522
152508
  },
152509
+ {
152510
+ "description": "Words are set in the default slot.",
152511
+ "name": "content",
152512
+ "inheritedFrom": {
152513
+ "name": "HelixHeadlessProgress",
152514
+ "module": "src/progress/root/progress-root.ts"
152515
+ }
152516
+ },
151523
152517
  {
151524
152518
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
151525
152519
  "name": "settled",
@@ -152613,6 +153607,21 @@
152613
153607
  "module": "src/quote/root/quote-root.ts"
152614
153608
  }
152615
153609
  },
153610
+ {
153611
+ "kind": "field",
153612
+ "name": "noMarks",
153613
+ "type": {
153614
+ "text": "boolean"
153615
+ },
153616
+ "default": "false",
153617
+ "description": "Whether to leave the quotation marks off, for a quotation set where the\npage draws its own.\n\nNegative, because the marks are on by default and a boolean attribute is\ntrue whenever it is present. Reflected, because a stylesheet takes the\nmarks off on it.",
153618
+ "attribute": "no-marks",
153619
+ "reflects": true,
153620
+ "inheritedFrom": {
153621
+ "name": "HelixHeadlessQuote",
153622
+ "module": "src/quote/root/quote-root.ts"
153623
+ }
153624
+ },
152616
153625
  {
152617
153626
  "kind": "field",
152618
153627
  "name": "warned",
@@ -153005,6 +154014,11 @@
153005
154014
  "description": "A quotation's marks follow the `lang` written on it, so a German and a French quotation take their own marks inside English text.",
153006
154015
  "layout": "hug",
153007
154016
  "slug": "languages"
154017
+ },
154018
+ {
154019
+ "description": "A pull quote with `no-marks`, beside a large mark the page draws.",
154020
+ "layout": "hug",
154021
+ "slug": "no-marks"
153008
154022
  }
153009
154023
  ],
153010
154024
  "source": "helix/styled/src/quote"
@@ -153044,6 +154058,19 @@
153044
154058
  "name": "HelixHeadlessQuote",
153045
154059
  "module": "src/quote/root/quote-root.ts"
153046
154060
  }
154061
+ },
154062
+ {
154063
+ "name": "no-marks",
154064
+ "type": {
154065
+ "text": "boolean"
154066
+ },
154067
+ "default": "false",
154068
+ "description": "Whether to leave the quotation marks off, for a quotation set where the\npage draws its own.\n\nNegative, because the marks are on by default and a boolean attribute is\ntrue whenever it is present. Reflected, because a stylesheet takes the\nmarks off on it.",
154069
+ "fieldName": "noMarks",
154070
+ "inheritedFrom": {
154071
+ "name": "HelixHeadlessQuote",
154072
+ "module": "src/quote/root/quote-root.ts"
154073
+ }
153047
154074
  }
153048
154075
  ],
153049
154076
  "cssStates": [
@@ -163102,12 +164129,76 @@
163102
164129
  },
163103
164130
  "static": true,
163104
164131
  "default": "''",
163105
- "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.",
164132
+ "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.",
163106
164133
  "inheritedFrom": {
163107
164134
  "name": "MixinChartSource",
163108
164135
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
163109
164136
  }
163110
164137
  },
164138
+ {
164139
+ "kind": "field",
164140
+ "name": "emptyText",
164141
+ "type": {
164142
+ "text": "string"
164143
+ },
164144
+ "default": "'No readings'",
164145
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
164146
+ "attribute": "empty-text",
164147
+ "helix": {
164148
+ "words": true
164149
+ },
164150
+ "inheritedFrom": {
164151
+ "name": "MixinChartStatus",
164152
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
164153
+ }
164154
+ },
164155
+ {
164156
+ "kind": "field",
164157
+ "name": "loading",
164158
+ "type": {
164159
+ "text": "boolean"
164160
+ },
164161
+ "default": "false",
164162
+ "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.",
164163
+ "attribute": "loading",
164164
+ "reflects": true,
164165
+ "inheritedFrom": {
164166
+ "name": "MixinChartStatus",
164167
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
164168
+ }
164169
+ },
164170
+ {
164171
+ "kind": "field",
164172
+ "name": "loadingText",
164173
+ "type": {
164174
+ "text": "string"
164175
+ },
164176
+ "default": "'Loading readings'",
164177
+ "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.",
164178
+ "attribute": "loading-text",
164179
+ "helix": {
164180
+ "words": true
164181
+ },
164182
+ "inheritedFrom": {
164183
+ "name": "MixinChartStatus",
164184
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
164185
+ }
164186
+ },
164187
+ {
164188
+ "kind": "method",
164189
+ "name": "renderStatus",
164190
+ "privacy": "protected",
164191
+ "return": {
164192
+ "type": {
164193
+ "text": "TemplateResult | typeof nothing"
164194
+ }
164195
+ },
164196
+ "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.",
164197
+ "inheritedFrom": {
164198
+ "name": "MixinChartStatus",
164199
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
164200
+ }
164201
+ },
163111
164202
  {
163112
164203
  "kind": "field",
163113
164204
  "name": "source",
@@ -163131,6 +164222,19 @@
163131
164222
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
163132
164223
  }
163133
164224
  },
164225
+ {
164226
+ "kind": "field",
164227
+ "name": "data",
164228
+ "type": {
164229
+ "text": "ChartData | undefined"
164230
+ },
164231
+ "default": "undefined",
164232
+ "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.",
164233
+ "inheritedFrom": {
164234
+ "name": "MixinChartSource",
164235
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
164236
+ }
164237
+ },
163134
164238
  {
163135
164239
  "kind": "field",
163136
164240
  "name": "for",
@@ -163267,6 +164371,19 @@
163267
164371
  "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
163268
164372
  }
163269
164373
  },
164374
+ {
164375
+ "kind": "field",
164376
+ "name": "readingsKnown",
164377
+ "type": {
164378
+ "text": "boolean"
164379
+ },
164380
+ "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.",
164381
+ "readonly": true,
164382
+ "inheritedFrom": {
164383
+ "name": "MixinChartSource",
164384
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
164385
+ }
164386
+ },
163270
164387
  {
163271
164388
  "kind": "field",
163272
164389
  "name": "sourceRows",
@@ -164132,6 +165249,45 @@
164132
165249
  "tagName": "helix-scatter-chart",
164133
165250
  "customElement": true,
164134
165251
  "attributes": [
165252
+ {
165253
+ "name": "empty-text",
165254
+ "type": {
165255
+ "text": "string"
165256
+ },
165257
+ "default": "'No readings'",
165258
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
165259
+ "fieldName": "emptyText",
165260
+ "inheritedFrom": {
165261
+ "name": "MixinChartStatus",
165262
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
165263
+ }
165264
+ },
165265
+ {
165266
+ "name": "loading",
165267
+ "type": {
165268
+ "text": "boolean"
165269
+ },
165270
+ "default": "false",
165271
+ "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.",
165272
+ "fieldName": "loading",
165273
+ "inheritedFrom": {
165274
+ "name": "MixinChartStatus",
165275
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
165276
+ }
165277
+ },
165278
+ {
165279
+ "name": "loading-text",
165280
+ "type": {
165281
+ "text": "string"
165282
+ },
165283
+ "default": "'Loading readings'",
165284
+ "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.",
165285
+ "fieldName": "loadingText",
165286
+ "inheritedFrom": {
165287
+ "name": "MixinChartStatus",
165288
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
165289
+ }
165290
+ },
164135
165291
  {
164136
165292
  "name": "for",
164137
165293
  "type": {
@@ -164262,7 +165418,33 @@
164262
165418
  }
164263
165419
  }
164264
165420
  ],
165421
+ "slots": [
165422
+ {
165423
+ "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`.",
165424
+ "name": "empty",
165425
+ "inheritedFrom": {
165426
+ "name": "HelixHeadlessScatterChart",
165427
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165428
+ }
165429
+ },
165430
+ {
165431
+ "description": "Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
165432
+ "name": "loading",
165433
+ "inheritedFrom": {
165434
+ "name": "HelixHeadlessScatterChart",
165435
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165436
+ }
165437
+ }
165438
+ ],
164265
165439
  "cssParts": [
165440
+ {
165441
+ "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.",
165442
+ "name": "empty",
165443
+ "inheritedFrom": {
165444
+ "name": "HelixHeadlessScatterChart",
165445
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165446
+ }
165447
+ },
164266
165448
  {
164267
165449
  "description": "One line across the plot, drawn when `gridlines` is set.",
164268
165450
  "name": "gridline",
@@ -164279,6 +165461,14 @@
164279
165461
  "module": "src/scatter-chart/root/scatter-chart-root.ts"
164280
165462
  }
164281
165463
  },
165464
+ {
165465
+ "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`.",
165466
+ "name": "loading",
165467
+ "inheritedFrom": {
165468
+ "name": "HelixHeadlessScatterChart",
165469
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
165470
+ }
165471
+ },
164282
165472
  {
164283
165473
  "description": "The invisible point the tooltip is anchored to.",
164284
165474
  "name": "mark",
@@ -168333,6 +169523,26 @@
168333
169523
  }
168334
169524
  ]
168335
169525
  },
169526
+ {
169527
+ "kind": "javascript-module",
169528
+ "path": "src/shared/chart/status.css.ts",
169529
+ "declarations": [
169530
+ {
169531
+ "kind": "variable",
169532
+ "name": "styles"
169533
+ }
169534
+ ],
169535
+ "exports": [
169536
+ {
169537
+ "kind": "js",
169538
+ "name": "styles",
169539
+ "declaration": {
169540
+ "name": "styles",
169541
+ "module": "src/shared/chart/status.css.ts"
169542
+ }
169543
+ }
169544
+ ]
169545
+ },
168336
169546
  {
168337
169547
  "kind": "javascript-module",
168338
169548
  "path": "src/shared/chart/terminus.css.ts",
@@ -168755,7 +169965,7 @@
168755
169965
  "declarations": [
168756
169966
  {
168757
169967
  "kind": "class",
168758
- "description": "Animates a highlight sweeping across the block, which reads as work in\nprogress. A block fading in and out can look broken, so `effect=\"pulse\"` is\na choice rather than the default.\n\nAround content with `loading`, the skeleton takes the content's box and\npaints over it, and the content is hidden until `loading` is taken off.",
169968
+ "description": "Animates a highlight sweeping across the block, which reads as work in\nprogress. A block fading in and out can look broken, so `effect=\"pulse\"` is\na choice rather than the default.\n\nAround content with `loading`, the skeleton takes the content's box and\npaints over it, and the content is hidden until `loading` is taken off.\n\n**`lines` draws a paragraph.** With `shape=\"text\"` and `lines=\"3\"`, one\nelement stands in for three lines of text: each line a `skeleton` part one\n`em` tall, spaced a body line height apart, and the last one shorter, as the end\nof a paragraph is.",
168759
169969
  "name": "HelixSkeleton",
168760
169970
  "cssProperties": [
168761
169971
  {
@@ -168770,6 +169980,10 @@
168770
169980
  "description": "How long one sweep or one pulse takes.",
168771
169981
  "name": "--skeleton-duration"
168772
169982
  },
169983
+ {
169984
+ "description": "The width of the last line of a `lines` paragraph. Defaults to 60%.",
169985
+ "name": "--skeleton-last-line-size"
169986
+ },
168773
169987
  {
168774
169988
  "description": "The corner of the block shape.",
168775
169989
  "name": "--skeleton-radius"
@@ -168792,6 +170006,14 @@
168792
170006
  "module": "src/skeleton/root/skeleton-root.ts"
168793
170007
  }
168794
170008
  },
170009
+ {
170010
+ "description": "Each line of a `lines` paragraph, which is also a `skeleton` part.",
170011
+ "name": "line"
170012
+ },
170013
+ {
170014
+ "description": "The column holding a `lines` paragraph, drawn only for `shape=\"text\"` with two or more lines.",
170015
+ "name": "lines"
170016
+ },
168795
170017
  {
168796
170018
  "description": "The highlight swept across the shape. Hidden for `effect=\"pulse\"` and `effect=\"none\"`.",
168797
170019
  "name": "sheen",
@@ -168801,7 +170023,7 @@
168801
170023
  }
168802
170024
  },
168803
170025
  {
168804
- "description": "The placeholder shape.",
170026
+ "description": "The placeholder shape, or each line of a `lines` paragraph.",
168805
170027
  "name": "skeleton",
168806
170028
  "inheritedFrom": {
168807
170029
  "name": "HelixHeadlessSkeleton",
@@ -168820,6 +170042,16 @@
168820
170042
  "attribute": "effect",
168821
170043
  "reflects": true
168822
170044
  },
170045
+ {
170046
+ "kind": "field",
170047
+ "name": "lines",
170048
+ "type": {
170049
+ "text": "number | undefined"
170050
+ },
170051
+ "description": "How many lines of text the placeholder stands for, with `shape=\"text\"`.\n\nAbsent, or 1, is one line. Reflected, because the stylesheet sizes a\nparagraph by it.",
170052
+ "attribute": "lines",
170053
+ "reflects": true
170054
+ },
168823
170055
  {
168824
170056
  "kind": "field",
168825
170057
  "name": "shape",
@@ -168830,6 +170062,21 @@
168830
170062
  "attribute": "shape",
168831
170063
  "reflects": true
168832
170064
  },
170065
+ {
170066
+ "kind": "method",
170067
+ "name": "renderShape",
170068
+ "privacy": "protected",
170069
+ "return": {
170070
+ "type": {
170071
+ "text": "TemplateResult"
170072
+ }
170073
+ },
170074
+ "description": "The placeholder shape and the sheen inside it.\n\nA method, so a tier above can draw the placeholder as several shapes, as\nthe styled tier draws a paragraph of lines.",
170075
+ "inheritedFrom": {
170076
+ "name": "HelixHeadlessSkeleton",
170077
+ "module": "src/skeleton/root/skeleton-root.ts"
170078
+ }
170079
+ },
168833
170080
  {
168834
170081
  "kind": "field",
168835
170082
  "name": "label",
@@ -169222,6 +170469,14 @@
169222
170469
  "description": "How the placeholder shows it is waiting: a sweep when unset, `pulse` to\nfade the fill in and out, or `none` to sit still.\n\nReduced motion stills both.",
169223
170470
  "fieldName": "effect"
169224
170471
  },
170472
+ {
170473
+ "name": "lines",
170474
+ "type": {
170475
+ "text": "number | undefined"
170476
+ },
170477
+ "description": "How many lines of text the placeholder stands for, with `shape=\"text\"`.\n\nAbsent, or 1, is one line. Reflected, because the stylesheet sizes a\nparagraph by it.",
170478
+ "fieldName": "lines"
170479
+ },
169225
170480
  {
169226
170481
  "name": "shape",
169227
170482
  "type": {
@@ -169288,6 +170543,10 @@
169288
170543
  {
169289
170544
  "description": "A skeleton around real content takes its size, and shows the content once `loading` is gone.",
169290
170545
  "slug": "loading"
170546
+ },
170547
+ {
170548
+ "description": "A paragraph of three lines from one element, with `lines`, the last line shorter.",
170549
+ "slug": "paragraph"
169291
170550
  }
169292
170551
  ],
169293
170552
  "source": "helix/styled/src/skeleton"
@@ -178407,13 +179666,64 @@
178407
179666
  "text": "string"
178408
179667
  },
178409
179668
  "default": "''",
178410
- "description": "Accessible name for the group.",
179669
+ "description": "Accessible name for the group, which makes it a group.\n\nAbsent leaves the stats with no group around them, unless `aria-label` or\n`aria-labelledby` names it.",
178411
179670
  "attribute": "label",
178412
179671
  "inheritedFrom": {
178413
179672
  "name": "HelixHeadlessStatGroup",
178414
179673
  "module": "src/stat/group/stat-group.ts"
178415
179674
  }
178416
179675
  },
179676
+ {
179677
+ "kind": "field",
179678
+ "name": "observedAttributes",
179679
+ "type": {
179680
+ "text": "string[]"
179681
+ },
179682
+ "static": true,
179683
+ "description": "Hears a name written on the element, which no property mirrors.\n\nLit observes the attributes of its own properties only, and `ariaLabel`\nand `ariaLabelledByElements` belong to the platform.",
179684
+ "readonly": true,
179685
+ "inheritedFrom": {
179686
+ "name": "HelixHeadlessStatGroup",
179687
+ "module": "src/stat/group/stat-group.ts"
179688
+ }
179689
+ },
179690
+ {
179691
+ "kind": "method",
179692
+ "name": "attributeChangedCallback",
179693
+ "return": {
179694
+ "type": {
179695
+ "text": "void"
179696
+ }
179697
+ },
179698
+ "parameters": [
179699
+ {
179700
+ "name": "name",
179701
+ "type": {
179702
+ "text": "string"
179703
+ }
179704
+ },
179705
+ {
179706
+ "name": "old",
179707
+ "type": {
179708
+ "text": "string | null"
179709
+ }
179710
+ },
179711
+ {
179712
+ "name": "value",
179713
+ "type": {
179714
+ "text": "string | null"
179715
+ }
179716
+ }
179717
+ ],
179718
+ "description": "Called by the browser when an observed attribute changes. A name written\nor taken off asks for an update, because it decides whether the stats are\na group.",
179719
+ "type": {
179720
+ "text": "attributeChangedCallback(name: string, old: string | null, value: string | null) => void"
179721
+ },
179722
+ "inheritedFrom": {
179723
+ "name": "HelixHeadlessStatGroup",
179724
+ "module": "src/stat/group/stat-group.ts"
179725
+ }
179726
+ },
178417
179727
  {
178418
179728
  "kind": "field",
178419
179729
  "name": "tier",
@@ -178778,7 +180088,7 @@
178778
180088
  "text": "string"
178779
180089
  },
178780
180090
  "default": "''",
178781
- "description": "Accessible name for the group.",
180091
+ "description": "Accessible name for the group, which makes it a group.\n\nAbsent leaves the stats with no group around them, unless `aria-label` or\n`aria-labelledby` names it.",
178782
180092
  "fieldName": "label",
178783
180093
  "inheritedFrom": {
178784
180094
  "name": "HelixHeadlessStatGroup",
@@ -178938,6 +180248,30 @@
178938
180248
  "name": "HelixHeadlessStat",
178939
180249
  "module": "src/stat/root/stat-root.ts"
178940
180250
  }
180251
+ },
180252
+ {
180253
+ "description": "The slot the label arrives through, drawing no box, as `value` does.",
180254
+ "name": "label",
180255
+ "inheritedFrom": {
180256
+ "name": "HelixHeadlessStat",
180257
+ "module": "src/stat/root/stat-root.ts"
180258
+ }
180259
+ },
180260
+ {
180261
+ "description": "The slot the trend arrives through, drawing no box, as `value` does.",
180262
+ "name": "trend",
180263
+ "inheritedFrom": {
180264
+ "name": "HelixHeadlessStat",
180265
+ "module": "src/stat/root/stat-root.ts"
180266
+ }
180267
+ },
180268
+ {
180269
+ "description": "The slot the unit arrives through, drawing no box, as `value` does.",
180270
+ "name": "unit",
180271
+ "inheritedFrom": {
180272
+ "name": "HelixHeadlessStat",
180273
+ "module": "src/stat/root/stat-root.ts"
180274
+ }
178941
180275
  }
178942
180276
  ],
178943
180277
  "members": [
@@ -178955,6 +180289,57 @@
178955
180289
  "module": "src/stat/root/stat-root.ts"
178956
180290
  }
178957
180291
  },
180292
+ {
180293
+ "kind": "field",
180294
+ "name": "formatOptions",
180295
+ "type": {
180296
+ "text": "Intl.NumberFormatOptions | undefined"
180297
+ },
180298
+ "description": "`Intl.NumberFormat` options `value` is written with, such as\n`{\"notation\":\"compact\"}` for `1.2M` or `{\"style\":\"percent\"}` for `98%`,\nwritten as JSON in the attribute.\n\nAbsent writes the number as the locale writes any number.",
180299
+ "attribute": "format-options",
180300
+ "inheritedFrom": {
180301
+ "name": "HelixHeadlessStat",
180302
+ "module": "src/stat/root/stat-root.ts"
180303
+ }
180304
+ },
180305
+ {
180306
+ "kind": "field",
180307
+ "name": "locale",
180308
+ "type": {
180309
+ "text": "string"
180310
+ },
180311
+ "default": "''",
180312
+ "description": "The locale `value` is written in, such as `de` for `1.234.567`.\n\nAbsent reads the nearest `lang`, then the runtime's own. Set it on a page\nrendered on a server, so the server and the browser write the figure\nalike.",
180313
+ "attribute": "locale",
180314
+ "inheritedFrom": {
180315
+ "name": "HelixHeadlessStat",
180316
+ "module": "src/stat/root/stat-root.ts"
180317
+ }
180318
+ },
180319
+ {
180320
+ "kind": "field",
180321
+ "name": "value",
180322
+ "type": {
180323
+ "text": "number | undefined"
180324
+ },
180325
+ "description": "The figure as a number, written with `format-options` in `locale` in\nplace of a slotted value.\n\nAbsent leaves the figure to the slot.",
180326
+ "attribute": "value",
180327
+ "inheritedFrom": {
180328
+ "name": "HelixHeadlessStat",
180329
+ "module": "src/stat/root/stat-root.ts"
180330
+ }
180331
+ },
180332
+ {
180333
+ "kind": "field",
180334
+ "name": "readPieces",
180335
+ "privacy": "private",
180336
+ "readonly": true,
180337
+ "description": "Says which pieces the stat holds, one call apiece so each pairs with its `@cssstate`.",
180338
+ "inheritedFrom": {
180339
+ "name": "HelixHeadlessStat",
180340
+ "module": "src/stat/root/stat-root.ts"
180341
+ }
180342
+ },
178958
180343
  {
178959
180344
  "kind": "field",
178960
180345
  "name": "tier",
@@ -179378,9 +180763,70 @@
179378
180763
  "name": "HelixHeadlessStat",
179379
180764
  "module": "src/stat/root/stat-root.ts"
179380
180765
  }
180766
+ },
180767
+ {
180768
+ "name": "format-options",
180769
+ "type": {
180770
+ "text": "Intl.NumberFormatOptions | undefined"
180771
+ },
180772
+ "description": "`Intl.NumberFormat` options `value` is written with, such as\n`{\"notation\":\"compact\"}` for `1.2M` or `{\"style\":\"percent\"}` for `98%`,\nwritten as JSON in the attribute.\n\nAbsent writes the number as the locale writes any number.",
180773
+ "fieldName": "formatOptions",
180774
+ "inheritedFrom": {
180775
+ "name": "HelixHeadlessStat",
180776
+ "module": "src/stat/root/stat-root.ts"
180777
+ }
180778
+ },
180779
+ {
180780
+ "name": "locale",
180781
+ "type": {
180782
+ "text": "string"
180783
+ },
180784
+ "default": "''",
180785
+ "description": "The locale `value` is written in, such as `de` for `1.234.567`.\n\nAbsent reads the nearest `lang`, then the runtime's own. Set it on a page\nrendered on a server, so the server and the browser write the figure\nalike.",
180786
+ "fieldName": "locale",
180787
+ "inheritedFrom": {
180788
+ "name": "HelixHeadlessStat",
180789
+ "module": "src/stat/root/stat-root.ts"
180790
+ }
180791
+ },
180792
+ {
180793
+ "name": "value",
180794
+ "type": {
180795
+ "text": "number | undefined"
180796
+ },
180797
+ "description": "The figure as a number, written with `format-options` in `locale` in\nplace of a slotted value.\n\nAbsent leaves the figure to the slot.",
180798
+ "fieldName": "value",
180799
+ "inheritedFrom": {
180800
+ "name": "HelixHeadlessStat",
180801
+ "module": "src/stat/root/stat-root.ts"
180802
+ }
179381
180803
  }
179382
180804
  ],
179383
180805
  "cssStates": [
180806
+ {
180807
+ "description": "Something is slotted into `label`.",
180808
+ "name": "has-label",
180809
+ "inheritedFrom": {
180810
+ "name": "HelixHeadlessStat",
180811
+ "module": "src/stat/root/stat-root.ts"
180812
+ }
180813
+ },
180814
+ {
180815
+ "description": "Something is slotted into `trend`.",
180816
+ "name": "has-trend",
180817
+ "inheritedFrom": {
180818
+ "name": "HelixHeadlessStat",
180819
+ "module": "src/stat/root/stat-root.ts"
180820
+ }
180821
+ },
180822
+ {
180823
+ "description": "Something is slotted into `unit`.",
180824
+ "name": "has-unit",
180825
+ "inheritedFrom": {
180826
+ "name": "HelixHeadlessStat",
180827
+ "module": "src/stat/root/stat-root.ts"
180828
+ }
180829
+ },
179384
180830
  {
179385
180831
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
179386
180832
  "name": "settled",
@@ -226694,6 +228140,6 @@
226694
228140
  ],
226695
228141
  "helix": {
226696
228142
  "package": "@fusion.dev/helix",
226697
- "version": "0.152.0"
228143
+ "version": "0.154.0"
226698
228144
  }
226699
228145
  }